@sunbird-cb/utils 1.0.19 → 1.0.20-ang-13-16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/image-crop/image-crop.component.mjs +172 -0
- package/esm2022/lib/components/image-crop/image-crop.module.mjs +55 -0
- package/esm2022/lib/constants/features.enum.mjs +555 -0
- package/esm2022/lib/constants/instances.enum.mjs +5 -0
- package/esm2022/lib/constants/misc.constants.mjs +2 -0
- package/esm2022/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.mjs +87 -0
- package/esm2022/lib/directives/class-change-on-scroll/class-change-on-scroll.module.mjs +20 -0
- package/esm2022/lib/directives/default-thumbnail/default-thumbnail.directive.mjs +40 -0
- package/esm2022/lib/directives/default-thumbnail/default-thumbnail.module.mjs +20 -0
- package/esm2022/lib/directives/image-responsive/image-responsive.directive.mjs +86 -0
- package/esm2022/lib/directives/image-responsive/image-responsive.module.mjs +20 -0
- package/esm2022/lib/directives/in-view-port/in-view-port.directive.mjs +62 -0
- package/esm2022/lib/directives/in-view-port/in-view-port.module.mjs +20 -0
- package/esm2022/lib/directives/navigation/navigation.directive.mjs +43 -0
- package/esm2022/lib/directives/navigation/navigation.module.mjs +20 -0
- package/esm2022/lib/directives/permission/permission.directive.mjs +14 -0
- package/esm2022/lib/directives/permission/permission.module.mjs +20 -0
- package/esm2022/lib/helpers/functions/getStringifiedQueryParams.mjs +9 -0
- package/esm2022/lib/helpers/horizontal-scroller/horizontal-scroller.component.mjs +96 -0
- package/esm2022/lib/helpers/horizontal-scroller/horizontal-scroller.module.mjs +32 -0
- package/esm2022/lib/helpers/logout/logout.component.mjs +44 -0
- package/esm2022/lib/helpers/logout/logout.module.mjs +27 -0
- package/esm2022/lib/models/contentRating.model.mjs +2 -0
- package/esm2022/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.mjs +18 -0
- package/esm2022/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.mjs +57 -0
- package/esm2022/lib/pipes/pipe-count-transform/pipe-count-transform.module.mjs +20 -0
- package/esm2022/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.mjs +37 -0
- package/esm2022/lib/pipes/pipe-date-concat/pipe-date-concat.module.mjs +20 -0
- package/esm2022/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.mjs +36 -0
- package/esm2022/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.mjs +20 -0
- package/esm2022/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.mjs +64 -0
- package/esm2022/lib/pipes/pipe-filter/pipe-filter.module.mjs +20 -0
- package/esm2022/lib/pipes/pipe-filter/pipe-filter.pipe.mjs +20 -0
- package/esm2022/lib/pipes/pipe-filter-search/pipe-filter-search.module.mjs +20 -0
- package/esm2022/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.mjs +34 -0
- package/esm2022/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.mjs +20 -0
- package/esm2022/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.mjs +16 -0
- package/esm2022/lib/pipes/pipe-limit-to/pipe-limit-to.module.mjs +20 -0
- package/esm2022/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.mjs +29 -0
- package/esm2022/lib/pipes/pipe-list-filter/pipe-list-filter.module.mjs +20 -0
- package/esm2022/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.mjs +21 -0
- package/esm2022/lib/pipes/pipe-name-transform/pipe-name-transform.module.mjs +20 -0
- package/esm2022/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.mjs +29 -0
- package/esm2022/lib/pipes/pipe-order-by/pipe-order-by.module.mjs +20 -0
- package/esm2022/lib/pipes/pipe-order-by/pipe-order-by.pipe.mjs +17 -0
- package/esm2022/lib/pipes/pipe-partial-content/pipe-partial-content.module.mjs +20 -0
- package/esm2022/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.mjs +22 -0
- package/esm2022/lib/pipes/pipe-relative-time/pipe-relative-time.module.mjs +20 -0
- package/esm2022/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.mjs +21 -0
- package/esm2022/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.mjs +20 -0
- package/esm2022/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.mjs +33 -0
- package/esm2022/lib/resolvers/explore-detail.resolver.mjs +76 -0
- package/esm2022/lib/resolvers/marketing-offering.resolve.mjs +35 -0
- package/esm2022/lib/resolvers/page.constant.mjs +4 -0
- package/esm2022/lib/resolvers/page.model.mjs +2 -0
- package/esm2022/lib/resolvers/page.resolver.mjs +82 -0
- package/esm2022/lib/resolvers/resolver.model.mjs +2 -0
- package/esm2022/lib/services/auth-keycloak.service.mjs +52 -0
- package/esm2022/lib/services/auth-microsoft.service.mjs +173 -0
- package/esm2022/lib/services/card-content.model.mjs +11 -0
- package/esm2022/lib/services/configurations.model.mjs +2 -0
- package/esm2022/lib/services/configurations.service.mjs +65 -0
- package/esm2022/lib/services/content-strip-multiple.model.mjs +2 -0
- package/esm2022/lib/services/event.model.mjs +121 -0
- package/esm2022/lib/services/event.service.mjs +204 -0
- package/esm2022/lib/services/logger.service.mjs +45 -0
- package/esm2022/lib/services/ms-office.model.mjs +2 -0
- package/esm2022/lib/services/subapplication-respond.service.mjs +76 -0
- package/esm2022/lib/services/telemetry.service.mjs +502 -0
- package/esm2022/lib/services/user-preference.model.mjs +2 -0
- package/esm2022/lib/services/user-preference.service.mjs +92 -0
- package/esm2022/lib/services/utility.service.mjs +122 -0
- package/esm2022/lib/services/value.service.mjs +25 -0
- package/esm2022/lib/services/widget-content.model.mjs +107 -0
- package/esm2022/lib/services/widget-content.service.mjs +182 -0
- package/esm2022/lib/services/widget-resolver.model.mjs +2 -0
- package/esm2022/lib/services/widget-search.model.mjs +2 -0
- package/esm2022/public-api.mjs +74 -0
- package/esm2022/sunbird-cb-utils.mjs +2 -0
- package/fesm2022/sunbird-cb-utils.mjs +3902 -0
- package/fesm2022/sunbird-cb-utils.mjs.map +1 -0
- package/index.d.ts +3 -0
- package/lib/components/image-crop/image-crop.component.d.ts +6 -2
- package/lib/components/image-crop/image-crop.component.d.ts.map +1 -0
- package/lib/components/image-crop/image-crop.module.d.ts +15 -0
- package/lib/components/image-crop/image-crop.module.d.ts.map +1 -0
- package/lib/constants/features.enum.d.ts +1 -0
- package/lib/constants/features.enum.d.ts.map +1 -0
- package/lib/constants/instances.enum.d.ts +1 -0
- package/lib/constants/instances.enum.d.ts.map +1 -0
- package/lib/constants/misc.constants.d.ts +3 -2
- package/lib/constants/misc.constants.d.ts.map +1 -0
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +7 -3
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts.map +1 -0
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts +7 -0
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts.map +1 -0
- package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +4 -0
- package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts.map +1 -0
- package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts +7 -0
- package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts.map +1 -0
- package/lib/directives/image-responsive/image-responsive.directive.d.ts +4 -0
- package/lib/directives/image-responsive/image-responsive.directive.d.ts.map +1 -0
- package/lib/directives/image-responsive/image-responsive.module.d.ts +7 -0
- package/lib/directives/image-responsive/image-responsive.module.d.ts.map +1 -0
- package/lib/directives/in-view-port/in-view-port.directive.d.ts +4 -0
- package/lib/directives/in-view-port/in-view-port.directive.d.ts.map +1 -0
- package/lib/directives/in-view-port/in-view-port.module.d.ts +7 -0
- package/lib/directives/in-view-port/in-view-port.module.d.ts.map +1 -0
- package/lib/directives/navigation/navigation.directive.d.ts +4 -0
- package/lib/directives/navigation/navigation.directive.d.ts.map +1 -0
- package/lib/directives/navigation/navigation.module.d.ts +7 -0
- package/lib/directives/navigation/navigation.module.d.ts.map +1 -0
- package/lib/directives/permission/permission.directive.d.ts +4 -0
- package/lib/directives/permission/permission.directive.d.ts.map +1 -0
- package/lib/directives/permission/permission.module.d.ts +7 -0
- package/lib/directives/permission/permission.module.d.ts.map +1 -0
- package/lib/helpers/functions/getStringifiedQueryParams.d.ts +1 -0
- package/lib/helpers/functions/getStringifiedQueryParams.d.ts.map +1 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +4 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts.map +1 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +10 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts.map +1 -0
- package/lib/helpers/logout/logout.component.d.ts +6 -2
- package/lib/helpers/logout/logout.component.d.ts.map +1 -0
- package/lib/helpers/logout/logout.module.d.ts +9 -0
- package/lib/helpers/logout/logout.module.d.ts.map +1 -0
- package/lib/models/contentRating.model.d.ts +1 -0
- package/lib/models/contentRating.model.d.ts.map +1 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts +7 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts.map +1 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +4 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts +7 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts.map +1 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +4 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts +7 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts.map +1 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +4 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +7 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts.map +1 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +4 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-filter/pipe-filter.module.d.ts +7 -0
- package/lib/pipes/pipe-filter/pipe-filter.module.d.ts.map +1 -0
- package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +4 -0
- package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts +7 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts.map +1 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +4 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts +7 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts.map +1 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +4 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts +7 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts.map +1 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +4 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts +7 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts.map +1 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +4 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts +7 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts.map +1 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +4 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts +7 -0
- package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts.map +1 -0
- package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +8 -4
- package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts +7 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts.map +1 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +4 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts +7 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts.map +1 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +4 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts +7 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts.map +1 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +4 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts.map +1 -0
- package/lib/resolvers/explore-detail.resolver.d.ts +6 -2
- package/lib/resolvers/explore-detail.resolver.d.ts.map +1 -0
- package/lib/resolvers/marketing-offering.resolve.d.ts +6 -2
- package/lib/resolvers/marketing-offering.resolve.d.ts.map +1 -0
- package/lib/resolvers/page.constant.d.ts +1 -0
- package/lib/resolvers/page.constant.d.ts.map +1 -0
- package/lib/resolvers/page.model.d.ts +2 -1
- package/lib/resolvers/page.model.d.ts.map +1 -0
- package/lib/resolvers/page.resolver.d.ts +6 -2
- package/lib/resolvers/page.resolver.d.ts.map +1 -0
- package/lib/resolvers/resolver.model.d.ts +1 -0
- package/lib/resolvers/resolver.model.d.ts.map +1 -0
- package/lib/services/auth-keycloak.service.d.ts +7 -23
- package/lib/services/auth-keycloak.service.d.ts.map +1 -0
- package/lib/services/auth-microsoft.service.d.ts +6 -2
- package/lib/services/auth-microsoft.service.d.ts.map +1 -0
- package/lib/services/card-content.model.d.ts +1 -0
- package/lib/services/card-content.model.d.ts.map +1 -0
- package/lib/services/configurations.model.d.ts +27 -24
- package/lib/services/configurations.model.d.ts.map +1 -0
- package/lib/services/configurations.service.d.ts +4 -0
- package/lib/services/configurations.service.d.ts.map +1 -0
- package/lib/services/content-strip-multiple.model.d.ts +8 -6
- package/lib/services/content-strip-multiple.model.d.ts.map +1 -0
- package/lib/services/event.model.d.ts +2 -1
- package/lib/services/event.model.d.ts.map +1 -0
- package/lib/services/event.service.d.ts +4 -0
- package/lib/services/event.service.d.ts.map +1 -0
- package/lib/services/logger.service.d.ts +8 -4
- package/lib/services/logger.service.d.ts.map +1 -0
- package/lib/services/ms-office.model.d.ts +1 -0
- package/lib/services/ms-office.model.d.ts.map +1 -0
- package/lib/services/subapplication-respond.service.d.ts +5 -10
- package/lib/services/subapplication-respond.service.d.ts.map +1 -0
- package/lib/services/telemetry.service.d.ts +6 -2
- package/lib/services/telemetry.service.d.ts.map +1 -0
- package/lib/services/user-preference.model.d.ts +1 -0
- package/lib/services/user-preference.model.d.ts.map +1 -0
- package/lib/services/user-preference.service.d.ts +4 -0
- package/lib/services/user-preference.service.d.ts.map +1 -0
- package/lib/services/utility.service.d.ts +11 -7
- package/lib/services/utility.service.d.ts.map +1 -0
- package/lib/services/value.service.d.ts +4 -0
- package/lib/services/value.service.d.ts.map +1 -0
- package/lib/services/widget-content.model.d.ts +21 -19
- package/lib/services/widget-content.model.d.ts.map +1 -0
- package/lib/services/widget-content.service.d.ts +4 -0
- package/lib/services/widget-content.service.d.ts.map +1 -0
- package/lib/services/widget-resolver.model.d.ts +2 -1
- package/lib/services/widget-resolver.model.d.ts.map +1 -0
- package/lib/services/widget-search.model.d.ts +1 -0
- package/lib/services/widget-search.model.d.ts.map +1 -0
- package/package.json +28 -25
- package/public-api.d.ts +7 -0
- package/public-api.d.ts.map +1 -0
- package/sunbird-cb-utils-1.0.20-ang-13-16.tgz +0 -0
- package/sunbird-cb-utils.d.ts.map +1 -0
- package/bundles/sunbird-cb-utils.umd.js +0 -5878
- package/bundles/sunbird-cb-utils.umd.js.map +0 -1
- package/bundles/sunbird-cb-utils.umd.min.js +0 -16
- package/bundles/sunbird-cb-utils.umd.min.js.map +0 -1
- package/esm2015/lib/components/image-crop/image-crop.component.js +0 -195
- package/esm2015/lib/components/image-crop/image-crop.module.js +0 -27
- package/esm2015/lib/constants/features.enum.js +0 -555
- package/esm2015/lib/constants/instances.enum.js +0 -5
- package/esm2015/lib/constants/misc.constants.js +0 -1
- package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +0 -87
- package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +0 -15
- package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +0 -38
- package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +0 -15
- package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +0 -92
- package/esm2015/lib/directives/image-responsive/image-responsive.module.js +0 -15
- package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +0 -68
- package/esm2015/lib/directives/in-view-port/in-view-port.module.js +0 -15
- package/esm2015/lib/directives/navigation/navigation.directive.js +0 -39
- package/esm2015/lib/directives/navigation/navigation.module.js +0 -15
- package/esm2015/lib/directives/permission/permission.directive.js +0 -11
- package/esm2015/lib/directives/permission/permission.module.js +0 -15
- package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +0 -9
- package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +0 -99
- package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +0 -19
- package/esm2015/lib/helpers/logout/logout.component.js +0 -57
- package/esm2015/lib/helpers/logout/logout.module.js +0 -18
- package/esm2015/lib/models/contentRating.model.js +0 -12
- package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +0 -13
- package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +0 -59
- package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +0 -15
- package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +0 -33
- package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +0 -15
- package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +0 -43
- package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +0 -15
- package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +0 -60
- package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +0 -15
- package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +0 -16
- package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +0 -15
- package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +0 -30
- package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +0 -15
- package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +0 -12
- package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +0 -15
- package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +0 -25
- package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +0 -15
- package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +0 -17
- package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +0 -15
- package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +0 -31
- package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +0 -15
- package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +0 -16
- package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +0 -15
- package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +0 -18
- package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +0 -15
- package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +0 -17
- package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +0 -15
- package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +0 -35
- package/esm2015/lib/resolvers/explore-detail.resolver.js +0 -89
- package/esm2015/lib/resolvers/marketing-offering.resolve.js +0 -40
- package/esm2015/lib/resolvers/page.constant.js +0 -4
- package/esm2015/lib/resolvers/page.model.js +0 -47
- package/esm2015/lib/resolvers/page.resolver.js +0 -90
- package/esm2015/lib/resolvers/resolver.model.js +0 -6
- package/esm2015/lib/services/auth-keycloak.service.js +0 -245
- package/esm2015/lib/services/auth-microsoft.service.js +0 -196
- package/esm2015/lib/services/card-content.model.js +0 -32
- package/esm2015/lib/services/configurations.model.js +0 -508
- package/esm2015/lib/services/configurations.service.js +0 -112
- package/esm2015/lib/services/content-strip-multiple.model.js +0 -75
- package/esm2015/lib/services/event.model.js +0 -229
- package/esm2015/lib/services/event.service.js +0 -212
- package/esm2015/lib/services/logger.service.js +0 -55
- package/esm2015/lib/services/ms-office.model.js +0 -8
- package/esm2015/lib/services/subapplication-respond.service.js +0 -225
- package/esm2015/lib/services/telemetry.service.js +0 -449
- package/esm2015/lib/services/user-preference.model.js +0 -38
- package/esm2015/lib/services/user-preference.service.js +0 -90
- package/esm2015/lib/services/utility.service.js +0 -145
- package/esm2015/lib/services/value.service.js +0 -31
- package/esm2015/lib/services/widget-content.model.js +0 -342
- package/esm2015/lib/services/widget-content.service.js +0 -192
- package/esm2015/lib/services/widget-resolver.model.js +0 -57
- package/esm2015/lib/services/widget-search.model.js +0 -126
- package/esm2015/public-api.js +0 -68
- package/esm2015/sunbird-cb-utils.js +0 -8
- package/esm5/lib/components/image-crop/image-crop.component.js +0 -200
- package/esm5/lib/components/image-crop/image-crop.module.js +0 -31
- package/esm5/lib/constants/features.enum.js +0 -555
- package/esm5/lib/constants/instances.enum.js +0 -5
- package/esm5/lib/constants/misc.constants.js +0 -1
- package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +0 -105
- package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +0 -19
- package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +0 -40
- package/esm5/lib/directives/default-thumbnail/default-thumbnail.module.js +0 -19
- package/esm5/lib/directives/image-responsive/image-responsive.directive.js +0 -95
- package/esm5/lib/directives/image-responsive/image-responsive.module.js +0 -19
- package/esm5/lib/directives/in-view-port/in-view-port.directive.js +0 -73
- package/esm5/lib/directives/in-view-port/in-view-port.module.js +0 -19
- package/esm5/lib/directives/navigation/navigation.directive.js +0 -41
- package/esm5/lib/directives/navigation/navigation.module.js +0 -19
- package/esm5/lib/directives/permission/permission.directive.js +0 -14
- package/esm5/lib/directives/permission/permission.module.js +0 -19
- package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +0 -9
- package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +0 -103
- package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +0 -23
- package/esm5/lib/helpers/logout/logout.component.js +0 -63
- package/esm5/lib/helpers/logout/logout.module.js +0 -22
- package/esm5/lib/models/contentRating.model.js +0 -12
- package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +0 -17
- package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +0 -63
- package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +0 -19
- package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +0 -37
- package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +0 -19
- package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +0 -45
- package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +0 -19
- package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +0 -64
- package/esm5/lib/pipes/pipe-filter/pipe-filter.module.js +0 -19
- package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +0 -20
- package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +0 -19
- package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +0 -38
- package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +0 -19
- package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +0 -16
- package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +0 -19
- package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +0 -30
- package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +0 -19
- package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +0 -21
- package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +0 -19
- package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +0 -35
- package/esm5/lib/pipes/pipe-order-by/pipe-order-by.module.js +0 -19
- package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +0 -18
- package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +0 -19
- package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +0 -34
- package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +0 -19
- package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +0 -21
- package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +0 -19
- package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +0 -38
- package/esm5/lib/resolvers/explore-detail.resolver.js +0 -93
- package/esm5/lib/resolvers/marketing-offering.resolve.js +0 -43
- package/esm5/lib/resolvers/page.constant.js +0 -4
- package/esm5/lib/resolvers/page.model.js +0 -47
- package/esm5/lib/resolvers/page.resolver.js +0 -98
- package/esm5/lib/resolvers/resolver.model.js +0 -6
- package/esm5/lib/services/auth-keycloak.service.js +0 -316
- package/esm5/lib/services/auth-microsoft.service.js +0 -251
- package/esm5/lib/services/card-content.model.js +0 -32
- package/esm5/lib/services/configurations.model.js +0 -508
- package/esm5/lib/services/configurations.service.js +0 -114
- package/esm5/lib/services/content-strip-multiple.model.js +0 -75
- package/esm5/lib/services/event.model.js +0 -229
- package/esm5/lib/services/event.service.js +0 -216
- package/esm5/lib/services/logger.service.js +0 -73
- package/esm5/lib/services/ms-office.model.js +0 -8
- package/esm5/lib/services/subapplication-respond.service.js +0 -230
- package/esm5/lib/services/telemetry.service.js +0 -484
- package/esm5/lib/services/user-preference.model.js +0 -38
- package/esm5/lib/services/user-preference.service.js +0 -109
- package/esm5/lib/services/utility.service.js +0 -178
- package/esm5/lib/services/value.service.js +0 -33
- package/esm5/lib/services/widget-content.model.js +0 -342
- package/esm5/lib/services/widget-content.service.js +0 -214
- package/esm5/lib/services/widget-resolver.model.js +0 -57
- package/esm5/lib/services/widget-search.model.js +0 -126
- package/esm5/public-api.js +0 -68
- package/esm5/sunbird-cb-utils.js +0 -8
- package/fesm2015/sunbird-cb-utils.js +0 -5182
- package/fesm2015/sunbird-cb-utils.js.map +0 -1
- package/fesm5/sunbird-cb-utils.js +0 -5605
- package/fesm5/sunbird-cb-utils.js.map +0 -1
- package/sunbird-cb-utils.d.ts +0 -7
- package/sunbird-cb-utils.metadata.json +0 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export var EInstance;
|
|
2
|
+
(function (EInstance) {
|
|
3
|
+
EInstance["INSTANCE"] = "RootOrg";
|
|
4
|
+
})(EInstance || (EInstance = {}));
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2VzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9jb25zdGFudHMvaW5zdGFuY2VzLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksU0FFWDtBQUZELFdBQVksU0FBUztJQUNuQixpQ0FBb0IsQ0FBQTtBQUN0QixDQUFDLEVBRlcsU0FBUyxLQUFULFNBQVMsUUFFcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFSW5zdGFuY2Uge1xyXG4gIElOU1RBTkNFID0gJ1Jvb3RPcmcnLFxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzYy5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9jb25zdGFudHMvbWlzYy5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFRGZXRjaFN0YXR1cyA9ICdub25lJyB8ICdmZXRjaGluZycgfCAnZG9uZScgfCAnZXJyb3InIHwgJ2hhc01vcmUnXHJcbmV4cG9ydCB0eXBlIFRTZW5kU3RhdHVzID0gJ25vbmUnIHwgJ3NlbmRpbmcnIHwgJ2RvbmUnIHwgJ2Vycm9yJ1xyXG4iXX0=
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Directive, Input, HostBinding } from '@angular/core';
|
|
2
|
+
import { fromEvent } from 'rxjs';
|
|
3
|
+
import { debounceTime } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
var ScrollingStateEnum;
|
|
6
|
+
(function (ScrollingStateEnum) {
|
|
7
|
+
ScrollingStateEnum[ScrollingStateEnum["ScrollingUp"] = 0] = "ScrollingUp";
|
|
8
|
+
ScrollingStateEnum[ScrollingStateEnum["ScrollingDown"] = 1] = "ScrollingDown";
|
|
9
|
+
ScrollingStateEnum[ScrollingStateEnum["NoScrolling"] = 2] = "NoScrolling";
|
|
10
|
+
})(ScrollingStateEnum || (ScrollingStateEnum = {}));
|
|
11
|
+
export class ClassChangeOnScrollDirective {
|
|
12
|
+
get isScrollingDown() {
|
|
13
|
+
return this.currState === ScrollingStateEnum.ScrollingDown;
|
|
14
|
+
}
|
|
15
|
+
get isScrollingUp() {
|
|
16
|
+
return this.currState === ScrollingStateEnum.ScrollingUp;
|
|
17
|
+
}
|
|
18
|
+
get isNotScrolling() {
|
|
19
|
+
return this.currState === ScrollingStateEnum.NoScrolling;
|
|
20
|
+
}
|
|
21
|
+
constructor() {
|
|
22
|
+
this.wsClassOnScrollDirChange = 5000;
|
|
23
|
+
this.hasScrolledDown = false;
|
|
24
|
+
this.windowScrollSubscription = null;
|
|
25
|
+
this.lastScreenTop = 0;
|
|
26
|
+
this.currState = ScrollingStateEnum.NoScrolling;
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.windowScrollSubscription = fromEvent(window, 'scroll')
|
|
30
|
+
.pipe(debounceTime(50))
|
|
31
|
+
.subscribe(() => {
|
|
32
|
+
clearTimeout(this.timeoutTimer);
|
|
33
|
+
const curr = window.scrollY;
|
|
34
|
+
this.hasScrolledDown = curr > 56;
|
|
35
|
+
this.setScrollState(this.lastScreenTop, curr);
|
|
36
|
+
this.lastScreenTop = curr;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
ngAfterViewInit() { }
|
|
40
|
+
ngOnDestroy() {
|
|
41
|
+
if (this.windowScrollSubscription) {
|
|
42
|
+
this.windowScrollSubscription.unsubscribe();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
setScrollState(prev = 0, curr = 0) {
|
|
46
|
+
if (prev > curr) {
|
|
47
|
+
this.currState = ScrollingStateEnum.ScrollingUp;
|
|
48
|
+
}
|
|
49
|
+
else if (prev < curr) {
|
|
50
|
+
this.currState = ScrollingStateEnum.ScrollingDown;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this.currState = ScrollingStateEnum.NoScrolling;
|
|
54
|
+
}
|
|
55
|
+
if (this.currState !== ScrollingStateEnum.NoScrolling) {
|
|
56
|
+
this.resetScrollingState();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
resetScrollingState() {
|
|
60
|
+
this.timeoutTimer = setTimeout(() => {
|
|
61
|
+
this.setScrollState();
|
|
62
|
+
}, this.wsClassOnScrollDirChange || 5000);
|
|
63
|
+
}
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
65
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ClassChangeOnScrollDirective, selector: "[wsUtilsClassChangeOnScroll]", inputs: { wsClassOnScrollDirChange: "wsClassOnScrollDirChange" }, host: { properties: { "class.scrolling-down": "this.isScrollingDown", "class.scrolling-up": "this.isScrollingUp", "class.scrolling-no": "this.isNotScrolling", "class.scrolled-down": "this.hasScrolledDown" } }, ngImport: i0 }); }
|
|
66
|
+
}
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollDirective, decorators: [{
|
|
68
|
+
type: Directive,
|
|
69
|
+
args: [{
|
|
70
|
+
selector: '[wsUtilsClassChangeOnScroll]',
|
|
71
|
+
}]
|
|
72
|
+
}], ctorParameters: function () { return []; }, propDecorators: { wsClassOnScrollDirChange: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], isScrollingDown: [{
|
|
75
|
+
type: HostBinding,
|
|
76
|
+
args: ['class.scrolling-down']
|
|
77
|
+
}], isScrollingUp: [{
|
|
78
|
+
type: HostBinding,
|
|
79
|
+
args: ['class.scrolling-up']
|
|
80
|
+
}], isNotScrolling: [{
|
|
81
|
+
type: HostBinding,
|
|
82
|
+
args: ['class.scrolling-no']
|
|
83
|
+
}], hasScrolledDown: [{
|
|
84
|
+
type: HostBinding,
|
|
85
|
+
args: ['class.scrolled-down']
|
|
86
|
+
}] } });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtY2hhbmdlLW9uLXNjcm9sbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9kaXJlY3RpdmVzL2NsYXNzLWNoYW5nZS1vbi1zY3JvbGwvY2xhc3MtY2hhbmdlLW9uLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUE0QixNQUFNLGVBQWUsQ0FBQTtBQUMvRixPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7O0FBRTdDLElBQUssa0JBSUo7QUFKRCxXQUFLLGtCQUFrQjtJQUNyQix5RUFBVyxDQUFBO0lBQ1gsNkVBQWEsQ0FBQTtJQUNiLHlFQUFXLENBQUE7QUFDYixDQUFDLEVBSkksa0JBQWtCLEtBQWxCLGtCQUFrQixRQUl0QjtBQUtELE1BQU0sT0FBTyw0QkFBNEI7SUFJdkMsSUFBeUMsZUFBZTtRQUN0RCxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssa0JBQWtCLENBQUMsYUFBYSxDQUFBO0lBQzVELENBQUM7SUFDRCxJQUF1QyxhQUFhO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxrQkFBa0IsQ0FBQyxXQUFXLENBQUE7SUFDMUQsQ0FBQztJQUNELElBQXVDLGNBQWM7UUFDbkQsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLGtCQUFrQixDQUFDLFdBQVcsQ0FBQTtJQUMxRCxDQUFDO0lBUUQ7UUFsQlMsNkJBQXdCLEdBQUcsSUFBSSxDQUFBO1FBV0osb0JBQWUsR0FBRyxLQUFLLENBQUE7UUFFbkQsNkJBQXdCLEdBQXdCLElBQUksQ0FBQTtRQUdwRCxrQkFBYSxHQUFHLENBQUMsQ0FBQTtRQUNqQixjQUFTLEdBQXVCLGtCQUFrQixDQUFDLFdBQVcsQ0FBQTtJQUN0RCxDQUFDO0lBQ2pCLFFBQVE7UUFDTixJQUFJLENBQUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFRLE1BQU0sRUFBRSxRQUFRLENBQUM7YUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN0QixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUMvQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFBO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQTtZQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUE7UUFDM0IsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQsZUFBZSxLQUFLLENBQUM7SUFDckIsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ2pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtTQUM1QztJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsT0FBZSxDQUFDLEVBQUUsT0FBZSxDQUFDO1FBQ3ZELElBQUksSUFBSSxHQUFHLElBQUksRUFBRTtZQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFBO1NBQ2hEO2FBQU0sSUFBSSxJQUFJLEdBQUcsSUFBSSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxDQUFBO1NBQ2xEO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQTtTQUNoRDtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUU7WUFDckQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUE7U0FDM0I7SUFDSCxDQUFDO0lBQ08sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUM1QixHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7UUFDdkIsQ0FBQyxFQUNELElBQUksQ0FBQyx3QkFBd0IsSUFBSSxJQUFJLENBQ3RDLENBQUE7SUFDSCxDQUFDOytHQTNEVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qjs7NEZBQTVCLDRCQUE0QjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO2lCQUN6QzswRUFHVSx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBRW1DLGVBQWU7c0JBQXZELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUdJLGFBQWE7c0JBQW5ELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUdNLGNBQWM7c0JBQXBELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUdHLGVBQWU7c0JBQWxELFdBQVc7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0LCBIb3N0QmluZGluZywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuXHJcbmVudW0gU2Nyb2xsaW5nU3RhdGVFbnVtIHtcclxuICBTY3JvbGxpbmdVcCxcclxuICBTY3JvbGxpbmdEb3duLFxyXG4gIE5vU2Nyb2xsaW5nLFxyXG59XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t3c1V0aWxzQ2xhc3NDaGFuZ2VPblNjcm9sbF0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xhc3NDaGFuZ2VPblNjcm9sbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCkgd3NDbGFzc09uU2Nyb2xsRGlyQ2hhbmdlID0gNTAwMFxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNjcm9sbGluZy1kb3duJykgZ2V0IGlzU2Nyb2xsaW5nRG93bigpIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJTdGF0ZSA9PT0gU2Nyb2xsaW5nU3RhdGVFbnVtLlNjcm9sbGluZ0Rvd25cclxuICB9XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY3JvbGxpbmctdXAnKSBnZXQgaXNTY3JvbGxpbmdVcCgpIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJTdGF0ZSA9PT0gU2Nyb2xsaW5nU3RhdGVFbnVtLlNjcm9sbGluZ1VwXHJcbiAgfVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2Nyb2xsaW5nLW5vJykgZ2V0IGlzTm90U2Nyb2xsaW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY3VyclN0YXRlID09PSBTY3JvbGxpbmdTdGF0ZUVudW0uTm9TY3JvbGxpbmdcclxuICB9XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY3JvbGxlZC1kb3duJykgaGFzU2Nyb2xsZWREb3duID0gZmFsc2VcclxuXHJcbiAgcHJpdmF0ZSB3aW5kb3dTY3JvbGxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsXHJcbiAgcHJpdmF0ZSB0aW1lb3V0VGltZXI6IGFueVxyXG5cclxuICBwcml2YXRlIGxhc3RTY3JlZW5Ub3AgPSAwXHJcbiAgcHJpdmF0ZSBjdXJyU3RhdGU6IFNjcm9sbGluZ1N0YXRlRW51bSA9IFNjcm9sbGluZ1N0YXRlRW51bS5Ob1Njcm9sbGluZ1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLndpbmRvd1Njcm9sbFN1YnNjcmlwdGlvbiA9IGZyb21FdmVudDxFdmVudD4od2luZG93LCAnc2Nyb2xsJylcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dFRpbWVyKVxyXG4gICAgICAgIGNvbnN0IGN1cnIgPSB3aW5kb3cuc2Nyb2xsWVxyXG4gICAgICAgIHRoaXMuaGFzU2Nyb2xsZWREb3duID0gY3VyciA+IDU2XHJcbiAgICAgICAgdGhpcy5zZXRTY3JvbGxTdGF0ZSh0aGlzLmxhc3RTY3JlZW5Ub3AsIGN1cnIpXHJcbiAgICAgICAgdGhpcy5sYXN0U2NyZWVuVG9wID0gY3VyclxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkgeyB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy53aW5kb3dTY3JvbGxTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy53aW5kb3dTY3JvbGxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTY3JvbGxTdGF0ZShwcmV2OiBudW1iZXIgPSAwLCBjdXJyOiBudW1iZXIgPSAwKSB7XHJcbiAgICBpZiAocHJldiA+IGN1cnIpIHtcclxuICAgICAgdGhpcy5jdXJyU3RhdGUgPSBTY3JvbGxpbmdTdGF0ZUVudW0uU2Nyb2xsaW5nVXBcclxuICAgIH0gZWxzZSBpZiAocHJldiA8IGN1cnIpIHtcclxuICAgICAgdGhpcy5jdXJyU3RhdGUgPSBTY3JvbGxpbmdTdGF0ZUVudW0uU2Nyb2xsaW5nRG93blxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyU3RhdGUgPSBTY3JvbGxpbmdTdGF0ZUVudW0uTm9TY3JvbGxpbmdcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1cnJTdGF0ZSAhPT0gU2Nyb2xsaW5nU3RhdGVFbnVtLk5vU2Nyb2xsaW5nKSB7XHJcbiAgICAgIHRoaXMucmVzZXRTY3JvbGxpbmdTdGF0ZSgpXHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVzZXRTY3JvbGxpbmdTdGF0ZSgpIHtcclxuICAgIHRoaXMudGltZW91dFRpbWVyID0gc2V0VGltZW91dChcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U2Nyb2xsU3RhdGUoKVxyXG4gICAgICB9LFxyXG4gICAgICB0aGlzLndzQ2xhc3NPblNjcm9sbERpckNoYW5nZSB8fCA1MDAwLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ClassChangeOnScrollDirective } from './class-change-on-scroll.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ClassChangeOnScrollModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollModule, declarations: [ClassChangeOnScrollDirective], imports: [CommonModule], exports: [ClassChangeOnScrollDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollModule, imports: [CommonModule] }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [ClassChangeOnScrollDirective],
|
|
14
|
+
imports: [
|
|
15
|
+
CommonModule,
|
|
16
|
+
],
|
|
17
|
+
exports: [ClassChangeOnScrollDirective],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtY2hhbmdlLW9uLXNjcm9sbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9kaXJlY3RpdmVzL2NsYXNzLWNoYW5nZS1vbi1zY3JvbGwvY2xhc3MtY2hhbmdlLW9uLXNjcm9sbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7O0FBU2pGLE1BQU0sT0FBTyx5QkFBeUI7K0dBQXpCLHlCQUF5QjtnSEFBekIseUJBQXlCLGlCQU5yQiw0QkFBNEIsYUFFekMsWUFBWSxhQUVKLDRCQUE0QjtnSEFFM0IseUJBQXlCLFlBSmxDLFlBQVk7OzRGQUlILHlCQUF5QjtrQkFQckMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7IENsYXNzQ2hhbmdlT25TY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL2NsYXNzLWNoYW5nZS1vbi1zY3JvbGwuZGlyZWN0aXZlJ1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtDbGFzc0NoYW5nZU9uU2Nyb2xsRGlyZWN0aXZlXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbQ2xhc3NDaGFuZ2VPblNjcm9sbERpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGFzc0NoYW5nZU9uU2Nyb2xsTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Directive, Input, HostListener, HostBinding } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DefaultThumbnailDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.wsUtilsDefaultThumbnail = '';
|
|
6
|
+
this.src = '';
|
|
7
|
+
this.isSrcUpdateAttemptedForDefault = false;
|
|
8
|
+
this.srcUrl = '';
|
|
9
|
+
}
|
|
10
|
+
updateSrc() {
|
|
11
|
+
if (!this.isSrcUpdateAttemptedForDefault) {
|
|
12
|
+
this.srcUrl = this.wsUtilsDefaultThumbnail;
|
|
13
|
+
this.isSrcUpdateAttemptedForDefault = true;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
ngOnChanges() {
|
|
17
|
+
if (this.src) {
|
|
18
|
+
this.srcUrl = this.src;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
22
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DefaultThumbnailDirective, selector: "[wsUtilsDefaultThumbnail]", inputs: { wsUtilsDefaultThumbnail: "wsUtilsDefaultThumbnail", src: "src" }, host: { listeners: { "error": "updateSrc()" }, properties: { "src": "this.srcUrl" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailDirective, decorators: [{
|
|
25
|
+
type: Directive,
|
|
26
|
+
args: [{
|
|
27
|
+
selector: '[wsUtilsDefaultThumbnail]',
|
|
28
|
+
}]
|
|
29
|
+
}], propDecorators: { wsUtilsDefaultThumbnail: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], src: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], srcUrl: [{
|
|
34
|
+
type: HostBinding,
|
|
35
|
+
args: ['src']
|
|
36
|
+
}], updateSrc: [{
|
|
37
|
+
type: HostListener,
|
|
38
|
+
args: ['error']
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10aHVtYm5haWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3V0aWxzL3NyYy9saWIvZGlyZWN0aXZlcy9kZWZhdWx0LXRodW1ibmFpbC9kZWZhdWx0LXRodW1ibmFpbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBYSxNQUFNLGVBQWUsQ0FBQTs7QUFLdEYsTUFBTSxPQUFPLHlCQUF5QjtJQUh0QztRQUtXLDRCQUF1QixHQUFHLEVBQUUsQ0FBQTtRQUM1QixRQUFHLEdBQUcsRUFBRSxDQUFBO1FBQ2pCLG1DQUE4QixHQUFHLEtBQUssQ0FBQTtRQUVsQixXQUFNLEdBQUcsRUFBRSxDQUFBO0tBY2hDO0lBYndCLFNBQVM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRTtZQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQTtZQUMxQyxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFBO1NBQzNDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUE7U0FDdkI7SUFDSCxDQUFDOytHQWxCVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs4QkFHVSx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUdjLE1BQU07c0JBQXpCLFdBQVc7dUJBQUMsS0FBSztnQkFDSyxTQUFTO3NCQUEvQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBIb3N0TGlzdGVuZXIsIEhvc3RCaW5kaW5nLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbd3NVdGlsc0RlZmF1bHRUaHVtYm5haWxdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRUaHVtYm5haWxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSB3c1V0aWxzRGVmYXVsdFRodW1ibmFpbCA9ICcnXHJcbiAgQElucHV0KCkgc3JjID0gJydcclxuICBpc1NyY1VwZGF0ZUF0dGVtcHRlZEZvckRlZmF1bHQgPSBmYWxzZVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3NyYycpIHNyY1VybCA9ICcnXHJcbiAgQEhvc3RMaXN0ZW5lcignZXJyb3InKSB1cGRhdGVTcmMoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNTcmNVcGRhdGVBdHRlbXB0ZWRGb3JEZWZhdWx0KSB7XHJcbiAgICAgIHRoaXMuc3JjVXJsID0gdGhpcy53c1V0aWxzRGVmYXVsdFRodW1ibmFpbFxyXG4gICAgICB0aGlzLmlzU3JjVXBkYXRlQXR0ZW1wdGVkRm9yRGVmYXVsdCA9IHRydWVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMuc3JjKSB7XHJcbiAgICAgIHRoaXMuc3JjVXJsID0gdGhpcy5zcmNcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { DefaultThumbnailDirective } from './default-thumbnail.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class DefaultThumbnailModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailModule, declarations: [DefaultThumbnailDirective], imports: [CommonModule], exports: [DefaultThumbnailDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailModule, imports: [CommonModule] }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [DefaultThumbnailDirective],
|
|
14
|
+
imports: [
|
|
15
|
+
CommonModule,
|
|
16
|
+
],
|
|
17
|
+
exports: [DefaultThumbnailDirective],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10aHVtYm5haWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3V0aWxzL3NyYy9saWIvZGlyZWN0aXZlcy9kZWZhdWx0LXRodW1ibmFpbC9kZWZhdWx0LXRodW1ibmFpbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUE7O0FBU3pFLE1BQU0sT0FBTyxzQkFBc0I7K0dBQXRCLHNCQUFzQjtnSEFBdEIsc0JBQXNCLGlCQU5sQix5QkFBeUIsYUFFdEMsWUFBWSxhQUVKLHlCQUF5QjtnSEFFeEIsc0JBQXNCLFlBSi9CLFlBQVk7OzRGQUlILHNCQUFzQjtrQkFQbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7IERlZmF1bHRUaHVtYm5haWxEaXJlY3RpdmUgfSBmcm9tICcuL2RlZmF1bHQtdGh1bWJuYWlsLmRpcmVjdGl2ZSdcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbRGVmYXVsdFRodW1ibmFpbERpcmVjdGl2ZV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0RlZmF1bHRUaHVtYm5haWxEaXJlY3RpdmVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVmYXVsdFRodW1ibmFpbE1vZHVsZSB7IH1cclxuIl19
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Directive, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import { distinctUntilChanged } from 'rxjs/operators';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/cdk/layout";
|
|
5
|
+
const customBreakPoints = {
|
|
6
|
+
xs: '(max-width: 450px)',
|
|
7
|
+
s: '(min-width: 450.001px) and (max-width: 768px)',
|
|
8
|
+
m: '(min-width: 768.001px) and (max-width: 1024px)',
|
|
9
|
+
l: '(min-width: 1024.001px) and (max-width: 1400px)',
|
|
10
|
+
xl: '(min-width: 1400.001px) and (max-width: 1920px)',
|
|
11
|
+
xxl: '(min-width: 1920.001px)',
|
|
12
|
+
};
|
|
13
|
+
export class ImageResponsiveDirective {
|
|
14
|
+
constructor(breakpointObserver) {
|
|
15
|
+
this.breakpointObserver = breakpointObserver;
|
|
16
|
+
this.src = null;
|
|
17
|
+
this.srcBindUrl = '';
|
|
18
|
+
this.currentSize = '';
|
|
19
|
+
this.breakpointSubscription = null;
|
|
20
|
+
this.breakpointSubscription = this.breakpointObserver
|
|
21
|
+
.observe([
|
|
22
|
+
customBreakPoints.xs,
|
|
23
|
+
customBreakPoints.s,
|
|
24
|
+
customBreakPoints.m,
|
|
25
|
+
customBreakPoints.l,
|
|
26
|
+
customBreakPoints.xl,
|
|
27
|
+
customBreakPoints.xxl,
|
|
28
|
+
])
|
|
29
|
+
.pipe(distinctUntilChanged())
|
|
30
|
+
.subscribe(data => {
|
|
31
|
+
if (data.breakpoints[customBreakPoints.xxl]) {
|
|
32
|
+
this.currentSize = 'xxl';
|
|
33
|
+
}
|
|
34
|
+
else if (data.breakpoints[customBreakPoints.xl]) {
|
|
35
|
+
this.currentSize = 'xl';
|
|
36
|
+
}
|
|
37
|
+
else if (data.breakpoints[customBreakPoints.l]) {
|
|
38
|
+
this.currentSize = 'l';
|
|
39
|
+
}
|
|
40
|
+
else if (data.breakpoints[customBreakPoints.m]) {
|
|
41
|
+
this.currentSize = 'm';
|
|
42
|
+
}
|
|
43
|
+
else if (data.breakpoints[customBreakPoints.s]) {
|
|
44
|
+
this.currentSize = 's';
|
|
45
|
+
}
|
|
46
|
+
else if (data.breakpoints[customBreakPoints.xs]) {
|
|
47
|
+
this.currentSize = 'xs';
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.currentSize = 'xl';
|
|
51
|
+
}
|
|
52
|
+
this.setSrc();
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
ngOnChanges() {
|
|
56
|
+
if (this.src) {
|
|
57
|
+
this.setSrc();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
ngOnDestroy() {
|
|
61
|
+
if (this.breakpointSubscription) {
|
|
62
|
+
this.breakpointSubscription.unsubscribe();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
setSrc() {
|
|
66
|
+
if (this.currentSize &&
|
|
67
|
+
this.src &&
|
|
68
|
+
this.src[this.currentSize]) {
|
|
69
|
+
this.srcBindUrl = this.src[this.currentSize];
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveDirective, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
73
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ImageResponsiveDirective, selector: "[wsUtilsImageResponsive]", inputs: { src: "src" }, host: { properties: { "src": "this.srcBindUrl" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
74
|
+
}
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveDirective, decorators: [{
|
|
76
|
+
type: Directive,
|
|
77
|
+
args: [{
|
|
78
|
+
selector: '[wsUtilsImageResponsive]',
|
|
79
|
+
}]
|
|
80
|
+
}], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; }, propDecorators: { src: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], srcBindUrl: [{
|
|
83
|
+
type: HostBinding,
|
|
84
|
+
args: ['src']
|
|
85
|
+
}] } });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcmVzcG9uc2l2ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9kaXJlY3RpdmVzL2ltYWdlLXJlc3BvbnNpdmUvaW1hZ2UtcmVzcG9uc2l2ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUF3QixNQUFNLGVBQWUsQ0FBQTtBQUVuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7O0FBTXJELE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsRUFBRSxFQUFFLG9CQUFvQjtJQUN4QixDQUFDLEVBQUUsK0NBQStDO0lBQ2xELENBQUMsRUFBRSxnREFBZ0Q7SUFDbkQsQ0FBQyxFQUFFLGlEQUFpRDtJQUNwRCxFQUFFLEVBQUUsaURBQWlEO0lBQ3JELEdBQUcsRUFBRSx5QkFBeUI7Q0FDL0IsQ0FBQTtBQUtELE1BQU0sT0FBTyx3QkFBd0I7SUFPbkMsWUFDVSxrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQU52QyxRQUFHLEdBQWdDLElBQUksQ0FBQTtRQUM1QixlQUFVLEdBQUcsRUFBRSxDQUFBO1FBRW5DLGdCQUFXLEdBQUcsRUFBRSxDQUFBO1FBQ2hCLDJCQUFzQixHQUF3QixJQUFJLENBQUE7UUFJaEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxrQkFBa0I7YUFDbEQsT0FBTyxDQUFDO1lBQ1AsaUJBQWlCLENBQUMsRUFBRTtZQUNwQixpQkFBaUIsQ0FBQyxDQUFDO1lBQ25CLGlCQUFpQixDQUFDLENBQUM7WUFDbkIsaUJBQWlCLENBQUMsQ0FBQztZQUNuQixpQkFBaUIsQ0FBQyxFQUFFO1lBQ3BCLGlCQUFpQixDQUFDLEdBQUc7U0FDdEIsQ0FBQzthQUNELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUVoQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFBO2FBQ3pCO2lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUE7YUFDeEI7aUJBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQTthQUN2QjtpQkFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFBO2FBQ3ZCO2lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUE7YUFDdkI7aUJBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQTthQUN4QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQTthQUN4QjtZQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNmLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7U0FDZDtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFBO1NBQzFDO0lBQ0gsQ0FBQztJQUVPLE1BQU07UUFDWixJQUNFLElBQUksQ0FBQyxXQUFXO1lBQ2hCLElBQUksQ0FBQyxHQUFHO1lBQ1IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQzFCO1lBQ0EsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtTQUM3QztJQUNILENBQUM7K0dBN0RVLHdCQUF3QjttR0FBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQUhwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3JDO3lHQUdVLEdBQUc7c0JBQVgsS0FBSztnQkFDYyxVQUFVO3NCQUE3QixXQUFXO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0J1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW1hZ2VSZXNwb25zaXZlVW5pdCB7XHJcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nXHJcbn1cclxuXHJcbmNvbnN0IGN1c3RvbUJyZWFrUG9pbnRzID0ge1xyXG4gIHhzOiAnKG1heC13aWR0aDogNDUwcHgpJyxcclxuICBzOiAnKG1pbi13aWR0aDogNDUwLjAwMXB4KSBhbmQgKG1heC13aWR0aDogNzY4cHgpJyxcclxuICBtOiAnKG1pbi13aWR0aDogNzY4LjAwMXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KScsXHJcbiAgbDogJyhtaW4td2lkdGg6IDEwMjQuMDAxcHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpJyxcclxuICB4bDogJyhtaW4td2lkdGg6IDE0MDAuMDAxcHgpIGFuZCAobWF4LXdpZHRoOiAxOTIwcHgpJyxcclxuICB4eGw6ICcobWluLXdpZHRoOiAxOTIwLjAwMXB4KScsXHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3dzVXRpbHNJbWFnZVJlc3BvbnNpdmVdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEltYWdlUmVzcG9uc2l2ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgc3JjOiBJSW1hZ2VSZXNwb25zaXZlVW5pdCB8IG51bGwgPSBudWxsXHJcbiAgQEhvc3RCaW5kaW5nKCdzcmMnKSBzcmNCaW5kVXJsID0gJydcclxuXHJcbiAgY3VycmVudFNpemUgPSAnJ1xyXG4gIGJyZWFrcG9pbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxyXG4gICkge1xyXG4gICAgdGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJcclxuICAgICAgLm9ic2VydmUoW1xyXG4gICAgICAgIGN1c3RvbUJyZWFrUG9pbnRzLnhzLFxyXG4gICAgICAgIGN1c3RvbUJyZWFrUG9pbnRzLnMsXHJcbiAgICAgICAgY3VzdG9tQnJlYWtQb2ludHMubSxcclxuICAgICAgICBjdXN0b21CcmVha1BvaW50cy5sLFxyXG4gICAgICAgIGN1c3RvbUJyZWFrUG9pbnRzLnhsLFxyXG4gICAgICAgIGN1c3RvbUJyZWFrUG9pbnRzLnh4bCxcclxuICAgICAgXSlcclxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICAvLyAvL2NvbnNvbGUubG9nKCdkYXRhID4nLCAgZGF0YSlcclxuICAgICAgICBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy54eGxdKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRTaXplID0gJ3h4bCdcclxuICAgICAgICB9IGVsc2UgaWYgKGRhdGEuYnJlYWtwb2ludHNbY3VzdG9tQnJlYWtQb2ludHMueGxdKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRTaXplID0gJ3hsJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy5sXSkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U2l6ZSA9ICdsJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy5tXSkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U2l6ZSA9ICdtJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy5zXSkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U2l6ZSA9ICdzJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy54c10pIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFNpemUgPSAneHMnXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFNpemUgPSAneGwnXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0U3JjKClcclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMuc3JjKSB7XHJcbiAgICAgIHRoaXMuc2V0U3JjKClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLmJyZWFrcG9pbnRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTcmMoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY3VycmVudFNpemUgJiZcclxuICAgICAgdGhpcy5zcmMgJiZcclxuICAgICAgdGhpcy5zcmNbdGhpcy5jdXJyZW50U2l6ZV1cclxuICAgICkge1xyXG4gICAgICB0aGlzLnNyY0JpbmRVcmwgPSB0aGlzLnNyY1t0aGlzLmN1cnJlbnRTaXplXVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ImageResponsiveDirective } from './image-responsive.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ImageResponsiveModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveModule, declarations: [ImageResponsiveDirective], imports: [CommonModule], exports: [ImageResponsiveDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveModule, imports: [CommonModule] }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [ImageResponsiveDirective],
|
|
14
|
+
imports: [
|
|
15
|
+
CommonModule,
|
|
16
|
+
],
|
|
17
|
+
exports: [ImageResponsiveDirective],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcmVzcG9uc2l2ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9kaXJlY3RpdmVzL2ltYWdlLXJlc3BvbnNpdmUvaW1hZ2UtcmVzcG9uc2l2ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUE7O0FBU3ZFLE1BQU0sT0FBTyxxQkFBcUI7K0dBQXJCLHFCQUFxQjtnSEFBckIscUJBQXFCLGlCQU5qQix3QkFBd0IsYUFFckMsWUFBWSxhQUVKLHdCQUF3QjtnSEFFdkIscUJBQXFCLFlBSjlCLFlBQVk7OzRGQUlILHFCQUFxQjtrQkFQakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDeEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7IEltYWdlUmVzcG9uc2l2ZURpcmVjdGl2ZSB9IGZyb20gJy4vaW1hZ2UtcmVzcG9uc2l2ZS5kaXJlY3RpdmUnXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0ltYWdlUmVzcG9uc2l2ZURpcmVjdGl2ZV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0ltYWdlUmVzcG9uc2l2ZURpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZVJlc3BvbnNpdmVNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Directive, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { fromEvent } from 'rxjs';
|
|
3
|
+
import { debounceTime } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class InViewPortDirective {
|
|
6
|
+
constructor(_el) {
|
|
7
|
+
this._el = _el;
|
|
8
|
+
this.inViewport = new EventEmitter();
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
this.check();
|
|
12
|
+
this.scroll =
|
|
13
|
+
fromEvent(window, 'scroll').pipe(debounceTime(100)).subscribe(() => {
|
|
14
|
+
this.check();
|
|
15
|
+
});
|
|
16
|
+
this.resize =
|
|
17
|
+
fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe(() => {
|
|
18
|
+
this.check();
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
ngOnDestroy() {
|
|
22
|
+
this.scroll.unsubscribe();
|
|
23
|
+
this.resize.unsubscribe();
|
|
24
|
+
}
|
|
25
|
+
check(partial = true, direction = 'both') {
|
|
26
|
+
const el = this._el.nativeElement;
|
|
27
|
+
const elSize = (el.offsetWidth * el.offsetHeight);
|
|
28
|
+
const rec = el.getBoundingClientRect();
|
|
29
|
+
const vp = {
|
|
30
|
+
width: window.innerWidth,
|
|
31
|
+
height: window.innerHeight,
|
|
32
|
+
};
|
|
33
|
+
const tViz = rec.top >= 0 && rec.top < vp.height;
|
|
34
|
+
const bViz = rec.bottom > 0 && rec.bottom <= vp.height;
|
|
35
|
+
const lViz = rec.left >= 0 && rec.left < vp.width;
|
|
36
|
+
const rViz = rec.right > 0 && rec.right <= vp.width;
|
|
37
|
+
const vVisible = partial ? tViz || bViz : tViz && bViz;
|
|
38
|
+
const hVisible = partial ? lViz || rViz : lViz && rViz;
|
|
39
|
+
let event = false;
|
|
40
|
+
if (direction === 'both') {
|
|
41
|
+
event = (elSize && vVisible && hVisible) ? true : false;
|
|
42
|
+
}
|
|
43
|
+
else if (direction === 'vertical') {
|
|
44
|
+
event = (elSize && vVisible) ? true : false;
|
|
45
|
+
}
|
|
46
|
+
else if (direction === 'horizontal') {
|
|
47
|
+
event = (elSize && hVisible) ? true : false;
|
|
48
|
+
}
|
|
49
|
+
this.inViewport.emit(event);
|
|
50
|
+
}
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InViewPortDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
52
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: InViewPortDirective, selector: "[wsUtilsInViewPort]", outputs: { inViewport: "inViewport" }, ngImport: i0 }); }
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InViewPortDirective, decorators: [{
|
|
55
|
+
type: Directive,
|
|
56
|
+
args: [{
|
|
57
|
+
selector: '[wsUtilsInViewPort]',
|
|
58
|
+
}]
|
|
59
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { inViewport: [{
|
|
60
|
+
type: Output
|
|
61
|
+
}] } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tdmlldy1wb3J0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi91dGlscy9zcmMvbGliL2RpcmVjdGl2ZXMvaW4tdmlldy1wb3J0L2luLXZpZXctcG9ydC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUF5QixNQUFNLGVBQWUsQ0FBQTtBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7QUFLN0MsTUFBTSxPQUFPLG1CQUFtQjtJQU85QixZQUFvQixHQUFlO1FBQWYsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUZ6QixlQUFVLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUE7SUFFbEMsQ0FBQztJQUV4QyxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ1osSUFBSSxDQUFDLE1BQU07WUFDVCxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNqRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDZCxDQUFDLENBQUMsQ0FBQTtRQUNKLElBQUksQ0FBQyxNQUFNO1lBQ1QsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDakUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQ2QsQ0FBQyxDQUFDLENBQUE7SUFnQk4sQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFtQixJQUFJLEVBQUUsWUFBb0IsTUFBTTtRQUN2RCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQTtRQUVqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBRWpELE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO1FBRXRDLE1BQU0sRUFBRSxHQUFHO1lBQ1QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQ3hCLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVztTQUMzQixDQUFBO1FBRUQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFBO1FBQ2hELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQTtRQUV0RCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUE7UUFDakQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFBO1FBRW5ELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQTtRQUN0RCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUE7UUFFdEQsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFBO1FBRWpCLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRTtZQUN4QixLQUFLLEdBQUcsQ0FBQyxNQUFNLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtTQUN4RDthQUFNLElBQUksU0FBUyxLQUFLLFVBQVUsRUFBRTtZQUNuQyxLQUFLLEdBQUcsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO1NBQzVDO2FBQU0sSUFBSSxTQUFTLEtBQUssWUFBWSxFQUFFO1lBQ3JDLEtBQUssR0FBRyxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7U0FDNUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM3QixDQUFDOytHQXhFVSxtQkFBbUI7bUdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQztpR0FNVyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3dzVXRpbHNJblZpZXdQb3J0XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJblZpZXdQb3J0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBwcml2YXRlIHNjcm9sbDogYW55XHJcbiAgcHJpdmF0ZSByZXNpemU6IGFueVxyXG5cclxuICBAT3V0cHV0KCkgaW5WaWV3cG9ydDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNoZWNrKClcclxuICAgIHRoaXMuc2Nyb2xsID1cclxuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Njcm9sbCcpLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jaGVjaygpXHJcbiAgICAgIH0pXHJcbiAgICB0aGlzLnJlc2l6ZSA9XHJcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKS5waXBlKGRlYm91bmNlVGltZSgxMDApKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hlY2soKVxyXG4gICAgICB9KVxyXG5cclxuICAgIC8vIGxldCBsaW1pdCA9IDFcclxuICAgIC8vIHRoaXMuc2Nyb2xsID1cclxuICAgIC8vICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Njcm9sbCcpLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAvLyAgICAgaWYgKGxpbWl0KSB7XHJcbiAgICAvLyAgICAgICB0aGlzLmNoZWNrKClcclxuICAgIC8vICAgICAgIGxpbWl0IC09IDFcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH0pXHJcblxyXG4gICAgLy8gdGhpcy5yZXNpemUgPVxyXG4gICAgLy8gICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJykudG9Qcm9taXNlKCkudGhlbigoKSA9PiB7XHJcbiAgICAvLyAgICAgdGhpcy5jaGVjaygpXHJcbiAgICAvLyAgIH0pXHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnNjcm9sbC51bnN1YnNjcmliZSgpXHJcbiAgICB0aGlzLnJlc2l6ZS51bnN1YnNjcmliZSgpXHJcbiAgfVxyXG5cclxuICBjaGVjayhwYXJ0aWFsOiBib29sZWFuID0gdHJ1ZSwgZGlyZWN0aW9uOiBzdHJpbmcgPSAnYm90aCcpIHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudFxyXG5cclxuICAgIGNvbnN0IGVsU2l6ZSA9IChlbC5vZmZzZXRXaWR0aCAqIGVsLm9mZnNldEhlaWdodClcclxuXHJcbiAgICBjb25zdCByZWMgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxyXG5cclxuICAgIGNvbnN0IHZwID0ge1xyXG4gICAgICB3aWR0aDogd2luZG93LmlubmVyV2lkdGgsXHJcbiAgICAgIGhlaWdodDogd2luZG93LmlubmVySGVpZ2h0LFxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRWaXogPSByZWMudG9wID49IDAgJiYgcmVjLnRvcCA8IHZwLmhlaWdodFxyXG4gICAgY29uc3QgYlZpeiA9IHJlYy5ib3R0b20gPiAwICYmIHJlYy5ib3R0b20gPD0gdnAuaGVpZ2h0XHJcblxyXG4gICAgY29uc3QgbFZpeiA9IHJlYy5sZWZ0ID49IDAgJiYgcmVjLmxlZnQgPCB2cC53aWR0aFxyXG4gICAgY29uc3QgclZpeiA9IHJlYy5yaWdodCA+IDAgJiYgcmVjLnJpZ2h0IDw9IHZwLndpZHRoXHJcblxyXG4gICAgY29uc3QgdlZpc2libGUgPSBwYXJ0aWFsID8gdFZpeiB8fCBiVml6IDogdFZpeiAmJiBiVml6XHJcbiAgICBjb25zdCBoVmlzaWJsZSA9IHBhcnRpYWwgPyBsVml6IHx8IHJWaXogOiBsVml6ICYmIHJWaXpcclxuXHJcbiAgICBsZXQgZXZlbnQgPSBmYWxzZVxyXG5cclxuICAgIGlmIChkaXJlY3Rpb24gPT09ICdib3RoJykge1xyXG4gICAgICBldmVudCA9IChlbFNpemUgJiYgdlZpc2libGUgJiYgaFZpc2libGUpID8gdHJ1ZSA6IGZhbHNlXHJcbiAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJykge1xyXG4gICAgICBldmVudCA9IChlbFNpemUgJiYgdlZpc2libGUpID8gdHJ1ZSA6IGZhbHNlXHJcbiAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnKSB7XHJcbiAgICAgIGV2ZW50ID0gKGVsU2l6ZSAmJiBoVmlzaWJsZSkgPyB0cnVlIDogZmFsc2VcclxuICAgIH1cclxuICAgIHRoaXMuaW5WaWV3cG9ydC5lbWl0KGV2ZW50KVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { InViewPortDirective } from './in-view-port.directive';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class InViewPortModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InViewPortModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: InViewPortModule, declarations: [InViewPortDirective], imports: [CommonModule], exports: [InViewPortDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InViewPortModule, imports: [CommonModule] }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InViewPortModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [InViewPortDirective],
|
|
14
|
+
exports: [InViewPortDirective],
|
|
15
|
+
imports: [
|
|
16
|
+
CommonModule,
|
|
17
|
+
],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tdmlldy1wb3J0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi91dGlscy9zcmMvbGliL2RpcmVjdGl2ZXMvaW4tdmlldy1wb3J0L2luLXZpZXctcG9ydC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7O0FBUzlDLE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLGlCQU5aLG1CQUFtQixhQUdoQyxZQUFZLGFBRkosbUJBQW1CO2dIQUtsQixnQkFBZ0IsWUFIekIsWUFBWTs7NEZBR0gsZ0JBQWdCO2tCQVA1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDOUIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJblZpZXdQb3J0RGlyZWN0aXZlIH0gZnJvbSAnLi9pbi12aWV3LXBvcnQuZGlyZWN0aXZlJ1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbSW5WaWV3UG9ydERpcmVjdGl2ZV0sXHJcbiAgZXhwb3J0czogW0luVmlld1BvcnREaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5WaWV3UG9ydE1vZHVsZSB7IH1cclxuIl19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Directive, Input, HostBinding, HostListener } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NavigationDirective {
|
|
4
|
+
onMouseEnter($event) {
|
|
5
|
+
if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {
|
|
6
|
+
$event.preventDefault();
|
|
7
|
+
$event.stopPropagation();
|
|
8
|
+
this.routeUrl = './';
|
|
9
|
+
window.open(this.wsUtilsNavigation);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
constructor() {
|
|
13
|
+
this.wsUtilsNavigation = '';
|
|
14
|
+
this.openInNewTab = false;
|
|
15
|
+
this.routeUrl = '';
|
|
16
|
+
}
|
|
17
|
+
ngOnChanges() {
|
|
18
|
+
if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {
|
|
19
|
+
this.routeUrl = './';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NavigationDirective, selector: "[wsUtilsNavigation]", inputs: { wsUtilsNavigation: "wsUtilsNavigation", openInNewTab: "openInNewTab", routeUrl: "routeUrl" }, host: { listeners: { "mousedown": "onMouseEnter($event)" }, properties: { "attr.routerLink": "this.routeUrl" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationDirective, decorators: [{
|
|
26
|
+
type: Directive,
|
|
27
|
+
args: [{
|
|
28
|
+
selector: '[wsUtilsNavigation]',
|
|
29
|
+
}]
|
|
30
|
+
}], ctorParameters: function () { return []; }, propDecorators: { wsUtilsNavigation: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}], openInNewTab: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], routeUrl: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}, {
|
|
37
|
+
type: HostBinding,
|
|
38
|
+
args: ['attr.routerLink']
|
|
39
|
+
}], onMouseEnter: [{
|
|
40
|
+
type: HostListener,
|
|
41
|
+
args: ['mousedown', ['$event']]
|
|
42
|
+
}] } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9kaXJlY3RpdmVzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxLQUFLLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTs7QUFLdEYsTUFBTSxPQUFPLG1CQUFtQjtJQUtTLFlBQVksQ0FBQyxNQUFhO1FBQy9ELElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2xFLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUN2QixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUE7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7WUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtTQUNwQztJQUNILENBQUM7SUFDRDtRQVpTLHNCQUFpQixHQUFHLEVBQUUsQ0FBQTtRQUN0QixpQkFBWSxHQUFHLEtBQUssQ0FBQTtRQUVHLGFBQVEsR0FBRyxFQUFFLENBQUE7SUFTN0IsQ0FBQztJQUVqQixXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7U0FDckI7SUFDSCxDQUFDOytHQW5CVSxtQkFBbUI7bUdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQzswRUFFVSxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFMEIsUUFBUTtzQkFEdkMsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBQ1MsWUFBWTtzQkFBbEQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uQ2hhbmdlcywgSW5wdXQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbd3NVdGlsc05hdmlnYXRpb25dJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIHdzVXRpbHNOYXZpZ2F0aW9uID0gJydcclxuICBASW5wdXQoKSBvcGVuSW5OZXdUYWIgPSBmYWxzZVxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvdXRlckxpbmsnKSByb3V0ZVVybCA9ICcnXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSkgb25Nb3VzZUVudGVyKCRldmVudDogRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLm9wZW5Jbk5ld1RhYiB8fCB0aGlzLndzVXRpbHNOYXZpZ2F0aW9uLmluY2x1ZGVzKCdtYWlsdG8nKSkge1xyXG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxyXG4gICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcclxuICAgICAgdGhpcy5yb3V0ZVVybCA9ICcuLydcclxuICAgICAgd2luZG93Lm9wZW4odGhpcy53c1V0aWxzTmF2aWdhdGlvbilcclxuICAgIH1cclxuICB9XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICBpZiAodGhpcy5vcGVuSW5OZXdUYWIgfHwgdGhpcy53c1V0aWxzTmF2aWdhdGlvbi5pbmNsdWRlcygnbWFpbHRvJykpIHtcclxuICAgICAgdGhpcy5yb3V0ZVVybCA9ICcuLydcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NavigationDirective } from './navigation.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class NavigationModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NavigationModule, declarations: [NavigationDirective], imports: [CommonModule], exports: [NavigationDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationModule, imports: [CommonModule] }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [NavigationDirective],
|
|
14
|
+
imports: [
|
|
15
|
+
CommonModule,
|
|
16
|
+
],
|
|
17
|
+
exports: [NavigationDirective],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9kaXJlY3RpdmVzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7O0FBUzVELE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLGlCQU5aLG1CQUFtQixhQUVoQyxZQUFZLGFBRUosbUJBQW1CO2dIQUVsQixnQkFBZ0IsWUFKekIsWUFBWTs7NEZBSUgsZ0JBQWdCO2tCQVA1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNuQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vbmF2aWdhdGlvbi5kaXJlY3RpdmUnXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW05hdmlnYXRpb25EaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtOYXZpZ2F0aW9uRGlyZWN0aXZlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25Nb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PermissionDirective {
|
|
4
|
+
constructor() { }
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PermissionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PermissionDirective, selector: "[wsUtilsPermission]", ngImport: i0 }); }
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PermissionDirective, decorators: [{
|
|
9
|
+
type: Directive,
|
|
10
|
+
args: [{
|
|
11
|
+
selector: '[wsUtilsPermission]',
|
|
12
|
+
}]
|
|
13
|
+
}], ctorParameters: function () { return []; } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9kaXJlY3RpdmVzL3Blcm1pc3Npb24vcGVybWlzc2lvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7QUFLekMsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixnQkFBZ0IsQ0FBQzsrR0FGTixtQkFBbUI7bUdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t3c1V0aWxzUGVybWlzc2lvbl0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbkRpcmVjdGl2ZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { PermissionDirective } from './permission.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class PermissionModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PermissionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PermissionModule, declarations: [PermissionDirective], imports: [CommonModule], exports: [PermissionDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PermissionModule, imports: [CommonModule] }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PermissionModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [PermissionDirective],
|
|
14
|
+
imports: [
|
|
15
|
+
CommonModule,
|
|
16
|
+
],
|
|
17
|
+
exports: [PermissionDirective],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9kaXJlY3RpdmVzL3Blcm1pc3Npb24vcGVybWlzc2lvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7O0FBUzVELE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLGlCQU5aLG1CQUFtQixhQUVoQyxZQUFZLGFBRUosbUJBQW1CO2dIQUVsQixnQkFBZ0IsWUFKekIsWUFBWTs7NEZBSUgsZ0JBQWdCO2tCQVA1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNuQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgUGVybWlzc2lvbkRpcmVjdGl2ZSB9IGZyb20gJy4vcGVybWlzc2lvbi5kaXJlY3RpdmUnXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1Blcm1pc3Npb25EaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtQZXJtaXNzaW9uRGlyZWN0aXZlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25Nb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function getStringifiedQueryParams(obj) {
|
|
2
|
+
return Object.entries(obj)
|
|
3
|
+
.filter(u => u[1])
|
|
4
|
+
.map(u => {
|
|
5
|
+
return `${u[0]}=${u[1]}`;
|
|
6
|
+
})
|
|
7
|
+
.join('&');
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U3RyaW5naWZpZWRRdWVyeVBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi91dGlscy9zcmMvbGliL2hlbHBlcnMvZnVuY3Rpb25zL2dldFN0cmluZ2lmaWVkUXVlcnlQYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLHlCQUF5QixDQUFDLEdBQThEO0lBQ3RHLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7U0FDdkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNQLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDMUIsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBnZXRTdHJpbmdpZmllZFF1ZXJ5UGFyYW1zKG9iajogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfCBzdHJpbmcgfCB1bmRlZmluZWQgfCBzdHJpbmdbXSB9KSB7XHJcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iailcclxuICAgIC5maWx0ZXIodSA9PiB1WzFdKVxyXG4gICAgLm1hcCh1ID0+IHtcclxuICAgICAgcmV0dXJuIGAke3VbMF19PSR7dVsxXX1gXHJcbiAgICB9KVxyXG4gICAgLmpvaW4oJyYnKVxyXG59XHJcbiJdfQ==
|