@sunbird-cb/consumption 0.0.63 → 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 -17345
- 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 -184
- 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 -211
- 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 -15288
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +17476 -17351
- 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 -26
- 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,362 +1,362 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Component, Input, Output, ViewChild, EventEmitter, ElementRef } from '@angular/core';
|
|
6
|
-
import { fromEvent, timer, } from 'rxjs';
|
|
7
|
-
import { debounceTime, throttleTime } from 'rxjs/operators';
|
|
8
|
-
import { ValueService } from '@sunbird-cb/utils-v2';
|
|
9
|
-
export class HorizontalScrollerV2Component {
|
|
10
|
-
/**
|
|
11
|
-
* @param {?} valueSvc
|
|
12
|
-
*/
|
|
13
|
-
constructor(valueSvc) {
|
|
14
|
-
this.valueSvc = valueSvc;
|
|
15
|
-
this.loadStatus = 'fetching';
|
|
16
|
-
this.id = '';
|
|
17
|
-
this.onHover = false;
|
|
18
|
-
this.sliderConfig = {
|
|
19
|
-
showNavs: true,
|
|
20
|
-
showDots: true,
|
|
21
|
-
cerificateCardMargin: false,
|
|
22
|
-
};
|
|
23
|
-
this.loadNext = new EventEmitter();
|
|
24
|
-
this.horizontalScrollElem = null;
|
|
25
|
-
this.enablePrev = false;
|
|
26
|
-
this.enableNext = false;
|
|
27
|
-
this.activeNav = 0;
|
|
28
|
-
this.cardSubType = 'standard';
|
|
29
|
-
this.bottomDotsArray = [];
|
|
30
|
-
this.scrollObserver = null;
|
|
31
|
-
this.isMobile = false;
|
|
32
|
-
this.defaultMenuSubscribe = null;
|
|
33
|
-
this.isLtMedium$ = this.valueSvc.isLtMedium$;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* @return {?}
|
|
37
|
-
*/
|
|
38
|
-
ngOnInit() {
|
|
39
|
-
this.cardSubType = this.stripConfig && this.stripConfig.cardSubType ? this.stripConfig.cardSubType : 'standard';
|
|
40
|
-
if (this.horizontalScrollElem) {
|
|
41
|
-
/** @type {?} */
|
|
42
|
-
const horizontalScrollElem = this.horizontalScrollElem;
|
|
43
|
-
this.scrollObserver = fromEvent(horizontalScrollElem.nativeElement, 'scroll')
|
|
44
|
-
.pipe(debounceTime(100), throttleTime(100))
|
|
45
|
-
.subscribe((/**
|
|
46
|
-
* @param {?} _
|
|
47
|
-
* @return {?}
|
|
48
|
-
*/
|
|
49
|
-
_ => {
|
|
50
|
-
this.updateNavigationBtnStatus((/** @type {?} */ (horizontalScrollElem
|
|
51
|
-
.nativeElement)));
|
|
52
|
-
}));
|
|
53
|
-
setTimeout((/**
|
|
54
|
-
* @return {?}
|
|
55
|
-
*/
|
|
56
|
-
() => {
|
|
57
|
-
this.getBottomDotsArray();
|
|
58
|
-
}), 700);
|
|
59
|
-
}
|
|
60
|
-
this.defaultMenuSubscribe = this.isLtMedium$.subscribe((/**
|
|
61
|
-
* @param {?} isLtMedium
|
|
62
|
-
* @return {?}
|
|
63
|
-
*/
|
|
64
|
-
(isLtMedium) => {
|
|
65
|
-
this.isMobile = isLtMedium;
|
|
66
|
-
}));
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* @return {?}
|
|
70
|
-
*/
|
|
71
|
-
ngOnChanges() {
|
|
72
|
-
timer(100).subscribe((/**
|
|
73
|
-
* @return {?}
|
|
74
|
-
*/
|
|
75
|
-
() => {
|
|
76
|
-
if (this.horizontalScrollElem) {
|
|
77
|
-
this.updateNavigationBtnStatus((/** @type {?} */ (this.horizontalScrollElem
|
|
78
|
-
.nativeElement)));
|
|
79
|
-
}
|
|
80
|
-
}));
|
|
81
|
-
setTimeout((/**
|
|
82
|
-
* @return {?}
|
|
83
|
-
*/
|
|
84
|
-
() => {
|
|
85
|
-
this.getBottomDotsArray();
|
|
86
|
-
}), 700);
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* @return {?}
|
|
90
|
-
*/
|
|
91
|
-
ngOnDestroy() {
|
|
92
|
-
if (this.scrollObserver) {
|
|
93
|
-
this.scrollObserver.unsubscribe();
|
|
94
|
-
}
|
|
95
|
-
if (this.defaultMenuSubscribe) {
|
|
96
|
-
this.defaultMenuSubscribe.unsubscribe();
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* @return {?}
|
|
101
|
-
*/
|
|
102
|
-
showPrev() {
|
|
103
|
-
// const elem = this.horizontalScrollElem.nativeElement
|
|
104
|
-
// elem.scrollLeft -= 0.20 * elem.clientWidth
|
|
105
|
-
if (this.horizontalScrollElem) {
|
|
106
|
-
// const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)
|
|
107
|
-
/** @type {?} */
|
|
108
|
-
const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
|
|
109
|
-
this.horizontalScrollElem.nativeElement.scrollTo({
|
|
110
|
-
left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,
|
|
111
|
-
behavior: 'smooth',
|
|
112
|
-
});
|
|
113
|
-
/** @type {?} */
|
|
114
|
-
const elem = this.horizontalScrollElem.nativeElement;
|
|
115
|
-
if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
|
|
116
|
-
this.activeNav -= 1;
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
if (this.sliderConfig.arrowsAlwaysOn) {
|
|
120
|
-
if (this.horizontalScrollElem.nativeElement.scrollLeft === 0) {
|
|
121
|
-
this.horizontalScrollElem.nativeElement.scrollTo({
|
|
122
|
-
left: elem.scrollWidth,
|
|
123
|
-
behavior: 'smooth',
|
|
124
|
-
});
|
|
125
|
-
this.activeNav = this.bottomDotsArray.length - 1;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* @return {?}
|
|
133
|
-
*/
|
|
134
|
-
showNext() {
|
|
135
|
-
// const elem = this.horizontalScrollElem.nativeElement
|
|
136
|
-
// elem.scrollLeft += 0.20 * elem.clientWidth
|
|
137
|
-
if (this.horizontalScrollElem) {
|
|
138
|
-
// const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)
|
|
139
|
-
/** @type {?} */
|
|
140
|
-
const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
|
|
141
|
-
this.horizontalScrollElem.nativeElement.scrollTo({
|
|
142
|
-
left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,
|
|
143
|
-
behavior: 'smooth',
|
|
144
|
-
});
|
|
145
|
-
/** @type {?} */
|
|
146
|
-
const elem = this.horizontalScrollElem.nativeElement;
|
|
147
|
-
if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
|
|
148
|
-
this.activeNav += 1;
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
if (this.sliderConfig.arrowsAlwaysOn) {
|
|
152
|
-
if (this.horizontalScrollElem.nativeElement.scrollLeft !== 0 && elem.clientWidth + elem.scrollLeft >= elem.scrollWidth) {
|
|
153
|
-
this.horizontalScrollElem.nativeElement.scrollTo({
|
|
154
|
-
left: 0,
|
|
155
|
-
behavior: 'smooth',
|
|
156
|
-
});
|
|
157
|
-
this.activeNav = 0;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* @private
|
|
165
|
-
* @param {?} elem
|
|
166
|
-
* @return {?}
|
|
167
|
-
*/
|
|
168
|
-
updateNavigationBtnStatus(elem) {
|
|
169
|
-
this.enablePrev = true;
|
|
170
|
-
this.enableNext = true;
|
|
171
|
-
if (elem.scrollLeft === 0) {
|
|
172
|
-
if (!this.sliderConfig.arrowsAlwaysOn) {
|
|
173
|
-
this.enablePrev = false;
|
|
174
|
-
}
|
|
175
|
-
this.activeNav = 0;
|
|
176
|
-
}
|
|
177
|
-
// if (elem.scrollWidth === Math.round(elem.clientWidth + elem.scrollLeft)) {
|
|
178
|
-
// if (this.loadStatus === 'hasMore') {
|
|
179
|
-
// this.loadNext.emit();
|
|
180
|
-
// } else {
|
|
181
|
-
// if(!this.sliderConfig.arrowsAlwaysOn) {
|
|
182
|
-
// this.enableNext = false;
|
|
183
|
-
// }
|
|
184
|
-
// if (this.bottomDotsArray.length) {
|
|
185
|
-
// this.activeNav = this.bottomDotsArray.length - 1;
|
|
186
|
-
// }
|
|
187
|
-
// }
|
|
188
|
-
// }
|
|
189
|
-
// if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
|
|
190
|
-
// this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth);
|
|
191
|
-
// }
|
|
192
|
-
/** @type {?} */
|
|
193
|
-
const widthDiff = Math.abs(elem.scrollWidth - Math.round(elem.clientWidth + elem.scrollLeft));
|
|
194
|
-
if (widthDiff === 0 || widthDiff === 1) {
|
|
195
|
-
if (this.loadStatus === 'hasMore') {
|
|
196
|
-
this.loadNext.emit();
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
this.enableNext = false;
|
|
200
|
-
if (this.bottomDotsArray.length) {
|
|
201
|
-
this.activeNav = this.bottomDotsArray.length - 1;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
|
|
206
|
-
this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* @param {?} ele
|
|
211
|
-
* @return {?}
|
|
212
|
-
*/
|
|
213
|
-
slideTo(ele) {
|
|
214
|
-
/** @type {?} */
|
|
215
|
-
const diff = ele - this.activeNav;
|
|
216
|
-
// if (ele > this.activeNav && ele !== this.activeNav) {
|
|
217
|
-
// if (this.horizontalScrollElem) {
|
|
218
|
-
// const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)
|
|
219
|
-
// this.horizontalScrollElem.nativeElement.scrollTo({
|
|
220
|
-
// left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth*diff),
|
|
221
|
-
// behavior: 'smooth',
|
|
222
|
-
// })
|
|
223
|
-
// }
|
|
224
|
-
// this.activeNav = ele
|
|
225
|
-
// } else {
|
|
226
|
-
// if (this.horizontalScrollElem && ele >= 0 && ele !== this.activeNav) {
|
|
227
|
-
// const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)
|
|
228
|
-
// this.horizontalScrollElem.nativeElement.scrollTo({
|
|
229
|
-
// left: this.horizontalScrollElem.nativeElement.scrollLeft - (clientWidth*diff),
|
|
230
|
-
// behavior: 'smooth',
|
|
231
|
-
// })
|
|
232
|
-
// }
|
|
233
|
-
// this.activeNav = ele
|
|
234
|
-
// }
|
|
235
|
-
if (this.horizontalScrollElem) {
|
|
236
|
-
/** @type {?} */
|
|
237
|
-
const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
|
|
238
|
-
this.horizontalScrollElem.nativeElement.scrollTo({
|
|
239
|
-
left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth * diff),
|
|
240
|
-
behavior: 'smooth',
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
this.activeNav = ele;
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* @return {?}
|
|
247
|
-
*/
|
|
248
|
-
getBottomDotsArray() {
|
|
249
|
-
if (this.horizontalScrollElem) {
|
|
250
|
-
this.bottomDotsArray = [];
|
|
251
|
-
/** @type {?} */
|
|
252
|
-
let cardWidth;
|
|
253
|
-
/** @type {?} */
|
|
254
|
-
let arrLength;
|
|
255
|
-
if (this.cardSubType !== 'card-wide-v2') {
|
|
256
|
-
cardWidth = this.cardSubType === 'standard' ? 245 :
|
|
257
|
-
((document.getElementsByClassName(this.cardSubType) &&
|
|
258
|
-
document.getElementsByClassName(this.cardSubType)[0] !== undefined)
|
|
259
|
-
? document.getElementsByClassName(this.cardSubType)[0].clientWidth : 245);
|
|
260
|
-
if (document.getElementById(`${this.id}`)) {
|
|
261
|
-
/** @type {?} */
|
|
262
|
-
const scrollerWidth = document.getElementById(`${this.id}`).clientWidth;
|
|
263
|
-
/** @type {?} */
|
|
264
|
-
const totalCardsLength = cardWidth * this.widgetsLength;
|
|
265
|
-
if (totalCardsLength > scrollerWidth) {
|
|
266
|
-
arrLength = Math.round(scrollerWidth / cardWidth);
|
|
267
|
-
this.defaultMaxWidgets = this.defaultMaxWidgets ? this.widgetsLength < this.defaultMaxWidgets ?
|
|
268
|
-
this.widgetsLength : this.defaultMaxWidgets : this.defaultMaxWidgets;
|
|
269
|
-
arrLength = this.defaultMaxWidgets / arrLength;
|
|
270
|
-
for (let i = 0; i < arrLength; i += 1) {
|
|
271
|
-
this.bottomDotsArray.push(i);
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
else {
|
|
277
|
-
setTimeout((/**
|
|
278
|
-
* @return {?}
|
|
279
|
-
*/
|
|
280
|
-
() => {
|
|
281
|
-
this.bottomDotsArray = [];
|
|
282
|
-
arrLength = document.getElementsByClassName(this.cardSubType).length;
|
|
283
|
-
for (let i = 0; i < arrLength; i += 1) {
|
|
284
|
-
this.bottomDotsArray.push(i);
|
|
285
|
-
}
|
|
286
|
-
}), 1000);
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
HorizontalScrollerV2Component.decorators = [
|
|
292
|
-
{ type: Component, args: [{
|
|
293
|
-
selector: 'sb-uic-horizontal-scroller-v2',
|
|
294
|
-
template: "\n<section class=\"horizontal-scroll-container h-full\" [id]=\"id\"\n[ngClass]=\"{'px-4': sliderConfig.showNavs && sliderConfig.showNavsSpacing, 'mt-5':sliderConfig.cerificateCardMargin}\">\n <div name=\"horizontal-scroll-content-strip\" class=\"horizontal-scroll-content\" #horizontalScrollElem>\n <ng-content></ng-content>\n </div>\n <div class=\"navigation {{isMobile? sliderConfig?.responsive?.arrowsPlacement : sliderConfig?.arrowsPlacement}}\">\n <ng-container *ngIf=\"sliderConfig?.showNavs\">\n <button i18n-aria-label aria-label=\"back\" name=\"content-backward-button\" mat-mini-fab color=\"\" \n (click)=\"showPrev()\" class=\"prevBtn mat-elevation-z\" [hidden]=\"!enablePrev\"\n [ngClass]=\"{'prevBtnHover': onHover}\">\n <mat-icon>navigate_before</mat-icon>\n </button>\n </ng-container>\n <ng-container *ngIf=\"sliderConfig?.showNavs\">\n <button i18n-aria-label aria-label=\"next\" name=\"content-forward-button\" mat-mini-fab (click)=\"showNext()\"\n color=\"\" class=\"nextBtn mat-elevation-z\" [ngClass]=\"{'nextBtnHover': onHover}\"\n [hidden]=\"!enableNext || loadStatus === 'fetching'\">\n <mat-icon>navigate_next</mat-icon>\n </button>\n </ng-container>\n </div>\n <!-- <div class=\"nextLoading\" *ngIf=\"loadStatus === 'fetching'\">\n <mat-spinner></mat-spinner>\n </div> --> \n</section>\n\n<div class=\"dots-container {{isMobile? sliderConfig?.responsive?.dotsAlign : sliderConfig?.dotsAlign}}\" \n*ngIf=\"(isMobile && sliderConfig?.responsive?.showDots) || (!isMobile && sliderConfig?.showDots)\">\n <!-- <span class=\"dot\" [ngClass]=\"{ active: j === currentIndex }\" -->\n <span class=\"dot\" [ngClass]=\"{ active: j === activeNav }\" *ngFor=\"let slide of bottomDotsArray; let j = index\" (click)=\"slideTo(j)\"></span>\n</div>",
|
|
295
|
-
styles: [".horizontal-scroll-container{position:relative;width:100%;width:inherit}.nextBtn,.nextLoading,.prevBtn{position:absolute;top:50%;transform:translateY(-50%);z-index:999;height:32px!important;width:32px!important;display:flex;align-items:center;justify-content:center}.nextBtn,.prevBtn{border-radius:50%;background-color:#1b2133!important;color:#fff!important}.border-radius-xs{border-radius:8px!important}.prevBtn{left:0}.nextBtn{right:0}.nextLoading{padding:0;right:0}.navigation.bottom-right .prevBtn{left:unset;right:56px;bottom:-44px;top:unset}.navigation.bottom-right .nextBtn{left:unset;right:8px;bottom:-44px;top:unset}.navigation.bottom-center .prevBtn{left:calc(50% - 24px);right:unset;bottom:-44px;top:unset}.navigation.bottom-center .nextBtn{left:calc(50% + 24px);right:unset;bottom:-44px;top:unset}.navigation.bottom-left .prevBtn{left:8px;right:unset;bottom:-44px;top:unset}.navigation.bottom-left .nextBtn{left:62px;right:unset;bottom:-44px;top:unset}.navigation.middle-inline .prevBtn{left:30px}.navigation.middle-inline .nextBtn{right:30px}.horizontal-scroll-content{overflow-y:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;height:100%;flex-wrap:nowrap;display:flex;align-items:stretch;-ms-overflow-style:none;scrollbar-width:none}.horizontal-scroll-content::-webkit-scrollbar{width:0;height:0}.dots-container{padding:8px;display:flex;align-items:center;justify-content:center}.dots-container.left{align-items:start;justify-content:start}.dots-container.right{align-items:end;justify-content:end}.dots-container .dot{cursor:pointer;height:6px;width:6px;margin:0 4px;background-color:rgba(0,0,0,.4);border-radius:50%;display:inline-block;transition:background-color .5s!important}.dots-container .dot.active{border-radius:4px;background-color:#f3962f;width:16px}"]
|
|
296
|
-
}] }
|
|
297
|
-
];
|
|
298
|
-
/** @nocollapse */
|
|
299
|
-
HorizontalScrollerV2Component.ctorParameters = () => [
|
|
300
|
-
{ type: ValueService }
|
|
301
|
-
];
|
|
302
|
-
HorizontalScrollerV2Component.propDecorators = {
|
|
303
|
-
loadStatus: [{ type: Input }],
|
|
304
|
-
id: [{ type: Input }],
|
|
305
|
-
onHover: [{ type: Input }],
|
|
306
|
-
sliderConfig: [{ type: Input }],
|
|
307
|
-
loadNext: [{ type: Output }],
|
|
308
|
-
widgetsLength: [{ type: Input }],
|
|
309
|
-
defaultMaxWidgets: [{ type: Input }],
|
|
310
|
-
stripConfig: [{ type: Input }],
|
|
311
|
-
horizontalScrollElem: [{ type: ViewChild, args: ['horizontalScrollElem', { static: true },] }]
|
|
312
|
-
};
|
|
313
|
-
if (false) {
|
|
314
|
-
/** @type {?} */
|
|
315
|
-
HorizontalScrollerV2Component.prototype.loadStatus;
|
|
316
|
-
/** @type {?} */
|
|
317
|
-
HorizontalScrollerV2Component.prototype.id;
|
|
318
|
-
/** @type {?} */
|
|
319
|
-
HorizontalScrollerV2Component.prototype.onHover;
|
|
320
|
-
/** @type {?} */
|
|
321
|
-
HorizontalScrollerV2Component.prototype.sliderConfig;
|
|
322
|
-
/** @type {?} */
|
|
323
|
-
HorizontalScrollerV2Component.prototype.loadNext;
|
|
324
|
-
/** @type {?} */
|
|
325
|
-
HorizontalScrollerV2Component.prototype.widgetsLength;
|
|
326
|
-
/** @type {?} */
|
|
327
|
-
HorizontalScrollerV2Component.prototype.defaultMaxWidgets;
|
|
328
|
-
/** @type {?} */
|
|
329
|
-
HorizontalScrollerV2Component.prototype.stripConfig;
|
|
330
|
-
/** @type {?} */
|
|
331
|
-
HorizontalScrollerV2Component.prototype.horizontalScrollElem;
|
|
332
|
-
/** @type {?} */
|
|
333
|
-
HorizontalScrollerV2Component.prototype.enablePrev;
|
|
334
|
-
/** @type {?} */
|
|
335
|
-
HorizontalScrollerV2Component.prototype.enableNext;
|
|
336
|
-
/** @type {?} */
|
|
337
|
-
HorizontalScrollerV2Component.prototype.activeNav;
|
|
338
|
-
/** @type {?} */
|
|
339
|
-
HorizontalScrollerV2Component.prototype.cardSubType;
|
|
340
|
-
/** @type {?} */
|
|
341
|
-
HorizontalScrollerV2Component.prototype.bottomDotsArray;
|
|
342
|
-
/**
|
|
343
|
-
* @type {?}
|
|
344
|
-
* @private
|
|
345
|
-
*/
|
|
346
|
-
HorizontalScrollerV2Component.prototype.scrollObserver;
|
|
347
|
-
/** @type {?} */
|
|
348
|
-
HorizontalScrollerV2Component.prototype.isMobile;
|
|
349
|
-
/**
|
|
350
|
-
* @type {?}
|
|
351
|
-
* @private
|
|
352
|
-
*/
|
|
353
|
-
HorizontalScrollerV2Component.prototype.defaultMenuSubscribe;
|
|
354
|
-
/** @type {?} */
|
|
355
|
-
HorizontalScrollerV2Component.prototype.isLtMedium$;
|
|
356
|
-
/**
|
|
357
|
-
* @type {?}
|
|
358
|
-
* @private
|
|
359
|
-
*/
|
|
360
|
-
HorizontalScrollerV2Component.prototype.valueSvc;
|
|
361
|
-
}
|
|
362
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2hvcml6b250YWwtc2Nyb2xsZXItdjIvaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVVwRCxNQUFNLE9BQU8sNkJBQTZCOzs7O0lBMkJ4QyxZQUFvQixRQUFzQjtRQUF0QixhQUFRLEdBQVIsUUFBUSxDQUFjO1FBekJqQyxlQUFVLEdBQWlCLFVBQVUsQ0FBQztRQUN0QyxPQUFFLEdBQVcsRUFBRSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsaUJBQVksR0FBUTtZQUMzQixRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2Qsb0JBQW9CLEVBQUUsS0FBSztTQUM1QixDQUFDO1FBQ1EsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFLeEMseUJBQW9CLEdBQXNCLElBQUksQ0FBQztRQUUvQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGdCQUFXLEdBQUcsVUFBVSxDQUFDO1FBQ3pCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLG1CQUFj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O0lBQ0YsaURBQXdDOztJQUN4QyxzREFBNEI7O0lBQzVCLDBEQUFnQzs7SUFDaEMsb0RBQTBCOztJQUMxQiw2REFDK0M7O0lBRS9DLG1EQUFtQjs7SUFDbkIsbURBQW1COztJQUNuQixrREFBYzs7SUFDZCxvREFBeUI7O0lBQ3pCLHdEQUEwQjs7Ozs7SUFDMUIsdURBQW1EOztJQUNuRCxpREFBZ0I7Ozs7O0lBQ2hCLDZEQUF3RDs7SUFDeEQsb0RBQXVDOzs7OztJQUUzQixpREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBmcm9tRXZlbnQsXG4gIFN1YnNjcmlwdGlvbixcbiAgdGltZXIsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBURmV0Y2hTdGF0dXMgfSBmcm9tICcuLi8uLi9fY29uc3RhbnRzL21pc2MuY29uc3RhbnRzJztcbmltcG9ydCB7IFZhbHVlU2VydmljZSB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcbmltcG9ydCB7IE5zQ29tbW9uU3RyaXAgfSBmcm9tICcuLi9jb21tb24tc3RyaXAvY29tbW9uLXN0cmlwLm1vZGVsJztcbmltcG9ydCB7IE5zQ29udGVudFN0cmlwTXVsdGlwbGUgfSBmcm9tICcuLi8uLi9fbW9kZWxzL2NvbnRlbnQtc3RyaXAtbXVsdGlwbGUubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtaG9yaXpvbnRhbC1zY3JvbGxlci12MicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ob3Jpem9udGFsLXNjcm9sbGVyLXYyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuc2NzcyddLFxufSlcblxuZXhwb3J0IGNsYXNzIEhvcml6b250YWxTY3JvbGxlclYyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgbG9hZFN0YXR1czogVEZldGNoU3RhdHVzID0gJ2ZldGNoaW5nJztcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBvbkhvdmVyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNsaWRlckNvbmZpZzogYW55ID0ge1xuICAgIHNob3dOYXZzOiB0cnVlLFxuICAgIHNob3dEb3RzOiB0cnVlLFxuICAgIGNlcmlmaWNhdGVDYXJkTWFyZ2luOiBmYWxzZSxcbiAgfTtcbiAgQE91dHB1dCgpIGxvYWROZXh0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSB3aWRnZXRzTGVuZ3RoOiBhbnk7XG4gIEBJbnB1dCgpIGRlZmF1bHRNYXhXaWRnZXRzOiBhbnk7XG4gIEBJbnB1dCgpIHN0cmlwQ29uZmlnOiBhbnk7XG4gIEBWaWV3Q2hpbGQoJ2hvcml6b250YWxTY3JvbGxFbGVtJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgaG9yaXpvbnRhbFNjcm9sbEVsZW06IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICBlbmFibGVQcmV2ID0gZmFsc2U7XG4gIGVuYWJsZU5leHQgPSBmYWxzZTtcbiAgYWN0aXZlTmF2ID0gMDtcbiAgY2FyZFN1YlR5cGUgPSAnc3RhbmRhcmQnO1xuICBib3R0b21Eb3RzQXJyYXk6IGFueSA9IFtdO1xuICBwcml2YXRlIHNjcm9sbE9ic2VydmVyOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgaXNNb2JpbGUgPSBmYWxzZVxuICBwcml2YXRlIGRlZmF1bHRNZW51U3Vic2NyaWJlOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbFxuICBpc0x0TWVkaXVtJCA9IHRoaXMudmFsdWVTdmMuaXNMdE1lZGl1bSRcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbHVlU3ZjOiBWYWx1ZVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2FyZFN1YlR5cGUgPSB0aGlzLnN0cmlwQ29uZmlnICYmIHRoaXMuc3RyaXBDb25maWcuY2FyZFN1YlR5cGUgPyB0aGlzLnN0cmlwQ29uZmlnLmNhcmRTdWJUeXBlIDogJ3N0YW5kYXJkJztcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgY29uc3QgaG9yaXpvbnRhbFNjcm9sbEVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtO1xuICAgICAgdGhpcy5zY3JvbGxPYnNlcnZlciA9IGZyb21FdmVudChcbiAgICAgICAgaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ3Njcm9sbCcsXG4gICAgICApXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSwgdGhyb3R0bGVUaW1lKDEwMCkpXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXMoaG9yaXpvbnRhbFNjcm9sbEVsZW1cbiAgICAgICAgICAubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICB9KTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmdldEJvdHRvbURvdHNBcnJheSgpO1xuICAgICAgfSwgNzAwKTtcbiAgICB9XG4gICAgdGhpcy5kZWZhdWx0TWVudVN1YnNjcmliZSA9IHRoaXMuaXNMdE1lZGl1bSQuc3Vic2NyaWJlKChpc0x0TWVkaXVtOiBib29sZWFuKSA9PiB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gaXNMdE1lZGl1bVxuICAgIH0pXG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aW1lcigxMDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgICB0aGlzLnVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXModGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbVxuICAgICAgICAgIC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZ2V0Qm90dG9tRG90c0FycmF5KCk7XG4gICAgfSwgNzAwKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnNjcm9sbE9ic2VydmVyKSB7XG4gICAgICB0aGlzLnNjcm9sbE9ic2VydmVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRlZmF1bHRNZW51U3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLmRlZmF1bHRNZW51U3Vic2NyaWJlLnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBzaG93UHJldigpIHtcbiAgICAvLyBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XG4gICAgLy8gZWxlbS5zY3JvbGxMZWZ0IC09IDAuMjAgKiBlbGVtLmNsaWVudFdpZHRoXG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcbiAgICAgIC8vIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAqIDAuMjQpXG4gICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpO1xuICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgLSBjbGllbnRXaWR0aCxcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgfSk7XG4gICAgICBcbiAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlTmF2IC09IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZih0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgICAgICAgIGlmKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID09PSAwKXtcbiAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgIGxlZnQ6IGVsZW0uc2Nyb2xsV2lkdGgsXG4gICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOYXYgPSB0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGggLSAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNob3dOZXh0KCkge1xuICAgIC8vIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAvLyBlbGVtLnNjcm9sbExlZnQgKz0gMC4yMCAqIGVsZW0uY2xpZW50V2lkdGhcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgLy8gY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICogMC4yNClcbiAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XG4gICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIGNsaWVudFdpZHRoLFxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlTmF2ICs9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZih0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgICAgICAgIGlmKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICE9PSAwICYmIGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQgPj0gZWxlbS5zY3JvbGxXaWR0aCApe1xuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVOYXZpZ2F0aW9uQnRuU3RhdHVzKGVsZW06IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5lbmFibGVQcmV2ID0gdHJ1ZTtcbiAgICB0aGlzLmVuYWJsZU5leHQgPSB0cnVlO1xuICAgIGlmIChlbGVtLnNjcm9sbExlZnQgPT09IDApIHtcbiAgICAgIGlmKCF0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgICAgICB0aGlzLmVuYWJsZVByZXYgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWN0aXZlTmF2ID0gMDtcbiAgICB9XG4gICAgLy8gaWYgKGVsZW0uc2Nyb2xsV2lkdGggPT09IE1hdGgucm91bmQoZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAvLyAgIGlmICh0aGlzLmxvYWRTdGF0dXMgPT09ICdoYXNNb3JlJykge1xuICAgIC8vICAgICB0aGlzLmxvYWROZXh0LmVtaXQoKTtcbiAgICAvLyAgIH0gZWxzZSB7XG4gICAgLy8gICAgIGlmKCF0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgIC8vICAgICAgIHRoaXMuZW5hYmxlTmV4dCA9IGZhbHNlO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIGlmICh0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGgpIHtcbiAgICAvLyAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCAtIDE7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgIH1cbiAgICAvLyB9XG4gICAgLy8gaWYgKGVsZW0uc2Nyb2xsTGVmdCAhPT0gMCAmJiAoZWxlbS5zY3JvbGxXaWR0aCAhPT0gZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAvLyAgIHRoaXMuYWN0aXZlTmF2ID0gTWF0aC5jZWlsKGVsZW0uc2Nyb2xsTGVmdCAvIGVsZW0uY2xpZW50V2lkdGgpO1xuICAgIC8vIH1cblxuXG4gICAgY29uc3Qgd2lkdGhEaWZmID0gTWF0aC5hYnMoZWxlbS5zY3JvbGxXaWR0aCAtIE1hdGgucm91bmQoZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpXG4gICAgaWYgKHdpZHRoRGlmZiA9PT0gMCB8fCB3aWR0aERpZmYgPT09IDEpIHtcbiAgICAgIGlmICh0aGlzLmxvYWRTdGF0dXMgPT09ICdoYXNNb3JlJykge1xuICAgICAgICB0aGlzLmxvYWROZXh0LmVtaXQoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5lbmFibGVOZXh0ID0gZmFsc2VcbiAgICAgICAgaWYgKHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuYWN0aXZlTmF2ID0gdGhpcy5ib3R0b21Eb3RzQXJyYXkubGVuZ3RoIC0gMVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICB0aGlzLmFjdGl2ZU5hdiA9IE1hdGguY2VpbChlbGVtLnNjcm9sbExlZnQgLyBlbGVtLmNsaWVudFdpZHRoKVxuICAgIH1cbiAgfVxuXG4gIHNsaWRlVG8oZWxlOiBhbnkpIHtcbiAgICBjb25zdCBkaWZmID0gZWxlIC0gdGhpcy5hY3RpdmVOYXY7XG4gICAgLy8gaWYgKGVsZSA+IHRoaXMuYWN0aXZlTmF2ICYmIGVsZSAhPT0gdGhpcy5hY3RpdmVOYXYpIHtcbiAgICAvLyAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgLy8gICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aClcbiAgICAvLyAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAvLyAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIChjbGllbnRXaWR0aCpkaWZmKSxcbiAgICAvLyAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgLy8gICAgIH0pXG4gICAgLy8gICB9XG4gICAgLy8gICB0aGlzLmFjdGl2ZU5hdiA9IGVsZVxuICAgIC8vIH0gZWxzZSB7XG4gICAgLy8gICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSAmJiBlbGUgPj0gMCAmJiBlbGUgIT09IHRoaXMuYWN0aXZlTmF2KSB7XG4gICAgLy8gICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aClcbiAgICAvLyAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAvLyAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtIChjbGllbnRXaWR0aCpkaWZmKSxcbiAgICAvLyAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgLy8gICAgIH0pXG4gICAgLy8gICB9XG4gICAgLy8gICB0aGlzLmFjdGl2ZU5hdiA9IGVsZVxuICAgIC8vIH1cbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKTtcbiAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgKGNsaWVudFdpZHRoICogZGlmZiksXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZU5hdiA9IGVsZTtcbiAgfVxuXG4gIGdldEJvdHRvbURvdHNBcnJheSgpIHtcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgdGhpcy5ib3R0b21Eb3RzQXJyYXkgPSBbXTtcbiAgICAgIGxldCBjYXJkV2lkdGg7XG4gICAgICBsZXQgYXJyTGVuZ3RoO1xuICAgICAgaWYgKHRoaXMuY2FyZFN1YlR5cGUgIT09ICdjYXJkLXdpZGUtdjInKSB7XG4gICAgICAgIGNhcmRXaWR0aCA9IHRoaXMuY2FyZFN1YlR5cGUgPT09ICdzdGFuZGFyZCcgPyAyNDUgOlxuICAgICAgICAoKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSkgJiZcbiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSlbMF0gIT09IHVuZGVmaW5lZClcbiAgICAgICAgPyBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHRoaXMuY2FyZFN1YlR5cGUpWzBdLmNsaWVudFdpZHRoIDogMjQ1KTtcbiAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWR9YCkpIHtcbiAgICAgICAgICBjb25zdCBzY3JvbGxlcldpZHRoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5pZH1gKS5jbGllbnRXaWR0aDtcbiAgICAgICAgICBjb25zdCB0b3RhbENhcmRzTGVuZ3RoID0gY2FyZFdpZHRoICogdGhpcy53aWRnZXRzTGVuZ3RoO1xuICAgICAgICAgIGlmICh0b3RhbENhcmRzTGVuZ3RoID4gc2Nyb2xsZXJXaWR0aCkge1xuICAgICAgICAgICAgYXJyTGVuZ3RoID0gTWF0aC5yb3VuZChzY3JvbGxlcldpZHRoIC8gY2FyZFdpZHRoKTtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdE1heFdpZGdldHMgPSB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzID8gIHRoaXMud2lkZ2V0c0xlbmd0aCA8IHRoaXMuZGVmYXVsdE1heFdpZGdldHMgP1xuICAgICAgICAgICAgICB0aGlzLndpZGdldHNMZW5ndGggOiB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzIDogdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cztcbiAgICAgICAgICAgIGFyckxlbmd0aCA9IHRoaXMuZGVmYXVsdE1heFdpZGdldHMgLyBhcnJMZW5ndGg7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyckxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgICAgIHRoaXMuYm90dG9tRG90c0FycmF5LnB1c2goaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmJvdHRvbURvdHNBcnJheSA9IFtdXG4gICAgICAgICAgYXJyTGVuZ3RoID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKS5sZW5ndGg7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJMZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgdGhpcy5ib3R0b21Eb3RzQXJyYXkucHVzaChpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sICAgICAgICAgMTAwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import { Component, Input, Output, ViewChild, EventEmitter, ElementRef } from '@angular/core';
|
|
6
|
+
import { fromEvent, timer, } from 'rxjs';
|
|
7
|
+
import { debounceTime, throttleTime } from 'rxjs/operators';
|
|
8
|
+
import { ValueService } from '@sunbird-cb/utils-v2';
|
|
9
|
+
export class HorizontalScrollerV2Component {
|
|
10
|
+
/**
|
|
11
|
+
* @param {?} valueSvc
|
|
12
|
+
*/
|
|
13
|
+
constructor(valueSvc) {
|
|
14
|
+
this.valueSvc = valueSvc;
|
|
15
|
+
this.loadStatus = 'fetching';
|
|
16
|
+
this.id = '';
|
|
17
|
+
this.onHover = false;
|
|
18
|
+
this.sliderConfig = {
|
|
19
|
+
showNavs: true,
|
|
20
|
+
showDots: true,
|
|
21
|
+
cerificateCardMargin: false,
|
|
22
|
+
};
|
|
23
|
+
this.loadNext = new EventEmitter();
|
|
24
|
+
this.horizontalScrollElem = null;
|
|
25
|
+
this.enablePrev = false;
|
|
26
|
+
this.enableNext = false;
|
|
27
|
+
this.activeNav = 0;
|
|
28
|
+
this.cardSubType = 'standard';
|
|
29
|
+
this.bottomDotsArray = [];
|
|
30
|
+
this.scrollObserver = null;
|
|
31
|
+
this.isMobile = false;
|
|
32
|
+
this.defaultMenuSubscribe = null;
|
|
33
|
+
this.isLtMedium$ = this.valueSvc.isLtMedium$;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @return {?}
|
|
37
|
+
*/
|
|
38
|
+
ngOnInit() {
|
|
39
|
+
this.cardSubType = this.stripConfig && this.stripConfig.cardSubType ? this.stripConfig.cardSubType : 'standard';
|
|
40
|
+
if (this.horizontalScrollElem) {
|
|
41
|
+
/** @type {?} */
|
|
42
|
+
const horizontalScrollElem = this.horizontalScrollElem;
|
|
43
|
+
this.scrollObserver = fromEvent(horizontalScrollElem.nativeElement, 'scroll')
|
|
44
|
+
.pipe(debounceTime(100), throttleTime(100))
|
|
45
|
+
.subscribe((/**
|
|
46
|
+
* @param {?} _
|
|
47
|
+
* @return {?}
|
|
48
|
+
*/
|
|
49
|
+
_ => {
|
|
50
|
+
this.updateNavigationBtnStatus((/** @type {?} */ (horizontalScrollElem
|
|
51
|
+
.nativeElement)));
|
|
52
|
+
}));
|
|
53
|
+
setTimeout((/**
|
|
54
|
+
* @return {?}
|
|
55
|
+
*/
|
|
56
|
+
() => {
|
|
57
|
+
this.getBottomDotsArray();
|
|
58
|
+
}), 700);
|
|
59
|
+
}
|
|
60
|
+
this.defaultMenuSubscribe = this.isLtMedium$.subscribe((/**
|
|
61
|
+
* @param {?} isLtMedium
|
|
62
|
+
* @return {?}
|
|
63
|
+
*/
|
|
64
|
+
(isLtMedium) => {
|
|
65
|
+
this.isMobile = isLtMedium;
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @return {?}
|
|
70
|
+
*/
|
|
71
|
+
ngOnChanges() {
|
|
72
|
+
timer(100).subscribe((/**
|
|
73
|
+
* @return {?}
|
|
74
|
+
*/
|
|
75
|
+
() => {
|
|
76
|
+
if (this.horizontalScrollElem) {
|
|
77
|
+
this.updateNavigationBtnStatus((/** @type {?} */ (this.horizontalScrollElem
|
|
78
|
+
.nativeElement)));
|
|
79
|
+
}
|
|
80
|
+
}));
|
|
81
|
+
setTimeout((/**
|
|
82
|
+
* @return {?}
|
|
83
|
+
*/
|
|
84
|
+
() => {
|
|
85
|
+
this.getBottomDotsArray();
|
|
86
|
+
}), 700);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* @return {?}
|
|
90
|
+
*/
|
|
91
|
+
ngOnDestroy() {
|
|
92
|
+
if (this.scrollObserver) {
|
|
93
|
+
this.scrollObserver.unsubscribe();
|
|
94
|
+
}
|
|
95
|
+
if (this.defaultMenuSubscribe) {
|
|
96
|
+
this.defaultMenuSubscribe.unsubscribe();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @return {?}
|
|
101
|
+
*/
|
|
102
|
+
showPrev() {
|
|
103
|
+
// const elem = this.horizontalScrollElem.nativeElement
|
|
104
|
+
// elem.scrollLeft -= 0.20 * elem.clientWidth
|
|
105
|
+
if (this.horizontalScrollElem) {
|
|
106
|
+
// const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)
|
|
107
|
+
/** @type {?} */
|
|
108
|
+
const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
|
|
109
|
+
this.horizontalScrollElem.nativeElement.scrollTo({
|
|
110
|
+
left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,
|
|
111
|
+
behavior: 'smooth',
|
|
112
|
+
});
|
|
113
|
+
/** @type {?} */
|
|
114
|
+
const elem = this.horizontalScrollElem.nativeElement;
|
|
115
|
+
if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
|
|
116
|
+
this.activeNav -= 1;
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
if (this.sliderConfig.arrowsAlwaysOn) {
|
|
120
|
+
if (this.horizontalScrollElem.nativeElement.scrollLeft === 0) {
|
|
121
|
+
this.horizontalScrollElem.nativeElement.scrollTo({
|
|
122
|
+
left: elem.scrollWidth,
|
|
123
|
+
behavior: 'smooth',
|
|
124
|
+
});
|
|
125
|
+
this.activeNav = this.bottomDotsArray.length - 1;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* @return {?}
|
|
133
|
+
*/
|
|
134
|
+
showNext() {
|
|
135
|
+
// const elem = this.horizontalScrollElem.nativeElement
|
|
136
|
+
// elem.scrollLeft += 0.20 * elem.clientWidth
|
|
137
|
+
if (this.horizontalScrollElem) {
|
|
138
|
+
// const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)
|
|
139
|
+
/** @type {?} */
|
|
140
|
+
const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
|
|
141
|
+
this.horizontalScrollElem.nativeElement.scrollTo({
|
|
142
|
+
left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,
|
|
143
|
+
behavior: 'smooth',
|
|
144
|
+
});
|
|
145
|
+
/** @type {?} */
|
|
146
|
+
const elem = this.horizontalScrollElem.nativeElement;
|
|
147
|
+
if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
|
|
148
|
+
this.activeNav += 1;
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
if (this.sliderConfig.arrowsAlwaysOn) {
|
|
152
|
+
if (this.horizontalScrollElem.nativeElement.scrollLeft !== 0 && elem.clientWidth + elem.scrollLeft >= elem.scrollWidth) {
|
|
153
|
+
this.horizontalScrollElem.nativeElement.scrollTo({
|
|
154
|
+
left: 0,
|
|
155
|
+
behavior: 'smooth',
|
|
156
|
+
});
|
|
157
|
+
this.activeNav = 0;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* @private
|
|
165
|
+
* @param {?} elem
|
|
166
|
+
* @return {?}
|
|
167
|
+
*/
|
|
168
|
+
updateNavigationBtnStatus(elem) {
|
|
169
|
+
this.enablePrev = true;
|
|
170
|
+
this.enableNext = true;
|
|
171
|
+
if (elem.scrollLeft === 0) {
|
|
172
|
+
if (!this.sliderConfig.arrowsAlwaysOn) {
|
|
173
|
+
this.enablePrev = false;
|
|
174
|
+
}
|
|
175
|
+
this.activeNav = 0;
|
|
176
|
+
}
|
|
177
|
+
// if (elem.scrollWidth === Math.round(elem.clientWidth + elem.scrollLeft)) {
|
|
178
|
+
// if (this.loadStatus === 'hasMore') {
|
|
179
|
+
// this.loadNext.emit();
|
|
180
|
+
// } else {
|
|
181
|
+
// if(!this.sliderConfig.arrowsAlwaysOn) {
|
|
182
|
+
// this.enableNext = false;
|
|
183
|
+
// }
|
|
184
|
+
// if (this.bottomDotsArray.length) {
|
|
185
|
+
// this.activeNav = this.bottomDotsArray.length - 1;
|
|
186
|
+
// }
|
|
187
|
+
// }
|
|
188
|
+
// }
|
|
189
|
+
// if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
|
|
190
|
+
// this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth);
|
|
191
|
+
// }
|
|
192
|
+
/** @type {?} */
|
|
193
|
+
const widthDiff = Math.abs(elem.scrollWidth - Math.round(elem.clientWidth + elem.scrollLeft));
|
|
194
|
+
if (widthDiff === 0 || widthDiff === 1) {
|
|
195
|
+
if (this.loadStatus === 'hasMore') {
|
|
196
|
+
this.loadNext.emit();
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
this.enableNext = false;
|
|
200
|
+
if (this.bottomDotsArray.length) {
|
|
201
|
+
this.activeNav = this.bottomDotsArray.length - 1;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
|
|
206
|
+
this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* @param {?} ele
|
|
211
|
+
* @return {?}
|
|
212
|
+
*/
|
|
213
|
+
slideTo(ele) {
|
|
214
|
+
/** @type {?} */
|
|
215
|
+
const diff = ele - this.activeNav;
|
|
216
|
+
// if (ele > this.activeNav && ele !== this.activeNav) {
|
|
217
|
+
// if (this.horizontalScrollElem) {
|
|
218
|
+
// const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)
|
|
219
|
+
// this.horizontalScrollElem.nativeElement.scrollTo({
|
|
220
|
+
// left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth*diff),
|
|
221
|
+
// behavior: 'smooth',
|
|
222
|
+
// })
|
|
223
|
+
// }
|
|
224
|
+
// this.activeNav = ele
|
|
225
|
+
// } else {
|
|
226
|
+
// if (this.horizontalScrollElem && ele >= 0 && ele !== this.activeNav) {
|
|
227
|
+
// const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)
|
|
228
|
+
// this.horizontalScrollElem.nativeElement.scrollTo({
|
|
229
|
+
// left: this.horizontalScrollElem.nativeElement.scrollLeft - (clientWidth*diff),
|
|
230
|
+
// behavior: 'smooth',
|
|
231
|
+
// })
|
|
232
|
+
// }
|
|
233
|
+
// this.activeNav = ele
|
|
234
|
+
// }
|
|
235
|
+
if (this.horizontalScrollElem) {
|
|
236
|
+
/** @type {?} */
|
|
237
|
+
const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
|
|
238
|
+
this.horizontalScrollElem.nativeElement.scrollTo({
|
|
239
|
+
left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth * diff),
|
|
240
|
+
behavior: 'smooth',
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
this.activeNav = ele;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* @return {?}
|
|
247
|
+
*/
|
|
248
|
+
getBottomDotsArray() {
|
|
249
|
+
if (this.horizontalScrollElem) {
|
|
250
|
+
this.bottomDotsArray = [];
|
|
251
|
+
/** @type {?} */
|
|
252
|
+
let cardWidth;
|
|
253
|
+
/** @type {?} */
|
|
254
|
+
let arrLength;
|
|
255
|
+
if (this.cardSubType !== 'card-wide-v2') {
|
|
256
|
+
cardWidth = this.cardSubType === 'standard' ? 245 :
|
|
257
|
+
((document.getElementsByClassName(this.cardSubType) &&
|
|
258
|
+
document.getElementsByClassName(this.cardSubType)[0] !== undefined)
|
|
259
|
+
? document.getElementsByClassName(this.cardSubType)[0].clientWidth : 245);
|
|
260
|
+
if (document.getElementById(`${this.id}`)) {
|
|
261
|
+
/** @type {?} */
|
|
262
|
+
const scrollerWidth = document.getElementById(`${this.id}`).clientWidth;
|
|
263
|
+
/** @type {?} */
|
|
264
|
+
const totalCardsLength = cardWidth * this.widgetsLength;
|
|
265
|
+
if (totalCardsLength > scrollerWidth) {
|
|
266
|
+
arrLength = Math.round(scrollerWidth / cardWidth);
|
|
267
|
+
this.defaultMaxWidgets = this.defaultMaxWidgets ? this.widgetsLength < this.defaultMaxWidgets ?
|
|
268
|
+
this.widgetsLength : this.defaultMaxWidgets : this.defaultMaxWidgets;
|
|
269
|
+
arrLength = this.defaultMaxWidgets / arrLength;
|
|
270
|
+
for (let i = 0; i < arrLength; i += 1) {
|
|
271
|
+
this.bottomDotsArray.push(i);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
setTimeout((/**
|
|
278
|
+
* @return {?}
|
|
279
|
+
*/
|
|
280
|
+
() => {
|
|
281
|
+
this.bottomDotsArray = [];
|
|
282
|
+
arrLength = document.getElementsByClassName(this.cardSubType).length;
|
|
283
|
+
for (let i = 0; i < arrLength; i += 1) {
|
|
284
|
+
this.bottomDotsArray.push(i);
|
|
285
|
+
}
|
|
286
|
+
}), 1000);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
HorizontalScrollerV2Component.decorators = [
|
|
292
|
+
{ type: Component, args: [{
|
|
293
|
+
selector: 'sb-uic-horizontal-scroller-v2',
|
|
294
|
+
template: "\r\n<section class=\"horizontal-scroll-container h-full\" [id]=\"id\"\r\n[ngClass]=\"{'px-4': sliderConfig.showNavs && sliderConfig.showNavsSpacing, 'mt-5':sliderConfig.cerificateCardMargin}\">\r\n <div name=\"horizontal-scroll-content-strip\" class=\"horizontal-scroll-content\" #horizontalScrollElem>\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"navigation {{isMobile? sliderConfig?.responsive?.arrowsPlacement : sliderConfig?.arrowsPlacement}}\">\r\n <ng-container *ngIf=\"sliderConfig?.showNavs\">\r\n <button i18n-aria-label aria-label=\"back\" name=\"content-backward-button\" mat-mini-fab color=\"\" \r\n (click)=\"showPrev()\" class=\"prevBtn mat-elevation-z\" [hidden]=\"!enablePrev\"\r\n [ngClass]=\"{'prevBtnHover': onHover}\">\r\n <mat-icon>navigate_before</mat-icon>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"sliderConfig?.showNavs\">\r\n <button i18n-aria-label aria-label=\"next\" name=\"content-forward-button\" mat-mini-fab (click)=\"showNext()\"\r\n color=\"\" class=\"nextBtn mat-elevation-z\" [ngClass]=\"{'nextBtnHover': onHover}\"\r\n [hidden]=\"!enableNext || loadStatus === 'fetching'\">\r\n <mat-icon>navigate_next</mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n <!-- <div class=\"nextLoading\" *ngIf=\"loadStatus === 'fetching'\">\r\n <mat-spinner></mat-spinner>\r\n </div> --> \r\n</section>\r\n\r\n<div class=\"dots-container {{isMobile? sliderConfig?.responsive?.dotsAlign : sliderConfig?.dotsAlign}}\" \r\n*ngIf=\"(isMobile && sliderConfig?.responsive?.showDots) || (!isMobile && sliderConfig?.showDots)\">\r\n <!-- <span class=\"dot\" [ngClass]=\"{ active: j === currentIndex }\" -->\r\n <span class=\"dot\" [ngClass]=\"{ active: j === activeNav }\" *ngFor=\"let slide of bottomDotsArray; let j = index\" (click)=\"slideTo(j)\"></span>\r\n</div>",
|
|
295
|
+
styles: [".horizontal-scroll-container{position:relative;width:100%;width:inherit}.nextBtn,.nextLoading,.prevBtn{position:absolute;top:50%;transform:translateY(-50%);z-index:999;height:32px!important;width:32px!important;display:flex;align-items:center;justify-content:center}.nextBtn,.prevBtn{border-radius:50%;background-color:#1b2133!important;color:#fff!important}.border-radius-xs{border-radius:8px!important}.prevBtn{left:0}.nextBtn{right:0}.nextLoading{padding:0;right:0}.navigation.bottom-right .prevBtn{left:unset;right:56px;bottom:-44px;top:unset}.navigation.bottom-right .nextBtn{left:unset;right:8px;bottom:-44px;top:unset}.navigation.bottom-center .prevBtn{left:calc(50% - 24px);right:unset;bottom:-44px;top:unset}.navigation.bottom-center .nextBtn{left:calc(50% + 24px);right:unset;bottom:-44px;top:unset}.navigation.bottom-left .prevBtn{left:8px;right:unset;bottom:-44px;top:unset}.navigation.bottom-left .nextBtn{left:62px;right:unset;bottom:-44px;top:unset}.navigation.middle-inline .prevBtn{left:30px}.navigation.middle-inline .nextBtn{right:30px}.horizontal-scroll-content{overflow-y:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;height:100%;flex-wrap:nowrap;display:flex;align-items:stretch;-ms-overflow-style:none;scrollbar-width:none}.horizontal-scroll-content::-webkit-scrollbar{width:0;height:0}.dots-container{padding:8px;display:flex;align-items:center;justify-content:center}.dots-container.left{align-items:start;justify-content:start}.dots-container.right{align-items:end;justify-content:end}.dots-container .dot{cursor:pointer;height:6px;width:6px;margin:0 4px;background-color:rgba(0,0,0,.4);border-radius:50%;display:inline-block;transition:background-color .5s!important}.dots-container .dot.active{border-radius:4px;background-color:#f3962f;width:16px}"]
|
|
296
|
+
}] }
|
|
297
|
+
];
|
|
298
|
+
/** @nocollapse */
|
|
299
|
+
HorizontalScrollerV2Component.ctorParameters = () => [
|
|
300
|
+
{ type: ValueService }
|
|
301
|
+
];
|
|
302
|
+
HorizontalScrollerV2Component.propDecorators = {
|
|
303
|
+
loadStatus: [{ type: Input }],
|
|
304
|
+
id: [{ type: Input }],
|
|
305
|
+
onHover: [{ type: Input }],
|
|
306
|
+
sliderConfig: [{ type: Input }],
|
|
307
|
+
loadNext: [{ type: Output }],
|
|
308
|
+
widgetsLength: [{ type: Input }],
|
|
309
|
+
defaultMaxWidgets: [{ type: Input }],
|
|
310
|
+
stripConfig: [{ type: Input }],
|
|
311
|
+
horizontalScrollElem: [{ type: ViewChild, args: ['horizontalScrollElem', { static: true },] }]
|
|
312
|
+
};
|
|
313
|
+
if (false) {
|
|
314
|
+
/** @type {?} */
|
|
315
|
+
HorizontalScrollerV2Component.prototype.loadStatus;
|
|
316
|
+
/** @type {?} */
|
|
317
|
+
HorizontalScrollerV2Component.prototype.id;
|
|
318
|
+
/** @type {?} */
|
|
319
|
+
HorizontalScrollerV2Component.prototype.onHover;
|
|
320
|
+
/** @type {?} */
|
|
321
|
+
HorizontalScrollerV2Component.prototype.sliderConfig;
|
|
322
|
+
/** @type {?} */
|
|
323
|
+
HorizontalScrollerV2Component.prototype.loadNext;
|
|
324
|
+
/** @type {?} */
|
|
325
|
+
HorizontalScrollerV2Component.prototype.widgetsLength;
|
|
326
|
+
/** @type {?} */
|
|
327
|
+
HorizontalScrollerV2Component.prototype.defaultMaxWidgets;
|
|
328
|
+
/** @type {?} */
|
|
329
|
+
HorizontalScrollerV2Component.prototype.stripConfig;
|
|
330
|
+
/** @type {?} */
|
|
331
|
+
HorizontalScrollerV2Component.prototype.horizontalScrollElem;
|
|
332
|
+
/** @type {?} */
|
|
333
|
+
HorizontalScrollerV2Component.prototype.enablePrev;
|
|
334
|
+
/** @type {?} */
|
|
335
|
+
HorizontalScrollerV2Component.prototype.enableNext;
|
|
336
|
+
/** @type {?} */
|
|
337
|
+
HorizontalScrollerV2Component.prototype.activeNav;
|
|
338
|
+
/** @type {?} */
|
|
339
|
+
HorizontalScrollerV2Component.prototype.cardSubType;
|
|
340
|
+
/** @type {?} */
|
|
341
|
+
HorizontalScrollerV2Component.prototype.bottomDotsArray;
|
|
342
|
+
/**
|
|
343
|
+
* @type {?}
|
|
344
|
+
* @private
|
|
345
|
+
*/
|
|
346
|
+
HorizontalScrollerV2Component.prototype.scrollObserver;
|
|
347
|
+
/** @type {?} */
|
|
348
|
+
HorizontalScrollerV2Component.prototype.isMobile;
|
|
349
|
+
/**
|
|
350
|
+
* @type {?}
|
|
351
|
+
* @private
|
|
352
|
+
*/
|
|
353
|
+
HorizontalScrollerV2Component.prototype.defaultMenuSubscribe;
|
|
354
|
+
/** @type {?} */
|
|
355
|
+
HorizontalScrollerV2Component.prototype.isLtMedium$;
|
|
356
|
+
/**
|
|
357
|
+
* @type {?}
|
|
358
|
+
* @private
|
|
359
|
+
*/
|
|
360
|
+
HorizontalScrollerV2Component.prototype.valueSvc;
|
|
361
|
+
}
|
|
362
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2hvcml6b250YWwtc2Nyb2xsZXItdjIvaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVVwRCxNQUFNLE9BQU8sNkJBQTZCOzs7O0lBMkJ4QyxZQUFvQixRQUFzQjtRQUF0QixhQUFRLEdBQVIsUUFBUSxDQUFjO1FBekJqQyxlQUFVLEdBQWlCLFVBQVUsQ0FBQztRQUN0QyxPQUFFLEdBQVcsRUFBRSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsaUJBQVksR0FBUTtZQUMzQixRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2Qsb0JBQW9CLEVBQUUsS0FBSztTQUM1QixDQUFDO1FBQ1EsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFLeEMseUJBQW9CLEdBQXNCLElBQUksQ0FBQztRQUUvQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGdCQUFXLEdBQUcsVUFBVSxDQUFDO1FBQ3pCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLG1CQUFj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O0lBQ0YsaURBQXdDOztJQUN4QyxzREFBNEI7O0lBQzVCLDBEQUFnQzs7SUFDaEMsb0RBQTBCOztJQUMxQiw2REFDK0M7O0lBRS9DLG1EQUFtQjs7SUFDbkIsbURBQW1COztJQUNuQixrREFBYzs7SUFDZCxvREFBeUI7O0lBQ3pCLHdEQUEwQjs7Ozs7SUFDMUIsdURBQW1EOztJQUNuRCxpREFBZ0I7Ozs7O0lBQ2hCLDZEQUF3RDs7SUFDeEQsb0RBQXVDOzs7OztJQUUzQixpREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgZnJvbUV2ZW50LFxyXG4gIFN1YnNjcmlwdGlvbixcclxuICB0aW1lcixcclxufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRGZXRjaFN0YXR1cyB9IGZyb20gJy4uLy4uL19jb25zdGFudHMvbWlzYy5jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBWYWx1ZVNlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12Mic7XHJcbmltcG9ydCB7IE5zQ29tbW9uU3RyaXAgfSBmcm9tICcuLi9jb21tb24tc3RyaXAvY29tbW9uLXN0cmlwLm1vZGVsJztcclxuaW1wb3J0IHsgTnNDb250ZW50U3RyaXBNdWx0aXBsZSB9IGZyb20gJy4uLy4uL19tb2RlbHMvY29udGVudC1zdHJpcC1tdWx0aXBsZS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NiLXVpYy1ob3Jpem9udGFsLXNjcm9sbGVyLXYyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEhvcml6b250YWxTY3JvbGxlclYyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIGxvYWRTdGF0dXM6IFRGZXRjaFN0YXR1cyA9ICdmZXRjaGluZyc7XHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIG9uSG92ZXIgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzbGlkZXJDb25maWc6IGFueSA9IHtcclxuICAgIHNob3dOYXZzOiB0cnVlLFxyXG4gICAgc2hvd0RvdHM6IHRydWUsXHJcbiAgICBjZXJpZmljYXRlQ2FyZE1hcmdpbjogZmFsc2UsXHJcbiAgfTtcclxuICBAT3V0cHV0KCkgbG9hZE5leHQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgd2lkZ2V0c0xlbmd0aDogYW55O1xyXG4gIEBJbnB1dCgpIGRlZmF1bHRNYXhXaWRnZXRzOiBhbnk7XHJcbiAgQElucHV0KCkgc3RyaXBDb25maWc6IGFueTtcclxuICBAVmlld0NoaWxkKCdob3Jpem9udGFsU2Nyb2xsRWxlbScsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgaG9yaXpvbnRhbFNjcm9sbEVsZW06IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgZW5hYmxlUHJldiA9IGZhbHNlO1xyXG4gIGVuYWJsZU5leHQgPSBmYWxzZTtcclxuICBhY3RpdmVOYXYgPSAwO1xyXG4gIGNhcmRTdWJUeXBlID0gJ3N0YW5kYXJkJztcclxuICBib3R0b21Eb3RzQXJyYXk6IGFueSA9IFtdO1xyXG4gIHByaXZhdGUgc2Nyb2xsT2JzZXJ2ZXI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIGlzTW9iaWxlID0gZmFsc2VcclxuICBwcml2YXRlIGRlZmF1bHRNZW51U3Vic2NyaWJlOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbFxyXG4gIGlzTHRNZWRpdW0kID0gdGhpcy52YWx1ZVN2Yy5pc0x0TWVkaXVtJFxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbHVlU3ZjOiBWYWx1ZVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY2FyZFN1YlR5cGUgPSB0aGlzLnN0cmlwQ29uZmlnICYmIHRoaXMuc3RyaXBDb25maWcuY2FyZFN1YlR5cGUgPyB0aGlzLnN0cmlwQ29uZmlnLmNhcmRTdWJUeXBlIDogJ3N0YW5kYXJkJztcclxuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XHJcbiAgICAgIGNvbnN0IGhvcml6b250YWxTY3JvbGxFbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbTtcclxuICAgICAgdGhpcy5zY3JvbGxPYnNlcnZlciA9IGZyb21FdmVudChcclxuICAgICAgICBob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICdzY3JvbGwnLFxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApLCB0aHJvdHRsZVRpbWUoMTAwKSlcclxuICAgICAgLnN1YnNjcmliZShfID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXMoaG9yaXpvbnRhbFNjcm9sbEVsZW1cclxuICAgICAgICAgIC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0Qm90dG9tRG90c0FycmF5KCk7XHJcbiAgICAgIH0sIDcwMCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRlZmF1bHRNZW51U3Vic2NyaWJlID0gdGhpcy5pc0x0TWVkaXVtJC5zdWJzY3JpYmUoKGlzTHRNZWRpdW06IGJvb2xlYW4pID0+IHtcclxuICAgICAgdGhpcy5pc01vYmlsZSA9IGlzTHRNZWRpdW1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRpbWVyKDEwMCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXModGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbVxyXG4gICAgICAgICAgLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmdldEJvdHRvbURvdHNBcnJheSgpO1xyXG4gICAgfSwgNzAwKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuc2Nyb2xsT2JzZXJ2ZXIpIHtcclxuICAgICAgdGhpcy5zY3JvbGxPYnNlcnZlci51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGVmYXVsdE1lbnVTdWJzY3JpYmUpIHtcclxuICAgICAgdGhpcy5kZWZhdWx0TWVudVN1YnNjcmliZS51bnN1YnNjcmliZSgpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93UHJldigpIHtcclxuICAgIC8vIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcclxuICAgIC8vIGVsZW0uc2Nyb2xsTGVmdCAtPSAwLjIwICogZWxlbS5jbGllbnRXaWR0aFxyXG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcclxuICAgICAgLy8gY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICogMC4yNClcclxuICAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKTtcclxuICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcclxuICAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtIGNsaWVudFdpZHRoLFxyXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcclxuICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XHJcbiAgICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVOYXYgLT0gMTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZih0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xyXG4gICAgICAgICAgaWYodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPT09IDApe1xyXG4gICAgICAgICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xyXG4gICAgICAgICAgICAgIGxlZnQ6IGVsZW0uc2Nyb2xsV2lkdGgsXHJcbiAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVOYXYgPSB0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd05leHQoKSB7XHJcbiAgICAvLyBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XHJcbiAgICAvLyBlbGVtLnNjcm9sbExlZnQgKz0gMC4yMCAqIGVsZW0uY2xpZW50V2lkdGhcclxuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XHJcbiAgICAgIC8vIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAqIDAuMjQpXHJcbiAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XHJcbiAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XHJcbiAgICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKyBjbGllbnRXaWR0aCxcclxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XHJcbiAgICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVOYXYgKz0gMTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZih0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xyXG4gICAgICAgICAgaWYodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgIT09IDAgJiYgZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCA+PSBlbGVtLnNjcm9sbFdpZHRoICl7XHJcbiAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XHJcbiAgICAgICAgICAgICAgbGVmdDogMCxcclxuICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXMoZWxlbTogSFRNTEVsZW1lbnQpIHtcclxuICAgIHRoaXMuZW5hYmxlUHJldiA9IHRydWU7XHJcbiAgICB0aGlzLmVuYWJsZU5leHQgPSB0cnVlO1xyXG4gICAgaWYgKGVsZW0uc2Nyb2xsTGVmdCA9PT0gMCkge1xyXG4gICAgICBpZighdGhpcy5zbGlkZXJDb25maWcuYXJyb3dzQWx3YXlzT24pIHtcclxuICAgICAgICB0aGlzLmVuYWJsZVByZXYgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFjdGl2ZU5hdiA9IDA7XHJcbiAgICB9XHJcbiAgICAvLyBpZiAoZWxlbS5zY3JvbGxXaWR0aCA9PT0gTWF0aC5yb3VuZChlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0KSkge1xyXG4gICAgLy8gICBpZiAodGhpcy5sb2FkU3RhdHVzID09PSAnaGFzTW9yZScpIHtcclxuICAgIC8vICAgICB0aGlzLmxvYWROZXh0LmVtaXQoKTtcclxuICAgIC8vICAgfSBlbHNlIHtcclxuICAgIC8vICAgICBpZighdGhpcy5zbGlkZXJDb25maWcuYXJyb3dzQWx3YXlzT24pIHtcclxuICAgIC8vICAgICAgIHRoaXMuZW5hYmxlTmV4dCA9IGZhbHNlO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICBpZiAodGhpcy5ib3R0b21Eb3RzQXJyYXkubGVuZ3RoKSB7XHJcbiAgICAvLyAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCAtIDE7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyBpZiAoZWxlbS5zY3JvbGxMZWZ0ICE9PSAwICYmIChlbGVtLnNjcm9sbFdpZHRoICE9PSBlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0KSkge1xyXG4gICAgLy8gICB0aGlzLmFjdGl2ZU5hdiA9IE1hdGguY2VpbChlbGVtLnNjcm9sbExlZnQgLyBlbGVtLmNsaWVudFdpZHRoKTtcclxuICAgIC8vIH1cclxuXHJcblxyXG4gICAgY29uc3Qgd2lkdGhEaWZmID0gTWF0aC5hYnMoZWxlbS5zY3JvbGxXaWR0aCAtIE1hdGgucm91bmQoZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpXHJcbiAgICBpZiAod2lkdGhEaWZmID09PSAwIHx8IHdpZHRoRGlmZiA9PT0gMSkge1xyXG4gICAgICBpZiAodGhpcy5sb2FkU3RhdHVzID09PSAnaGFzTW9yZScpIHtcclxuICAgICAgICB0aGlzLmxvYWROZXh0LmVtaXQoKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZW5hYmxlTmV4dCA9IGZhbHNlXHJcbiAgICAgICAgaWYgKHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5hY3RpdmVOYXYgPSB0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGggLSAxXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoZWxlbS5zY3JvbGxMZWZ0ICE9PSAwICYmIChlbGVtLnNjcm9sbFdpZHRoICE9PSBlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0KSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZU5hdiA9IE1hdGguY2VpbChlbGVtLnNjcm9sbExlZnQgLyBlbGVtLmNsaWVudFdpZHRoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2xpZGVUbyhlbGU6IGFueSkge1xyXG4gICAgY29uc3QgZGlmZiA9IGVsZSAtIHRoaXMuYWN0aXZlTmF2O1xyXG4gICAgLy8gaWYgKGVsZSA+IHRoaXMuYWN0aXZlTmF2ICYmIGVsZSAhPT0gdGhpcy5hY3RpdmVOYXYpIHtcclxuICAgIC8vICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcclxuICAgIC8vICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpXHJcbiAgICAvLyAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcclxuICAgIC8vICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgKGNsaWVudFdpZHRoKmRpZmYpLFxyXG4gICAgLy8gICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgLy8gICAgIH0pXHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgdGhpcy5hY3RpdmVOYXYgPSBlbGVcclxuICAgIC8vIH0gZWxzZSB7XHJcbiAgICAvLyAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtICYmIGVsZSA+PSAwICYmIGVsZSAhPT0gdGhpcy5hY3RpdmVOYXYpIHtcclxuICAgIC8vICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpXHJcbiAgICAvLyAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcclxuICAgIC8vICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0IC0gKGNsaWVudFdpZHRoKmRpZmYpLFxyXG4gICAgLy8gICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgLy8gICAgIH0pXHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgdGhpcy5hY3RpdmVOYXYgPSBlbGVcclxuICAgIC8vIH1cclxuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XHJcbiAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XHJcbiAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XHJcbiAgICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKyAoY2xpZW50V2lkdGggKiBkaWZmKSxcclxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVOYXYgPSBlbGU7XHJcbiAgfVxyXG5cclxuICBnZXRCb3R0b21Eb3RzQXJyYXkoKSB7XHJcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xyXG4gICAgICB0aGlzLmJvdHRvbURvdHNBcnJheSA9IFtdO1xyXG4gICAgICBsZXQgY2FyZFdpZHRoO1xyXG4gICAgICBsZXQgYXJyTGVuZ3RoO1xyXG4gICAgICBpZiAodGhpcy5jYXJkU3ViVHlwZSAhPT0gJ2NhcmQtd2lkZS12MicpIHtcclxuICAgICAgICBjYXJkV2lkdGggPSB0aGlzLmNhcmRTdWJUeXBlID09PSAnc3RhbmRhcmQnID8gMjQ1IDpcclxuICAgICAgICAoKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSkgJiZcclxuICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKVswXSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgID8gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKVswXS5jbGllbnRXaWR0aCA6IDI0NSk7XHJcbiAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWR9YCkpIHtcclxuICAgICAgICAgIGNvbnN0IHNjcm9sbGVyV2lkdGggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLmlkfWApLmNsaWVudFdpZHRoO1xyXG4gICAgICAgICAgY29uc3QgdG90YWxDYXJkc0xlbmd0aCA9IGNhcmRXaWR0aCAqIHRoaXMud2lkZ2V0c0xlbmd0aDtcclxuICAgICAgICAgIGlmICh0b3RhbENhcmRzTGVuZ3RoID4gc2Nyb2xsZXJXaWR0aCkge1xyXG4gICAgICAgICAgICBhcnJMZW5ndGggPSBNYXRoLnJvdW5kKHNjcm9sbGVyV2lkdGggLyBjYXJkV2lkdGgpO1xyXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzID0gdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cyA/ICB0aGlzLndpZGdldHNMZW5ndGggPCB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzID9cclxuICAgICAgICAgICAgICB0aGlzLndpZGdldHNMZW5ndGggOiB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzIDogdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cztcclxuICAgICAgICAgICAgYXJyTGVuZ3RoID0gdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cyAvIGFyckxlbmd0aDtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJMZW5ndGg7IGkgKz0gMSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuYm90dG9tRG90c0FycmF5LnB1c2goaSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmJvdHRvbURvdHNBcnJheSA9IFtdXHJcbiAgICAgICAgICBhcnJMZW5ndGggPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHRoaXMuY2FyZFN1YlR5cGUpLmxlbmd0aDtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyTGVuZ3RoOyBpICs9IDEpIHtcclxuICAgICAgICAgICAgdGhpcy5ib3R0b21Eb3RzQXJyYXkucHVzaChpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCAgICAgICAgIDEwMDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|