@sunbird-cb/consumption 0.0.64 → 0.0.65
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/README.md +24 -24
- package/bundles/sunbird-cb-consumption.umd.js +17470 -17348
- package/bundles/sunbird-cb-consumption.umd.js.map +1 -1
- package/bundles/sunbird-cb-consumption.umd.min.js +1 -1
- package/bundles/sunbird-cb-consumption.umd.min.js.map +1 -1
- package/esm2015/lib/_common/announcements/announcements.component.js +150 -150
- package/esm2015/lib/_common/announcements/announcements.module.js +23 -23
- package/esm2015/lib/_common/avatar-photo-lib/avatar-photo-lib.component.js +158 -158
- package/esm2015/lib/_common/avatar-photo-lib/avatar-photo-lib.module.js +29 -29
- package/esm2015/lib/_common/calender/calender-day/calender-day.component.js +90 -90
- package/esm2015/lib/_common/calender/calender.component.js +299 -299
- package/esm2015/lib/_common/calender/calender.module.js +31 -31
- package/esm2015/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +170 -170
- package/esm2015/lib/_common/cards/card-karma-programs/card-karma-programs.component.js +178 -178
- package/esm2015/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.js +166 -166
- package/esm2015/lib/_common/cards/card-landscape/card-landscape.component.js +202 -202
- package/esm2015/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.js +154 -154
- package/esm2015/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.js +154 -154
- package/esm2015/lib/_common/cards/card-portrait/card-portrait.component.js +167 -167
- package/esm2015/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.js +170 -170
- package/esm2015/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +261 -261
- package/esm2015/lib/_common/cards/card-resource/card-resource.component.js +34 -34
- package/esm2015/lib/_common/cards/card-user/card-user.component.js +141 -141
- package/esm2015/lib/_common/cards/card-wide/card-wide.component.js +166 -166
- package/esm2015/lib/_common/cards/card-wide-v2/card-wide-v2.component.js +171 -171
- package/esm2015/lib/_common/cards/cards.component.js +167 -167
- package/esm2015/lib/_common/cards/cards.module.js +100 -100
- package/esm2015/lib/_common/cards/provider-card/provider-card.component.js +81 -81
- package/esm2015/lib/_common/cbp-plan/cbp-plan.component.js +166 -166
- package/esm2015/lib/_common/cbp-plan/cbp-plan.module.js +27 -27
- package/esm2015/lib/_common/common-strip/common-strip.component.js +646 -646
- package/esm2015/lib/_common/common-strip/common-strip.model.js +216 -216
- package/esm2015/lib/_common/common-strip/common-strip.module.js +62 -62
- package/esm2015/lib/_common/competency-passbook/competency-passbook.component.js +384 -384
- package/esm2015/lib/_common/competency-passbook/competency-passbook.module.js +27 -27
- package/esm2015/lib/_common/competency-passbook/competency-passbook.service.js +52 -52
- package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.js +332 -332
- package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.js +27 -27
- package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.js +52 -52
- package/esm2015/lib/_common/content-progress/content-progress.component.js +89 -89
- package/esm2015/lib/_common/content-progress/content-progress.module.js +22 -22
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +2559 -2443
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +218 -214
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.js +69 -69
- package/esm2015/lib/_common/data-points/data-points.component.js +148 -148
- package/esm2015/lib/_common/data-points/data-points.module.js +23 -23
- package/esm2015/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +225 -225
- package/esm2015/lib/_common/dialog-components/dialog-components.module.js +43 -43
- package/esm2015/lib/_common/display-content-type-lib/display-content-type-lib.component.js +60 -60
- package/esm2015/lib/_common/display-content-type-lib/display-content-type-lib.module.js +18 -18
- package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +362 -362
- package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.js +23 -23
- package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.js +23 -23
- package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.js +255 -255
- package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel.module.js +52 -52
- package/esm2015/lib/_common/microsites/providers/providers-v2/providers-v2.component.js +269 -269
- package/esm2015/lib/_common/microsites/providers/providers.module.js +51 -51
- package/esm2015/lib/_common/pills/pills.component.js +61 -61
- package/esm2015/lib/_common/pills/pills.module.js +24 -24
- package/esm2015/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.js +40 -40
- package/esm2015/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.js +28 -28
- package/esm2015/lib/_common/sliders/sliders.component.js +187 -187
- package/esm2015/lib/_common/sliders/sliders.model.js +67 -67
- package/esm2015/lib/_common/sliders/sliders.module.js +50 -50
- package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.component.js +206 -206
- package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.model.js +61 -61
- package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.module.js +50 -50
- package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.js +1613 -1613
- package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.js +218 -218
- package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.js +69 -69
- package/esm2015/lib/_common/top-learners/top-learners.component.js +155 -155
- package/esm2015/lib/_common/top-learners/top-learners.module.js +23 -23
- package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.component.js +145 -145
- package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.module.js +38 -38
- package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.service.js +45 -45
- package/esm2015/lib/_constants/misc.constants.js +4 -4
- package/esm2015/lib/_directives/default-thumbnail/default-thumbnail.directive.js +51 -51
- package/esm2015/lib/_directives/default-thumbnail/default-thumbnail.module.js +18 -18
- package/esm2015/lib/_directives/image-responsive/image-responsive.directive.js +126 -126
- package/esm2015/lib/_directives/image-responsive/image-responsive.module.js +18 -18
- package/esm2015/lib/_directives/navigation/navigation.directive.js +53 -53
- package/esm2015/lib/_directives/navigation/navigation.module.js +18 -18
- package/esm2015/lib/_directives/scrollable-item/scrollable-item.directive.js +42 -42
- package/esm2015/lib/_directives/scrollable-item/scrollable-item.module.js +19 -19
- package/esm2015/lib/_models/card-content-v2.model.js +78 -78
- package/esm2015/lib/_models/card-content.model.js +69 -69
- package/esm2015/lib/_models/card-users.model.js +103 -103
- package/esm2015/lib/_models/content-strip-multiple.model.js +195 -195
- package/esm2015/lib/_models/event.js +45 -45
- package/esm2015/lib/_models/profile-v3.models.js +196 -196
- package/esm2015/lib/_models/rating.model.js +44 -44
- package/esm2015/lib/_models/widget-content.model.js +876 -876
- package/esm2015/lib/_models/widget-search.model.js +471 -471
- package/esm2015/lib/_models/widget-user.model.js +17 -17
- package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.js +28 -28
- package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.module.js +19 -19
- package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.js +18 -18
- package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +119 -119
- package/esm2015/lib/_pipes/pipe-public-URL/pipe-public-URL.module.js +19 -19
- package/esm2015/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.js +38 -38
- package/esm2015/lib/_services/certificate.service.js +63 -63
- package/esm2015/lib/_services/common-methods.service.js +84 -84
- package/esm2015/lib/_services/configurations.service.js +243 -243
- package/esm2015/lib/_services/insite-data.service.js +68 -68
- package/esm2015/lib/_services/multilingual-translations.service.js +231 -231
- package/esm2015/lib/_services/rating.service.js +171 -171
- package/esm2015/lib/_services/viewer-route-util.js +125 -125
- package/esm2015/lib/_services/widget-content.service.js +852 -852
- package/esm2015/lib/_services/widget-user.service.js +475 -475
- package/esm2015/lib/consumption.component.js +26 -26
- package/esm2015/lib/consumption.config.js +12 -12
- package/esm2015/lib/consumption.module.js +36 -36
- package/esm2015/lib/consumption.service.js +18 -18
- package/esm2015/lib/registration-lib.config.js +21 -21
- package/esm2015/public-api.js +31 -31
- package/esm2015/sunbird-cb-consumption.js +77 -77
- package/esm5/lib/_common/announcements/announcements.component.js +166 -166
- package/esm5/lib/_common/announcements/announcements.module.js +27 -27
- package/esm5/lib/_common/avatar-photo-lib/avatar-photo-lib.component.js +175 -175
- package/esm5/lib/_common/avatar-photo-lib/avatar-photo-lib.module.js +33 -33
- package/esm5/lib/_common/calender/calender-day/calender-day.component.js +101 -101
- package/esm5/lib/_common/calender/calender.component.js +334 -334
- package/esm5/lib/_common/calender/calender.module.js +35 -35
- package/esm5/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +186 -186
- package/esm5/lib/_common/cards/card-karma-programs/card-karma-programs.component.js +187 -187
- package/esm5/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.js +176 -176
- package/esm5/lib/_common/cards/card-landscape/card-landscape.component.js +216 -216
- package/esm5/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.js +164 -164
- package/esm5/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.js +164 -164
- package/esm5/lib/_common/cards/card-portrait/card-portrait.component.js +173 -173
- package/esm5/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.js +176 -176
- package/esm5/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +278 -278
- package/esm5/lib/_common/cards/card-resource/card-resource.component.js +41 -41
- package/esm5/lib/_common/cards/card-user/card-user.component.js +147 -147
- package/esm5/lib/_common/cards/card-wide/card-wide.component.js +172 -172
- package/esm5/lib/_common/cards/card-wide-v2/card-wide-v2.component.js +181 -181
- package/esm5/lib/_common/cards/cards.component.js +199 -199
- package/esm5/lib/_common/cards/cards.module.js +104 -104
- package/esm5/lib/_common/cards/provider-card/provider-card.component.js +90 -90
- package/esm5/lib/_common/cbp-plan/cbp-plan.component.js +185 -185
- package/esm5/lib/_common/cbp-plan/cbp-plan.module.js +31 -31
- package/esm5/lib/_common/common-strip/common-strip.component.js +760 -760
- package/esm5/lib/_common/common-strip/common-strip.model.js +216 -216
- package/esm5/lib/_common/common-strip/common-strip.module.js +66 -66
- package/esm5/lib/_common/competency-passbook/competency-passbook.component.js +454 -454
- package/esm5/lib/_common/competency-passbook/competency-passbook.module.js +31 -31
- package/esm5/lib/_common/competency-passbook/competency-passbook.service.js +59 -59
- package/esm5/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.js +383 -383
- package/esm5/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.js +31 -31
- package/esm5/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.js +59 -59
- package/esm5/lib/_common/content-progress/content-progress.component.js +94 -94
- package/esm5/lib/_common/content-progress/content-progress.module.js +26 -26
- package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +2970 -2848
- package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +218 -214
- package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.js +73 -73
- package/esm5/lib/_common/data-points/data-points.component.js +163 -163
- package/esm5/lib/_common/data-points/data-points.module.js +27 -27
- package/esm5/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +248 -248
- package/esm5/lib/_common/dialog-components/dialog-components.module.js +47 -47
- package/esm5/lib/_common/display-content-type-lib/display-content-type-lib.component.js +67 -67
- package/esm5/lib/_common/display-content-type-lib/display-content-type-lib.module.js +22 -22
- package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +391 -391
- package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.js +27 -27
- package/esm5/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.js +29 -29
- package/esm5/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.js +292 -292
- package/esm5/lib/_common/microsites/mdo-channels/mdo-channel.module.js +56 -56
- package/esm5/lib/_common/microsites/providers/providers-v2/providers-v2.component.js +312 -312
- package/esm5/lib/_common/microsites/providers/providers.module.js +55 -55
- package/esm5/lib/_common/pills/pills.component.js +70 -70
- package/esm5/lib/_common/pills/pills.module.js +28 -28
- package/esm5/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.js +45 -45
- package/esm5/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.js +32 -32
- package/esm5/lib/_common/sliders/sliders.component.js +214 -214
- package/esm5/lib/_common/sliders/sliders.model.js +67 -67
- package/esm5/lib/_common/sliders/sliders.module.js +67 -67
- package/esm5/lib/_common/sliders-ng-content/sliders-ng-content.component.js +233 -233
- package/esm5/lib/_common/sliders-ng-content/sliders-ng-content.model.js +61 -61
- package/esm5/lib/_common/sliders-ng-content/sliders-ng-content.module.js +67 -67
- package/esm5/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.js +1892 -1892
- package/esm5/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.js +218 -218
- package/esm5/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.js +73 -73
- package/esm5/lib/_common/top-learners/top-learners.component.js +172 -172
- package/esm5/lib/_common/top-learners/top-learners.module.js +27 -27
- package/esm5/lib/_common/user-content-rating/user-content-rating-lib.component.js +168 -168
- package/esm5/lib/_common/user-content-rating/user-content-rating-lib.module.js +42 -42
- package/esm5/lib/_common/user-content-rating/user-content-rating-lib.service.js +48 -48
- package/esm5/lib/_constants/misc.constants.js +4 -4
- package/esm5/lib/_directives/default-thumbnail/default-thumbnail.directive.js +59 -59
- package/esm5/lib/_directives/default-thumbnail/default-thumbnail.module.js +22 -22
- package/esm5/lib/_directives/image-responsive/image-responsive.directive.js +136 -136
- package/esm5/lib/_directives/image-responsive/image-responsive.module.js +22 -22
- package/esm5/lib/_directives/navigation/navigation.directive.js +62 -62
- package/esm5/lib/_directives/navigation/navigation.module.js +22 -22
- package/esm5/lib/_directives/scrollable-item/scrollable-item.directive.js +45 -45
- package/esm5/lib/_directives/scrollable-item/scrollable-item.module.js +23 -23
- package/esm5/lib/_models/card-content-v2.model.js +78 -78
- package/esm5/lib/_models/card-content.model.js +69 -69
- package/esm5/lib/_models/card-users.model.js +103 -103
- package/esm5/lib/_models/content-strip-multiple.model.js +195 -195
- package/esm5/lib/_models/event.js +45 -45
- package/esm5/lib/_models/profile-v3.models.js +196 -196
- package/esm5/lib/_models/rating.model.js +44 -44
- package/esm5/lib/_models/widget-content.model.js +876 -876
- package/esm5/lib/_models/widget-search.model.js +471 -471
- package/esm5/lib/_models/widget-user.model.js +17 -17
- package/esm5/lib/_pipes/object-to-array/object-to-array.pipe.js +57 -57
- package/esm5/lib/_pipes/object-to-array/object-to-array.pipe.module.js +23 -23
- package/esm5/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.js +22 -22
- package/esm5/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +142 -142
- package/esm5/lib/_pipes/pipe-public-URL/pipe-public-URL.module.js +23 -23
- package/esm5/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.js +41 -41
- package/esm5/lib/_services/certificate.service.js +70 -70
- package/esm5/lib/_services/common-methods.service.js +102 -102
- package/esm5/lib/_services/configurations.service.js +257 -257
- package/esm5/lib/_services/insite-data.service.js +82 -82
- package/esm5/lib/_services/multilingual-translations.service.js +259 -259
- package/esm5/lib/_services/rating.service.js +214 -214
- package/esm5/lib/_services/viewer-route-util.js +127 -127
- package/esm5/lib/_services/widget-content.service.js +1109 -1109
- package/esm5/lib/_services/widget-user.service.js +542 -542
- package/esm5/lib/consumption.component.js +28 -28
- package/esm5/lib/consumption.config.js +12 -12
- package/esm5/lib/consumption.module.js +40 -40
- package/esm5/lib/consumption.service.js +21 -21
- package/esm5/lib/registration-lib.config.js +21 -21
- package/esm5/public-api.js +31 -31
- package/esm5/sunbird-cb-consumption.js +77 -77
- package/fesm2015/sunbird-cb-consumption.js +15407 -15291
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +17476 -17354
- package/fesm5/sunbird-cb-consumption.js.map +1 -1
- package/lib/_common/announcements/announcements.component.d.ts +21 -21
- package/lib/_common/announcements/announcements.module.d.ts +2 -2
- package/lib/_common/avatar-photo-lib/avatar-photo-lib.component.d.ts +20 -20
- package/lib/_common/avatar-photo-lib/avatar-photo-lib.module.d.ts +2 -2
- package/lib/_common/calender/calender-day/calender-day.component.d.ts +18 -18
- package/lib/_common/calender/calender.component.d.ts +34 -34
- package/lib/_common/calender/calender.module.d.ts +2 -2
- package/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.d.ts +31 -31
- package/lib/_common/cards/card-karma-programs/card-karma-programs.component.d.ts +28 -28
- package/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.d.ts +26 -26
- package/lib/_common/cards/card-landscape/card-landscape.component.d.ts +36 -36
- package/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.d.ts +27 -27
- package/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.d.ts +27 -27
- package/lib/_common/cards/card-portrait/card-portrait.component.d.ts +33 -33
- package/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.d.ts +33 -33
- package/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.d.ts +41 -41
- package/lib/_common/cards/card-resource/card-resource.component.d.ts +8 -8
- package/lib/_common/cards/card-user/card-user.component.d.ts +24 -24
- package/lib/_common/cards/card-wide/card-wide.component.d.ts +30 -30
- package/lib/_common/cards/card-wide-v2/card-wide-v2.component.d.ts +34 -34
- package/lib/_common/cards/cards.component.d.ts +26 -26
- package/lib/_common/cards/cards.module.d.ts +2 -2
- package/lib/_common/cards/provider-card/provider-card.component.d.ts +14 -14
- package/lib/_common/cbp-plan/cbp-plan.component.d.ts +25 -25
- package/lib/_common/cbp-plan/cbp-plan.module.d.ts +2 -2
- package/lib/_common/common-strip/common-strip.component.d.ts +104 -104
- package/lib/_common/common-strip/common-strip.model.d.ts +141 -141
- package/lib/_common/common-strip/common-strip.module.d.ts +2 -2
- package/lib/_common/competency-passbook/competency-passbook.component.d.ts +42 -42
- package/lib/_common/competency-passbook/competency-passbook.module.d.ts +2 -2
- package/lib/_common/competency-passbook/competency-passbook.service.d.ts +8 -8
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.d.ts +43 -43
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.d.ts +2 -2
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.d.ts +8 -8
- package/lib/_common/content-progress/content-progress.component.d.ts +13 -13
- package/lib/_common/content-progress/content-progress.module.d.ts +2 -2
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +203 -201
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.d.ts +149 -147
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.d.ts +5 -5
- package/lib/_common/data-points/data-points.component.d.ts +17 -17
- package/lib/_common/data-points/data-points.module.d.ts +2 -2
- package/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.d.ts +22 -22
- package/lib/_common/dialog-components/dialog-components.module.d.ts +2 -2
- package/lib/_common/display-content-type-lib/display-content-type-lib.component.d.ts +12 -12
- package/lib/_common/display-content-type-lib/display-content-type-lib.module.d.ts +2 -2
- package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.d.ts +33 -33
- package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.d.ts +2 -2
- package/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.d.ts +5 -5
- package/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.d.ts +39 -39
- package/lib/_common/microsites/mdo-channels/mdo-channel.module.d.ts +2 -2
- package/lib/_common/microsites/providers/providers-v2/providers-v2.component.d.ts +36 -36
- package/lib/_common/microsites/providers/providers.module.d.ts +2 -2
- package/lib/_common/pills/pills.component.d.ts +13 -13
- package/lib/_common/pills/pills.module.d.ts +2 -2
- package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.d.ts +8 -8
- package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.d.ts +2 -2
- package/lib/_common/sliders/sliders.component.d.ts +27 -27
- package/lib/_common/sliders/sliders.model.d.ts +40 -40
- package/lib/_common/sliders/sliders.module.d.ts +6 -6
- package/lib/_common/sliders-ng-content/sliders-ng-content.component.d.ts +29 -29
- package/lib/_common/sliders-ng-content/sliders-ng-content.model.d.ts +34 -34
- package/lib/_common/sliders-ng-content/sliders-ng-content.module.d.ts +6 -6
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.d.ts +161 -161
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.d.ts +149 -149
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.d.ts +5 -5
- package/lib/_common/top-learners/top-learners.component.d.ts +18 -18
- package/lib/_common/top-learners/top-learners.module.d.ts +2 -2
- package/lib/_common/user-content-rating/user-content-rating-lib.component.d.ts +22 -22
- package/lib/_common/user-content-rating/user-content-rating-lib.module.d.ts +2 -2
- package/lib/_common/user-content-rating/user-content-rating-lib.service.d.ts +7 -7
- package/lib/_constants/misc.constants.d.ts +2 -2
- package/lib/_directives/default-thumbnail/default-thumbnail.directive.d.ts +9 -9
- package/lib/_directives/default-thumbnail/default-thumbnail.module.d.ts +2 -2
- package/lib/_directives/image-responsive/image-responsive.directive.d.ts +17 -17
- package/lib/_directives/image-responsive/image-responsive.module.d.ts +2 -2
- package/lib/_directives/navigation/navigation.directive.d.ts +9 -9
- package/lib/_directives/navigation/navigation.module.d.ts +2 -2
- package/lib/_directives/scrollable-item/scrollable-item.directive.d.ts +7 -7
- package/lib/_directives/scrollable-item/scrollable-item.module.d.ts +2 -2
- package/lib/_models/card-content-v2.model.d.ts +44 -44
- package/lib/_models/card-content.model.d.ts +41 -41
- package/lib/_models/card-users.model.d.ts +50 -50
- package/lib/_models/content-strip-multiple.model.d.ts +128 -128
- package/lib/_models/event.d.ts +18 -18
- package/lib/_models/profile-v3.models.d.ts +91 -91
- package/lib/_models/rating.model.d.ts +17 -17
- package/lib/_models/widget-content.model.d.ts +497 -497
- package/lib/_models/widget-search.model.d.ts +252 -252
- package/lib/_models/widget-user.model.d.ts +5 -5
- package/lib/_pipes/object-to-array/object-to-array.pipe.d.ts +4 -4
- package/lib/_pipes/object-to-array/object-to-array.pipe.module.d.ts +2 -2
- package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +2 -2
- package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +6 -6
- package/lib/_pipes/pipe-public-URL/pipe-public-URL.module.d.ts +2 -2
- package/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.d.ts +6 -6
- package/lib/_services/certificate.service.d.ts +8 -8
- package/lib/_services/common-methods.service.d.ts +39 -39
- package/lib/_services/configurations.service.d.ts +71 -71
- package/lib/_services/insite-data.service.d.ts +10 -10
- package/lib/_services/multilingual-translations.service.d.ts +20 -20
- package/lib/_services/rating.service.d.ts +15 -15
- package/lib/_services/viewer-route-util.d.ts +8 -8
- package/lib/_services/widget-content.service.d.ts +87 -87
- package/lib/_services/widget-user.service.d.ts +33 -33
- package/lib/consumption.component.d.ts +5 -5
- package/lib/consumption.config.d.ts +6 -6
- package/lib/consumption.module.d.ts +2 -2
- package/lib/consumption.service.d.ts +3 -3
- package/lib/registration-lib.config.d.ts +4 -4
- package/package.json +1 -1
- package/public-api.d.ts +23 -23
- package/sunbird-cb-consumption.d.ts +73 -73
- package/sunbird-cb-consumption.metadata.json +1 -1
|
@@ -1,454 +1,454 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import * as tslib_1 from "tslib";
|
|
6
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
7
|
-
import { ConfigurationsService } from '@sunbird-cb/utils-v2';
|
|
8
|
-
import { WidgetContentService } from '../../_services/widget-content.service';
|
|
9
|
-
import { CompetencyPassbookService } from './competency-passbook.service';
|
|
10
|
-
import { Router } from '@angular/router';
|
|
11
|
-
var CompetencyPassbookComponent = /** @class */ (function () {
|
|
12
|
-
// subTheme = ['Behavioural']
|
|
13
|
-
// currentFilter = 'Behavioural'
|
|
14
|
-
// currentCompetencies: any = []
|
|
15
|
-
// competencyData: any
|
|
16
|
-
function CompetencyPassbookComponent(configSvc, contentSvc, competencySvc, router) {
|
|
17
|
-
this.configSvc = configSvc;
|
|
18
|
-
this.contentSvc = contentSvc;
|
|
19
|
-
this.competencySvc = competencySvc;
|
|
20
|
-
this.router = router;
|
|
21
|
-
this.cardDisplayCount = 3;
|
|
22
|
-
this.dynamicAlignPills = 'center';
|
|
23
|
-
this.emptyResponse = new EventEmitter();
|
|
24
|
-
this.temeletryResponse = new EventEmitter();
|
|
25
|
-
this.loadCometency = false;
|
|
26
|
-
this.loadCompetencyArea = false;
|
|
27
|
-
this.competencyVersion = '';
|
|
28
|
-
this.competencyTheme = [];
|
|
29
|
-
this.allcompetencyTheme = {};
|
|
30
|
-
this.competencyStrength = 0;
|
|
31
|
-
this.competencyThemeLength = 6;
|
|
32
|
-
this.showAllTheme = [{ name: 'Show all', showAll: false }];
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* @return {?}
|
|
36
|
-
*/
|
|
37
|
-
CompetencyPassbookComponent.prototype.ngOnInit = /**
|
|
38
|
-
* @return {?}
|
|
39
|
-
*/
|
|
40
|
-
function () {
|
|
41
|
-
this.getAllCompetencies();
|
|
42
|
-
// this.competencyData = this.objectData
|
|
43
|
-
// this.filter(this.currentFilter)
|
|
44
|
-
};
|
|
45
|
-
// filter(filterValue: string) {
|
|
46
|
-
// this.currentFilter = filterValue
|
|
47
|
-
// this.currentCompetencies = this.competencyData.data.filter((item: any) => item.type === filterValue)
|
|
48
|
-
// }
|
|
49
|
-
// filter(filterValue: string) {
|
|
50
|
-
// this.currentFilter = filterValue
|
|
51
|
-
// this.currentCompetencies = this.competencyData.data.filter((item: any) => item.type === filterValue)
|
|
52
|
-
// }
|
|
53
|
-
/**
|
|
54
|
-
* @return {?}
|
|
55
|
-
*/
|
|
56
|
-
CompetencyPassbookComponent.prototype.showMore =
|
|
57
|
-
// filter(filterValue: string) {
|
|
58
|
-
// this.currentFilter = filterValue
|
|
59
|
-
// this.currentCompetencies = this.competencyData.data.filter((item: any) => item.type === filterValue)
|
|
60
|
-
// }
|
|
61
|
-
/**
|
|
62
|
-
* @return {?}
|
|
63
|
-
*/
|
|
64
|
-
function () {
|
|
65
|
-
this.objectData.viewMore = !this.objectData.viewMore;
|
|
66
|
-
};
|
|
67
|
-
// to get competency area from facets
|
|
68
|
-
// to get competency area from facets
|
|
69
|
-
/**
|
|
70
|
-
* @return {?}
|
|
71
|
-
*/
|
|
72
|
-
CompetencyPassbookComponent.prototype.getCompetencyArea =
|
|
73
|
-
// to get competency area from facets
|
|
74
|
-
/**
|
|
75
|
-
* @return {?}
|
|
76
|
-
*/
|
|
77
|
-
function () {
|
|
78
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
79
|
-
var addfilter, request, response, addFilter, error_1;
|
|
80
|
-
return tslib_1.__generator(this, function (_a) {
|
|
81
|
-
switch (_a.label) {
|
|
82
|
-
case 0:
|
|
83
|
-
addfilter = {};
|
|
84
|
-
if (this.providerId) {
|
|
85
|
-
addfilter = {
|
|
86
|
-
"createdFor": [
|
|
87
|
-
this.providerId
|
|
88
|
-
],
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
this.loadCompetencyArea = true;
|
|
92
|
-
request = {
|
|
93
|
-
"request": {
|
|
94
|
-
"query": "",
|
|
95
|
-
"filters": tslib_1.__assign({ "contentType": "Course" }, addfilter, { "status": [
|
|
96
|
-
"Live"
|
|
97
|
-
] }),
|
|
98
|
-
"sort_by": {
|
|
99
|
-
"lastUpdatedOn": "desc"
|
|
100
|
-
},
|
|
101
|
-
"facets": [
|
|
102
|
-
"competencies_v5.competencyArea"
|
|
103
|
-
],
|
|
104
|
-
"limit": 0,
|
|
105
|
-
"offset": 0,
|
|
106
|
-
"fields": []
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
_a.label = 1;
|
|
110
|
-
case 1:
|
|
111
|
-
_a.trys.push([1, 3, , 4]);
|
|
112
|
-
return [4 /*yield*/, this.callCompetencySearch(request)];
|
|
113
|
-
case 2:
|
|
114
|
-
response = _a.sent();
|
|
115
|
-
if (response && response.results) {
|
|
116
|
-
if (response.results.result.facets) {
|
|
117
|
-
this.competencyArea = response.results.result.facets[0].values;
|
|
118
|
-
this.competencyStrength = this.competencyArea.reduce((/**
|
|
119
|
-
* @param {?} partialSum
|
|
120
|
-
* @param {?} data
|
|
121
|
-
* @return {?}
|
|
122
|
-
*/
|
|
123
|
-
function (partialSum, data) { return partialSum + data.count; }), 0);
|
|
124
|
-
this.selectedValue = this.competencyArea[0].name.toLowerCase();
|
|
125
|
-
addFilter = {
|
|
126
|
-
"createdFor": [
|
|
127
|
-
this.providerId
|
|
128
|
-
]
|
|
129
|
-
};
|
|
130
|
-
this.getcompetencyTheme(this.competencyArea[0].name, addFilter);
|
|
131
|
-
this.loadCompetencyArea = false;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return [3 /*break*/, 4];
|
|
135
|
-
case 3:
|
|
136
|
-
error_1 = _a.sent();
|
|
137
|
-
this.loadCompetencyArea = false;
|
|
138
|
-
this.emptyResponse.emit(true);
|
|
139
|
-
return [3 /*break*/, 4];
|
|
140
|
-
case 4: return [2 /*return*/];
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
};
|
|
145
|
-
/**
|
|
146
|
-
* @param {?} request
|
|
147
|
-
* @return {?}
|
|
148
|
-
*/
|
|
149
|
-
CompetencyPassbookComponent.prototype.callCompetencySearch = /**
|
|
150
|
-
* @param {?} request
|
|
151
|
-
* @return {?}
|
|
152
|
-
*/
|
|
153
|
-
function (request) {
|
|
154
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
155
|
-
var _this = this;
|
|
156
|
-
return tslib_1.__generator(this, function (_a) {
|
|
157
|
-
return [2 /*return*/, new Promise((/**
|
|
158
|
-
* @param {?} resolve
|
|
159
|
-
* @param {?} reject
|
|
160
|
-
* @return {?}
|
|
161
|
-
*/
|
|
162
|
-
function (resolve, reject) {
|
|
163
|
-
if (request && request) {
|
|
164
|
-
_this.contentSvc.searchV6(request).subscribe((/**
|
|
165
|
-
* @param {?} results
|
|
166
|
-
* @return {?}
|
|
167
|
-
*/
|
|
168
|
-
function (results) {
|
|
169
|
-
resolve({ results: results });
|
|
170
|
-
}), (/**
|
|
171
|
-
* @param {?} error
|
|
172
|
-
* @return {?}
|
|
173
|
-
*/
|
|
174
|
-
function (error) {
|
|
175
|
-
reject(error);
|
|
176
|
-
}));
|
|
177
|
-
}
|
|
178
|
-
}))];
|
|
179
|
-
});
|
|
180
|
-
});
|
|
181
|
-
};
|
|
182
|
-
// competency theam change
|
|
183
|
-
// competency theam change
|
|
184
|
-
/**
|
|
185
|
-
* @param {?} e
|
|
186
|
-
* @return {?}
|
|
187
|
-
*/
|
|
188
|
-
CompetencyPassbookComponent.prototype.competencyChange =
|
|
189
|
-
// competency theam change
|
|
190
|
-
/**
|
|
191
|
-
* @param {?} e
|
|
192
|
-
* @return {?}
|
|
193
|
-
*/
|
|
194
|
-
function (e) {
|
|
195
|
-
/** @type {?} */
|
|
196
|
-
var addfilter = {};
|
|
197
|
-
if (this.providerId) {
|
|
198
|
-
addfilter = {
|
|
199
|
-
"createdFor": [
|
|
200
|
-
this.providerId
|
|
201
|
-
],
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
this.temeletryResponse.emit(e.name);
|
|
205
|
-
this.getcompetencyTheme(e.name, addfilter);
|
|
206
|
-
this.selectedValue = e.name;
|
|
207
|
-
};
|
|
208
|
-
/**
|
|
209
|
-
* @return {?}
|
|
210
|
-
*/
|
|
211
|
-
CompetencyPassbookComponent.prototype.getAllCompetencies = /**
|
|
212
|
-
* @return {?}
|
|
213
|
-
*/
|
|
214
|
-
function () {
|
|
215
|
-
var _this = this;
|
|
216
|
-
this.loadCometency = true;
|
|
217
|
-
/** @type {?} */
|
|
218
|
-
var request = { "search": { "type": "Competency Area" }, "filter": { "isDetail": true } };
|
|
219
|
-
this.competencySvc.getCompetencyList(request).subscribe((/**
|
|
220
|
-
* @param {?} response
|
|
221
|
-
* @return {?}
|
|
222
|
-
*/
|
|
223
|
-
function (response) {
|
|
224
|
-
_this.allcompetencyTheme = {};
|
|
225
|
-
if (response && response.result && response.result.competency) {
|
|
226
|
-
_this.originalCompetencyArray = response.result.competency;
|
|
227
|
-
_this.getCompetencyArea();
|
|
228
|
-
response.result.competency.forEach((/**
|
|
229
|
-
* @param {?} element
|
|
230
|
-
* @return {?}
|
|
231
|
-
*/
|
|
232
|
-
function (element) {
|
|
233
|
-
element.children.forEach((/**
|
|
234
|
-
* @param {?} childEle
|
|
235
|
-
* @return {?}
|
|
236
|
-
*/
|
|
237
|
-
function (childEle) {
|
|
238
|
-
/** @type {?} */
|
|
239
|
-
var name = childEle.name.toLowerCase();
|
|
240
|
-
_this.allcompetencyTheme[name] = childEle;
|
|
241
|
-
_this.allcompetencyTheme[name]['viewMore'] = false;
|
|
242
|
-
}));
|
|
243
|
-
}));
|
|
244
|
-
}
|
|
245
|
-
_this.loadCometency = false;
|
|
246
|
-
}));
|
|
247
|
-
};
|
|
248
|
-
/**
|
|
249
|
-
* @param {?} value
|
|
250
|
-
* @param {?=} addFilter
|
|
251
|
-
* @return {?}
|
|
252
|
-
*/
|
|
253
|
-
CompetencyPassbookComponent.prototype.getcompetencyTheme = /**
|
|
254
|
-
* @param {?} value
|
|
255
|
-
* @param {?=} addFilter
|
|
256
|
-
* @return {?}
|
|
257
|
-
*/
|
|
258
|
-
function (value, addFilter) {
|
|
259
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
260
|
-
var request, response, competencyThemeData_1, error_2;
|
|
261
|
-
var _this = this;
|
|
262
|
-
return tslib_1.__generator(this, function (_a) {
|
|
263
|
-
switch (_a.label) {
|
|
264
|
-
case 0:
|
|
265
|
-
request = {
|
|
266
|
-
"request": {
|
|
267
|
-
"query": "",
|
|
268
|
-
"filters": tslib_1.__assign({ "contentType": "Course" }, addFilter, { "competencies_v5.competencyArea": value, "status": [
|
|
269
|
-
"Live"
|
|
270
|
-
] }),
|
|
271
|
-
"sort_by": {
|
|
272
|
-
"lastUpdatedOn": "desc"
|
|
273
|
-
},
|
|
274
|
-
"facets": [
|
|
275
|
-
"competencies_v5.competencyTheme"
|
|
276
|
-
],
|
|
277
|
-
"limit": 0,
|
|
278
|
-
"offset": 0,
|
|
279
|
-
"fields": []
|
|
280
|
-
}
|
|
281
|
-
};
|
|
282
|
-
_a.label = 1;
|
|
283
|
-
case 1:
|
|
284
|
-
_a.trys.push([1, 3, , 4]);
|
|
285
|
-
this.loadCometency = true;
|
|
286
|
-
return [4 /*yield*/, this.callCompetencySearch(request)];
|
|
287
|
-
case 2:
|
|
288
|
-
response = _a.sent();
|
|
289
|
-
if (response && response.results) {
|
|
290
|
-
if (response.results.result.facets) {
|
|
291
|
-
competencyThemeData_1 = response.results.result.facets[0].values;
|
|
292
|
-
this.originalCompetencyArray.forEach((/**
|
|
293
|
-
* @param {?} element
|
|
294
|
-
* @return {?}
|
|
295
|
-
*/
|
|
296
|
-
function (element) {
|
|
297
|
-
if (element.name.toLowerCase() === value) {
|
|
298
|
-
_this.competencyTheme = competencyThemeData_1.filter((/**
|
|
299
|
-
* @param {?} ele1
|
|
300
|
-
* @return {?}
|
|
301
|
-
*/
|
|
302
|
-
function (ele1) {
|
|
303
|
-
return element.children.find((/**
|
|
304
|
-
* @param {?} ele2
|
|
305
|
-
* @return {?}
|
|
306
|
-
*/
|
|
307
|
-
function (ele2) { return ele2.name.toLowerCase() === ele1.name.toLowerCase(); }));
|
|
308
|
-
}));
|
|
309
|
-
_this.showAllTheme = [{ name: 'Show all', showAll: false }];
|
|
310
|
-
_this.competencyThemeLength = 6;
|
|
311
|
-
}
|
|
312
|
-
}));
|
|
313
|
-
this.resetViewMore();
|
|
314
|
-
}
|
|
315
|
-
this.loadCometency = false;
|
|
316
|
-
}
|
|
317
|
-
return [3 /*break*/, 4];
|
|
318
|
-
case 3:
|
|
319
|
-
error_2 = _a.sent();
|
|
320
|
-
return [3 /*break*/, 4];
|
|
321
|
-
case 4: return [2 /*return*/];
|
|
322
|
-
}
|
|
323
|
-
});
|
|
324
|
-
});
|
|
325
|
-
};
|
|
326
|
-
/**
|
|
327
|
-
* @return {?}
|
|
328
|
-
*/
|
|
329
|
-
CompetencyPassbookComponent.prototype.resetViewMore = /**
|
|
330
|
-
* @return {?}
|
|
331
|
-
*/
|
|
332
|
-
function () {
|
|
333
|
-
var _this = this;
|
|
334
|
-
Object.keys(this.allcompetencyTheme).forEach((/**
|
|
335
|
-
* @param {?} comp
|
|
336
|
-
* @return {?}
|
|
337
|
-
*/
|
|
338
|
-
function (comp) {
|
|
339
|
-
_this.allcompetencyTheme[comp]['viewMore'] = false;
|
|
340
|
-
}));
|
|
341
|
-
};
|
|
342
|
-
/**
|
|
343
|
-
* @param {?} data
|
|
344
|
-
* @return {?}
|
|
345
|
-
*/
|
|
346
|
-
CompetencyPassbookComponent.prototype.viewMoreChildren = /**
|
|
347
|
-
* @param {?} data
|
|
348
|
-
* @return {?}
|
|
349
|
-
*/
|
|
350
|
-
function (data) {
|
|
351
|
-
data.viewMore = !data.viewMore;
|
|
352
|
-
this.allcompetencyTheme[data.name.toLowerCase()].viewMore = data.viewMore;
|
|
353
|
-
};
|
|
354
|
-
/**
|
|
355
|
-
* @param {?} event
|
|
356
|
-
* @return {?}
|
|
357
|
-
*/
|
|
358
|
-
CompetencyPassbookComponent.prototype.displayAllTheme = /**
|
|
359
|
-
* @param {?} event
|
|
360
|
-
* @return {?}
|
|
361
|
-
*/
|
|
362
|
-
function (event) {
|
|
363
|
-
this.showAllTheme[0]['showAll'] = !event.showAll;
|
|
364
|
-
this.competencyThemeLength = event.showAll ? this.competencyTheme.length : 6;
|
|
365
|
-
this.showAllTheme[0]['name'] = event.showAll ? 'Show less' : 'Show all';
|
|
366
|
-
this.temeletryResponse.emit(event.name);
|
|
367
|
-
};
|
|
368
|
-
/**
|
|
369
|
-
* @param {?} compData
|
|
370
|
-
* @return {?}
|
|
371
|
-
*/
|
|
372
|
-
CompetencyPassbookComponent.prototype.navigateToCompetency = /**
|
|
373
|
-
* @param {?} compData
|
|
374
|
-
* @return {?}
|
|
375
|
-
*/
|
|
376
|
-
function (compData) {
|
|
377
|
-
this.router.navigateByUrl("app/learn/browse-by/competency/" + compData.name);
|
|
378
|
-
};
|
|
379
|
-
CompetencyPassbookComponent.decorators = [
|
|
380
|
-
{ type: Component, args: [{
|
|
381
|
-
selector: 'sb-uic-competency-passbook',
|
|
382
|
-
template: " <div class=\"competency-title\" *ngIf=\"objectData?.title\">{{objectData?.title}} \n <span class=\"competency-count\">\n ({{competencyStrength}})\n </span>\n</div>\n<div class=\"flex items-center justify-{{dynamicAlignPills}} gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"competencyArea\" [dynamicColor]=\"dynamicColor\"\n [isLoading]=\"loadCompetencyArea\" (pillClick)=\"competencyChange($event)\" [selectedValue]=\"selectedValue\"></sb-uic-pills>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\" *ngIf=\"!loadCometency\">\n <div class=\"competency-card\" *ngFor=\"let obj of competencyTheme| slice:0:competencyThemeLength\">\n <div class=\"flex-1 flex-col\">\n <div class=\"competency-theme\"></div>\n <div class=\"details flex flex-col\">\n <div class=\"flex flex-col p-4\">\n <div class=\"flex flex-row cursor-pointer\">\n <div class=\"flex flex-row gap-2 items-center\">\n <div class=\"name\">{{allcompetencyTheme[obj?.name]?.name}}</div>\n <!-- <div class=\"flex items-baseline\">\n <img src=\"assets/icons/competency/cp-arrow.svg\" class=\"arrow-img cursor-pointer\" alt=\"cp arrow img\" (click)=\"navigateToCompetency(obj)\" />\n </div> -->\n </div>\n </div>\n <div class=\"flex flex-row pt-3 pb-3 description\">\n {{ allcompetencyTheme[obj.name]?.description }} \n </div>\n <div class=\"flex flex-row gap-3 items-center\">\n <mat-icon class=\"content-icon\">school</mat-icon>\n <div class=\"no-of-contents\" *ngIf=\"obj.count === 1\">{{obj.count}} Content</div>\n <div class=\"no-of-contents\" *ngIf=\"obj.count !== 1\">{{obj.count}} Contents</div>\n </div>\n <div class=\"line mt-3 mt-2\"></div>\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\n <ng-container *ngFor=\"let child of allcompetencyTheme[obj.name]?.children| slice:0: allcompetencyTheme[obj.name]?.viewMore ? allcompetencyTheme[obj.name]?.children?.length : 3; let i = index\">\n <div class=\"chip rounded-full p-2 text-xs chip-ellipsis\" [title]=\"child?.name\" >\n {{ child.name }}\n </div>\n </ng-container>\n <div class=\"p-2 info-btn cursor-pointer\"\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && !allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\n View more\n </div>\n <div class=\"p-2 info-btn cursor-pointer\"\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\n View less\n </div>\n </div>\n </div> \n </div>\n </div>\n </div>\n</div>\n<ng-container *ngIf=\"competencyTheme.length > 6 && !loadCometency\">\n <div class=\"flex items-center justify-center gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"showAllTheme\" [requiredTitlecase]=\"false\" [dynamicColor]=\"dynamicColor\" (pillClick)=\"displayAllTheme($event)\"></sb-uic-pills>\n </div>\n</ng-container> \n\n<ng-container *ngIf=\"loadCometency\">\n\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\">\n <div *ngFor=\"let obj of [0,1,2,3,4,5]\">\n <div class=\"flex-1 flex-col\">\n <div class=\"competency-theme\"></div>\n <div class=\"details flex flex-col\">\n <div class=\"flex flex-col p-4\">\n <div class=\"flex flex-row cursor-pointer\">\n <div class=\"flex flex-row gap-2 items-center w-full\">\n <div class=\"name w-full\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n <div class=\"pt-3 pb-3 description\">\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex flex-row gap-3 items-center\">\n <mat-icon class=\"content-icon\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'24px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader></mat-icon>\n <div class=\"no-of-contents\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader></div>\n </div>\n <div class=\"line mt-3 mt-2\"></div>\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div> \n </div>\n </div>\n </div>\n</div>\n</ng-container>",
|
|
383
|
-
styles: [".competencies-backgroud{background-color:#1b2133}.competency-title{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left;color:#fff}.competency-count{color:#f3962f}.filter-button{padding:12px 16px;border-radius:50px;border:1px solid #fff;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;background-color:transparent;color:#fff;cursor:pointer}.filter-button.active{background:#1b4ca1}.banner-metrics{background:linear-gradient(180deg,#f9cb97 -107.59%,#ef951e 110.74%)}.infra-background{background:#1b4ca1}.competency-theme{height:16px;border-top-left-radius:12px;border-top-right-radius:12px;background-color:#f8b861}.details{background-color:#fff;border-radius:12px;position:relative;top:-8px;min-height:278px}.name{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.description{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left;height:42px;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.no-of-contents{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;color:#1b4ca1}.content-icon{color:#1b4ca1}.line{border-top:1px solid #e2dddd}.chip{padding:8px 16px;gap:8px;border-radius:50px;border:1px solid #1b4ca1;color:#1b4ca1;font-family:Lato;font-size:14px;font-weight:700;text-align:center}.chip-ellipsis{white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.info-btn{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;opacity:.7;padding:12px 5px}.hide{display:none}.behavioral{background-color:#f8b861}.functional{background-color:#e24577}.domain{background-color:#7b47a4}.competency-card{z-index:999}"]
|
|
384
|
-
}] }
|
|
385
|
-
];
|
|
386
|
-
/** @nocollapse */
|
|
387
|
-
CompetencyPassbookComponent.ctorParameters = function () { return [
|
|
388
|
-
{ type: ConfigurationsService },
|
|
389
|
-
{ type: WidgetContentService },
|
|
390
|
-
{ type: CompetencyPassbookService },
|
|
391
|
-
{ type: Router }
|
|
392
|
-
]; };
|
|
393
|
-
CompetencyPassbookComponent.propDecorators = {
|
|
394
|
-
objectData: [{ type: Input }],
|
|
395
|
-
providerId: [{ type: Input }],
|
|
396
|
-
cardDisplayCount: [{ type: Input }],
|
|
397
|
-
dynamicClass: [{ type: Input }],
|
|
398
|
-
dynamicColor: [{ type: Input }],
|
|
399
|
-
dynamicAlignPills: [{ type: Input }],
|
|
400
|
-
emptyResponse: [{ type: Output }],
|
|
401
|
-
temeletryResponse: [{ type: Output }]
|
|
402
|
-
};
|
|
403
|
-
return CompetencyPassbookComponent;
|
|
404
|
-
}());
|
|
405
|
-
export { CompetencyPassbookComponent };
|
|
406
|
-
if (false) {
|
|
407
|
-
/** @type {?} */
|
|
408
|
-
CompetencyPassbookComponent.prototype.objectData;
|
|
409
|
-
/** @type {?} */
|
|
410
|
-
CompetencyPassbookComponent.prototype.providerId;
|
|
411
|
-
/** @type {?} */
|
|
412
|
-
CompetencyPassbookComponent.prototype.cardDisplayCount;
|
|
413
|
-
/** @type {?} */
|
|
414
|
-
CompetencyPassbookComponent.prototype.dynamicClass;
|
|
415
|
-
/** @type {?} */
|
|
416
|
-
CompetencyPassbookComponent.prototype.dynamicColor;
|
|
417
|
-
/** @type {?} */
|
|
418
|
-
CompetencyPassbookComponent.prototype.dynamicAlignPills;
|
|
419
|
-
/** @type {?} */
|
|
420
|
-
CompetencyPassbookComponent.prototype.emptyResponse;
|
|
421
|
-
/** @type {?} */
|
|
422
|
-
CompetencyPassbookComponent.prototype.temeletryResponse;
|
|
423
|
-
/** @type {?} */
|
|
424
|
-
CompetencyPassbookComponent.prototype.loadCometency;
|
|
425
|
-
/** @type {?} */
|
|
426
|
-
CompetencyPassbookComponent.prototype.loadCompetencyArea;
|
|
427
|
-
/** @type {?} */
|
|
428
|
-
CompetencyPassbookComponent.prototype.originalCompetencyArray;
|
|
429
|
-
/** @type {?} */
|
|
430
|
-
CompetencyPassbookComponent.prototype.competencyArea;
|
|
431
|
-
/** @type {?} */
|
|
432
|
-
CompetencyPassbookComponent.prototype.selectedValue;
|
|
433
|
-
/** @type {?} */
|
|
434
|
-
CompetencyPassbookComponent.prototype.competencyVersion;
|
|
435
|
-
/** @type {?} */
|
|
436
|
-
CompetencyPassbookComponent.prototype.competencyTheme;
|
|
437
|
-
/** @type {?} */
|
|
438
|
-
CompetencyPassbookComponent.prototype.allcompetencyTheme;
|
|
439
|
-
/** @type {?} */
|
|
440
|
-
CompetencyPassbookComponent.prototype.competencyStrength;
|
|
441
|
-
/** @type {?} */
|
|
442
|
-
CompetencyPassbookComponent.prototype.competencyThemeLength;
|
|
443
|
-
/** @type {?} */
|
|
444
|
-
CompetencyPassbookComponent.prototype.showAllTheme;
|
|
445
|
-
/** @type {?} */
|
|
446
|
-
CompetencyPassbookComponent.prototype.configSvc;
|
|
447
|
-
/** @type {?} */
|
|
448
|
-
CompetencyPassbookComponent.prototype.contentSvc;
|
|
449
|
-
/** @type {?} */
|
|
450
|
-
CompetencyPassbookComponent.prototype.competencySvc;
|
|
451
|
-
/** @type {?} */
|
|
452
|
-
CompetencyPassbookComponent.prototype.router;
|
|
453
|
-
}
|
|
454
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekM7SUEyQkUsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyxnQ0FBZ0M7SUFDaEMsc0JBQXNCO0lBQ3RCLHFDQUFtQixTQUFnQyxFQUMxQyxVQUErQixFQUMvQixhQUF3QyxFQUN4QyxNQUFlO1FBSEwsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDMUMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQTJCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVM7UUF6QmYscUJBQWdCLEdBQVEsQ0FBQyxDQUFBO1FBR3pCLHNCQUFpQixHQUFRLFFBQVEsQ0FBQTtRQUNoQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDdkMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUNyRCxrQkFBYSxHQUFZLEtBQUssQ0FBQTtRQUM5Qix1QkFBa0IsR0FBWSxLQUFLLENBQUE7UUFJbkMsc0JBQWlCLEdBQVUsRUFBRSxDQUFBO1FBQzdCLG9CQUFl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Ozs7O0lBQXBCLFVBQXFCLFFBQWE7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsb0NBQWtDLFFBQVEsQ0FBQyxJQUFNLENBQUMsQ0FBQTtJQUM5RSxDQUFDOztnQkFwT0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLGdsTkFBbUQ7O2lCQUVwRDs7OztnQkFUUSxxQkFBcUI7Z0JBQ3JCLG9CQUFvQjtnQkFDcEIseUJBQXlCO2dCQUN6QixNQUFNOzs7NkJBU1osS0FBSzs2QkFDTCxLQUFLO21DQUNMLEtBQUs7K0JBQ0wsS0FBSzsrQkFDTCxLQUFLO29DQUNMLEtBQUs7Z0NBQ0wsTUFBTTtvQ0FDTixNQUFNOztJQXVOVCxrQ0FBQztDQUFBLEFBck9ELElBcU9DO1NBaE9ZLDJCQUEyQjs7O0lBRXRDLGlEQUF3Qjs7SUFDeEIsaURBQXdCOztJQUN4Qix1REFBa0M7O0lBQ2xDLG1EQUEwQjs7SUFDMUIsbURBQTBCOztJQUMxQix3REFBMEM7O0lBQzFDLG9EQUFpRDs7SUFDakQsd0RBQXFEOztJQUNyRCxvREFBOEI7O0lBQzlCLHlEQUFtQzs7SUFDbkMsOERBQTRCOztJQUM1QixxREFBc0I7O0lBQ3RCLG9EQUFtQjs7SUFDbkIsd0RBQTZCOztJQUM3QixzREFBeUI7O0lBQ3pCLHlEQUEyQjs7SUFDM0IseURBQTJCOztJQUMzQiw0REFBOEI7O0lBQzlCLG1EQUF3RDs7SUFNNUMsZ0RBQXVDOztJQUNqRCxpREFBc0M7O0lBQ3RDLG9EQUErQzs7SUFDL0MsNkNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlLCBFdmVudFNlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12Mic7XG5pbXBvcnQgeyBXaWRnZXRDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy93aWRnZXQtY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UgfSBmcm9tICcuL2NvbXBldGVuY3ktcGFzc2Jvb2suc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtY29tcGV0ZW5jeS1wYXNzYm9vaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21wZXRlbmN5LXBhc3Nib29rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbXBldGVuY3lQYXNzYm9va0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgb2JqZWN0RGF0YTogYW55XG4gIEBJbnB1dCgpIHByb3ZpZGVySWQ6IGFueVxuICBASW5wdXQoKSBjYXJkRGlzcGxheUNvdW50OiBhbnkgPSAzXG4gIEBJbnB1dCgpIGR5bmFtaWNDbGFzczogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNDb2xvcjogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNBbGlnblBpbGxzOiBhbnkgPSAnY2VudGVyJ1xuICBAT3V0cHV0KCkgZW1wdHlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIEBPdXRwdXQoKSB0ZW1lbGV0cnlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIGxvYWRDb21ldGVuY3k6IGJvb2xlYW4gPSBmYWxzZVxuICBsb2FkQ29tcGV0ZW5jeUFyZWE6IGJvb2xlYW4gPSBmYWxzZVxuICBvcmlnaW5hbENvbXBldGVuY3lBcnJheTogYW55XG4gIGNvbXBldGVuY3lBcmVhOiBhbnkgW11cbiAgc2VsZWN0ZWRWYWx1ZTogYW55O1xuICBjb21wZXRlbmN5VmVyc2lvbjpzdHJpbmcgPSAnJ1xuICBjb21wZXRlbmN5VGhlbWU6IGFueSA9IFtdXG4gIGFsbGNvbXBldGVuY3lUaGVtZTogYW55ID17fVxuICBjb21wZXRlbmN5U3RyZW5ndGg6IGFueSA9IDBcbiAgY29tcGV0ZW5jeVRoZW1lTGVuZ3RoOiBhbnkgPSA2XG4gIHNob3dBbGxUaGVtZSA6IGFueSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG5cbiAgLy8gc3ViVGhlbWUgPSBbJ0JlaGF2aW91cmFsJ11cbiAgLy8gY3VycmVudEZpbHRlciA9ICdCZWhhdmlvdXJhbCdcbiAgLy8gY3VycmVudENvbXBldGVuY2llczogYW55ID0gW11cbiAgLy8gY29tcGV0ZW5jeURhdGE6IGFueVxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXG4gICAgcHVibGljIGNvbnRlbnRTdmM6V2lkZ2V0Q29udGVudFNlcnZpY2UsXG4gICAgcHVibGljIGNvbXBldGVuY3lTdmM6IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlciA6IFJvdXRlclxuICApIHsgXG4gICAgXG4gIH1cblxuIFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdldEFsbENvbXBldGVuY2llcygpXG4gICAgLy8gdGhpcy5jb21wZXRlbmN5RGF0YSA9IHRoaXMub2JqZWN0RGF0YVxuICAgIC8vIHRoaXMuZmlsdGVyKHRoaXMuY3VycmVudEZpbHRlcilcbiAgfVxuICAvLyBmaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xuICAvLyAgIHRoaXMuY3VycmVudEZpbHRlciA9IGZpbHRlclZhbHVlXG4gIC8vICAgdGhpcy5jdXJyZW50Q29tcGV0ZW5jaWVzID0gdGhpcy5jb21wZXRlbmN5RGF0YS5kYXRhLmZpbHRlcigoaXRlbTogYW55KSA9PiBpdGVtLnR5cGUgPT09IGZpbHRlclZhbHVlKVxuICAvLyB9XG4gIHNob3dNb3JlKCkge1xuICAgIHRoaXMub2JqZWN0RGF0YS52aWV3TW9yZSA9ICF0aGlzLm9iamVjdERhdGEudmlld01vcmVcbiAgfVxuXG4gIC8vIHRvIGdldCBjb21wZXRlbmN5IGFyZWEgZnJvbSBmYWNldHNcbiAgYXN5bmMgZ2V0Q29tcGV0ZW5jeUFyZWEoKXtsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxuICBpZih0aGlzLnByb3ZpZGVySWQpIHtcbiAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgXSxcbiAgICB9XG4gIH1cbiAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IHRydWVcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgICAgXCJyZXF1ZXN0XCI6IHtcbiAgICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgICAgXCJjb250ZW50VHlwZVwiOlwiQ291cnNlXCIsXG4gICAgICAgICAgICAgICAgLi4uYWRkZmlsdGVyLFxuICAgICAgICAgICAgICAgIFwic3RhdHVzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWFcIlxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICAgIFwib2Zmc2V0XCI6IDAsXG4gICAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgICB0aGlzLmNvbXBldGVuY3lBcmVhID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlc1xuICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVN0cmVuZ3RoID0gdGhpcy5jb21wZXRlbmN5QXJlYS5yZWR1Y2UoKHBhcnRpYWxTdW06IGFueSwgZGF0YTogYW55KSA9PiBwYXJ0aWFsU3VtICsgIGRhdGEuY291bnQsIDApIFxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSAgPSB0aGlzLmNvbXBldGVuY3lBcmVhWzBdLm5hbWUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgIGxldCBhZGRGaWx0ZXIgPSB7XG4gICAgICAgICAgICBcImNyZWF0ZWRGb3JcIjogW1xuICAgICAgICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmdldGNvbXBldGVuY3lUaGVtZSh0aGlzLmNvbXBldGVuY3lBcmVhWzBdLm5hbWUsIGFkZEZpbHRlcilcbiAgICAgICAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSBmYWxzZVxuICAgICAgdGhpcy5lbXB0eVJlc3BvbnNlLmVtaXQodHJ1ZSlcbiAgICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KXtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAocmVxdWVzdCAmJiByZXF1ZXN0KSB7XG4gICAgICAgIHRoaXMuY29udGVudFN2Yy5zZWFyY2hWNihyZXF1ZXN0KS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHsgcmVzdWx0cyB9KTtcbiAgICAgICAgICB9LChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBjb21wZXRlbmN5IHRoZWFtIGNoYW5nZVxuICBjb21wZXRlbmN5Q2hhbmdlKGUpe1xuICAgIGxldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gICAgaWYodGhpcy5wcm92aWRlcklkKSB7XG4gICAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICAgIFwiY3JlYXRlZEZvclwiOiBbXG4gICAgICAgICAgdGhpcy5wcm92aWRlcklkXG4gICAgICAgXSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnRlbWVsZXRyeVJlc3BvbnNlLmVtaXQoZS5uYW1lKVxuICAgIFxuICAgIHRoaXMuZ2V0Y29tcGV0ZW5jeVRoZW1lKGUubmFtZSwgYWRkZmlsdGVyKVxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGUubmFtZVxuICB9XG4gIGdldEFsbENvbXBldGVuY2llcygpe1xuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBsZXQgcmVxdWVzdCA9IHtcInNlYXJjaFwiOntcInR5cGVcIjpcIkNvbXBldGVuY3kgQXJlYVwifSxcImZpbHRlclwiOntcImlzRGV0YWlsXCI6dHJ1ZX19XG4gICAgdGhpcy5jb21wZXRlbmN5U3ZjLmdldENvbXBldGVuY3lMaXN0KHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWUgPSB7fVxuICAgICAgaWYocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0ICYmIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5KSB7XG4gICAgICAgIHRoaXMub3JpZ2luYWxDb21wZXRlbmN5QXJyYXkgPSByZXNwb25zZS5yZXN1bHQuY29tcGV0ZW5jeVxuXG4gICAgICAgIHRoaXMuZ2V0Q29tcGV0ZW5jeUFyZWEoKVxuICAgICAgICByZXNwb25zZS5yZXN1bHQuY29tcGV0ZW5jeS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgIGVsZW1lbnQuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGRFbGUpID0+IHtcbiAgICAgICAgICAgIGxldCBuYW1lID0gY2hpbGRFbGUubmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtuYW1lXSA9IGNoaWxkRWxlXG4gICAgICAgICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtuYW1lXVsndmlld01vcmUnXSA9IGZhbHNlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0Y29tcGV0ZW5jeVRoZW1lKHZhbHVlOiBhbnksYWRkRmlsdGVyPzogYW55KSB7XG4gICAgbGV0IHJlcXVlc3QgPSB7XG4gICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICBcImZpbHRlcnNcIjoge1xuICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgLi4uYWRkRmlsdGVyLFxuICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYVwiIDogdmFsdWUsXG4gICAgICAgICAgICAgIFwic3RhdHVzXCI6IFtcbiAgICAgICAgICAgICAgICAgIFwiTGl2ZVwiXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIFwic29ydF9ieVwiOiB7XG4gICAgICAgICAgICAgIFwibGFzdFVwZGF0ZWRPblwiOiBcImRlc2NcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJmYWNldHNcIjogW1xuICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5VGhlbWVcIlxuICAgICAgICAgIF0sXG4gICAgICAgICAgXCJsaW1pdFwiOiAwLFxuICAgICAgICAgIFwib2Zmc2V0XCI6IDAsXG4gICAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIFxuICB0cnkge1xuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cyl7XG4gICAgICAgIGxldCBjb21wZXRlbmN5VGhlbWVEYXRhIDogYW55ID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlcyBcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBpZihlbGVtZW50Lm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lID0gY29tcGV0ZW5jeVRoZW1lRGF0YS5maWx0ZXIoKGVsZTE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gIGVsZW1lbnQuY2hpbGRyZW4uZmluZCgoZWxlMjogYW55KSA9PiBlbGUyLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gZWxlMS5uYW1lLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgdGhpcy5zaG93QWxsVGhlbWUgPSBbe25hbWU6J1Nob3cgYWxsJywgc2hvd0FsbDogZmFsc2V9XVxuICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWVMZW5ndGggPSA2XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZXNldFZpZXdNb3JlKClcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IGZhbHNlXG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gIH1cbiAgfVxuXG4gIHJlc2V0Vmlld01vcmUoKXtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmFsbGNvbXBldGVuY3lUaGVtZSkuZm9yRWFjaCgoY29tcDogYW55KSA9PiB7XG4gICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtjb21wXVsndmlld01vcmUnXSA9IGZhbHNlXG4gICAgfSlcbiAgfVxuICB2aWV3TW9yZUNoaWxkcmVuKGRhdGE6IGFueSkge1xuICAgIGRhdGEudmlld01vcmUgPSAhZGF0YS52aWV3TW9yZVxuICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW2RhdGEubmFtZS50b0xvd2VyQ2FzZSgpXS52aWV3TW9yZSA9IGRhdGEudmlld01vcmVcbiAgfVxuICBkaXNwbGF5QWxsVGhlbWUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2hvd0FsbFRoZW1lWzBdWydzaG93QWxsJ10gPSAhZXZlbnQuc2hvd0FsbCBcbiAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IGV2ZW50LnNob3dBbGwgPyAgdGhpcy5jb21wZXRlbmN5VGhlbWUubGVuZ3RoIDogNlxuICAgIHRoaXMuc2hvd0FsbFRoZW1lWzBdWyduYW1lJ10gPSBldmVudC5zaG93QWxsID8gJ1Nob3cgbGVzcycgOiAnU2hvdyBhbGwnXG4gICAgdGhpcy50ZW1lbGV0cnlSZXNwb25zZS5lbWl0KGV2ZW50Lm5hbWUpXG4gIH1cblxuICBuYXZpZ2F0ZVRvQ29tcGV0ZW5jeShjb21wRGF0YTogYW55KXtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGBhcHAvbGVhcm4vYnJvd3NlLWJ5L2NvbXBldGVuY3kvJHtjb21wRGF0YS5uYW1lfWApXG4gIH1cbn1cbiJdfQ==
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import * as tslib_1 from "tslib";
|
|
6
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
7
|
+
import { ConfigurationsService } from '@sunbird-cb/utils-v2';
|
|
8
|
+
import { WidgetContentService } from '../../_services/widget-content.service';
|
|
9
|
+
import { CompetencyPassbookService } from './competency-passbook.service';
|
|
10
|
+
import { Router } from '@angular/router';
|
|
11
|
+
var CompetencyPassbookComponent = /** @class */ (function () {
|
|
12
|
+
// subTheme = ['Behavioural']
|
|
13
|
+
// currentFilter = 'Behavioural'
|
|
14
|
+
// currentCompetencies: any = []
|
|
15
|
+
// competencyData: any
|
|
16
|
+
function CompetencyPassbookComponent(configSvc, contentSvc, competencySvc, router) {
|
|
17
|
+
this.configSvc = configSvc;
|
|
18
|
+
this.contentSvc = contentSvc;
|
|
19
|
+
this.competencySvc = competencySvc;
|
|
20
|
+
this.router = router;
|
|
21
|
+
this.cardDisplayCount = 3;
|
|
22
|
+
this.dynamicAlignPills = 'center';
|
|
23
|
+
this.emptyResponse = new EventEmitter();
|
|
24
|
+
this.temeletryResponse = new EventEmitter();
|
|
25
|
+
this.loadCometency = false;
|
|
26
|
+
this.loadCompetencyArea = false;
|
|
27
|
+
this.competencyVersion = '';
|
|
28
|
+
this.competencyTheme = [];
|
|
29
|
+
this.allcompetencyTheme = {};
|
|
30
|
+
this.competencyStrength = 0;
|
|
31
|
+
this.competencyThemeLength = 6;
|
|
32
|
+
this.showAllTheme = [{ name: 'Show all', showAll: false }];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @return {?}
|
|
36
|
+
*/
|
|
37
|
+
CompetencyPassbookComponent.prototype.ngOnInit = /**
|
|
38
|
+
* @return {?}
|
|
39
|
+
*/
|
|
40
|
+
function () {
|
|
41
|
+
this.getAllCompetencies();
|
|
42
|
+
// this.competencyData = this.objectData
|
|
43
|
+
// this.filter(this.currentFilter)
|
|
44
|
+
};
|
|
45
|
+
// filter(filterValue: string) {
|
|
46
|
+
// this.currentFilter = filterValue
|
|
47
|
+
// this.currentCompetencies = this.competencyData.data.filter((item: any) => item.type === filterValue)
|
|
48
|
+
// }
|
|
49
|
+
// filter(filterValue: string) {
|
|
50
|
+
// this.currentFilter = filterValue
|
|
51
|
+
// this.currentCompetencies = this.competencyData.data.filter((item: any) => item.type === filterValue)
|
|
52
|
+
// }
|
|
53
|
+
/**
|
|
54
|
+
* @return {?}
|
|
55
|
+
*/
|
|
56
|
+
CompetencyPassbookComponent.prototype.showMore =
|
|
57
|
+
// filter(filterValue: string) {
|
|
58
|
+
// this.currentFilter = filterValue
|
|
59
|
+
// this.currentCompetencies = this.competencyData.data.filter((item: any) => item.type === filterValue)
|
|
60
|
+
// }
|
|
61
|
+
/**
|
|
62
|
+
* @return {?}
|
|
63
|
+
*/
|
|
64
|
+
function () {
|
|
65
|
+
this.objectData.viewMore = !this.objectData.viewMore;
|
|
66
|
+
};
|
|
67
|
+
// to get competency area from facets
|
|
68
|
+
// to get competency area from facets
|
|
69
|
+
/**
|
|
70
|
+
* @return {?}
|
|
71
|
+
*/
|
|
72
|
+
CompetencyPassbookComponent.prototype.getCompetencyArea =
|
|
73
|
+
// to get competency area from facets
|
|
74
|
+
/**
|
|
75
|
+
* @return {?}
|
|
76
|
+
*/
|
|
77
|
+
function () {
|
|
78
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
79
|
+
var addfilter, request, response, addFilter, error_1;
|
|
80
|
+
return tslib_1.__generator(this, function (_a) {
|
|
81
|
+
switch (_a.label) {
|
|
82
|
+
case 0:
|
|
83
|
+
addfilter = {};
|
|
84
|
+
if (this.providerId) {
|
|
85
|
+
addfilter = {
|
|
86
|
+
"createdFor": [
|
|
87
|
+
this.providerId
|
|
88
|
+
],
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
this.loadCompetencyArea = true;
|
|
92
|
+
request = {
|
|
93
|
+
"request": {
|
|
94
|
+
"query": "",
|
|
95
|
+
"filters": tslib_1.__assign({ "contentType": "Course" }, addfilter, { "status": [
|
|
96
|
+
"Live"
|
|
97
|
+
] }),
|
|
98
|
+
"sort_by": {
|
|
99
|
+
"lastUpdatedOn": "desc"
|
|
100
|
+
},
|
|
101
|
+
"facets": [
|
|
102
|
+
"competencies_v5.competencyArea"
|
|
103
|
+
],
|
|
104
|
+
"limit": 0,
|
|
105
|
+
"offset": 0,
|
|
106
|
+
"fields": []
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
_a.label = 1;
|
|
110
|
+
case 1:
|
|
111
|
+
_a.trys.push([1, 3, , 4]);
|
|
112
|
+
return [4 /*yield*/, this.callCompetencySearch(request)];
|
|
113
|
+
case 2:
|
|
114
|
+
response = _a.sent();
|
|
115
|
+
if (response && response.results) {
|
|
116
|
+
if (response.results.result.facets) {
|
|
117
|
+
this.competencyArea = response.results.result.facets[0].values;
|
|
118
|
+
this.competencyStrength = this.competencyArea.reduce((/**
|
|
119
|
+
* @param {?} partialSum
|
|
120
|
+
* @param {?} data
|
|
121
|
+
* @return {?}
|
|
122
|
+
*/
|
|
123
|
+
function (partialSum, data) { return partialSum + data.count; }), 0);
|
|
124
|
+
this.selectedValue = this.competencyArea[0].name.toLowerCase();
|
|
125
|
+
addFilter = {
|
|
126
|
+
"createdFor": [
|
|
127
|
+
this.providerId
|
|
128
|
+
]
|
|
129
|
+
};
|
|
130
|
+
this.getcompetencyTheme(this.competencyArea[0].name, addFilter);
|
|
131
|
+
this.loadCompetencyArea = false;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return [3 /*break*/, 4];
|
|
135
|
+
case 3:
|
|
136
|
+
error_1 = _a.sent();
|
|
137
|
+
this.loadCompetencyArea = false;
|
|
138
|
+
this.emptyResponse.emit(true);
|
|
139
|
+
return [3 /*break*/, 4];
|
|
140
|
+
case 4: return [2 /*return*/];
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* @param {?} request
|
|
147
|
+
* @return {?}
|
|
148
|
+
*/
|
|
149
|
+
CompetencyPassbookComponent.prototype.callCompetencySearch = /**
|
|
150
|
+
* @param {?} request
|
|
151
|
+
* @return {?}
|
|
152
|
+
*/
|
|
153
|
+
function (request) {
|
|
154
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
155
|
+
var _this = this;
|
|
156
|
+
return tslib_1.__generator(this, function (_a) {
|
|
157
|
+
return [2 /*return*/, new Promise((/**
|
|
158
|
+
* @param {?} resolve
|
|
159
|
+
* @param {?} reject
|
|
160
|
+
* @return {?}
|
|
161
|
+
*/
|
|
162
|
+
function (resolve, reject) {
|
|
163
|
+
if (request && request) {
|
|
164
|
+
_this.contentSvc.searchV6(request).subscribe((/**
|
|
165
|
+
* @param {?} results
|
|
166
|
+
* @return {?}
|
|
167
|
+
*/
|
|
168
|
+
function (results) {
|
|
169
|
+
resolve({ results: results });
|
|
170
|
+
}), (/**
|
|
171
|
+
* @param {?} error
|
|
172
|
+
* @return {?}
|
|
173
|
+
*/
|
|
174
|
+
function (error) {
|
|
175
|
+
reject(error);
|
|
176
|
+
}));
|
|
177
|
+
}
|
|
178
|
+
}))];
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
};
|
|
182
|
+
// competency theam change
|
|
183
|
+
// competency theam change
|
|
184
|
+
/**
|
|
185
|
+
* @param {?} e
|
|
186
|
+
* @return {?}
|
|
187
|
+
*/
|
|
188
|
+
CompetencyPassbookComponent.prototype.competencyChange =
|
|
189
|
+
// competency theam change
|
|
190
|
+
/**
|
|
191
|
+
* @param {?} e
|
|
192
|
+
* @return {?}
|
|
193
|
+
*/
|
|
194
|
+
function (e) {
|
|
195
|
+
/** @type {?} */
|
|
196
|
+
var addfilter = {};
|
|
197
|
+
if (this.providerId) {
|
|
198
|
+
addfilter = {
|
|
199
|
+
"createdFor": [
|
|
200
|
+
this.providerId
|
|
201
|
+
],
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
this.temeletryResponse.emit(e.name);
|
|
205
|
+
this.getcompetencyTheme(e.name, addfilter);
|
|
206
|
+
this.selectedValue = e.name;
|
|
207
|
+
};
|
|
208
|
+
/**
|
|
209
|
+
* @return {?}
|
|
210
|
+
*/
|
|
211
|
+
CompetencyPassbookComponent.prototype.getAllCompetencies = /**
|
|
212
|
+
* @return {?}
|
|
213
|
+
*/
|
|
214
|
+
function () {
|
|
215
|
+
var _this = this;
|
|
216
|
+
this.loadCometency = true;
|
|
217
|
+
/** @type {?} */
|
|
218
|
+
var request = { "search": { "type": "Competency Area" }, "filter": { "isDetail": true } };
|
|
219
|
+
this.competencySvc.getCompetencyList(request).subscribe((/**
|
|
220
|
+
* @param {?} response
|
|
221
|
+
* @return {?}
|
|
222
|
+
*/
|
|
223
|
+
function (response) {
|
|
224
|
+
_this.allcompetencyTheme = {};
|
|
225
|
+
if (response && response.result && response.result.competency) {
|
|
226
|
+
_this.originalCompetencyArray = response.result.competency;
|
|
227
|
+
_this.getCompetencyArea();
|
|
228
|
+
response.result.competency.forEach((/**
|
|
229
|
+
* @param {?} element
|
|
230
|
+
* @return {?}
|
|
231
|
+
*/
|
|
232
|
+
function (element) {
|
|
233
|
+
element.children.forEach((/**
|
|
234
|
+
* @param {?} childEle
|
|
235
|
+
* @return {?}
|
|
236
|
+
*/
|
|
237
|
+
function (childEle) {
|
|
238
|
+
/** @type {?} */
|
|
239
|
+
var name = childEle.name.toLowerCase();
|
|
240
|
+
_this.allcompetencyTheme[name] = childEle;
|
|
241
|
+
_this.allcompetencyTheme[name]['viewMore'] = false;
|
|
242
|
+
}));
|
|
243
|
+
}));
|
|
244
|
+
}
|
|
245
|
+
_this.loadCometency = false;
|
|
246
|
+
}));
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* @param {?} value
|
|
250
|
+
* @param {?=} addFilter
|
|
251
|
+
* @return {?}
|
|
252
|
+
*/
|
|
253
|
+
CompetencyPassbookComponent.prototype.getcompetencyTheme = /**
|
|
254
|
+
* @param {?} value
|
|
255
|
+
* @param {?=} addFilter
|
|
256
|
+
* @return {?}
|
|
257
|
+
*/
|
|
258
|
+
function (value, addFilter) {
|
|
259
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
260
|
+
var request, response, competencyThemeData_1, error_2;
|
|
261
|
+
var _this = this;
|
|
262
|
+
return tslib_1.__generator(this, function (_a) {
|
|
263
|
+
switch (_a.label) {
|
|
264
|
+
case 0:
|
|
265
|
+
request = {
|
|
266
|
+
"request": {
|
|
267
|
+
"query": "",
|
|
268
|
+
"filters": tslib_1.__assign({ "contentType": "Course" }, addFilter, { "competencies_v5.competencyArea": value, "status": [
|
|
269
|
+
"Live"
|
|
270
|
+
] }),
|
|
271
|
+
"sort_by": {
|
|
272
|
+
"lastUpdatedOn": "desc"
|
|
273
|
+
},
|
|
274
|
+
"facets": [
|
|
275
|
+
"competencies_v5.competencyTheme"
|
|
276
|
+
],
|
|
277
|
+
"limit": 0,
|
|
278
|
+
"offset": 0,
|
|
279
|
+
"fields": []
|
|
280
|
+
}
|
|
281
|
+
};
|
|
282
|
+
_a.label = 1;
|
|
283
|
+
case 1:
|
|
284
|
+
_a.trys.push([1, 3, , 4]);
|
|
285
|
+
this.loadCometency = true;
|
|
286
|
+
return [4 /*yield*/, this.callCompetencySearch(request)];
|
|
287
|
+
case 2:
|
|
288
|
+
response = _a.sent();
|
|
289
|
+
if (response && response.results) {
|
|
290
|
+
if (response.results.result.facets) {
|
|
291
|
+
competencyThemeData_1 = response.results.result.facets[0].values;
|
|
292
|
+
this.originalCompetencyArray.forEach((/**
|
|
293
|
+
* @param {?} element
|
|
294
|
+
* @return {?}
|
|
295
|
+
*/
|
|
296
|
+
function (element) {
|
|
297
|
+
if (element.name.toLowerCase() === value) {
|
|
298
|
+
_this.competencyTheme = competencyThemeData_1.filter((/**
|
|
299
|
+
* @param {?} ele1
|
|
300
|
+
* @return {?}
|
|
301
|
+
*/
|
|
302
|
+
function (ele1) {
|
|
303
|
+
return element.children.find((/**
|
|
304
|
+
* @param {?} ele2
|
|
305
|
+
* @return {?}
|
|
306
|
+
*/
|
|
307
|
+
function (ele2) { return ele2.name.toLowerCase() === ele1.name.toLowerCase(); }));
|
|
308
|
+
}));
|
|
309
|
+
_this.showAllTheme = [{ name: 'Show all', showAll: false }];
|
|
310
|
+
_this.competencyThemeLength = 6;
|
|
311
|
+
}
|
|
312
|
+
}));
|
|
313
|
+
this.resetViewMore();
|
|
314
|
+
}
|
|
315
|
+
this.loadCometency = false;
|
|
316
|
+
}
|
|
317
|
+
return [3 /*break*/, 4];
|
|
318
|
+
case 3:
|
|
319
|
+
error_2 = _a.sent();
|
|
320
|
+
return [3 /*break*/, 4];
|
|
321
|
+
case 4: return [2 /*return*/];
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
});
|
|
325
|
+
};
|
|
326
|
+
/**
|
|
327
|
+
* @return {?}
|
|
328
|
+
*/
|
|
329
|
+
CompetencyPassbookComponent.prototype.resetViewMore = /**
|
|
330
|
+
* @return {?}
|
|
331
|
+
*/
|
|
332
|
+
function () {
|
|
333
|
+
var _this = this;
|
|
334
|
+
Object.keys(this.allcompetencyTheme).forEach((/**
|
|
335
|
+
* @param {?} comp
|
|
336
|
+
* @return {?}
|
|
337
|
+
*/
|
|
338
|
+
function (comp) {
|
|
339
|
+
_this.allcompetencyTheme[comp]['viewMore'] = false;
|
|
340
|
+
}));
|
|
341
|
+
};
|
|
342
|
+
/**
|
|
343
|
+
* @param {?} data
|
|
344
|
+
* @return {?}
|
|
345
|
+
*/
|
|
346
|
+
CompetencyPassbookComponent.prototype.viewMoreChildren = /**
|
|
347
|
+
* @param {?} data
|
|
348
|
+
* @return {?}
|
|
349
|
+
*/
|
|
350
|
+
function (data) {
|
|
351
|
+
data.viewMore = !data.viewMore;
|
|
352
|
+
this.allcompetencyTheme[data.name.toLowerCase()].viewMore = data.viewMore;
|
|
353
|
+
};
|
|
354
|
+
/**
|
|
355
|
+
* @param {?} event
|
|
356
|
+
* @return {?}
|
|
357
|
+
*/
|
|
358
|
+
CompetencyPassbookComponent.prototype.displayAllTheme = /**
|
|
359
|
+
* @param {?} event
|
|
360
|
+
* @return {?}
|
|
361
|
+
*/
|
|
362
|
+
function (event) {
|
|
363
|
+
this.showAllTheme[0]['showAll'] = !event.showAll;
|
|
364
|
+
this.competencyThemeLength = event.showAll ? this.competencyTheme.length : 6;
|
|
365
|
+
this.showAllTheme[0]['name'] = event.showAll ? 'Show less' : 'Show all';
|
|
366
|
+
this.temeletryResponse.emit(event.name);
|
|
367
|
+
};
|
|
368
|
+
/**
|
|
369
|
+
* @param {?} compData
|
|
370
|
+
* @return {?}
|
|
371
|
+
*/
|
|
372
|
+
CompetencyPassbookComponent.prototype.navigateToCompetency = /**
|
|
373
|
+
* @param {?} compData
|
|
374
|
+
* @return {?}
|
|
375
|
+
*/
|
|
376
|
+
function (compData) {
|
|
377
|
+
this.router.navigateByUrl("app/learn/browse-by/competency/" + compData.name);
|
|
378
|
+
};
|
|
379
|
+
CompetencyPassbookComponent.decorators = [
|
|
380
|
+
{ type: Component, args: [{
|
|
381
|
+
selector: 'sb-uic-competency-passbook',
|
|
382
|
+
template: " <div class=\"competency-title\" *ngIf=\"objectData?.title\">{{objectData?.title}} \r\n <span class=\"competency-count\">\r\n ({{competencyStrength}})\r\n </span>\r\n</div>\r\n<div class=\"flex items-center justify-{{dynamicAlignPills}} gap-8 mt-5 mb-5 competency-filters\">\r\n <sb-uic-pills [pillsData]=\"competencyArea\" [dynamicColor]=\"dynamicColor\"\r\n [isLoading]=\"loadCompetencyArea\" (pillClick)=\"competencyChange($event)\" [selectedValue]=\"selectedValue\"></sb-uic-pills>\r\n</div>\r\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\" *ngIf=\"!loadCometency\">\r\n <div class=\"competency-card\" *ngFor=\"let obj of competencyTheme| slice:0:competencyThemeLength\">\r\n <div class=\"flex-1 flex-col\">\r\n <div class=\"competency-theme\"></div>\r\n <div class=\"details flex flex-col\">\r\n <div class=\"flex flex-col p-4\">\r\n <div class=\"flex flex-row cursor-pointer\">\r\n <div class=\"flex flex-row gap-2 items-center\">\r\n <div class=\"name\">{{allcompetencyTheme[obj?.name]?.name}}</div>\r\n <!-- <div class=\"flex items-baseline\">\r\n <img src=\"assets/icons/competency/cp-arrow.svg\" class=\"arrow-img cursor-pointer\" alt=\"cp arrow img\" (click)=\"navigateToCompetency(obj)\" />\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\"flex flex-row pt-3 pb-3 description\">\r\n {{ allcompetencyTheme[obj.name]?.description }} \r\n </div>\r\n <div class=\"flex flex-row gap-3 items-center\">\r\n <mat-icon class=\"content-icon\">school</mat-icon>\r\n <div class=\"no-of-contents\" *ngIf=\"obj.count === 1\">{{obj.count}} Content</div>\r\n <div class=\"no-of-contents\" *ngIf=\"obj.count !== 1\">{{obj.count}} Contents</div>\r\n </div>\r\n <div class=\"line mt-3 mt-2\"></div>\r\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\r\n <ng-container *ngFor=\"let child of allcompetencyTheme[obj.name]?.children| slice:0: allcompetencyTheme[obj.name]?.viewMore ? allcompetencyTheme[obj.name]?.children?.length : 3; let i = index\">\r\n <div class=\"chip rounded-full p-2 text-xs chip-ellipsis\" [title]=\"child?.name\" >\r\n {{ child.name }}\r\n </div>\r\n </ng-container>\r\n <div class=\"p-2 info-btn cursor-pointer\"\r\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && !allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\r\n View more\r\n </div>\r\n <div class=\"p-2 info-btn cursor-pointer\"\r\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\r\n View less\r\n </div>\r\n </div>\r\n </div> \r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-container *ngIf=\"competencyTheme.length > 6 && !loadCometency\">\r\n <div class=\"flex items-center justify-center gap-8 mt-5 mb-5 competency-filters\">\r\n <sb-uic-pills [pillsData]=\"showAllTheme\" [requiredTitlecase]=\"false\" [dynamicColor]=\"dynamicColor\" (pillClick)=\"displayAllTheme($event)\"></sb-uic-pills>\r\n </div>\r\n</ng-container> \r\n\r\n<ng-container *ngIf=\"loadCometency\">\r\n\r\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\">\r\n <div *ngFor=\"let obj of [0,1,2,3,4,5]\">\r\n <div class=\"flex-1 flex-col\">\r\n <div class=\"competency-theme\"></div>\r\n <div class=\"details flex flex-col\">\r\n <div class=\"flex flex-col p-4\">\r\n <div class=\"flex flex-row cursor-pointer\">\r\n <div class=\"flex flex-row gap-2 items-center w-full\">\r\n <div class=\"name w-full\">\r\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\r\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\r\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\r\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"pt-3 pb-3 description\">\r\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\r\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\r\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\r\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\r\n </div>\r\n <div class=\"flex flex-row gap-3 items-center\">\r\n <mat-icon class=\"content-icon\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'24px'\"\r\n [height]=\"'24px'\"></sb-uic-skeleton-loader></mat-icon>\r\n <div class=\"no-of-contents\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\r\n [height]=\"'24px'\"></sb-uic-skeleton-loader></div>\r\n </div>\r\n <div class=\"line mt-3 mt-2\"></div>\r\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\r\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\r\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\r\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\r\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\r\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\r\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\r\n </div>\r\n </div> \r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n</ng-container>",
|
|
383
|
+
styles: [".competencies-backgroud{background-color:#1b2133}.competency-title{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left;color:#fff}.competency-count{color:#f3962f}.filter-button{padding:12px 16px;border-radius:50px;border:1px solid #fff;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;background-color:transparent;color:#fff;cursor:pointer}.filter-button.active{background:#1b4ca1}.banner-metrics{background:linear-gradient(180deg,#f9cb97 -107.59%,#ef951e 110.74%)}.infra-background{background:#1b4ca1}.competency-theme{height:16px;border-top-left-radius:12px;border-top-right-radius:12px;background-color:#f8b861}.details{background-color:#fff;border-radius:12px;position:relative;top:-8px;min-height:278px}.name{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.description{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left;height:42px;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.no-of-contents{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;color:#1b4ca1}.content-icon{color:#1b4ca1}.line{border-top:1px solid #e2dddd}.chip{padding:8px 16px;gap:8px;border-radius:50px;border:1px solid #1b4ca1;color:#1b4ca1;font-family:Lato;font-size:14px;font-weight:700;text-align:center}.chip-ellipsis{white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.info-btn{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;opacity:.7;padding:12px 5px}.hide{display:none}.behavioral{background-color:#f8b861}.functional{background-color:#e24577}.domain{background-color:#7b47a4}.competency-card{z-index:999}"]
|
|
384
|
+
}] }
|
|
385
|
+
];
|
|
386
|
+
/** @nocollapse */
|
|
387
|
+
CompetencyPassbookComponent.ctorParameters = function () { return [
|
|
388
|
+
{ type: ConfigurationsService },
|
|
389
|
+
{ type: WidgetContentService },
|
|
390
|
+
{ type: CompetencyPassbookService },
|
|
391
|
+
{ type: Router }
|
|
392
|
+
]; };
|
|
393
|
+
CompetencyPassbookComponent.propDecorators = {
|
|
394
|
+
objectData: [{ type: Input }],
|
|
395
|
+
providerId: [{ type: Input }],
|
|
396
|
+
cardDisplayCount: [{ type: Input }],
|
|
397
|
+
dynamicClass: [{ type: Input }],
|
|
398
|
+
dynamicColor: [{ type: Input }],
|
|
399
|
+
dynamicAlignPills: [{ type: Input }],
|
|
400
|
+
emptyResponse: [{ type: Output }],
|
|
401
|
+
temeletryResponse: [{ type: Output }]
|
|
402
|
+
};
|
|
403
|
+
return CompetencyPassbookComponent;
|
|
404
|
+
}());
|
|
405
|
+
export { CompetencyPassbookComponent };
|
|
406
|
+
if (false) {
|
|
407
|
+
/** @type {?} */
|
|
408
|
+
CompetencyPassbookComponent.prototype.objectData;
|
|
409
|
+
/** @type {?} */
|
|
410
|
+
CompetencyPassbookComponent.prototype.providerId;
|
|
411
|
+
/** @type {?} */
|
|
412
|
+
CompetencyPassbookComponent.prototype.cardDisplayCount;
|
|
413
|
+
/** @type {?} */
|
|
414
|
+
CompetencyPassbookComponent.prototype.dynamicClass;
|
|
415
|
+
/** @type {?} */
|
|
416
|
+
CompetencyPassbookComponent.prototype.dynamicColor;
|
|
417
|
+
/** @type {?} */
|
|
418
|
+
CompetencyPassbookComponent.prototype.dynamicAlignPills;
|
|
419
|
+
/** @type {?} */
|
|
420
|
+
CompetencyPassbookComponent.prototype.emptyResponse;
|
|
421
|
+
/** @type {?} */
|
|
422
|
+
CompetencyPassbookComponent.prototype.temeletryResponse;
|
|
423
|
+
/** @type {?} */
|
|
424
|
+
CompetencyPassbookComponent.prototype.loadCometency;
|
|
425
|
+
/** @type {?} */
|
|
426
|
+
CompetencyPassbookComponent.prototype.loadCompetencyArea;
|
|
427
|
+
/** @type {?} */
|
|
428
|
+
CompetencyPassbookComponent.prototype.originalCompetencyArray;
|
|
429
|
+
/** @type {?} */
|
|
430
|
+
CompetencyPassbookComponent.prototype.competencyArea;
|
|
431
|
+
/** @type {?} */
|
|
432
|
+
CompetencyPassbookComponent.prototype.selectedValue;
|
|
433
|
+
/** @type {?} */
|
|
434
|
+
CompetencyPassbookComponent.prototype.competencyVersion;
|
|
435
|
+
/** @type {?} */
|
|
436
|
+
CompetencyPassbookComponent.prototype.competencyTheme;
|
|
437
|
+
/** @type {?} */
|
|
438
|
+
CompetencyPassbookComponent.prototype.allcompetencyTheme;
|
|
439
|
+
/** @type {?} */
|
|
440
|
+
CompetencyPassbookComponent.prototype.competencyStrength;
|
|
441
|
+
/** @type {?} */
|
|
442
|
+
CompetencyPassbookComponent.prototype.competencyThemeLength;
|
|
443
|
+
/** @type {?} */
|
|
444
|
+
CompetencyPassbookComponent.prototype.showAllTheme;
|
|
445
|
+
/** @type {?} */
|
|
446
|
+
CompetencyPassbookComponent.prototype.configSvc;
|
|
447
|
+
/** @type {?} */
|
|
448
|
+
CompetencyPassbookComponent.prototype.contentSvc;
|
|
449
|
+
/** @type {?} */
|
|
450
|
+
CompetencyPassbookComponent.prototype.competencySvc;
|
|
451
|
+
/** @type {?} */
|
|
452
|
+
CompetencyPassbookComponent.prototype.router;
|
|
453
|
+
}
|
|
454
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekM7SUEyQkUsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyxnQ0FBZ0M7SUFDaEMsc0JBQXNCO0lBQ3RCLHFDQUFtQixTQUFnQyxFQUMxQyxVQUErQixFQUMvQixhQUF3QyxFQUN4QyxNQUFlO1FBSEwsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDMUMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQTJCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVM7UUF6QmYscUJBQWdCLEdBQVEsQ0FBQyxDQUFBO1FBR3pCLHNCQUFpQixHQUFRLFFBQVEsQ0FBQTtRQUNoQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDdkMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUNyRCxrQkFBYSxHQUFZLEtBQUssQ0FBQTtRQUM5Qix1QkFBa0IsR0FBWSxLQUFLLENBQUE7UUFJbkMsc0JBQWlCLEdBQVUsRUFBRSxDQUFBO1FBQzdCLG9CQUFl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Ozs7O0lBQXBCLFVBQXFCLFFBQWE7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsb0NBQWtDLFFBQVEsQ0FBQyxJQUFNLENBQUMsQ0FBQTtJQUM5RSxDQUFDOztnQkFwT0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLDR4TkFBbUQ7O2lCQUVwRDs7OztnQkFUUSxxQkFBcUI7Z0JBQ3JCLG9CQUFvQjtnQkFDcEIseUJBQXlCO2dCQUN6QixNQUFNOzs7NkJBU1osS0FBSzs2QkFDTCxLQUFLO21DQUNMLEtBQUs7K0JBQ0wsS0FBSzsrQkFDTCxLQUFLO29DQUNMLEtBQUs7Z0NBQ0wsTUFBTTtvQ0FDTixNQUFNOztJQXVOVCxrQ0FBQztDQUFBLEFBck9ELElBcU9DO1NBaE9ZLDJCQUEyQjs7O0lBRXRDLGlEQUF3Qjs7SUFDeEIsaURBQXdCOztJQUN4Qix1REFBa0M7O0lBQ2xDLG1EQUEwQjs7SUFDMUIsbURBQTBCOztJQUMxQix3REFBMEM7O0lBQzFDLG9EQUFpRDs7SUFDakQsd0RBQXFEOztJQUNyRCxvREFBOEI7O0lBQzlCLHlEQUFtQzs7SUFDbkMsOERBQTRCOztJQUM1QixxREFBc0I7O0lBQ3RCLG9EQUFtQjs7SUFDbkIsd0RBQTZCOztJQUM3QixzREFBeUI7O0lBQ3pCLHlEQUEyQjs7SUFDM0IseURBQTJCOztJQUMzQiw0REFBOEI7O0lBQzlCLG1EQUF3RDs7SUFNNUMsZ0RBQXVDOztJQUNqRCxpREFBc0M7O0lBQ3RDLG9EQUErQzs7SUFDL0MsNkNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UsIEV2ZW50U2VydmljZSB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcclxuaW1wb3J0IHsgV2lkZ2V0Q29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvd2lkZ2V0LWNvbnRlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UgfSBmcm9tICcuL2NvbXBldGVuY3ktcGFzc2Jvb2suc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NiLXVpYy1jb21wZXRlbmN5LXBhc3Nib29rJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wZXRlbmN5UGFzc2Jvb2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBvYmplY3REYXRhOiBhbnlcclxuICBASW5wdXQoKSBwcm92aWRlcklkOiBhbnlcclxuICBASW5wdXQoKSBjYXJkRGlzcGxheUNvdW50OiBhbnkgPSAzXHJcbiAgQElucHV0KCkgZHluYW1pY0NsYXNzOiBhbnlcclxuICBASW5wdXQoKSBkeW5hbWljQ29sb3I6IGFueVxyXG4gIEBJbnB1dCgpIGR5bmFtaWNBbGlnblBpbGxzOiBhbnkgPSAnY2VudGVyJ1xyXG4gIEBPdXRwdXQoKSBlbXB0eVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcclxuICBAT3V0cHV0KCkgdGVtZWxldHJ5UmVzcG9uc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG4gIGxvYWRDb21ldGVuY3k6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIGxvYWRDb21wZXRlbmN5QXJlYTogYm9vbGVhbiA9IGZhbHNlXHJcbiAgb3JpZ2luYWxDb21wZXRlbmN5QXJyYXk6IGFueVxyXG4gIGNvbXBldGVuY3lBcmVhOiBhbnkgW11cclxuICBzZWxlY3RlZFZhbHVlOiBhbnk7XHJcbiAgY29tcGV0ZW5jeVZlcnNpb246c3RyaW5nID0gJydcclxuICBjb21wZXRlbmN5VGhlbWU6IGFueSA9IFtdXHJcbiAgYWxsY29tcGV0ZW5jeVRoZW1lOiBhbnkgPXt9XHJcbiAgY29tcGV0ZW5jeVN0cmVuZ3RoOiBhbnkgPSAwXHJcbiAgY29tcGV0ZW5jeVRoZW1lTGVuZ3RoOiBhbnkgPSA2XHJcbiAgc2hvd0FsbFRoZW1lIDogYW55ID0gW3tuYW1lOidTaG93IGFsbCcsIHNob3dBbGw6IGZhbHNlfV1cclxuXHJcbiAgLy8gc3ViVGhlbWUgPSBbJ0JlaGF2aW91cmFsJ11cclxuICAvLyBjdXJyZW50RmlsdGVyID0gJ0JlaGF2aW91cmFsJ1xyXG4gIC8vIGN1cnJlbnRDb21wZXRlbmNpZXM6IGFueSA9IFtdXHJcbiAgLy8gY29tcGV0ZW5jeURhdGE6IGFueVxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSxcclxuICAgIHB1YmxpYyBjb250ZW50U3ZjOldpZGdldENvbnRlbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGNvbXBldGVuY3lTdmM6IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgcm91dGVyIDogUm91dGVyXHJcbiAgKSB7IFxyXG4gICAgXHJcbiAgfVxyXG5cclxuIFxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5nZXRBbGxDb21wZXRlbmNpZXMoKVxyXG4gICAgLy8gdGhpcy5jb21wZXRlbmN5RGF0YSA9IHRoaXMub2JqZWN0RGF0YVxyXG4gICAgLy8gdGhpcy5maWx0ZXIodGhpcy5jdXJyZW50RmlsdGVyKVxyXG4gIH1cclxuICAvLyBmaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xyXG4gIC8vICAgdGhpcy5jdXJyZW50RmlsdGVyID0gZmlsdGVyVmFsdWVcclxuICAvLyAgIHRoaXMuY3VycmVudENvbXBldGVuY2llcyA9IHRoaXMuY29tcGV0ZW5jeURhdGEuZGF0YS5maWx0ZXIoKGl0ZW06IGFueSkgPT4gaXRlbS50eXBlID09PSBmaWx0ZXJWYWx1ZSlcclxuICAvLyB9XHJcbiAgc2hvd01vcmUoKSB7XHJcbiAgICB0aGlzLm9iamVjdERhdGEudmlld01vcmUgPSAhdGhpcy5vYmplY3REYXRhLnZpZXdNb3JlXHJcbiAgfVxyXG5cclxuICAvLyB0byBnZXQgY29tcGV0ZW5jeSBhcmVhIGZyb20gZmFjZXRzXHJcbiAgYXN5bmMgZ2V0Q29tcGV0ZW5jeUFyZWEoKXtsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxyXG4gIGlmKHRoaXMucHJvdmlkZXJJZCkge1xyXG4gICAgYWRkZmlsdGVyID0ge1xyXG4gICAgICBcImNyZWF0ZWRGb3JcIjogW1xyXG4gICAgICAgIHRoaXMucHJvdmlkZXJJZFxyXG4gICAgIF0sXHJcbiAgICB9XHJcbiAgfVxyXG4gICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSB0cnVlXHJcbiAgICBsZXQgcmVxdWVzdCA9IHtcclxuICAgICAgICBcInJlcXVlc3RcIjoge1xyXG4gICAgICAgICAgICBcInF1ZXJ5XCI6IFwiXCIsXHJcbiAgICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XHJcbiAgICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcclxuICAgICAgICAgICAgICAgIC4uLmFkZGZpbHRlcixcclxuICAgICAgICAgICAgICAgIFwic3RhdHVzXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICBcIkxpdmVcIlxyXG4gICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBcInNvcnRfYnlcIjoge1xyXG4gICAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIFwiZmFjZXRzXCI6IFtcclxuICAgICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lBcmVhXCJcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgXCJsaW1pdFwiOiAwLFxyXG4gICAgICAgICAgICBcIm9mZnNldFwiOiAwLFxyXG4gICAgICAgICAgICBcImZpZWxkc1wiOiBbXHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xyXG4gICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xyXG4gICAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cyl7XHJcbiAgICAgICAgICB0aGlzLmNvbXBldGVuY3lBcmVhID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlc1xyXG4gICAgICAgICAgdGhpcy5jb21wZXRlbmN5U3RyZW5ndGggPSB0aGlzLmNvbXBldGVuY3lBcmVhLnJlZHVjZSgocGFydGlhbFN1bTogYW55LCBkYXRhOiBhbnkpID0+IHBhcnRpYWxTdW0gKyAgZGF0YS5jb3VudCwgMCkgXHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgID0gdGhpcy5jb21wZXRlbmN5QXJlYVswXS5uYW1lLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgIGxldCBhZGRGaWx0ZXIgPSB7XHJcbiAgICAgICAgICAgIFwiY3JlYXRlZEZvclwiOiBbXHJcbiAgICAgICAgICAgICAgdGhpcy5wcm92aWRlcklkXHJcbiAgICAgICAgICAgXVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5nZXRjb21wZXRlbmN5VGhlbWUodGhpcy5jb21wZXRlbmN5QXJlYVswXS5uYW1lLCBhZGRGaWx0ZXIpXHJcbiAgICAgICAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IGZhbHNlXHJcbiAgICAgIHRoaXMuZW1wdHlSZXNwb25zZS5lbWl0KHRydWUpXHJcbiAgICAgIC8vIEhhbmRsZSBlcnJvcnNcclxuICAgICAgLy8gY29uc29sZS5lcnJvcignRXJyb3I6JywgZXJyb3IpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCl7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGlmIChyZXF1ZXN0ICYmIHJlcXVlc3QpIHtcclxuICAgICAgICB0aGlzLmNvbnRlbnRTdmMuc2VhcmNoVjYocmVxdWVzdCkuc3Vic2NyaWJlKHJlc3VsdHMgPT4ge1xyXG4gICAgICAgICAgICByZXNvbHZlKHsgcmVzdWx0cyB9KTtcclxuICAgICAgICAgIH0sKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBjb21wZXRlbmN5IHRoZWFtIGNoYW5nZVxyXG4gIGNvbXBldGVuY3lDaGFuZ2UoZSl7XHJcbiAgICBsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxyXG4gICAgaWYodGhpcy5wcm92aWRlcklkKSB7XHJcbiAgICAgIGFkZGZpbHRlciA9IHtcclxuICAgICAgICBcImNyZWF0ZWRGb3JcIjogW1xyXG4gICAgICAgICAgdGhpcy5wcm92aWRlcklkXHJcbiAgICAgICBdLFxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50ZW1lbGV0cnlSZXNwb25zZS5lbWl0KGUubmFtZSlcclxuICAgIFxyXG4gICAgdGhpcy5nZXRjb21wZXRlbmN5VGhlbWUoZS5uYW1lLCBhZGRmaWx0ZXIpXHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBlLm5hbWVcclxuICB9XHJcbiAgZ2V0QWxsQ29tcGV0ZW5jaWVzKCl7XHJcbiAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSB0cnVlXHJcbiAgICBsZXQgcmVxdWVzdCA9IHtcInNlYXJjaFwiOntcInR5cGVcIjpcIkNvbXBldGVuY3kgQXJlYVwifSxcImZpbHRlclwiOntcImlzRGV0YWlsXCI6dHJ1ZX19XHJcbiAgICB0aGlzLmNvbXBldGVuY3lTdmMuZ2V0Q29tcGV0ZW5jeUxpc3QocmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lID0ge31cclxuICAgICAgaWYocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0ICYmIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5KSB7XHJcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheSA9IHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5XHJcblxyXG4gICAgICAgIHRoaXMuZ2V0Q29tcGV0ZW5jeUFyZWEoKVxyXG4gICAgICAgIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5LmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICBlbGVtZW50LmNoaWxkcmVuLmZvckVhY2goKGNoaWxkRWxlKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBuYW1lID0gY2hpbGRFbGUubmFtZS50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdID0gY2hpbGRFbGVcclxuICAgICAgICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbbmFtZV1bJ3ZpZXdNb3JlJ10gPSBmYWxzZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRjb21wZXRlbmN5VGhlbWUodmFsdWU6IGFueSxhZGRGaWx0ZXI/OiBhbnkpIHtcclxuICAgIGxldCByZXF1ZXN0ID0ge1xyXG4gICAgICBcInJlcXVlc3RcIjoge1xyXG4gICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxyXG4gICAgICAgICAgXCJmaWx0ZXJzXCI6IHtcclxuICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcclxuICAgICAgICAgICAgICAuLi5hZGRGaWx0ZXIsXHJcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWFcIiA6IHZhbHVlLFxyXG4gICAgICAgICAgICAgIFwic3RhdHVzXCI6IFtcclxuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcclxuICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcclxuICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXHJcbiAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeVRoZW1lXCJcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICBcImxpbWl0XCI6IDAsXHJcbiAgICAgICAgICBcIm9mZnNldFwiOiAwLFxyXG4gICAgICAgICAgXCJmaWVsZHNcIjogW1xyXG4gICAgICAgICAgXVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgXHJcbiAgdHJ5IHtcclxuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHRzKSB7XHJcbiAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cyl7XHJcbiAgICAgICAgbGV0IGNvbXBldGVuY3lUaGVtZURhdGEgOiBhbnkgPSByZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHNbMF0udmFsdWVzIFxyXG4gICAgICAgIHRoaXMub3JpZ2luYWxDb21wZXRlbmN5QXJyYXkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZihlbGVtZW50Lm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWUgPSBjb21wZXRlbmN5VGhlbWVEYXRhLmZpbHRlcigoZWxlMTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuICBlbGVtZW50LmNoaWxkcmVuLmZpbmQoKGVsZTI6IGFueSkgPT4gZWxlMi5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IGVsZTEubmFtZS50b0xvd2VyQ2FzZSgpKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB0aGlzLnNob3dBbGxUaGVtZSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXHJcbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lTGVuZ3RoID0gNlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucmVzZXRWaWV3TW9yZSgpXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcclxuICAgIH1cclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgLy8gSGFuZGxlIGVycm9yc1xyXG4gICAgLy8gY29uc29sZS5lcnJvcignRXJyb3I6JywgZXJyb3IpO1xyXG4gIH1cclxuICB9XHJcblxyXG4gIHJlc2V0Vmlld01vcmUoKXtcclxuICAgIE9iamVjdC5rZXlzKHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lKS5mb3JFYWNoKChjb21wOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbY29tcF1bJ3ZpZXdNb3JlJ10gPSBmYWxzZVxyXG4gICAgfSlcclxuICB9XHJcbiAgdmlld01vcmVDaGlsZHJlbihkYXRhOiBhbnkpIHtcclxuICAgIGRhdGEudmlld01vcmUgPSAhZGF0YS52aWV3TW9yZVxyXG4gICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCldLnZpZXdNb3JlID0gZGF0YS52aWV3TW9yZVxyXG4gIH1cclxuICBkaXNwbGF5QWxsVGhlbWUoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zaG93QWxsVGhlbWVbMF1bJ3Nob3dBbGwnXSA9ICFldmVudC5zaG93QWxsIFxyXG4gICAgdGhpcy5jb21wZXRlbmN5VGhlbWVMZW5ndGggPSBldmVudC5zaG93QWxsID8gIHRoaXMuY29tcGV0ZW5jeVRoZW1lLmxlbmd0aCA6IDZcclxuICAgIHRoaXMuc2hvd0FsbFRoZW1lWzBdWyduYW1lJ10gPSBldmVudC5zaG93QWxsID8gJ1Nob3cgbGVzcycgOiAnU2hvdyBhbGwnXHJcbiAgICB0aGlzLnRlbWVsZXRyeVJlc3BvbnNlLmVtaXQoZXZlbnQubmFtZSlcclxuICB9XHJcblxyXG4gIG5hdmlnYXRlVG9Db21wZXRlbmN5KGNvbXBEYXRhOiBhbnkpe1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgYXBwL2xlYXJuL2Jyb3dzZS1ieS9jb21wZXRlbmN5LyR7Y29tcERhdGEubmFtZX1gKVxyXG4gIH1cclxufVxyXG4iXX0=
|