ng-easycommerce 0.0.594 → 0.0.596
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 +921 -912
- package/assets/bamboo.html +145 -145
- package/assets/bancardCatastro.html +49 -49
- package/assets/bancardFrameBase.html +104 -104
- package/assets/cecaFrameRedirectBase.html +172 -172
- package/assets/decidirFormEc.html +516 -516
- package/assets/docs/COOKIES.md +158 -158
- package/assets/docs/Parametros-Frontend.md +56 -56
- package/assets/ec-i18n/ct.json +282 -282
- package/assets/ec-i18n/en.json +3 -1
- package/assets/ec-i18n/es.json +393 -391
- package/assets/ec-i18n/fr.json +0 -0
- package/assets/ec-i18n/gl.json +282 -282
- package/assets/ec-i18n/pr.json +282 -282
- package/assets/images/whatsapp.png +0 -0
- package/assets/mpFrameRedirectBase.html +114 -114
- package/assets/recaptcha/recaptcha-site-keys.json +3 -3
- package/assets/recaptcha/recaptcha-sites-prod.json +38 -38
- package/assets/recaptcha/recaptcha-sites.json +52 -52
- package/assets/redirect.html +62 -62
- package/assets/redsysAuthVdosBase.html +78 -78
- package/assets/redsysAuthVunoBase.html +84 -84
- package/assets/redsysFrameRedirectBase.html +102 -102
- package/assets/redsysFrameRedirectOutBase.html +102 -102
- package/assets/redsysFrameSendBase.html +71 -71
- package/assets/redsysProBase.html +399 -399
- package/assets/redsysStateBase.html +63 -63
- package/assets/scss/_colors.scss +17 -17
- package/assets/scss/_styles.scss +22 -22
- package/assets/svg/chevron-left-black.svg +61 -61
- package/assets/svg/chevron-right-black.svg +61 -61
- package/bundles/ng-easycommerce.umd.js +19291 -19230
- package/bundles/ng-easycommerce.umd.js.map +1 -1
- package/bundles/ng-easycommerce.umd.min.js +1 -1
- package/bundles/ng-easycommerce.umd.min.js.map +1 -1
- package/esm2015/lib/api/connection.service.js +77 -77
- package/esm2015/lib/classes/checkout/step-service.js +39 -39
- package/esm2015/lib/classes/checkout/step.js +22 -22
- package/esm2015/lib/classes/checkout-process-state.js +2 -2
- package/esm2015/lib/classes/component-helper.js +14 -14
- package/esm2015/lib/classes/filters/AttributesFilter.js +61 -61
- package/esm2015/lib/classes/filters/CategoryFilter.js +54 -54
- package/esm2015/lib/classes/filters/DinamycsFilter.js +58 -58
- package/esm2015/lib/classes/filters/Filter.js +75 -75
- package/esm2015/lib/classes/filters/PriceRangeFilter.js +51 -51
- package/esm2015/lib/classes/filters/SortFilter.js +79 -79
- package/esm2015/lib/classes/user-role-type.js +1 -1
- package/esm2015/lib/classes/user.js +108 -108
- package/esm2015/lib/core.consts.js +402 -402
- package/esm2015/lib/ec-component/account-ec/account-ec.component.js +45 -45
- package/esm2015/lib/ec-component/account-ec/order-ec/order-ec.component.js +119 -112
- package/esm2015/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +196 -188
- package/esm2015/lib/ec-component/auth-ec/auth-ec.component.js +115 -115
- package/esm2015/lib/ec-component/auth-ec/confirm-account-ec/confirm-account-ec.component.js +44 -44
- package/esm2015/lib/ec-component/auth-ec/forgot-password-ec/forgot-password-ec.component.js +58 -58
- package/esm2015/lib/ec-component/auth-ec/login-form-ec/login-form-ec.component.js +108 -108
- package/esm2015/lib/ec-component/auth-ec/register-form-ec/register-form-ec.component.js +166 -166
- package/esm2015/lib/ec-component/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.js +165 -165
- package/esm2015/lib/ec-component/auth-ec/select-channel-ec/select-channel-ec.component.js +78 -78
- package/esm2015/lib/ec-component/blocks-ec/block-banner-boxes-ec/block-banner-boxes-ec.component.js +138 -138
- package/esm2015/lib/ec-component/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.js +110 -110
- package/esm2015/lib/ec-component/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.js +138 -138
- package/esm2015/lib/ec-component/blocks-ec/block-html-ec/block-html-ec.component.js +38 -38
- package/esm2015/lib/ec-component/blocks-ec/block-newsletter-ec/contact-form-news-ec.component.js +152 -152
- package/esm2015/lib/ec-component/blocks-ec/block-products-ec/block-products-ec.component.js +119 -119
- package/esm2015/lib/ec-component/blocks-ec/blocks-ec.component.js +70 -70
- package/esm2015/lib/ec-component/build-your-ec/build-your-ec.component.js +305 -305
- package/esm2015/lib/ec-component/build-your-ec/product-found-ec/product-found-ec.component.js +85 -85
- package/esm2015/lib/ec-component/cart-ec/cart-ec.component.js +398 -383
- package/esm2015/lib/ec-component/checkout-ec/checkout-ec.component.js +152 -146
- package/esm2015/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.js +354 -354
- package/esm2015/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +78 -78
- package/esm2015/lib/ec-component/checkout-ec/payment-ec/payment-ec.component.js +127 -127
- package/esm2015/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.js +112 -112
- package/esm2015/lib/ec-component/checkout-ec/step-ec/step-ec.component.js +53 -53
- package/esm2015/lib/ec-component/checkout-ec/success-ec/success-ec.component.js +65 -65
- package/esm2015/lib/ec-component/checkout-error-ec/checkout-error-ec.component.js +80 -80
- package/esm2015/lib/ec-component/collection-ec/collection-ec.component.js +220 -220
- package/esm2015/lib/ec-component/compared-products-ec/compared-products-ec.component.js +186 -186
- package/esm2015/lib/ec-component/cookies-ec/cookies-ec.component.js +109 -109
- package/esm2015/lib/ec-component/cookies-ec/modal-config-ec/modal-config-ec.component.js +32 -32
- package/esm2015/lib/ec-component/cookies-ec/modal-cookies-ec/modal-cookies-ec.component.js +34 -34
- package/esm2015/lib/ec-component/cookies-ec/sidebar-cookies-ec/sidebar-cookies-ec.component.js +34 -34
- package/esm2015/lib/ec-component/cookies-ec/toast-cookies-ec/toast-cookies-ec.component.js +35 -35
- package/esm2015/lib/ec-component/coupon-ec/coupon-ec.component.js +53 -53
- package/esm2015/lib/ec-component/faqs-content-ec/faqs-content-ec.component.js +49 -49
- package/esm2015/lib/ec-component/filters-ec/filters-ec.component.js +152 -152
- package/esm2015/lib/ec-component/filters-top-ec/filters-top-ec.component.js +102 -102
- package/esm2015/lib/ec-component/footer-ec/footer-ec.component.js +80 -80
- package/esm2015/lib/ec-component/header-ec/header-ec.component.js +191 -186
- package/esm2015/lib/ec-component/home-ec/home-ec.component.js +37 -37
- package/esm2015/lib/ec-component/index.js +241 -241
- package/esm2015/lib/ec-component/login-ec/login-ec.component.js +102 -102
- package/esm2015/lib/ec-component/multiple-items-to-cart-ec/multiple-items-to-cart-ec.component.js +90 -90
- package/esm2015/lib/ec-component/password-reset-ec/password-reset-ec.component.js +103 -103
- package/esm2015/lib/ec-component/product-detail-ec/product-detail-ec.component.js +168 -165
- package/esm2015/lib/ec-component/product-ec/product-ec.component.js +133 -123
- package/esm2015/lib/ec-component/related-products-ec/related-products-ec.component.js +94 -94
- package/esm2015/lib/ec-component/reviews-ec/reviews-ec.component.js +69 -69
- package/esm2015/lib/ec-component/reviews-form-ec/reviews-form-ec.component.js +138 -138
- package/esm2015/lib/ec-component/section-container-ec/section-container-ec.component.js +86 -86
- package/esm2015/lib/ec-component/seller-dashboard-container-ec/seller-dashboard-container-ec.component.js +130 -130
- package/esm2015/lib/ec-component/share-block-ec/share-block-ec.component.js +149 -149
- package/esm2015/lib/ec-component/sidebar-ec/sidebar-ec.component.js +117 -117
- package/esm2015/lib/ec-component/stores-ec/stores-ec.component.js +192 -192
- package/esm2015/lib/ec-component/variants-ec/variants-ec.component.js +56 -56
- package/esm2015/lib/ec-component/widgets-ec/bamboo-ec/bamboo-ec.component.js +205 -205
- package/esm2015/lib/ec-component/widgets-ec/bancard-catastro-ec/bancard-catastro-ec.component.js +296 -296
- package/esm2015/lib/ec-component/widgets-ec/bancard-ec/bancard-ec.component.js +154 -154
- package/esm2015/lib/ec-component/widgets-ec/bancard-redirect-ec/bancard-redirect-ec.component.js +144 -144
- package/esm2015/lib/ec-component/widgets-ec/cart-load-ec/cart-load-ec.component.js +49 -49
- package/esm2015/lib/ec-component/widgets-ec/ceca-redirect-ec/ceca-redirect-ec.component.js +133 -133
- package/esm2015/lib/ec-component/widgets-ec/culqi-ec/culqi-ec.component.js +152 -152
- package/esm2015/lib/ec-component/widgets-ec/decidir-ec/decidir-ec.component.js +175 -175
- package/esm2015/lib/ec-component/widgets-ec/loading-full-ec/loading-full-ec.component.js +30 -30
- package/esm2015/lib/ec-component/widgets-ec/loading-inline-ec/loading-inline-ec.component.js +26 -26
- package/esm2015/lib/ec-component/widgets-ec/loading-section-ec/loading-section-ec.component.js +21 -21
- package/esm2015/lib/ec-component/widgets-ec/mercadopago-ec/mp-redirect-ec/mp-redirect-ec.component.js +156 -156
- package/esm2015/lib/ec-component/widgets-ec/mercadopago-ec/mpcredit-ec/mpcredit-ec.component.js +368 -368
- package/esm2015/lib/ec-component/widgets-ec/mobbex-ec/mobbex-ec.component.js +151 -151
- package/esm2015/lib/ec-component/widgets-ec/paypal-express-ec/paypal-express-ec.component.js +178 -178
- package/esm2015/lib/ec-component/widgets-ec/price-ec/price-ec.component.js +44 -44
- package/esm2015/lib/ec-component/widgets-ec/rating-ec/rating-ec.component.js +83 -83
- package/esm2015/lib/ec-component/widgets-ec/re-captcha-ec/re-captcha-ec.component.js +50 -50
- package/esm2015/lib/ec-component/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.js +90 -90
- package/esm2015/lib/ec-component/widgets-ec/redsys-pro-ec/redsys-pro-ec.component.js +143 -143
- package/esm2015/lib/ec-component/widgets-ec/redsys-redirect-ec/redsys-redirect-ec.component.js +128 -128
- package/esm2015/lib/ec-component/widgets-ec/redsys-redirect-out-ec/redsys-redirect-out-ec.component.js +145 -145
- package/esm2015/lib/ec-component/widgets-ec/zoom-ec/magnizoom.component.js +167 -167
- package/esm2015/lib/ec-directive/add-action-redirect.directive.js +85 -85
- package/esm2015/lib/ec-directive/auth-wholesaler.directive.js +54 -54
- package/esm2015/lib/ec-directive/index.js +36 -36
- package/esm2015/lib/ec-directive/product-mini-standard.directive.js +65 -65
- package/esm2015/lib/ec-directive/product-off.directive.js +144 -144
- package/esm2015/lib/ec-directive/product-stock.directive.js +75 -75
- package/esm2015/lib/ec-directive/reload-view.directive.js +34 -34
- package/esm2015/lib/ec-pipe/ec-currency-symbol.pipe.js +72 -72
- package/esm2015/lib/ec-pipe/ec-sanitizer-html.pipe.js +26 -26
- package/esm2015/lib/ec-pipe/ec-sanitizer-url.pipe.js +26 -26
- package/esm2015/lib/ec-pipe/index.js +13 -13
- package/esm2015/lib/guards/able-buyer-guard.service.js +36 -36
- package/esm2015/lib/guards/auth-guard.service.js +36 -36
- package/esm2015/lib/guards/checkout-ready.service.js +36 -36
- package/esm2015/lib/guards/loggedin-guard.service.js +36 -36
- package/esm2015/lib/guards/user-role-guard.service.js +38 -38
- package/esm2015/lib/interceptors/auth.interceptor.js +55 -55
- package/esm2015/lib/interceptors/customer.interceptor.js +48 -48
- package/esm2015/lib/interfaces/Script.js +1 -1
- package/esm2015/lib/interfaces/analytics/event-key.model.js +1 -1
- package/esm2015/lib/interfaces/analytics/facebook-pixel/facebook-pixel-model.js +1 -1
- package/esm2015/lib/interfaces/analytics/gtm-config.js +1 -1
- package/esm2015/lib/interfaces/analytics/metricool-pixel.js +1 -1
- package/esm2015/lib/interfaces/block.js +1 -1
- package/esm2015/lib/interfaces/cart/cart-affordable.js +1 -1
- package/esm2015/lib/interfaces/checkout/checkout-error.js +1 -1
- package/esm2015/lib/interfaces/checkout-data.js +1 -1
- package/esm2015/lib/interfaces/choose-options/filter-option.js +6 -6
- package/esm2015/lib/interfaces/choose-options/options-of-product-list.js +1 -1
- package/esm2015/lib/interfaces/cookies.js +1 -1
- package/esm2015/lib/interfaces/core.interfaces.js +1 -1
- package/esm2015/lib/interfaces/coupon.js +1 -1
- package/esm2015/lib/interfaces/deserializable.js +1 -1
- package/esm2015/lib/interfaces/faqs.js +1 -1
- package/esm2015/lib/interfaces/filter.js +1 -1
- package/esm2015/lib/interfaces/filterStep.js +1 -1
- package/esm2015/lib/interfaces/observable-error.interface.js +1 -1
- package/esm2015/lib/interfaces/paginate.js +1 -1
- package/esm2015/lib/interfaces/parameters.js +1 -1
- package/esm2015/lib/interfaces/selection.js +4 -4
- package/esm2015/lib/interfaces/step.js +1 -1
- package/esm2015/lib/interfaces/store.js +1 -1
- package/esm2015/lib/ng-easycommerce.module.js +179 -179
- package/esm2015/lib/pipes/order-by.pipe.js +101 -101
- package/esm2015/lib/services/account/orders.service.js +102 -102
- package/esm2015/lib/services/analytics.service.js +57 -57
- package/esm2015/lib/services/auth.service.js +339 -339
- package/esm2015/lib/services/banner.service.js +72 -72
- package/esm2015/lib/services/blocks/blocks-repository.service.js +62 -62
- package/esm2015/lib/services/blocks/blocks.service.js +71 -71
- package/esm2015/lib/services/captcha.service.js +130 -130
- package/esm2015/lib/services/cart.service.js +572 -563
- package/esm2015/lib/services/channel-config.service.js +105 -105
- package/esm2015/lib/services/checkout/addressing.service.js +222 -222
- package/esm2015/lib/services/checkout/checkout.service.js +233 -233
- package/esm2015/lib/services/checkout/error-handler.service.js +81 -81
- package/esm2015/lib/services/checkout/payment.service.js +77 -77
- package/esm2015/lib/services/checkout/shipment.service.js +183 -183
- package/esm2015/lib/services/concatenated-associations.service.js +120 -120
- package/esm2015/lib/services/cookies.service.js +208 -208
- package/esm2015/lib/services/currency.service.js +161 -161
- package/esm2015/lib/services/dataform.service.js +46 -46
- package/esm2015/lib/services/filters.service.js +122 -122
- package/esm2015/lib/services/gift-card.service.js +61 -61
- package/esm2015/lib/services/ip-address.service.js +34 -34
- package/esm2015/lib/services/options.service.js +275 -275
- package/esm2015/lib/services/pagination.service.js +73 -73
- package/esm2015/lib/services/parameters.service.js +72 -72
- package/esm2015/lib/services/products/product-detail.service.js +429 -429
- package/esm2015/lib/services/products/products.service.js +287 -287
- package/esm2015/lib/services/reviews.service.js +107 -107
- package/esm2015/lib/services/stores.service.js +37 -37
- package/esm2015/lib/services/windows.service.js +52 -52
- package/esm2015/lib/services/wishlist.service.js +70 -70
- package/esm2015/lib/strategies/standard.strategy.js +43 -43
- package/esm2015/lib/utils/analytics/doppler.service.js +37 -37
- package/esm2015/lib/utils/analytics/facebook-pixel.service.js +141 -141
- package/esm2015/lib/utils/analytics/google-analytics.service.js +265 -265
- package/esm2015/lib/utils/analytics/gtm.service.js +341 -341
- package/esm2015/lib/utils/analytics/metricool-pixel.service.js +48 -48
- package/esm2015/lib/utils/options-of-product-list-data.service.js +96 -96
- package/esm2015/lib/utils/order-util.service.js +72 -72
- package/esm2015/lib/utils/payment-utils.service.js +35 -35
- package/esm2015/lib/utils/shipment-transformer.service.js +66 -66
- package/esm2015/lib/utils/toast.service.js +42 -42
- package/esm2015/lib/utils/utils.service.js +20 -20
- package/esm2015/ng-easycommerce.js +33 -33
- package/esm2015/public-api.js +146 -146
- package/esm5/lib/api/connection.service.js +90 -90
- package/esm5/lib/classes/checkout/step-service.js +74 -74
- package/esm5/lib/classes/checkout/step.js +25 -25
- package/esm5/lib/classes/checkout-process-state.js +2 -2
- package/esm5/lib/classes/component-helper.js +18 -18
- package/esm5/lib/classes/filters/AttributesFilter.js +79 -79
- package/esm5/lib/classes/filters/CategoryFilter.js +72 -72
- package/esm5/lib/classes/filters/DinamycsFilter.js +76 -76
- package/esm5/lib/classes/filters/Filter.js +78 -78
- package/esm5/lib/classes/filters/PriceRangeFilter.js +68 -68
- package/esm5/lib/classes/filters/SortFilter.js +97 -97
- package/esm5/lib/classes/user-role-type.js +1 -1
- package/esm5/lib/classes/user.js +120 -120
- package/esm5/lib/core.consts.js +422 -422
- package/esm5/lib/ec-component/account-ec/account-ec.component.js +62 -62
- package/esm5/lib/ec-component/account-ec/order-ec/order-ec.component.js +173 -166
- package/esm5/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +213 -205
- package/esm5/lib/ec-component/auth-ec/auth-ec.component.js +132 -132
- package/esm5/lib/ec-component/auth-ec/confirm-account-ec/confirm-account-ec.component.js +60 -60
- package/esm5/lib/ec-component/auth-ec/forgot-password-ec/forgot-password-ec.component.js +74 -74
- package/esm5/lib/ec-component/auth-ec/login-form-ec/login-form-ec.component.js +125 -125
- package/esm5/lib/ec-component/auth-ec/register-form-ec/register-form-ec.component.js +183 -183
- package/esm5/lib/ec-component/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.js +182 -182
- package/esm5/lib/ec-component/auth-ec/select-channel-ec/select-channel-ec.component.js +106 -106
- package/esm5/lib/ec-component/blocks-ec/block-banner-boxes-ec/block-banner-boxes-ec.component.js +166 -166
- package/esm5/lib/ec-component/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.js +138 -138
- package/esm5/lib/ec-component/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.js +165 -165
- package/esm5/lib/ec-component/blocks-ec/block-html-ec/block-html-ec.component.js +54 -54
- package/esm5/lib/ec-component/blocks-ec/block-newsletter-ec/contact-form-news-ec.component.js +180 -180
- package/esm5/lib/ec-component/blocks-ec/block-products-ec/block-products-ec.component.js +146 -146
- package/esm5/lib/ec-component/blocks-ec/blocks-ec.component.js +90 -90
- package/esm5/lib/ec-component/build-your-ec/build-your-ec.component.js +327 -327
- package/esm5/lib/ec-component/build-your-ec/product-found-ec/product-found-ec.component.js +112 -112
- package/esm5/lib/ec-component/cart-ec/cart-ec.component.js +482 -467
- package/esm5/lib/ec-component/checkout-ec/checkout-ec.component.js +169 -163
- package/esm5/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.js +439 -439
- package/esm5/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +95 -95
- package/esm5/lib/ec-component/checkout-ec/payment-ec/payment-ec.component.js +217 -217
- package/esm5/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.js +162 -162
- package/esm5/lib/ec-component/checkout-ec/step-ec/step-ec.component.js +69 -69
- package/esm5/lib/ec-component/checkout-ec/success-ec/success-ec.component.js +82 -82
- package/esm5/lib/ec-component/checkout-error-ec/checkout-error-ec.component.js +97 -97
- package/esm5/lib/ec-component/collection-ec/collection-ec.component.js +261 -261
- package/esm5/lib/ec-component/compared-products-ec/compared-products-ec.component.js +209 -209
- package/esm5/lib/ec-component/cookies-ec/cookies-ec.component.js +126 -126
- package/esm5/lib/ec-component/cookies-ec/modal-config-ec/modal-config-ec.component.js +34 -34
- package/esm5/lib/ec-component/cookies-ec/modal-cookies-ec/modal-cookies-ec.component.js +36 -36
- package/esm5/lib/ec-component/cookies-ec/sidebar-cookies-ec/sidebar-cookies-ec.component.js +36 -36
- package/esm5/lib/ec-component/cookies-ec/toast-cookies-ec/toast-cookies-ec.component.js +37 -37
- package/esm5/lib/ec-component/coupon-ec/coupon-ec.component.js +71 -71
- package/esm5/lib/ec-component/faqs-content-ec/faqs-content-ec.component.js +66 -66
- package/esm5/lib/ec-component/filters-ec/filters-ec.component.js +168 -168
- package/esm5/lib/ec-component/filters-top-ec/filters-top-ec.component.js +118 -118
- package/esm5/lib/ec-component/footer-ec/footer-ec.component.js +109 -109
- package/esm5/lib/ec-component/header-ec/header-ec.component.js +250 -245
- package/esm5/lib/ec-component/home-ec/home-ec.component.js +53 -53
- package/esm5/lib/ec-component/index.js +241 -241
- package/esm5/lib/ec-component/login-ec/login-ec.component.js +118 -118
- package/esm5/lib/ec-component/multiple-items-to-cart-ec/multiple-items-to-cart-ec.component.js +106 -106
- package/esm5/lib/ec-component/password-reset-ec/password-reset-ec.component.js +119 -119
- package/esm5/lib/ec-component/product-detail-ec/product-detail-ec.component.js +195 -192
- package/esm5/lib/ec-component/product-ec/product-ec.component.js +151 -141
- package/esm5/lib/ec-component/related-products-ec/related-products-ec.component.js +111 -111
- package/esm5/lib/ec-component/reviews-ec/reviews-ec.component.js +85 -85
- package/esm5/lib/ec-component/reviews-form-ec/reviews-form-ec.component.js +155 -155
- package/esm5/lib/ec-component/section-container-ec/section-container-ec.component.js +103 -103
- package/esm5/lib/ec-component/seller-dashboard-container-ec/seller-dashboard-container-ec.component.js +149 -149
- package/esm5/lib/ec-component/share-block-ec/share-block-ec.component.js +166 -166
- package/esm5/lib/ec-component/sidebar-ec/sidebar-ec.component.js +120 -120
- package/esm5/lib/ec-component/stores-ec/stores-ec.component.js +214 -214
- package/esm5/lib/ec-component/variants-ec/variants-ec.component.js +72 -72
- package/esm5/lib/ec-component/widgets-ec/bamboo-ec/bamboo-ec.component.js +221 -221
- package/esm5/lib/ec-component/widgets-ec/bancard-catastro-ec/bancard-catastro-ec.component.js +313 -313
- package/esm5/lib/ec-component/widgets-ec/bancard-ec/bancard-ec.component.js +170 -170
- package/esm5/lib/ec-component/widgets-ec/bancard-redirect-ec/bancard-redirect-ec.component.js +160 -160
- package/esm5/lib/ec-component/widgets-ec/cart-load-ec/cart-load-ec.component.js +83 -83
- package/esm5/lib/ec-component/widgets-ec/ceca-redirect-ec/ceca-redirect-ec.component.js +149 -149
- package/esm5/lib/ec-component/widgets-ec/culqi-ec/culqi-ec.component.js +156 -156
- package/esm5/lib/ec-component/widgets-ec/decidir-ec/decidir-ec.component.js +192 -192
- package/esm5/lib/ec-component/widgets-ec/loading-full-ec/loading-full-ec.component.js +46 -46
- package/esm5/lib/ec-component/widgets-ec/loading-inline-ec/loading-inline-ec.component.js +42 -42
- package/esm5/lib/ec-component/widgets-ec/loading-section-ec/loading-section-ec.component.js +23 -23
- package/esm5/lib/ec-component/widgets-ec/mercadopago-ec/mp-redirect-ec/mp-redirect-ec.component.js +174 -174
- package/esm5/lib/ec-component/widgets-ec/mercadopago-ec/mpcredit-ec/mpcredit-ec.component.js +396 -396
- package/esm5/lib/ec-component/widgets-ec/mobbex-ec/mobbex-ec.component.js +167 -167
- package/esm5/lib/ec-component/widgets-ec/paypal-express-ec/paypal-express-ec.component.js +231 -231
- package/esm5/lib/ec-component/widgets-ec/price-ec/price-ec.component.js +60 -60
- package/esm5/lib/ec-component/widgets-ec/rating-ec/rating-ec.component.js +100 -100
- package/esm5/lib/ec-component/widgets-ec/re-captcha-ec/re-captcha-ec.component.js +53 -53
- package/esm5/lib/ec-component/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.js +124 -124
- package/esm5/lib/ec-component/widgets-ec/redsys-pro-ec/redsys-pro-ec.component.js +159 -159
- package/esm5/lib/ec-component/widgets-ec/redsys-redirect-ec/redsys-redirect-ec.component.js +144 -144
- package/esm5/lib/ec-component/widgets-ec/redsys-redirect-out-ec/redsys-redirect-out-ec.component.js +162 -162
- package/esm5/lib/ec-component/widgets-ec/zoom-ec/magnizoom.component.js +181 -181
- package/esm5/lib/ec-directive/add-action-redirect.directive.js +104 -104
- package/esm5/lib/ec-directive/auth-wholesaler.directive.js +60 -60
- package/esm5/lib/ec-directive/index.js +36 -36
- package/esm5/lib/ec-directive/product-mini-standard.directive.js +72 -72
- package/esm5/lib/ec-directive/product-off.directive.js +163 -163
- package/esm5/lib/ec-directive/product-stock.directive.js +81 -81
- package/esm5/lib/ec-directive/reload-view.directive.js +35 -35
- package/esm5/lib/ec-pipe/ec-currency-symbol.pipe.js +74 -74
- package/esm5/lib/ec-pipe/ec-sanitizer-html.pipe.js +27 -27
- package/esm5/lib/ec-pipe/ec-sanitizer-url.pipe.js +27 -27
- package/esm5/lib/ec-pipe/index.js +13 -13
- package/esm5/lib/guards/able-buyer-guard.service.js +37 -37
- package/esm5/lib/guards/auth-guard.service.js +37 -37
- package/esm5/lib/guards/checkout-ready.service.js +37 -37
- package/esm5/lib/guards/loggedin-guard.service.js +37 -37
- package/esm5/lib/guards/user-role-guard.service.js +39 -39
- package/esm5/lib/interceptors/auth.interceptor.js +57 -57
- package/esm5/lib/interceptors/customer.interceptor.js +50 -50
- package/esm5/lib/interfaces/Script.js +1 -1
- package/esm5/lib/interfaces/analytics/event-key.model.js +1 -1
- package/esm5/lib/interfaces/analytics/facebook-pixel/facebook-pixel-model.js +1 -1
- package/esm5/lib/interfaces/analytics/gtm-config.js +1 -1
- package/esm5/lib/interfaces/analytics/metricool-pixel.js +1 -1
- package/esm5/lib/interfaces/block.js +1 -1
- package/esm5/lib/interfaces/cart/cart-affordable.js +1 -1
- package/esm5/lib/interfaces/checkout/checkout-error.js +1 -1
- package/esm5/lib/interfaces/checkout-data.js +1 -1
- package/esm5/lib/interfaces/choose-options/filter-option.js +6 -6
- package/esm5/lib/interfaces/choose-options/options-of-product-list.js +1 -1
- package/esm5/lib/interfaces/cookies.js +1 -1
- package/esm5/lib/interfaces/core.interfaces.js +1 -1
- package/esm5/lib/interfaces/coupon.js +1 -1
- package/esm5/lib/interfaces/deserializable.js +1 -1
- package/esm5/lib/interfaces/faqs.js +1 -1
- package/esm5/lib/interfaces/filter.js +1 -1
- package/esm5/lib/interfaces/filterStep.js +1 -1
- package/esm5/lib/interfaces/observable-error.interface.js +1 -1
- package/esm5/lib/interfaces/paginate.js +1 -1
- package/esm5/lib/interfaces/parameters.js +1 -1
- package/esm5/lib/interfaces/selection.js +4 -4
- package/esm5/lib/interfaces/step.js +1 -1
- package/esm5/lib/interfaces/store.js +1 -1
- package/esm5/lib/ng-easycommerce.module.js +183 -183
- package/esm5/lib/pipes/order-by.pipe.js +106 -106
- package/esm5/lib/services/account/orders.service.js +120 -120
- package/esm5/lib/services/analytics.service.js +60 -60
- package/esm5/lib/services/auth.service.js +413 -413
- package/esm5/lib/services/banner.service.js +81 -81
- package/esm5/lib/services/blocks/blocks-repository.service.js +94 -94
- package/esm5/lib/services/blocks/blocks.service.js +79 -79
- package/esm5/lib/services/captcha.service.js +132 -132
- package/esm5/lib/services/cart.service.js +701 -690
- package/esm5/lib/services/channel-config.service.js +107 -107
- package/esm5/lib/services/checkout/addressing.service.js +280 -280
- package/esm5/lib/services/checkout/checkout.service.js +316 -316
- package/esm5/lib/services/checkout/error-handler.service.js +83 -83
- package/esm5/lib/services/checkout/payment.service.js +125 -125
- package/esm5/lib/services/checkout/shipment.service.js +265 -265
- package/esm5/lib/services/concatenated-associations.service.js +162 -162
- package/esm5/lib/services/cookies.service.js +222 -222
- package/esm5/lib/services/currency.service.js +205 -205
- package/esm5/lib/services/dataform.service.js +48 -48
- package/esm5/lib/services/filters.service.js +125 -125
- package/esm5/lib/services/gift-card.service.js +63 -63
- package/esm5/lib/services/ip-address.service.js +35 -35
- package/esm5/lib/services/options.service.js +376 -376
- package/esm5/lib/services/pagination.service.js +79 -79
- package/esm5/lib/services/parameters.service.js +74 -74
- package/esm5/lib/services/products/product-detail.service.js +494 -494
- package/esm5/lib/services/products/products.service.js +345 -345
- package/esm5/lib/services/reviews.service.js +116 -116
- package/esm5/lib/services/stores.service.js +39 -39
- package/esm5/lib/services/windows.service.js +79 -79
- package/esm5/lib/services/wishlist.service.js +71 -71
- package/esm5/lib/strategies/standard.strategy.js +44 -44
- package/esm5/lib/utils/analytics/doppler.service.js +39 -39
- package/esm5/lib/utils/analytics/facebook-pixel.service.js +145 -145
- package/esm5/lib/utils/analytics/google-analytics.service.js +280 -280
- package/esm5/lib/utils/analytics/gtm.service.js +358 -358
- package/esm5/lib/utils/analytics/metricool-pixel.service.js +40 -40
- package/esm5/lib/utils/options-of-product-list-data.service.js +98 -98
- package/esm5/lib/utils/order-util.service.js +75 -75
- package/esm5/lib/utils/payment-utils.service.js +37 -37
- package/esm5/lib/utils/shipment-transformer.service.js +78 -78
- package/esm5/lib/utils/toast.service.js +61 -61
- package/esm5/lib/utils/utils.service.js +22 -22
- package/esm5/ng-easycommerce.js +33 -33
- package/esm5/public-api.js +146 -146
- package/fesm2015/ng-easycommerce.js +16302 -16243
- package/fesm2015/ng-easycommerce.js.map +1 -1
- package/fesm5/ng-easycommerce.js +19295 -19234
- package/fesm5/ng-easycommerce.js.map +1 -1
- package/lib/api/connection.service.d.ts +28 -28
- package/lib/classes/checkout/step-service.d.ts +28 -28
- package/lib/classes/checkout/step.d.ts +14 -14
- package/lib/classes/checkout-process-state.d.ts +12 -12
- package/lib/classes/component-helper.d.ts +8 -8
- package/lib/classes/filters/AttributesFilter.d.ts +18 -18
- package/lib/classes/filters/CategoryFilter.d.ts +17 -17
- package/lib/classes/filters/DinamycsFilter.d.ts +15 -15
- package/lib/classes/filters/Filter.d.ts +19 -19
- package/lib/classes/filters/PriceRangeFilter.d.ts +18 -18
- package/lib/classes/filters/SortFilter.d.ts +15 -15
- package/lib/classes/user-role-type.d.ts +5 -5
- package/lib/classes/user.d.ts +68 -68
- package/lib/core.consts.d.ts +211 -211
- package/lib/ec-component/account-ec/account-ec.component.d.ts +13 -13
- package/lib/ec-component/account-ec/order-ec/order-ec.component.d.ts +34 -31
- package/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.d.ts +85 -82
- package/lib/ec-component/auth-ec/auth-ec.component.d.ts +35 -35
- package/lib/ec-component/auth-ec/confirm-account-ec/confirm-account-ec.component.d.ts +13 -13
- package/lib/ec-component/auth-ec/forgot-password-ec/forgot-password-ec.component.d.ts +16 -16
- package/lib/ec-component/auth-ec/login-form-ec/login-form-ec.component.d.ts +26 -26
- package/lib/ec-component/auth-ec/register-form-ec/register-form-ec.component.d.ts +34 -34
- package/lib/ec-component/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.d.ts +42 -42
- package/lib/ec-component/auth-ec/select-channel-ec/select-channel-ec.component.d.ts +23 -23
- package/lib/ec-component/blocks-ec/block-banner-boxes-ec/block-banner-boxes-ec.component.d.ts +34 -34
- package/lib/ec-component/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.d.ts +27 -27
- package/lib/ec-component/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.d.ts +34 -34
- package/lib/ec-component/blocks-ec/block-html-ec/block-html-ec.component.d.ts +10 -10
- package/lib/ec-component/blocks-ec/block-newsletter-ec/contact-form-news-ec.component.d.ts +40 -40
- package/lib/ec-component/blocks-ec/block-products-ec/block-products-ec.component.d.ts +25 -25
- package/lib/ec-component/blocks-ec/blocks-ec.component.d.ts +24 -24
- package/lib/ec-component/build-your-ec/build-your-ec.component.d.ts +122 -122
- package/lib/ec-component/build-your-ec/product-found-ec/product-found-ec.component.d.ts +41 -41
- package/lib/ec-component/cart-ec/cart-ec.component.d.ts +57 -52
- package/lib/ec-component/checkout-ec/checkout-ec.component.d.ts +43 -42
- package/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.d.ts +92 -92
- package/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.d.ts +20 -20
- package/lib/ec-component/checkout-ec/payment-ec/payment-ec.component.d.ts +51 -51
- package/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.d.ts +34 -34
- package/lib/ec-component/checkout-ec/step-ec/step-ec.component.d.ts +18 -18
- package/lib/ec-component/checkout-ec/success-ec/success-ec.component.d.ts +32 -32
- package/lib/ec-component/checkout-error-ec/checkout-error-ec.component.d.ts +25 -25
- package/lib/ec-component/collection-ec/collection-ec.component.d.ts +67 -67
- package/lib/ec-component/compared-products-ec/compared-products-ec.component.d.ts +70 -70
- package/lib/ec-component/cookies-ec/cookies-ec.component.d.ts +44 -44
- package/lib/ec-component/cookies-ec/modal-config-ec/modal-config-ec.component.d.ts +10 -10
- package/lib/ec-component/cookies-ec/modal-cookies-ec/modal-cookies-ec.component.d.ts +8 -8
- package/lib/ec-component/cookies-ec/sidebar-cookies-ec/sidebar-cookies-ec.component.d.ts +9 -9
- package/lib/ec-component/cookies-ec/toast-cookies-ec/toast-cookies-ec.component.d.ts +9 -9
- package/lib/ec-component/coupon-ec/coupon-ec.component.d.ts +17 -17
- package/lib/ec-component/faqs-content-ec/faqs-content-ec.component.d.ts +15 -15
- package/lib/ec-component/filters-ec/filters-ec.component.d.ts +33 -33
- package/lib/ec-component/filters-top-ec/filters-top-ec.component.d.ts +23 -23
- package/lib/ec-component/footer-ec/footer-ec.component.d.ts +30 -30
- package/lib/ec-component/header-ec/header-ec.component.d.ts +66 -65
- package/lib/ec-component/home-ec/home-ec.component.d.ts +13 -13
- package/lib/ec-component/index.d.ts +80 -80
- package/lib/ec-component/login-ec/login-ec.component.d.ts +26 -26
- package/lib/ec-component/multiple-items-to-cart-ec/multiple-items-to-cart-ec.component.d.ts +28 -28
- package/lib/ec-component/password-reset-ec/password-reset-ec.component.d.ts +27 -27
- package/lib/ec-component/product-detail-ec/product-detail-ec.component.d.ts +59 -58
- package/lib/ec-component/product-ec/product-ec.component.d.ts +49 -46
- package/lib/ec-component/related-products-ec/related-products-ec.component.d.ts +22 -22
- package/lib/ec-component/reviews-ec/reviews-ec.component.d.ts +29 -29
- package/lib/ec-component/reviews-form-ec/reviews-form-ec.component.d.ts +61 -61
- package/lib/ec-component/section-container-ec/section-container-ec.component.d.ts +22 -22
- package/lib/ec-component/seller-dashboard-container-ec/seller-dashboard-container-ec.component.d.ts +37 -37
- package/lib/ec-component/share-block-ec/share-block-ec.component.d.ts +26 -26
- package/lib/ec-component/sidebar-ec/sidebar-ec.component.d.ts +23 -23
- package/lib/ec-component/stores-ec/stores-ec.component.d.ts +54 -54
- package/lib/ec-component/variants-ec/variants-ec.component.d.ts +14 -14
- package/lib/ec-component/widgets-ec/bamboo-ec/bamboo-ec.component.d.ts +60 -60
- package/lib/ec-component/widgets-ec/bancard-catastro-ec/bancard-catastro-ec.component.d.ts +105 -105
- package/lib/ec-component/widgets-ec/bancard-ec/bancard-ec.component.d.ts +46 -46
- package/lib/ec-component/widgets-ec/bancard-redirect-ec/bancard-redirect-ec.component.d.ts +44 -44
- package/lib/ec-component/widgets-ec/cart-load-ec/cart-load-ec.component.d.ts +14 -14
- package/lib/ec-component/widgets-ec/ceca-redirect-ec/ceca-redirect-ec.component.d.ts +38 -38
- package/lib/ec-component/widgets-ec/culqi-ec/culqi-ec.component.d.ts +38 -38
- package/lib/ec-component/widgets-ec/decidir-ec/decidir-ec.component.d.ts +53 -53
- package/lib/ec-component/widgets-ec/loading-full-ec/loading-full-ec.component.d.ts +6 -6
- package/lib/ec-component/widgets-ec/loading-inline-ec/loading-inline-ec.component.d.ts +5 -5
- package/lib/ec-component/widgets-ec/loading-section-ec/loading-section-ec.component.d.ts +5 -5
- package/lib/ec-component/widgets-ec/mercadopago-ec/mp-redirect-ec/mp-redirect-ec.component.d.ts +43 -43
- package/lib/ec-component/widgets-ec/mercadopago-ec/mpcredit-ec/mpcredit-ec.component.d.ts +64 -64
- package/lib/ec-component/widgets-ec/mobbex-ec/mobbex-ec.component.d.ts +46 -46
- package/lib/ec-component/widgets-ec/paypal-express-ec/paypal-express-ec.component.d.ts +41 -41
- package/lib/ec-component/widgets-ec/price-ec/price-ec.component.d.ts +12 -12
- package/lib/ec-component/widgets-ec/rating-ec/rating-ec.component.d.ts +28 -28
- package/lib/ec-component/widgets-ec/re-captcha-ec/re-captcha-ec.component.d.ts +24 -24
- package/lib/ec-component/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.d.ts +14 -14
- package/lib/ec-component/widgets-ec/redsys-pro-ec/redsys-pro-ec.component.d.ts +44 -44
- package/lib/ec-component/widgets-ec/redsys-redirect-ec/redsys-redirect-ec.component.d.ts +38 -38
- package/lib/ec-component/widgets-ec/redsys-redirect-out-ec/redsys-redirect-out-ec.component.d.ts +42 -42
- package/lib/ec-component/widgets-ec/zoom-ec/magnizoom.component.d.ts +66 -66
- package/lib/ec-directive/add-action-redirect.directive.d.ts +26 -26
- package/lib/ec-directive/auth-wholesaler.directive.d.ts +17 -17
- package/lib/ec-directive/index.d.ts +6 -6
- package/lib/ec-directive/product-mini-standard.directive.d.ts +19 -19
- package/lib/ec-directive/product-off.directive.d.ts +22 -22
- package/lib/ec-directive/product-stock.directive.d.ts +15 -15
- package/lib/ec-directive/reload-view.directive.d.ts +8 -8
- package/lib/ec-pipe/ec-currency-symbol.pipe.d.ts +19 -19
- package/lib/ec-pipe/ec-sanitizer-html.pipe.d.ts +7 -7
- package/lib/ec-pipe/ec-sanitizer-url.pipe.d.ts +7 -7
- package/lib/ec-pipe/index.d.ts +4 -4
- package/lib/guards/able-buyer-guard.service.d.ts +8 -8
- package/lib/guards/auth-guard.service.d.ts +8 -8
- package/lib/guards/checkout-ready.service.d.ts +8 -8
- package/lib/guards/loggedin-guard.service.d.ts +8 -8
- package/lib/guards/user-role-guard.service.d.ts +8 -8
- package/lib/interceptors/auth.interceptor.d.ts +9 -9
- package/lib/interceptors/customer.interceptor.d.ts +9 -9
- package/lib/interfaces/Script.d.ts +5 -5
- package/lib/interfaces/analytics/event-key.model.d.ts +1 -1
- package/lib/interfaces/analytics/facebook-pixel/facebook-pixel-model.d.ts +5 -5
- package/lib/interfaces/analytics/gtm-config.d.ts +6 -6
- package/lib/interfaces/analytics/metricool-pixel.d.ts +3 -3
- package/lib/interfaces/block.d.ts +33 -33
- package/lib/interfaces/cart/cart-affordable.d.ts +8 -8
- package/lib/interfaces/cart-item.d.ts +8 -8
- package/lib/interfaces/checkout/checkout-error.d.ts +7 -7
- package/lib/interfaces/checkout-data.d.ts +6 -6
- package/lib/interfaces/choose-options/filter-option.d.ts +16 -16
- package/lib/interfaces/choose-options/options-of-product-list.d.ts +5 -5
- package/lib/interfaces/cookies.d.ts +49 -49
- package/lib/interfaces/core.interfaces.d.ts +4 -4
- package/lib/interfaces/coupon.d.ts +5 -5
- package/lib/interfaces/currencyConfig.d.ts +10 -10
- package/lib/interfaces/deserializable.d.ts +3 -3
- package/lib/interfaces/faqs.d.ts +12 -12
- package/lib/interfaces/filter.d.ts +51 -51
- package/lib/interfaces/filterStep.d.ts +29 -29
- package/lib/interfaces/navbar-items.d.ts +9 -9
- package/lib/interfaces/observable-error.interface.d.ts +5 -5
- package/lib/interfaces/paginate.d.ts +1 -1
- package/lib/interfaces/parameters.d.ts +10 -10
- package/lib/interfaces/paramsInterfaces/paramsProductsWithUniqueVariant.d.ts +6 -6
- package/lib/interfaces/product.d.ts +46 -46
- package/lib/interfaces/selection.d.ts +10 -10
- package/lib/interfaces/step.d.ts +8 -8
- package/lib/interfaces/store.d.ts +17 -17
- package/lib/ng-easycommerce.module.d.ts +5 -5
- package/lib/pipes/order-by.pipe.d.ts +5 -5
- package/lib/services/account/orders.service.d.ts +29 -29
- package/lib/services/analytics.service.d.ts +21 -21
- package/lib/services/auth.service.d.ts +116 -116
- package/lib/services/banner.service.d.ts +26 -26
- package/lib/services/blocks/blocks-repository.service.d.ts +19 -19
- package/lib/services/blocks/blocks.service.d.ts +25 -25
- package/lib/services/captcha.service.d.ts +76 -76
- package/lib/services/cart.service.d.ts +139 -139
- package/lib/services/channel-config.service.d.ts +35 -35
- package/lib/services/checkout/addressing.service.d.ts +239 -239
- package/lib/services/checkout/checkout.service.d.ts +71 -71
- package/lib/services/checkout/error-handler.service.d.ts +19 -19
- package/lib/services/checkout/payment.service.d.ts +32 -32
- package/lib/services/checkout/shipment.service.d.ts +58 -58
- package/lib/services/concatenated-associations.service.d.ts +57 -57
- package/lib/services/cookies.service.d.ts +66 -66
- package/lib/services/currency.service.d.ts +65 -65
- package/lib/services/dataform.service.d.ts +13 -13
- package/lib/services/filters.service.d.ts +48 -48
- package/lib/services/gift-card.service.d.ts +19 -19
- package/lib/services/ip-address.service.d.ts +10 -10
- package/lib/services/options.service.d.ts +61 -61
- package/lib/services/pagination.service.d.ts +30 -30
- package/lib/services/parameters.service.d.ts +18 -18
- package/lib/services/products/product-detail.service.d.ts +115 -115
- package/lib/services/products/products.service.d.ts +101 -101
- package/lib/services/reviews.service.d.ts +71 -71
- package/lib/services/stores.service.d.ts +11 -11
- package/lib/services/windows.service.d.ts +13 -13
- package/lib/services/wishlist.service.d.ts +13 -13
- package/lib/strategies/standard.strategy.d.ts +12 -12
- package/lib/utils/analytics/doppler.service.d.ts +9 -9
- package/lib/utils/analytics/facebook-pixel.service.d.ts +23 -23
- package/lib/utils/analytics/google-analytics.service.d.ts +30 -30
- package/lib/utils/analytics/gtm.service.d.ts +34 -34
- package/lib/utils/analytics/metricool-pixel.service.d.ts +9 -9
- package/lib/utils/options-of-product-list-data.service.d.ts +5 -5
- package/lib/utils/order-util.service.d.ts +12 -12
- package/lib/utils/payment-utils.service.d.ts +5 -5
- package/lib/utils/shipment-transformer.service.d.ts +8 -8
- package/lib/utils/toast.service.d.ts +15 -15
- package/lib/utils/utils.service.d.ts +4 -4
- package/ng-easycommerce.d.ts +33 -33
- package/ng-easycommerce.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +144 -144
|
@@ -1,167 +1,167 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
8
|
-
let MagnizoomComponent = class MagnizoomComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.zoomMode = 'COVER';
|
|
11
|
-
this.minZoomFactor = 1.2;
|
|
12
|
-
this.maxZoomFactor = 3;
|
|
13
|
-
this.mousePosition = null;
|
|
14
|
-
this.lensSize = { width: 400, height: 300 };
|
|
15
|
-
this.zoomFactor = 2;
|
|
16
|
-
}
|
|
17
|
-
set ImageSrc(value) {
|
|
18
|
-
this.imageSrc = value;
|
|
19
|
-
this.loadImage(this.imageSrc);
|
|
20
|
-
}
|
|
21
|
-
get canvasWidth() { return this.image && this.image.width || 800; }
|
|
22
|
-
get canvasHeight() { return this.image && this.image.height || 600; }
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
this.initContext();
|
|
25
|
-
this.loadImage(this.imageSrc);
|
|
26
|
-
}
|
|
27
|
-
initContext() {
|
|
28
|
-
this.canvas = this.mainCanvasRef.nativeElement;
|
|
29
|
-
this.context = this.canvas.getContext('2d');
|
|
30
|
-
}
|
|
31
|
-
loadImage(src) {
|
|
32
|
-
this.image = new Image();
|
|
33
|
-
this.image.onload = () => {
|
|
34
|
-
this.lensSize = { width: this.image.width / 2, height: this.image.height / 2 };
|
|
35
|
-
setTimeout(() => this.render());
|
|
36
|
-
};
|
|
37
|
-
this.image.src = src;
|
|
38
|
-
}
|
|
39
|
-
render() {
|
|
40
|
-
this.context.clearRect(0, 0, this.canvasWidth, this.canvasHeight); // clear canvas
|
|
41
|
-
this.context.lineWidth = 1; // border width
|
|
42
|
-
this.context.drawImage(this.image, 0, 0); // bg image
|
|
43
|
-
if (this.mousePosition) {
|
|
44
|
-
switch (this.zoomMode) {
|
|
45
|
-
case 'LENS':
|
|
46
|
-
this.renderLensMode();
|
|
47
|
-
break;
|
|
48
|
-
case 'COVER':
|
|
49
|
-
this.renderCoverMode();
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
renderLensMode() {
|
|
55
|
-
this.context.lineWidth = 5; // border width
|
|
56
|
-
const zoomRect = this.getZoomRect();
|
|
57
|
-
this.context.fillRect(zoomRect.x, zoomRect.y, zoomRect.w, zoomRect.h); // bg (clear)
|
|
58
|
-
const clippingRect = this.getClippingRect();
|
|
59
|
-
// zoom image
|
|
60
|
-
this.context.drawImage(this.image, clippingRect.x, clippingRect.y, clippingRect.w, clippingRect.h, zoomRect.x, zoomRect.y, zoomRect.w, zoomRect.h);
|
|
61
|
-
this.context.strokeRect(zoomRect.x, zoomRect.y, zoomRect.w, zoomRect.h); // border
|
|
62
|
-
}
|
|
63
|
-
renderCoverMode() {
|
|
64
|
-
const covertRect = this.getCoverRect();
|
|
65
|
-
this.context.drawImage(this.image, covertRect.x, covertRect.y, covertRect.w, covertRect.h, 0, 0, this.canvasWidth, this.canvasHeight); // cover image
|
|
66
|
-
}
|
|
67
|
-
getZoomRect() {
|
|
68
|
-
const w = this.lensSize.width;
|
|
69
|
-
const h = this.lensSize.height;
|
|
70
|
-
const x = this.mousePosition.x - (w / 2);
|
|
71
|
-
const y = this.mousePosition.y - (h / 2);
|
|
72
|
-
return this.clampRect(x, y, w, h);
|
|
73
|
-
}
|
|
74
|
-
getClippingRect() {
|
|
75
|
-
const w = this.lensSize.width / this.zoomFactor;
|
|
76
|
-
const h = this.lensSize.height / this.zoomFactor;
|
|
77
|
-
const x = this.mousePosition.x - (w / 2);
|
|
78
|
-
const y = this.mousePosition.y - (h / 2);
|
|
79
|
-
return this.clampRect(x, y, w, h);
|
|
80
|
-
}
|
|
81
|
-
getCoverRect() {
|
|
82
|
-
const w = this.canvasWidth / this.zoomFactor;
|
|
83
|
-
const h = this.canvasHeight / this.zoomFactor;
|
|
84
|
-
// const x = this.mousePosition.x - (w / 2);
|
|
85
|
-
// const y = this.mousePosition.y - (h / 2);
|
|
86
|
-
const x = this.mousePosition.x - this.mousePosition.x / this.zoomFactor;
|
|
87
|
-
const y = this.mousePosition.y - this.mousePosition.y / this.zoomFactor;
|
|
88
|
-
return this.clampRect(x, y, w, h);
|
|
89
|
-
}
|
|
90
|
-
clampRect(x, y, w, h) {
|
|
91
|
-
if (x <= 0) {
|
|
92
|
-
x = 0;
|
|
93
|
-
}
|
|
94
|
-
if (x + w >= this.canvasWidth) {
|
|
95
|
-
x = this.canvasWidth - w;
|
|
96
|
-
}
|
|
97
|
-
if (y < 0) {
|
|
98
|
-
y = 0;
|
|
99
|
-
}
|
|
100
|
-
if (y + h >= this.canvasHeight) {
|
|
101
|
-
y = this.canvasHeight - h;
|
|
102
|
-
}
|
|
103
|
-
return { x, y, w, h };
|
|
104
|
-
}
|
|
105
|
-
calculateMousePosition(clientX, clientY) {
|
|
106
|
-
const boundingRect = this.canvas.getBoundingClientRect();
|
|
107
|
-
const viewToModelX = this.canvasWidth / boundingRect.width;
|
|
108
|
-
const viewToModelY = this.canvasHeight / boundingRect.height;
|
|
109
|
-
const x = (clientX - boundingRect.left) * viewToModelX;
|
|
110
|
-
const y = (clientY - boundingRect.top) * viewToModelY;
|
|
111
|
-
this.mousePosition = { x, y };
|
|
112
|
-
}
|
|
113
|
-
onMouseLeave(event) {
|
|
114
|
-
this.mousePosition = null;
|
|
115
|
-
this.render();
|
|
116
|
-
}
|
|
117
|
-
onMouseEnterOrMove(event) {
|
|
118
|
-
this.calculateMousePosition(event.clientX, event.clientY);
|
|
119
|
-
this.render();
|
|
120
|
-
}
|
|
121
|
-
onMouseScroll(event) {
|
|
122
|
-
let newZoomFactor = this.zoomFactor;
|
|
123
|
-
newZoomFactor -= event.deltaY / 1000;
|
|
124
|
-
if (newZoomFactor < this.minZoomFactor) {
|
|
125
|
-
newZoomFactor = this.minZoomFactor;
|
|
126
|
-
}
|
|
127
|
-
if (newZoomFactor > this.maxZoomFactor) {
|
|
128
|
-
newZoomFactor = this.maxZoomFactor;
|
|
129
|
-
}
|
|
130
|
-
if (this.zoomFactor !== newZoomFactor) {
|
|
131
|
-
this.zoomFactor = newZoomFactor;
|
|
132
|
-
this.render();
|
|
133
|
-
}
|
|
134
|
-
event.preventDefault();
|
|
135
|
-
event.stopPropagation();
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
__decorate([
|
|
139
|
-
Input()
|
|
140
|
-
], MagnizoomComponent.prototype, "ImageSrc", null);
|
|
141
|
-
__decorate([
|
|
142
|
-
Input()
|
|
143
|
-
], MagnizoomComponent.prototype, "zoomMode", void 0);
|
|
144
|
-
__decorate([
|
|
145
|
-
Input()
|
|
146
|
-
], MagnizoomComponent.prototype, "minZoomFactor", void 0);
|
|
147
|
-
__decorate([
|
|
148
|
-
Input()
|
|
149
|
-
], MagnizoomComponent.prototype, "maxZoomFactor", void 0);
|
|
150
|
-
__decorate([
|
|
151
|
-
Input()
|
|
152
|
-
], MagnizoomComponent.prototype, "imageStyle", void 0);
|
|
153
|
-
__decorate([
|
|
154
|
-
Input()
|
|
155
|
-
], MagnizoomComponent.prototype, "imageClass", void 0);
|
|
156
|
-
__decorate([
|
|
157
|
-
ViewChild('mainCanvas', { static: true })
|
|
158
|
-
], MagnizoomComponent.prototype, "mainCanvasRef", void 0);
|
|
159
|
-
MagnizoomComponent = __decorate([
|
|
160
|
-
Component({
|
|
161
|
-
selector: '[app-magnizoom-ec]',
|
|
162
|
-
template: "<canvas #mainCanvas\
|
|
163
|
-
styles: [""]
|
|
164
|
-
})
|
|
165
|
-
], MagnizoomComponent);
|
|
166
|
-
export { MagnizoomComponent };
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnbml6b29tLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvd2lkZ2V0cy1lYy96b29tLWVjL21hZ25pem9vbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVXBFLElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQWtCO0lBMkIzQjtRQXBCUyxhQUFRLEdBQXFCLE9BQU8sQ0FBQztRQUNyQyxrQkFBYSxHQUFHLEdBQUcsQ0FBQztRQUNwQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQVczQixrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5QixhQUFRLEdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUMvQyxlQUFVLEdBQUcsQ0FBQyxDQUFDO0lBS0MsQ0FBQztJQXhCUixJQUFJLFFBQVEsQ0FBQyxLQUFLO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFrQkQsSUFBSSxXQUFXLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkUsSUFBSSxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFJckUsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMs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LGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQUU7UUFDL0UsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLGFBQWEsRUFBRTtZQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztZQUNoQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDakI7UUFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FHSixDQUFBO0FBdEpZO0lBQVIsS0FBSyxFQUFFO2tEQUdQO0FBQ1E7SUFBUixLQUFLLEVBQUU7b0RBQXNDO0FBQ3JDO0lBQVIsS0FBSyxFQUFFO3lEQUFxQjtBQUNwQjtJQUFSLEtBQUssRUFBRTt5REFBbUI7QUFFbEI7SUFBUixLQUFLLEVBQUU7c0RBQW1DO0FBQ2xDO0lBQVIsS0FBSyxFQUFFO3NEQUFpQjtBQUVrQjtJQUExQyxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO3lEQUEyQjtBQWQ1RCxrQkFBa0I7SUFMOUIsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLG9CQUFvQjtRQUM5Qix1WEFBeUM7O0tBRTVDLENBQUM7R0FDVyxrQkFBa0IsQ0F5SjlCO1NBekpZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW50ZXJmYWNlIFNpemUyRCB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyOyB9XHJcbnR5cGUgUG9pbnQyRCA9IHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfSB8IG51bGw7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnW2FwcC1tYWduaXpvb20tZWNdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYWduaXpvb20uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbWFnbml6b29tLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hZ25pem9vbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgcHJpdmF0ZSBpbWFnZVNyYzpzdHJpbmdcclxuICAgIEBJbnB1dCgpIHNldCBJbWFnZVNyYyh2YWx1ZSkgeyBcclxuICAgICAgICB0aGlzLmltYWdlU3JjID0gdmFsdWU7IFxyXG4gICAgICAgIHRoaXMubG9hZEltYWdlKHRoaXMuaW1hZ2VTcmMpOyBcclxuICAgIH1cclxuICAgIEBJbnB1dCgpIHpvb21Nb2RlOiAnTEVOUycgfCAnQ09WRVInID0gJ0NPVkVSJztcclxuICAgIEBJbnB1dCgpIG1pblpvb21GYWN0b3IgPSAxLjI7XHJcbiAgICBASW5wdXQoKSBtYXhab29tRmFjdG9yID0gMztcclxuXHJcbiAgICBASW5wdXQoKSBpbWFnZVN0eWxlOiB7IFt4OiBzdHJpbmddOiBhbnk7IH07XHJcbiAgICBASW5wdXQoKSBpbWFnZUNsYXNzOiBhbnk7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnbWFpbkNhbnZhcycsIHsgc3RhdGljOiB0cnVlIH0pIG1haW5DYW52YXNSZWY6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudDtcclxuICAgIGNvbnRleHQ6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcclxuICAgIGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50O1xyXG5cclxuICAgIG1vdXNlUG9zaXRpb246IFBvaW50MkQgPSBudWxsO1xyXG4gICAgbGVuc1NpemU6IFNpemUyRCA9IHsgd2lkdGg6IDQwMCwgaGVpZ2h0OiAzMDAgfTtcclxuICAgIHpvb21GYWN0b3IgPSAyO1xyXG5cclxuICAgIGdldCBjYW52YXNXaWR0aCgpIHsgcmV0dXJuIHRoaXMuaW1hZ2UgJiYgdGhpcy5pbWFnZS53aWR0aCB8fCA4MDA7IH1cclxuICAgIGdldCBjYW52YXNIZWlnaHQoKSB7IHJldHVybiB0aGlzLmltYWdlICYmIHRoaXMuaW1hZ2UuaGVpZ2h0IHx8IDYwMDsgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgICBcclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuaW5pdENvbnRleHQoKTtcclxuICAgICAgICB0aGlzLmxvYWRJbWFnZSh0aGlzLmltYWdlU3JjKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0Q29udGV4dCgpIHtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLmNhbnZhcyA9ICh0aGlzLm1haW5DYW52YXNSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MQ2FudmFzRWxlbWVudCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0ID0gdGhpcy5jYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkSW1hZ2Uoc3JjOiBzdHJpbmcpIHtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLmltYWdlID0gbmV3IEltYWdlKCk7XHJcbiAgICAgICAgdGhpcy5pbWFnZS5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubGVuc1NpemUgPSB7IHdpZHRoOiB0aGlzLmltYWdlLndpZHRoIC8gMiwgaGVpZ2h0OiB0aGlzLmltYWdlLmhlaWdodCAvIDIgfTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlbmRlcigpKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuaW1hZ2Uuc3JjID0gc3JjO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQuY2xlYXJSZWN0KDAsIDAsIHRoaXMuY2FudmFzV2lkdGgsIHRoaXMuY2FudmFzSGVpZ2h0KTsgLy8gY2xlYXIgY2FudmFzXHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmxpbmVXaWR0aCA9IDE7IC8vIGJvcmRlciB3aWR0aFxyXG4gICAgICAgIHRoaXMuY29udGV4dC5kcmF3SW1hZ2UodGhpcy5pbWFnZSwgMCwgMCk7IC8vIGJnIGltYWdlXHJcblxyXG4gICAgICAgIGlmICh0aGlzLm1vdXNlUG9zaXRpb24pIHtcclxuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnpvb21Nb2RlKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdMRU5TJzogdGhpcy5yZW5kZXJMZW5zTW9kZSgpOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ0NPVkVSJzogdGhpcy5yZW5kZXJDb3Zlck1vZGUoKTsgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyTGVuc01vZGUoKSB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmxpbmVXaWR0aCA9IDU7IC8vIGJvcmRlciB3aWR0aFxyXG4gICAgICAgIGNvbnN0IHpvb21SZWN0ID0gdGhpcy5nZXRab29tUmVjdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maWxsUmVjdCh6b29tUmVjdC54LCB6b29tUmVjdC55LCB6b29tUmVjdC53LCB6b29tUmVjdC5oKTsgLy8gYmcgKGNsZWFyKVxyXG4gICAgICAgIGNvbnN0IGNsaXBwaW5nUmVjdCA9IHRoaXMuZ2V0Q2xpcHBpbmdSZWN0KCk7XHJcbiAgICAgICAgLy8gem9vbSBpbWFnZVxyXG4gICAgICAgIHRoaXMuY29udGV4dC5kcmF3SW1hZ2UoXHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2UsXHJcbiAgICAgICAgICAgIGNsaXBwaW5nUmVjdC54LCBjbGlwcGluZ1JlY3QueSwgY2xpcHBpbmdSZWN0LncsIGNsaXBwaW5nUmVjdC5oLFxyXG4gICAgICAgICAgICB6b29tUmVjdC54LCB6b29tUmVjdC55LCB6b29tUmVjdC53LCB6b29tUmVjdC5oXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQuc3Ryb2tlUmVjdCh6b29tUmVjdC54LCB6b29tUmVjdC55LCB6b29tUmVjdC53LCB6b29tUmVjdC5oKTsgLy8gYm9yZGVyXHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyQ292ZXJNb2RlKCkge1xyXG4gICAgICAgIGNvbnN0IGNvdmVydFJlY3QgPSB0aGlzLmdldENvdmVyUmVjdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5kcmF3SW1hZ2UoXHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2UsXHJcbiAgICAgICAgICAgIGNvdmVydFJlY3QueCwgY292ZXJ0UmVjdC55LCBjb3ZlcnRSZWN0LncsIGNvdmVydFJlY3QuaCxcclxuICAgICAgICAgICAgMCwgMCwgdGhpcy5jYW52YXNXaWR0aCwgdGhpcy5jYW52YXNIZWlnaHRcclxuICAgICAgICApOyAvLyBjb3ZlciBpbWFnZVxyXG4gICAgfVxyXG5cclxuICAgIGdldFpvb21SZWN0KCkge1xyXG4gICAgICAgIGNvbnN0IHcgPSB0aGlzLmxlbnNTaXplLndpZHRoO1xyXG4gICAgICAgIGNvbnN0IGggPSB0aGlzLmxlbnNTaXplLmhlaWdodDtcclxuICAgICAgICBjb25zdCB4ID0gdGhpcy5tb3VzZVBvc2l0aW9uLnggLSAodyAvIDIpO1xyXG4gICAgICAgIGNvbnN0IHkgPSB0aGlzLm1vdXNlUG9zaXRpb24ueSAtIChoIC8gMik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xhbXBSZWN0KHgsIHksIHcsIGgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldENsaXBwaW5nUmVjdCgpIHtcclxuICAgICAgICBjb25zdCB3ID0gdGhpcy5sZW5zU2l6ZS53aWR0aCAvIHRoaXMuem9vbUZhY3RvcjtcclxuICAgICAgICBjb25zdCBoID0gdGhpcy5sZW5zU2l6ZS5oZWlnaHQgLyB0aGlzLnpvb21GYWN0b3I7XHJcbiAgICAgICAgY29uc3QgeCA9IHRoaXMubW91c2VQb3NpdGlvbi54IC0gKHcgLyAyKTtcclxuICAgICAgICBjb25zdCB5ID0gdGhpcy5tb3VzZVBvc2l0aW9uLnkgLSAoaCAvIDIpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNsYW1wUmVjdCh4LCB5LCB3LCBoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDb3ZlclJlY3QoKSB7XHJcbiAgICAgICAgY29uc3QgdyA9IHRoaXMuY2FudmFzV2lkdGggLyB0aGlzLnpvb21GYWN0b3I7XHJcbiAgICAgICAgY29uc3QgaCA9IHRoaXMuY2FudmFzSGVpZ2h0IC8gdGhpcy56b29tRmFjdG9yO1xyXG4gICAgICAgIC8vIGNvbnN0IHggPSB0aGlzLm1vdXNlUG9zaXRpb24ueCAtICh3IC8gMik7XHJcbiAgICAgICAgLy8gY29uc3QgeSA9IHRoaXMubW91c2VQb3NpdGlvbi55IC0gKGggLyAyKTtcclxuICAgICAgICBjb25zdCB4ID0gdGhpcy5tb3VzZVBvc2l0aW9uLnggLSB0aGlzLm1vdXNlUG9zaXRpb24ueCAvIHRoaXMuem9vbUZhY3RvcjtcclxuICAgICAgICBjb25zdCB5ID0gdGhpcy5tb3VzZVBvc2l0aW9uLnkgLSB0aGlzLm1vdXNlUG9zaXRpb24ueSAvIHRoaXMuem9vbUZhY3RvcjtcclxuICAgICAgICByZXR1cm4gdGhpcy5jbGFtcFJlY3QoeCwgeSwgdywgaCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xhbXBSZWN0KHg6IG51bWJlciwgeTogbnVtYmVyLCB3OiBudW1iZXIsIGg6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh4IDw9IDApIHsgeCA9IDA7IH1cclxuICAgICAgICBpZiAoeCArIHcgPj0gdGhpcy5jYW52YXNXaWR0aCkgeyB4ID0gdGhpcy5jYW52YXNXaWR0aCAtIHc7IH1cclxuICAgICAgICBpZiAoeSA8IDApIHsgeSA9IDA7IH1cclxuICAgICAgICBpZiAoeSArIGggPj0gdGhpcy5jYW52YXNIZWlnaHQpIHsgeSA9IHRoaXMuY2FudmFzSGVpZ2h0IC0gaDsgfVxyXG4gICAgICAgIHJldHVybiB7IHgsIHksIHcsIGggfTtcclxuICAgIH1cclxuXHJcbiAgICBjYWxjdWxhdGVNb3VzZVBvc2l0aW9uKGNsaWVudFg6IG51bWJlciwgY2xpZW50WTogbnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3QgYm91bmRpbmdSZWN0ID0gdGhpcy5jYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgY29uc3Qgdmlld1RvTW9kZWxYID0gdGhpcy5jYW52YXNXaWR0aCAvIGJvdW5kaW5nUmVjdC53aWR0aDtcclxuICAgICAgICBjb25zdCB2aWV3VG9Nb2RlbFkgPSB0aGlzLmNhbnZhc0hlaWdodCAvIGJvdW5kaW5nUmVjdC5oZWlnaHQ7XHJcbiAgICAgICAgY29uc3QgeCA9IChjbGllbnRYIC0gYm91bmRpbmdSZWN0LmxlZnQpICogdmlld1RvTW9kZWxYO1xyXG4gICAgICAgIGNvbnN0IHkgPSAoY2xpZW50WSAtIGJvdW5kaW5nUmVjdC50b3ApICogdmlld1RvTW9kZWxZO1xyXG4gICAgICAgIHRoaXMubW91c2VQb3NpdGlvbiA9IHsgeCwgeSB9O1xyXG4gICAgfVxyXG5cclxuICAgIG9uTW91c2VMZWF2ZShldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgICAgIHRoaXMubW91c2VQb3NpdGlvbiA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5yZW5kZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbk1vdXNlRW50ZXJPck1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgICAgICB0aGlzLmNhbGN1bGF0ZU1vdXNlUG9zaXRpb24oZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbk1vdXNlU2Nyb2xsKGV2ZW50OiBXaGVlbEV2ZW50KSB7XHJcbiAgICAgICAgbGV0IG5ld1pvb21GYWN0b3IgPSB0aGlzLnpvb21GYWN0b3I7XHJcbiAgICAgICAgbmV3Wm9vbUZhY3RvciAtPSBldmVudC5kZWx0YVkgLyAxMDAwO1xyXG4gICAgICAgIGlmIChuZXdab29tRmFjdG9yIDwgdGhpcy5taW5ab29tRmFjdG9yKSB7IG5ld1pvb21GYWN0b3IgPSB0aGlzLm1pblpvb21GYWN0b3I7IH1cclxuICAgICAgICBpZiAobmV3Wm9vbUZhY3RvciA+IHRoaXMubWF4Wm9vbUZhY3RvcikgeyBuZXdab29tRmFjdG9yID0gdGhpcy5tYXhab29tRmFjdG9yOyB9XHJcbiAgICAgICAgaWYgKHRoaXMuem9vbUZhY3RvciAhPT0gbmV3Wm9vbUZhY3Rvcikge1xyXG4gICAgICAgICAgICB0aGlzLnpvb21GYWN0b3IgPSBuZXdab29tRmFjdG9yO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIl19
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
8
|
+
let MagnizoomComponent = class MagnizoomComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.zoomMode = 'COVER';
|
|
11
|
+
this.minZoomFactor = 1.2;
|
|
12
|
+
this.maxZoomFactor = 3;
|
|
13
|
+
this.mousePosition = null;
|
|
14
|
+
this.lensSize = { width: 400, height: 300 };
|
|
15
|
+
this.zoomFactor = 2;
|
|
16
|
+
}
|
|
17
|
+
set ImageSrc(value) {
|
|
18
|
+
this.imageSrc = value;
|
|
19
|
+
this.loadImage(this.imageSrc);
|
|
20
|
+
}
|
|
21
|
+
get canvasWidth() { return this.image && this.image.width || 800; }
|
|
22
|
+
get canvasHeight() { return this.image && this.image.height || 600; }
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
this.initContext();
|
|
25
|
+
this.loadImage(this.imageSrc);
|
|
26
|
+
}
|
|
27
|
+
initContext() {
|
|
28
|
+
this.canvas = this.mainCanvasRef.nativeElement;
|
|
29
|
+
this.context = this.canvas.getContext('2d');
|
|
30
|
+
}
|
|
31
|
+
loadImage(src) {
|
|
32
|
+
this.image = new Image();
|
|
33
|
+
this.image.onload = () => {
|
|
34
|
+
this.lensSize = { width: this.image.width / 2, height: this.image.height / 2 };
|
|
35
|
+
setTimeout(() => this.render());
|
|
36
|
+
};
|
|
37
|
+
this.image.src = src;
|
|
38
|
+
}
|
|
39
|
+
render() {
|
|
40
|
+
this.context.clearRect(0, 0, this.canvasWidth, this.canvasHeight); // clear canvas
|
|
41
|
+
this.context.lineWidth = 1; // border width
|
|
42
|
+
this.context.drawImage(this.image, 0, 0); // bg image
|
|
43
|
+
if (this.mousePosition) {
|
|
44
|
+
switch (this.zoomMode) {
|
|
45
|
+
case 'LENS':
|
|
46
|
+
this.renderLensMode();
|
|
47
|
+
break;
|
|
48
|
+
case 'COVER':
|
|
49
|
+
this.renderCoverMode();
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
renderLensMode() {
|
|
55
|
+
this.context.lineWidth = 5; // border width
|
|
56
|
+
const zoomRect = this.getZoomRect();
|
|
57
|
+
this.context.fillRect(zoomRect.x, zoomRect.y, zoomRect.w, zoomRect.h); // bg (clear)
|
|
58
|
+
const clippingRect = this.getClippingRect();
|
|
59
|
+
// zoom image
|
|
60
|
+
this.context.drawImage(this.image, clippingRect.x, clippingRect.y, clippingRect.w, clippingRect.h, zoomRect.x, zoomRect.y, zoomRect.w, zoomRect.h);
|
|
61
|
+
this.context.strokeRect(zoomRect.x, zoomRect.y, zoomRect.w, zoomRect.h); // border
|
|
62
|
+
}
|
|
63
|
+
renderCoverMode() {
|
|
64
|
+
const covertRect = this.getCoverRect();
|
|
65
|
+
this.context.drawImage(this.image, covertRect.x, covertRect.y, covertRect.w, covertRect.h, 0, 0, this.canvasWidth, this.canvasHeight); // cover image
|
|
66
|
+
}
|
|
67
|
+
getZoomRect() {
|
|
68
|
+
const w = this.lensSize.width;
|
|
69
|
+
const h = this.lensSize.height;
|
|
70
|
+
const x = this.mousePosition.x - (w / 2);
|
|
71
|
+
const y = this.mousePosition.y - (h / 2);
|
|
72
|
+
return this.clampRect(x, y, w, h);
|
|
73
|
+
}
|
|
74
|
+
getClippingRect() {
|
|
75
|
+
const w = this.lensSize.width / this.zoomFactor;
|
|
76
|
+
const h = this.lensSize.height / this.zoomFactor;
|
|
77
|
+
const x = this.mousePosition.x - (w / 2);
|
|
78
|
+
const y = this.mousePosition.y - (h / 2);
|
|
79
|
+
return this.clampRect(x, y, w, h);
|
|
80
|
+
}
|
|
81
|
+
getCoverRect() {
|
|
82
|
+
const w = this.canvasWidth / this.zoomFactor;
|
|
83
|
+
const h = this.canvasHeight / this.zoomFactor;
|
|
84
|
+
// const x = this.mousePosition.x - (w / 2);
|
|
85
|
+
// const y = this.mousePosition.y - (h / 2);
|
|
86
|
+
const x = this.mousePosition.x - this.mousePosition.x / this.zoomFactor;
|
|
87
|
+
const y = this.mousePosition.y - this.mousePosition.y / this.zoomFactor;
|
|
88
|
+
return this.clampRect(x, y, w, h);
|
|
89
|
+
}
|
|
90
|
+
clampRect(x, y, w, h) {
|
|
91
|
+
if (x <= 0) {
|
|
92
|
+
x = 0;
|
|
93
|
+
}
|
|
94
|
+
if (x + w >= this.canvasWidth) {
|
|
95
|
+
x = this.canvasWidth - w;
|
|
96
|
+
}
|
|
97
|
+
if (y < 0) {
|
|
98
|
+
y = 0;
|
|
99
|
+
}
|
|
100
|
+
if (y + h >= this.canvasHeight) {
|
|
101
|
+
y = this.canvasHeight - h;
|
|
102
|
+
}
|
|
103
|
+
return { x, y, w, h };
|
|
104
|
+
}
|
|
105
|
+
calculateMousePosition(clientX, clientY) {
|
|
106
|
+
const boundingRect = this.canvas.getBoundingClientRect();
|
|
107
|
+
const viewToModelX = this.canvasWidth / boundingRect.width;
|
|
108
|
+
const viewToModelY = this.canvasHeight / boundingRect.height;
|
|
109
|
+
const x = (clientX - boundingRect.left) * viewToModelX;
|
|
110
|
+
const y = (clientY - boundingRect.top) * viewToModelY;
|
|
111
|
+
this.mousePosition = { x, y };
|
|
112
|
+
}
|
|
113
|
+
onMouseLeave(event) {
|
|
114
|
+
this.mousePosition = null;
|
|
115
|
+
this.render();
|
|
116
|
+
}
|
|
117
|
+
onMouseEnterOrMove(event) {
|
|
118
|
+
this.calculateMousePosition(event.clientX, event.clientY);
|
|
119
|
+
this.render();
|
|
120
|
+
}
|
|
121
|
+
onMouseScroll(event) {
|
|
122
|
+
let newZoomFactor = this.zoomFactor;
|
|
123
|
+
newZoomFactor -= event.deltaY / 1000;
|
|
124
|
+
if (newZoomFactor < this.minZoomFactor) {
|
|
125
|
+
newZoomFactor = this.minZoomFactor;
|
|
126
|
+
}
|
|
127
|
+
if (newZoomFactor > this.maxZoomFactor) {
|
|
128
|
+
newZoomFactor = this.maxZoomFactor;
|
|
129
|
+
}
|
|
130
|
+
if (this.zoomFactor !== newZoomFactor) {
|
|
131
|
+
this.zoomFactor = newZoomFactor;
|
|
132
|
+
this.render();
|
|
133
|
+
}
|
|
134
|
+
event.preventDefault();
|
|
135
|
+
event.stopPropagation();
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
__decorate([
|
|
139
|
+
Input()
|
|
140
|
+
], MagnizoomComponent.prototype, "ImageSrc", null);
|
|
141
|
+
__decorate([
|
|
142
|
+
Input()
|
|
143
|
+
], MagnizoomComponent.prototype, "zoomMode", void 0);
|
|
144
|
+
__decorate([
|
|
145
|
+
Input()
|
|
146
|
+
], MagnizoomComponent.prototype, "minZoomFactor", void 0);
|
|
147
|
+
__decorate([
|
|
148
|
+
Input()
|
|
149
|
+
], MagnizoomComponent.prototype, "maxZoomFactor", void 0);
|
|
150
|
+
__decorate([
|
|
151
|
+
Input()
|
|
152
|
+
], MagnizoomComponent.prototype, "imageStyle", void 0);
|
|
153
|
+
__decorate([
|
|
154
|
+
Input()
|
|
155
|
+
], MagnizoomComponent.prototype, "imageClass", void 0);
|
|
156
|
+
__decorate([
|
|
157
|
+
ViewChild('mainCanvas', { static: true })
|
|
158
|
+
], MagnizoomComponent.prototype, "mainCanvasRef", void 0);
|
|
159
|
+
MagnizoomComponent = __decorate([
|
|
160
|
+
Component({
|
|
161
|
+
selector: '[app-magnizoom-ec]',
|
|
162
|
+
template: "<canvas #mainCanvas\n class=\"main-canvas\"\n [ngClass]=\"imageClass\"\n [ngStyle]=\"imageStyle\"\n [width]=\"canvasWidth\"\n [height]=\"canvasHeight\"\n (mouseleave)=\"onMouseLeave($event)\"\n (mouseenter)=\"onMouseEnterOrMove($event)\"\n (mousemove)=\"onMouseEnterOrMove($event)\"\n (wheel)=\"onMouseScroll($event)\">\n</canvas>\n",
|
|
163
|
+
styles: [""]
|
|
164
|
+
})
|
|
165
|
+
], MagnizoomComponent);
|
|
166
|
+
export { MagnizoomComponent };
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnbml6b29tLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvd2lkZ2V0cy1lYy96b29tLWVjL21hZ25pem9vbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVXBFLElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQWtCO0lBMkIzQjtRQXBCUyxhQUFRLEdBQXFCLE9BQU8sQ0FBQztRQUNyQyxrQkFBYSxHQUFHLEdBQUcsQ0FBQztRQUNwQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQVczQixrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5QixhQUFRLEdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUMvQyxlQUFVLEdBQUcsQ0FBQyxDQUFDO0lBS0MsQ0FBQztJQXhCUixJQUFJLFFBQVEsQ0FBQyxLQUFLO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFrQkQsSUFBSSxXQUFXLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkUsSUFBSSxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFJckUsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMs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LGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQUU7UUFDL0UsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLGFBQWEsRUFBRTtZQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztZQUNoQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDakI7UUFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FHSixDQUFBO0FBdEpZO0lBQVIsS0FBSyxFQUFFO2tEQUdQO0FBQ1E7SUFBUixLQUFLLEVBQUU7b0RBQXNDO0FBQ3JDO0lBQVIsS0FBSyxFQUFFO3lEQUFxQjtBQUNwQjtJQUFSLEtBQUssRUFBRTt5REFBbUI7QUFFbEI7SUFBUixLQUFLLEVBQUU7c0RBQW1DO0FBQ2xDO0lBQVIsS0FBSyxFQUFFO3NEQUFpQjtBQUVrQjtJQUExQyxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO3lEQUEyQjtBQWQ1RCxrQkFBa0I7SUFMOUIsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLG9CQUFvQjtRQUM5QixpV0FBeUM7O0tBRTVDLENBQUM7R0FDVyxrQkFBa0IsQ0F5SjlCO1NBekpZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW50ZXJmYWNlIFNpemUyRCB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyOyB9XG50eXBlIFBvaW50MkQgPSB7IHg6IG51bWJlciwgeTogbnVtYmVyIH0gfCBudWxsO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1thcHAtbWFnbml6b29tLWVjXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21hZ25pem9vbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbWFnbml6b29tLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTWFnbml6b29tQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHByaXZhdGUgaW1hZ2VTcmM6c3RyaW5nXG4gICAgQElucHV0KCkgc2V0IEltYWdlU3JjKHZhbHVlKSB7IFxuICAgICAgICB0aGlzLmltYWdlU3JjID0gdmFsdWU7IFxuICAgICAgICB0aGlzLmxvYWRJbWFnZSh0aGlzLmltYWdlU3JjKTsgXG4gICAgfVxuICAgIEBJbnB1dCgpIHpvb21Nb2RlOiAnTEVOUycgfCAnQ09WRVInID0gJ0NPVkVSJztcbiAgICBASW5wdXQoKSBtaW5ab29tRmFjdG9yID0gMS4yO1xuICAgIEBJbnB1dCgpIG1heFpvb21GYWN0b3IgPSAzO1xuXG4gICAgQElucHV0KCkgaW1hZ2VTdHlsZTogeyBbeDogc3RyaW5nXTogYW55OyB9O1xuICAgIEBJbnB1dCgpIGltYWdlQ2xhc3M6IGFueTtcblxuICAgIEBWaWV3Q2hpbGQoJ21haW5DYW52YXMnLCB7IHN0YXRpYzogdHJ1ZSB9KSBtYWluQ2FudmFzUmVmOiBFbGVtZW50UmVmO1xuXG4gICAgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudDtcbiAgICBjb250ZXh0OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG4gICAgaW1hZ2U6IEhUTUxJbWFnZUVsZW1lbnQ7XG5cbiAgICBtb3VzZVBvc2l0aW9uOiBQb2ludDJEID0gbnVsbDtcbiAgICBsZW5zU2l6ZTogU2l6ZTJEID0geyB3aWR0aDogNDAwLCBoZWlnaHQ6IDMwMCB9O1xuICAgIHpvb21GYWN0b3IgPSAyO1xuXG4gICAgZ2V0IGNhbnZhc1dpZHRoKCkgeyByZXR1cm4gdGhpcy5pbWFnZSAmJiB0aGlzLmltYWdlLndpZHRoIHx8IDgwMDsgfVxuICAgIGdldCBjYW52YXNIZWlnaHQoKSB7IHJldHVybiB0aGlzLmltYWdlICYmIHRoaXMuaW1hZ2UuaGVpZ2h0IHx8IDYwMDsgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7IH1cbiAgICBcbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0Q29udGV4dCgpO1xuICAgICAgICB0aGlzLmxvYWRJbWFnZSh0aGlzLmltYWdlU3JjKTtcbiAgICB9XG5cbiAgICBpbml0Q29udGV4dCgpIHtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuY2FudmFzID0gKHRoaXMubWFpbkNhbnZhc1JlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxDYW52YXNFbGVtZW50KTtcbiAgICAgICAgdGhpcy5jb250ZXh0ID0gdGhpcy5jYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICB9XG5cbiAgICBsb2FkSW1hZ2Uoc3JjOiBzdHJpbmcpIHtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICAgICAgdGhpcy5pbWFnZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxlbnNTaXplID0geyB3aWR0aDogdGhpcy5pbWFnZS53aWR0aCAvIDIsIGhlaWdodDogdGhpcy5pbWFnZS5oZWlnaHQgLyAyIH07XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVuZGVyKCkpO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmltYWdlLnNyYyA9IHNyYztcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMuY29udGV4dC5jbGVhclJlY3QoMCwgMCwgdGhpcy5jYW52YXNXaWR0aCwgdGhpcy5jYW52YXNIZWlnaHQpOyAvLyBjbGVhciBjYW52YXNcbiAgICAgICAgdGhpcy5jb250ZXh0LmxpbmVXaWR0aCA9IDE7IC8vIGJvcmRlciB3aWR0aFxuICAgICAgICB0aGlzLmNvbnRleHQuZHJhd0ltYWdlKHRoaXMuaW1hZ2UsIDAsIDApOyAvLyBiZyBpbWFnZVxuXG4gICAgICAgIGlmICh0aGlzLm1vdXNlUG9zaXRpb24pIHtcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy56b29tTW9kZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ0xFTlMnOiB0aGlzLnJlbmRlckxlbnNNb2RlKCk7IGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ0NPVkVSJzogdGhpcy5yZW5kZXJDb3Zlck1vZGUoKTsgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW5kZXJMZW5zTW9kZSgpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LmxpbmVXaWR0aCA9IDU7IC8vIGJvcmRlciB3aWR0aFxuICAgICAgICBjb25zdCB6b29tUmVjdCA9IHRoaXMuZ2V0Wm9vbVJlY3QoKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpbGxSZWN0KHpvb21SZWN0LngsIHpvb21SZWN0LnksIHpvb21SZWN0LncsIHpvb21SZWN0LmgpOyAvLyBiZyAoY2xlYXIpXG4gICAgICAgIGNvbnN0IGNsaXBwaW5nUmVjdCA9IHRoaXMuZ2V0Q2xpcHBpbmdSZWN0KCk7XG4gICAgICAgIC8vIHpvb20gaW1hZ2VcbiAgICAgICAgdGhpcy5jb250ZXh0LmRyYXdJbWFnZShcbiAgICAgICAgICAgIHRoaXMuaW1hZ2UsXG4gICAgICAgICAgICBjbGlwcGluZ1JlY3QueCwgY2xpcHBpbmdSZWN0LnksIGNsaXBwaW5nUmVjdC53LCBjbGlwcGluZ1JlY3QuaCxcbiAgICAgICAgICAgIHpvb21SZWN0LngsIHpvb21SZWN0LnksIHpvb21SZWN0LncsIHpvb21SZWN0LmhcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LnN0cm9rZVJlY3Qoem9vbVJlY3QueCwgem9vbVJlY3QueSwgem9vbVJlY3Qudywgem9vbVJlY3QuaCk7IC8vIGJvcmRlclxuICAgIH1cblxuICAgIHJlbmRlckNvdmVyTW9kZSgpIHtcbiAgICAgICAgY29uc3QgY292ZXJ0UmVjdCA9IHRoaXMuZ2V0Q292ZXJSZWN0KCk7XG4gICAgICAgIHRoaXMuY29udGV4dC5kcmF3SW1hZ2UoXG4gICAgICAgICAgICB0aGlzLmltYWdlLFxuICAgICAgICAgICAgY292ZXJ0UmVjdC54LCBjb3ZlcnRSZWN0LnksIGNvdmVydFJlY3QudywgY292ZXJ0UmVjdC5oLFxuICAgICAgICAgICAgMCwgMCwgdGhpcy5jYW52YXNXaWR0aCwgdGhpcy5jYW52YXNIZWlnaHRcbiAgICAgICAgKTsgLy8gY292ZXIgaW1hZ2VcbiAgICB9XG5cbiAgICBnZXRab29tUmVjdCgpIHtcbiAgICAgICAgY29uc3QgdyA9IHRoaXMubGVuc1NpemUud2lkdGg7XG4gICAgICAgIGNvbnN0IGggPSB0aGlzLmxlbnNTaXplLmhlaWdodDtcbiAgICAgICAgY29uc3QgeCA9IHRoaXMubW91c2VQb3NpdGlvbi54IC0gKHcgLyAyKTtcbiAgICAgICAgY29uc3QgeSA9IHRoaXMubW91c2VQb3NpdGlvbi55IC0gKGggLyAyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xhbXBSZWN0KHgsIHksIHcsIGgpO1xuICAgIH1cblxuICAgIGdldENsaXBwaW5nUmVjdCgpIHtcbiAgICAgICAgY29uc3QgdyA9IHRoaXMubGVuc1NpemUud2lkdGggLyB0aGlzLnpvb21GYWN0b3I7XG4gICAgICAgIGNvbnN0IGggPSB0aGlzLmxlbnNTaXplLmhlaWdodCAvIHRoaXMuem9vbUZhY3RvcjtcbiAgICAgICAgY29uc3QgeCA9IHRoaXMubW91c2VQb3NpdGlvbi54IC0gKHcgLyAyKTtcbiAgICAgICAgY29uc3QgeSA9IHRoaXMubW91c2VQb3NpdGlvbi55IC0gKGggLyAyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xhbXBSZWN0KHgsIHksIHcsIGgpO1xuICAgIH1cblxuICAgIGdldENvdmVyUmVjdCgpIHtcbiAgICAgICAgY29uc3QgdyA9IHRoaXMuY2FudmFzV2lkdGggLyB0aGlzLnpvb21GYWN0b3I7XG4gICAgICAgIGNvbnN0IGggPSB0aGlzLmNhbnZhc0hlaWdodCAvIHRoaXMuem9vbUZhY3RvcjtcbiAgICAgICAgLy8gY29uc3QgeCA9IHRoaXMubW91c2VQb3NpdGlvbi54IC0gKHcgLyAyKTtcbiAgICAgICAgLy8gY29uc3QgeSA9IHRoaXMubW91c2VQb3NpdGlvbi55IC0gKGggLyAyKTtcbiAgICAgICAgY29uc3QgeCA9IHRoaXMubW91c2VQb3NpdGlvbi54IC0gdGhpcy5tb3VzZVBvc2l0aW9uLnggLyB0aGlzLnpvb21GYWN0b3I7XG4gICAgICAgIGNvbnN0IHkgPSB0aGlzLm1vdXNlUG9zaXRpb24ueSAtIHRoaXMubW91c2VQb3NpdGlvbi55IC8gdGhpcy56b29tRmFjdG9yO1xuICAgICAgICByZXR1cm4gdGhpcy5jbGFtcFJlY3QoeCwgeSwgdywgaCk7XG4gICAgfVxuXG4gICAgY2xhbXBSZWN0KHg6IG51bWJlciwgeTogbnVtYmVyLCB3OiBudW1iZXIsIGg6IG51bWJlcikge1xuICAgICAgICBpZiAoeCA8PSAwKSB7IHggPSAwOyB9XG4gICAgICAgIGlmICh4ICsgdyA+PSB0aGlzLmNhbnZhc1dpZHRoKSB7IHggPSB0aGlzLmNhbnZhc1dpZHRoIC0gdzsgfVxuICAgICAgICBpZiAoeSA8IDApIHsgeSA9IDA7IH1cbiAgICAgICAgaWYgKHkgKyBoID49IHRoaXMuY2FudmFzSGVpZ2h0KSB7IHkgPSB0aGlzLmNhbnZhc0hlaWdodCAtIGg7IH1cbiAgICAgICAgcmV0dXJuIHsgeCwgeSwgdywgaCB9O1xuICAgIH1cblxuICAgIGNhbGN1bGF0ZU1vdXNlUG9zaXRpb24oY2xpZW50WDogbnVtYmVyLCBjbGllbnRZOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgYm91bmRpbmdSZWN0ID0gdGhpcy5jYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHZpZXdUb01vZGVsWCA9IHRoaXMuY2FudmFzV2lkdGggLyBib3VuZGluZ1JlY3Qud2lkdGg7XG4gICAgICAgIGNvbnN0IHZpZXdUb01vZGVsWSA9IHRoaXMuY2FudmFzSGVpZ2h0IC8gYm91bmRpbmdSZWN0LmhlaWdodDtcbiAgICAgICAgY29uc3QgeCA9IChjbGllbnRYIC0gYm91bmRpbmdSZWN0LmxlZnQpICogdmlld1RvTW9kZWxYO1xuICAgICAgICBjb25zdCB5ID0gKGNsaWVudFkgLSBib3VuZGluZ1JlY3QudG9wKSAqIHZpZXdUb01vZGVsWTtcbiAgICAgICAgdGhpcy5tb3VzZVBvc2l0aW9uID0geyB4LCB5IH07XG4gICAgfVxuXG4gICAgb25Nb3VzZUxlYXZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMubW91c2VQb3NpdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgfVxuXG4gICAgb25Nb3VzZUVudGVyT3JNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlTW91c2VQb3NpdGlvbihldmVudC5jbGllbnRYLCBldmVudC5jbGllbnRZKTtcbiAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlU2Nyb2xsKGV2ZW50OiBXaGVlbEV2ZW50KSB7XG4gICAgICAgIGxldCBuZXdab29tRmFjdG9yID0gdGhpcy56b29tRmFjdG9yO1xuICAgICAgICBuZXdab29tRmFjdG9yIC09IGV2ZW50LmRlbHRhWSAvIDEwMDA7XG4gICAgICAgIGlmIChuZXdab29tRmFjdG9yIDwgdGhpcy5taW5ab29tRmFjdG9yKSB7IG5ld1pvb21GYWN0b3IgPSB0aGlzLm1pblpvb21GYWN0b3I7IH1cbiAgICAgICAgaWYgKG5ld1pvb21GYWN0b3IgPiB0aGlzLm1heFpvb21GYWN0b3IpIHsgbmV3Wm9vbUZhY3RvciA9IHRoaXMubWF4Wm9vbUZhY3RvcjsgfVxuICAgICAgICBpZiAodGhpcy56b29tRmFjdG9yICE9PSBuZXdab29tRmFjdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnpvb21GYWN0b3IgPSBuZXdab29tRmFjdG9yO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICAgICAgfVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cblxufVxuIl19
|
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
-
};
|
|
10
|
-
import { Directive, OnInit, OnDestroy, Input, ElementRef, Renderer2, Inject, OnChanges, SimpleChanges, } from "@angular/core";
|
|
11
|
-
import { DOCUMENT } from "@angular/common";
|
|
12
|
-
import { BlocksService } from "../services/blocks/blocks.service";
|
|
13
|
-
import { Router } from "@angular/router";
|
|
14
|
-
export class ParamsContext {
|
|
15
|
-
}
|
|
16
|
-
let AddActionRedirectDirective = class AddActionRedirectDirective {
|
|
17
|
-
constructor(document, elementRef, renderer, blocksService, router) {
|
|
18
|
-
this.document = document;
|
|
19
|
-
this.elementRef = elementRef;
|
|
20
|
-
this.renderer = renderer;
|
|
21
|
-
this.blocksService = blocksService;
|
|
22
|
-
this.router = router;
|
|
23
|
-
this.redirectUrl = '';
|
|
24
|
-
this.linstenEvent = null;
|
|
25
|
-
this.transparent = true;
|
|
26
|
-
this.redirectFromUrl = (evt) => {
|
|
27
|
-
this.router.navigateByUrl(this.redirectUrl);
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
set ecAddActionRedirect(value) {
|
|
31
|
-
this.banner = value;
|
|
32
|
-
}
|
|
33
|
-
set classStrSpacing(value) {
|
|
34
|
-
this.classStr = value;
|
|
35
|
-
}
|
|
36
|
-
set isTransparent(value) {
|
|
37
|
-
this.transparent = value;
|
|
38
|
-
}
|
|
39
|
-
ngOnInit() { }
|
|
40
|
-
ngOnChanges(changes) {
|
|
41
|
-
var _a;
|
|
42
|
-
this.transparent && this.renderer.setStyle(this.elementRef.nativeElement, 'color', 'transparent');
|
|
43
|
-
this.renderer.setAttribute(this.elementRef.nativeElement, "role", "button");
|
|
44
|
-
(_a = this.classStr) === null || _a === void 0 ? void 0 : _a.split(" ").forEach((cl) => {
|
|
45
|
-
try {
|
|
46
|
-
this.renderer.addClass(this.elementRef.nativeElement, cl);
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
console.log('add class directive -> ', error);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
this.redirectUrl = this.banner.url ? this.banner.url : this.blocksService.formUrl(this.banner);
|
|
53
|
-
this.banner.url ?
|
|
54
|
-
this.renderer.setProperty(this.elementRef.nativeElement, "href", this.banner.url)
|
|
55
|
-
:
|
|
56
|
-
this.linstenEvent = this.renderer.listen(this.elementRef.nativeElement, 'click', this.redirectFromUrl);
|
|
57
|
-
}
|
|
58
|
-
ngOnDestroy() {
|
|
59
|
-
this.linstenEvent && this.linstenEvent();
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
AddActionRedirectDirective.ctorParameters = () => [
|
|
63
|
-
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
64
|
-
{ type: ElementRef },
|
|
65
|
-
{ type: Renderer2 },
|
|
66
|
-
{ type: BlocksService },
|
|
67
|
-
{ type: Router }
|
|
68
|
-
];
|
|
69
|
-
__decorate([
|
|
70
|
-
Input()
|
|
71
|
-
], AddActionRedirectDirective.prototype, "ecAddActionRedirect", null);
|
|
72
|
-
__decorate([
|
|
73
|
-
Input()
|
|
74
|
-
], AddActionRedirectDirective.prototype, "classStrSpacing", null);
|
|
75
|
-
__decorate([
|
|
76
|
-
Input()
|
|
77
|
-
], AddActionRedirectDirective.prototype, "isTransparent", null);
|
|
78
|
-
AddActionRedirectDirective = __decorate([
|
|
79
|
-
Directive({
|
|
80
|
-
selector: "[ecAddActionRedirect]",
|
|
81
|
-
}),
|
|
82
|
-
__param(0, Inject(DOCUMENT))
|
|
83
|
-
], AddActionRedirectDirective);
|
|
84
|
-
export { AddActionRedirectDirective };
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { Directive, OnInit, OnDestroy, Input, ElementRef, Renderer2, Inject, OnChanges, SimpleChanges, } from "@angular/core";
|
|
11
|
+
import { DOCUMENT } from "@angular/common";
|
|
12
|
+
import { BlocksService } from "../services/blocks/blocks.service";
|
|
13
|
+
import { Router } from "@angular/router";
|
|
14
|
+
export class ParamsContext {
|
|
15
|
+
}
|
|
16
|
+
let AddActionRedirectDirective = class AddActionRedirectDirective {
|
|
17
|
+
constructor(document, elementRef, renderer, blocksService, router) {
|
|
18
|
+
this.document = document;
|
|
19
|
+
this.elementRef = elementRef;
|
|
20
|
+
this.renderer = renderer;
|
|
21
|
+
this.blocksService = blocksService;
|
|
22
|
+
this.router = router;
|
|
23
|
+
this.redirectUrl = '';
|
|
24
|
+
this.linstenEvent = null;
|
|
25
|
+
this.transparent = true;
|
|
26
|
+
this.redirectFromUrl = (evt) => {
|
|
27
|
+
this.router.navigateByUrl(this.redirectUrl);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
set ecAddActionRedirect(value) {
|
|
31
|
+
this.banner = value;
|
|
32
|
+
}
|
|
33
|
+
set classStrSpacing(value) {
|
|
34
|
+
this.classStr = value;
|
|
35
|
+
}
|
|
36
|
+
set isTransparent(value) {
|
|
37
|
+
this.transparent = value;
|
|
38
|
+
}
|
|
39
|
+
ngOnInit() { }
|
|
40
|
+
ngOnChanges(changes) {
|
|
41
|
+
var _a;
|
|
42
|
+
this.transparent && this.renderer.setStyle(this.elementRef.nativeElement, 'color', 'transparent');
|
|
43
|
+
this.renderer.setAttribute(this.elementRef.nativeElement, "role", "button");
|
|
44
|
+
(_a = this.classStr) === null || _a === void 0 ? void 0 : _a.split(" ").forEach((cl) => {
|
|
45
|
+
try {
|
|
46
|
+
this.renderer.addClass(this.elementRef.nativeElement, cl);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.log('add class directive -> ', error);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
this.redirectUrl = this.banner.url ? this.banner.url : this.blocksService.formUrl(this.banner);
|
|
53
|
+
this.banner.url ?
|
|
54
|
+
this.renderer.setProperty(this.elementRef.nativeElement, "href", this.banner.url)
|
|
55
|
+
:
|
|
56
|
+
this.linstenEvent = this.renderer.listen(this.elementRef.nativeElement, 'click', this.redirectFromUrl);
|
|
57
|
+
}
|
|
58
|
+
ngOnDestroy() {
|
|
59
|
+
this.linstenEvent && this.linstenEvent();
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
AddActionRedirectDirective.ctorParameters = () => [
|
|
63
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
64
|
+
{ type: ElementRef },
|
|
65
|
+
{ type: Renderer2 },
|
|
66
|
+
{ type: BlocksService },
|
|
67
|
+
{ type: Router }
|
|
68
|
+
];
|
|
69
|
+
__decorate([
|
|
70
|
+
Input()
|
|
71
|
+
], AddActionRedirectDirective.prototype, "ecAddActionRedirect", null);
|
|
72
|
+
__decorate([
|
|
73
|
+
Input()
|
|
74
|
+
], AddActionRedirectDirective.prototype, "classStrSpacing", null);
|
|
75
|
+
__decorate([
|
|
76
|
+
Input()
|
|
77
|
+
], AddActionRedirectDirective.prototype, "isTransparent", null);
|
|
78
|
+
AddActionRedirectDirective = __decorate([
|
|
79
|
+
Directive({
|
|
80
|
+
selector: "[ecAddActionRedirect]",
|
|
81
|
+
}),
|
|
82
|
+
__param(0, Inject(DOCUMENT))
|
|
83
|
+
], AddActionRedirectDirective);
|
|
84
|
+
export { AddActionRedirectDirective };
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWFjdGlvbi1yZWRpcmVjdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtZGlyZWN0aXZlL2FkZC1hY3Rpb24tcmVkaXJlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxLQUFLLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULGFBQWEsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekMsTUFBTSxPQUFPLGFBQWE7Q0FFekI7QUFLRCxJQUFhLDBCQUEwQixHQUF2QyxNQUFhLDBCQUEwQjtJQW9CbkMsWUFDOEIsUUFBUSxFQUMxQixVQUFzQixFQUN0QixRQUFtQixFQUNuQixhQUE0QixFQUM1QixNQUFjO1FBSkksYUFBUSxHQUFSLFFBQVEsQ0FBQTtRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXRCbEIsZ0JBQVcsR0FBRyxFQUFFLENBQUE7UUFDaEIsaUJBQVksR0FBRyxJQUFJLENBQUE7UUFDbkIsZ0JBQVcsR0FBRyxJQUFJLENBQUE7UUF5QzFCLG9CQUFlLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDL0MsQ0FBQyxDQUFBO0lBdEJHLENBQUM7SUFsQkwsSUFBSSxtQkFBbUIsQ0FBQyxLQUFVO1FBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLGVBQWUsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxLQUFjO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFVRCxRQUFRLEtBQUssQ0FBQztJQUdkLFdBQVcsQ0FBQyxPQUFzQjs7UUFDOUIsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUE7UUFDakcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQzNFLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNyQyxJQUFJO2dCQUNBLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQzdEO1lBQUMsT0FBTyxLQUFLLEVBQUU7Z0JBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsQ0FBQTthQUFFO1FBQ3JFLENBQUMsRUFBRTtRQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDOUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUNqRixDQUFDO2dCQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUM5RyxDQUFDO0lBTUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO0lBQzVDLENBQUM7Q0FDSixDQUFBOzs0Q0FoQ1EsTUFBTSxTQUFDLFFBQVE7WUFDSSxVQUFVO1lBQ1osU0FBUztZQUNKLGFBQWE7WUFDcEIsTUFBTTs7QUFqQjFCO0lBREMsS0FBSyxFQUFFO3FFQUdQO0FBRUQ7SUFEQyxLQUFLLEVBQUU7aUVBR1A7QUFFRDtJQURDLEtBQUssRUFBRTsrREFHUDtBQWxCUSwwQkFBMEI7SUFIdEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHVCQUF1QjtLQUNwQyxDQUFDO0lBc0JPLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0dBckJaLDBCQUEwQixDQXFEdEM7U0FyRFksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBJbnB1dCxcbiAgICBFbGVtZW50UmVmLFxuICAgIFJlbmRlcmVyMixcbiAgICBJbmplY3QsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEJsb2Nrc1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvYmxvY2tzL2Jsb2Nrcy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBQYXJhbXNDb250ZXh0IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltlY0FkZEFjdGlvblJlZGlyZWN0XVwiLFxufSlcbmV4cG9ydCBjbGFzcyBBZGRBY3Rpb25SZWRpcmVjdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgYmFubmVyOiBhbnk7XG4gICAgcHJpdmF0ZSBjbGFzc1N0cjogXCJcIjtcbiAgICBwcml2YXRlIHJlZGlyZWN0VXJsID0gJydcbiAgICBwcml2YXRlIGxpbnN0ZW5FdmVudCA9IG51bGxcbiAgICBwcml2YXRlIHRyYW5zcGFyZW50ID0gdHJ1ZVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZWNBZGRBY3Rpb25SZWRpcmVjdCh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuYmFubmVyID0gdmFsdWU7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNsYXNzU3RyU3BhY2luZyh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuY2xhc3NTdHIgPSB2YWx1ZTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBzZXQgaXNUcmFuc3BhcmVudCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnRyYW5zcGFyZW50ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGJsb2Nrc1NlcnZpY2U6IEJsb2Nrc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgKSB7IH1cblxuICAgIG5nT25Jbml0KCkgeyB9XG5cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgdGhpcy50cmFuc3BhcmVudCAmJiB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY29sb3InLCAndHJhbnNwYXJlbnQnKVxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJyb2xlXCIsIFwiYnV0dG9uXCIpXG4gICAgICAgIHRoaXMuY2xhc3NTdHI/LnNwbGl0KFwiIFwiKS5mb3JFYWNoKChjbCkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjbCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgeyBjb25zb2xlLmxvZygnYWRkIGNsYXNzIGRpcmVjdGl2ZSAtPiAnLCBlcnJvcikgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZWRpcmVjdFVybCA9IHRoaXMuYmFubmVyLnVybCA/IHRoaXMuYmFubmVyLnVybCA6IHRoaXMuYmxvY2tzU2VydmljZS5mb3JtVXJsKHRoaXMuYmFubmVyKVxuICAgICAgICB0aGlzLmJhbm5lci51cmwgP1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJocmVmXCIsIHRoaXMuYmFubmVyLnVybClcbiAgICAgICAgICAgIDpcbiAgICAgICAgICAgIHRoaXMubGluc3RlbkV2ZW50ID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycsIHRoaXMucmVkaXJlY3RGcm9tVXJsKVxuICAgIH1cblxuICAgIHJlZGlyZWN0RnJvbVVybCA9IChldnQpID0+IHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnJlZGlyZWN0VXJsKVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmxpbnN0ZW5FdmVudCAmJiB0aGlzLmxpbnN0ZW5FdmVudCgpXG4gICAgfVxufVxuIl19
|