@snabcentr/client-ui 4.14.9 → 4.14.21
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/accordion/index.d.ts +3 -0
- package/accordion/sc-accordion-content.directive.d.ts +9 -0
- package/accordion/sc-accordion.component.d.ts +56 -0
- package/accordion/sc-accordion.module.d.ts +15 -0
- package/auth/enums/auth-method.d.ts +13 -0
- package/auth/index.d.ts +8 -0
- package/auth/interfaces/index.d.ts +2 -0
- package/auth/interfaces/sc-bank-account-form-group.d.ts +11 -0
- package/auth/interfaces/sc-contact-form-group.d.ts +10 -0
- package/auth/sc-auth.module.d.ts +27 -0
- package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +55 -0
- package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +45 -0
- package/auth/sc-sign-in-form/sc-sign-in-form.component.d.ts +53 -0
- package/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.d.ts +113 -0
- package/auth/sign-up-form/sc-sign-up-form.component.d.ts +172 -0
- package/banner/index.d.ts +2 -0
- package/banner/sc-banner.component.d.ts +108 -0
- package/banner/sc-banner.module.d.ts +17 -0
- package/brands-list/index.d.ts +3 -0
- package/brands-list/sc-brand-list-item.d.ts +25 -0
- package/brands-list/sc-brands-list.component.d.ts +13 -0
- package/brands-list/sc-brands-list.module.d.ts +12 -0
- package/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.d.ts +106 -0
- package/cart/add-or-editing-cart-item-dialog/index.d.ts +2 -0
- package/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.d.ts +49 -0
- package/cart/index.d.ts +2 -0
- package/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.d.ts +62 -0
- package/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.d.ts +47 -0
- package/catalog/catalog-filters/index.d.ts +4 -0
- package/catalog/catalog-filters/sc-catalog-filters.component.d.ts +199 -0
- package/catalog/catalog-filters/tokens/sc-catalog-products-filters.d.ts +7 -0
- package/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.d.ts +5 -0
- package/catalog/category-card/sc-category-card.component.d.ts +76 -0
- package/catalog/cost-with-discount/cost-with-discount.component.d.ts +23 -0
- package/catalog/download-price-list/sc-download-price-list.component.d.ts +38 -0
- package/catalog/hover-image-carousel/sc-hover-image-carousel.component.d.ts +48 -0
- package/catalog/index.d.ts +15 -0
- package/catalog/input-quantity/sc-input-quantity.component.d.ts +82 -0
- package/catalog/notify-when-in-stock-dialog/index.d.ts +2 -0
- package/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.d.ts +90 -0
- package/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.d.ts +22 -0
- package/catalog/price-card/sc-price-card.component.d.ts +18 -0
- package/catalog/price-card-inline/sc-price-card-inline.component.d.ts +10 -0
- package/catalog/price-history/sc-price-history.component.d.ts +92 -0
- package/catalog/price-list-pagination/sc-price-list-pagination.component.d.ts +40 -0
- package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +47 -0
- package/catalog/sc-catalog.module.d.ts +29 -0
- package/catalog/sc-favorite-button/sc-favorite-button.component.d.ts +25 -0
- package/catalog/seo-tags/sc-seo-tags.component.d.ts +20 -0
- package/configurators/index.d.ts +3 -0
- package/configurators/models/index.d.ts +3 -0
- package/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.d.ts +22 -0
- package/configurators/models/sandwich/sc-i-sandwich-settings.d.ts +18 -0
- package/configurators/models/sandwich_m2/sc-i-sandwich-m2-settings.d.ts +18 -0
- package/configurators/sandwich/index.d.ts +3 -0
- package/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.d.ts +8 -0
- package/configurators/sandwich/sc-i-new-cart-item-sandwich.d.ts +14 -0
- package/configurators/sandwich/sc-sandwich.component.d.ts +186 -0
- package/configurators/sandwich_m2/index.d.ts +4 -0
- package/configurators/sandwich_m2/sandwich-m2-skeleton/sc-sandwich-m2-skeleton.component.d.ts +8 -0
- package/configurators/sandwich_m2/sc-i-new-cart-item-sandwich-m2.d.ts +23 -0
- package/configurators/sandwich_m2/sc-sandwich-m2-item-submit-state.d.ts +13 -0
- package/configurators/sandwich_m2/sc-sandwich-m2.component.d.ts +275 -0
- package/contacts/add-contact-dialog/sc-add-contact-dialog.component.d.ts +49 -0
- package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +23 -0
- package/contacts/index.d.ts +7 -0
- package/contacts/manager-card/sc-manager-card.component.d.ts +22 -0
- package/contacts/manager-card-push/sc-manager-card-push.component.d.ts +18 -0
- package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +28 -0
- package/contacts/sc-contacts.module.d.ts +28 -0
- package/contacts/tokens/index.d.ts +2 -0
- package/contacts/tokens/sc-manager-qr-handler.token.d.ts +6 -0
- package/contacts/tokens/sc-show-help-notification-in-phone-input.token.d.ts +5 -0
- package/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +49 -0
- package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +158 -0
- package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +66 -0
- package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +49 -0
- package/contragents/index.d.ts +7 -0
- package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +64 -0
- package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +129 -0
- package/contragents/sc-contragents.module.d.ts +28 -0
- package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +148 -0
- package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +50 -0
- package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +49 -0
- package/delivery-address/index.d.ts +4 -0
- package/delivery-address/sc-delivery-address.module.d.ts +25 -0
- package/dialogs/index.d.ts +1 -0
- package/dialogs/sc-resource-preview/sc-resource-preview.component.d.ts +42 -0
- package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +136 -0
- package/directives/address-quality/sc-address-quality.directive.d.ts +23 -0
- package/directives/address-quality/sc-address-quality.service.d.ts +122 -0
- package/directives/address-quality/sc-i-address-quality-state.d.ts +14 -0
- package/directives/index.d.ts +11 -0
- package/directives/links/index.d.ts +4 -0
- package/directives/links/sc-email-link.directive.d.ts +25 -0
- package/directives/links/sc-link-location.d.ts +5 -0
- package/directives/links/sc-links.d.ts +7 -0
- package/directives/links/sc-tel-link.directive.d.ts +40 -0
- package/directives/next-input-focus/sc-next-input-focus.directive.d.ts +27 -0
- package/directives/next-input-focus/sc-next-input-focus.module.d.ts +10 -0
- package/directives/print/sc-print.directive.d.ts +21 -0
- package/directives/sc-date-value-transformer.directive.d.ts +8 -0
- package/directives/sc-focus-first-invalid-field.directive.d.ts +30 -0
- package/directives/sc-null-on-empty-value-transformer.directive.d.ts +8 -0
- package/directives/select-on-focusin/sc-select-on-focusin.directive.d.ts +14 -0
- package/directives/terminal-link/sc-terminal-link.directive.d.ts +34 -0
- package/error-handler/consts/error-change-handler.providers.d.ts +6 -0
- package/error-handler/error-block-status/error-block-status.component.d.ts +55 -0
- package/error-handler/index.d.ts +4 -0
- package/error-handler/interfaces/i-block-error.d.ts +17 -0
- package/error-handler/sc-error-handler.component.d.ts +40 -0
- package/esm2022/accordion/index.mjs +4 -0
- package/esm2022/accordion/sc-accordion-content.directive.mjs +17 -0
- package/esm2022/accordion/sc-accordion.component.mjs +92 -0
- package/esm2022/accordion/sc-accordion.module.mjs +26 -0
- package/esm2022/auth/enums/auth-method.mjs +15 -0
- package/esm2022/auth/index.mjs +9 -0
- package/esm2022/auth/interfaces/index.mjs +3 -0
- package/esm2022/auth/interfaces/sc-bank-account-form-group.mjs +2 -0
- package/esm2022/auth/interfaces/sc-contact-form-group.mjs +2 -0
- package/esm2022/auth/sc-auth.module.mjs +103 -0
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +100 -0
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +81 -0
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +89 -0
- package/esm2022/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.mjs +203 -0
- package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +345 -0
- package/esm2022/banner/index.mjs +3 -0
- package/esm2022/banner/sc-banner.component.mjs +176 -0
- package/esm2022/banner/sc-banner.module.mjs +29 -0
- package/esm2022/brands-list/index.mjs +4 -0
- package/esm2022/brands-list/sc-brand-list-item.mjs +2 -0
- package/esm2022/brands-list/sc-brands-list.component.mjs +24 -0
- package/esm2022/brands-list/sc-brands-list.module.mjs +22 -0
- package/esm2022/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.mjs +233 -0
- package/esm2022/cart/add-or-editing-cart-item-dialog/index.mjs +3 -0
- package/esm2022/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.mjs +75 -0
- package/esm2022/cart/index.mjs +3 -0
- package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +110 -0
- package/esm2022/catalog/catalog-filters/collapsible/sc-catalog-filter-collapsible.component.mjs +59 -0
- package/esm2022/catalog/catalog-filters/index.mjs +5 -0
- package/esm2022/catalog/catalog-filters/sc-catalog-filters.component.mjs +451 -0
- package/esm2022/catalog/catalog-filters/tokens/sc-catalog-products-filters.mjs +10 -0
- package/esm2022/catalog/catalog-filters/tokens/sc-catalog-show-products-recursively.mjs +6 -0
- package/esm2022/catalog/category-card/sc-category-card.component.mjs +102 -0
- package/esm2022/catalog/cost-with-discount/cost-with-discount.component.mjs +38 -0
- package/esm2022/catalog/download-price-list/sc-download-price-list.component.mjs +56 -0
- package/esm2022/catalog/hover-image-carousel/sc-hover-image-carousel.component.mjs +76 -0
- package/esm2022/catalog/index.mjs +16 -0
- package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +190 -0
- package/esm2022/catalog/notify-when-in-stock-dialog/index.mjs +3 -0
- package/esm2022/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.mjs +173 -0
- package/esm2022/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.mjs +35 -0
- package/esm2022/catalog/price-card/sc-price-card.component.mjs +71 -0
- package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +54 -0
- package/esm2022/catalog/price-history/sc-price-history.component.mjs +144 -0
- package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +65 -0
- package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +61 -0
- package/esm2022/catalog/sc-catalog.module.mjs +128 -0
- package/esm2022/catalog/sc-favorite-button/sc-favorite-button.component.mjs +42 -0
- package/esm2022/catalog/seo-tags/sc-seo-tags.component.mjs +25 -0
- package/esm2022/configurators/index.mjs +4 -0
- package/esm2022/configurators/models/index.mjs +4 -0
- package/esm2022/configurators/models/sandwich/sc-i-configurator-search-product-sandwich.mjs +2 -0
- package/esm2022/configurators/models/sandwich/sc-i-sandwich-settings.mjs +2 -0
- package/esm2022/configurators/models/sandwich_m2/sc-i-sandwich-m2-settings.mjs +2 -0
- package/esm2022/configurators/sandwich/index.mjs +4 -0
- package/esm2022/configurators/sandwich/sandwich-skeleton/sc-sandwich-skeleton.component.mjs +14 -0
- package/esm2022/configurators/sandwich/sc-i-new-cart-item-sandwich.mjs +2 -0
- package/esm2022/configurators/sandwich/sc-sandwich.component.mjs +387 -0
- package/esm2022/configurators/sandwich_m2/index.mjs +5 -0
- package/esm2022/configurators/sandwich_m2/sandwich-m2-skeleton/sc-sandwich-m2-skeleton.component.mjs +14 -0
- package/esm2022/configurators/sandwich_m2/sc-i-new-cart-item-sandwich-m2.mjs +2 -0
- package/esm2022/configurators/sandwich_m2/sc-sandwich-m2-item-submit-state.mjs +5 -0
- package/esm2022/configurators/sandwich_m2/sc-sandwich-m2.component.mjs +569 -0
- package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +91 -0
- package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +37 -0
- package/esm2022/contacts/index.mjs +8 -0
- package/esm2022/contacts/manager-card/sc-manager-card.component.mjs +58 -0
- package/esm2022/contacts/manager-card-push/sc-manager-card-push.component.mjs +28 -0
- package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +38 -0
- package/esm2022/contacts/sc-contacts.module.mjs +92 -0
- package/esm2022/contacts/tokens/index.mjs +3 -0
- package/esm2022/contacts/tokens/sc-manager-qr-handler.token.mjs +25 -0
- package/esm2022/contacts/tokens/sc-show-help-notification-in-phone-input.token.mjs +9 -0
- package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +81 -0
- package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +266 -0
- package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +79 -0
- package/esm2022/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +68 -0
- package/esm2022/contragents/index.mjs +8 -0
- package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +72 -0
- package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +241 -0
- package/esm2022/contragents/sc-contragents.module.mjs +121 -0
- package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +261 -0
- package/esm2022/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +60 -0
- package/esm2022/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +68 -0
- package/esm2022/delivery-address/index.mjs +5 -0
- package/esm2022/delivery-address/sc-delivery-address.module.mjs +96 -0
- package/esm2022/dialogs/index.mjs +2 -0
- package/esm2022/dialogs/sc-resource-preview/sc-resource-preview.component.mjs +73 -0
- package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +170 -0
- package/esm2022/directives/address-quality/sc-address-quality.directive.mjs +40 -0
- package/esm2022/directives/address-quality/sc-address-quality.service.mjs +214 -0
- package/esm2022/directives/address-quality/sc-i-address-quality-state.mjs +2 -0
- package/esm2022/directives/index.mjs +12 -0
- package/esm2022/directives/links/index.mjs +5 -0
- package/esm2022/directives/links/sc-email-link.directive.mjs +49 -0
- package/esm2022/directives/links/sc-link-location.mjs +2 -0
- package/esm2022/directives/links/sc-links.mjs +8 -0
- package/esm2022/directives/links/sc-tel-link.directive.mjs +79 -0
- package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +70 -0
- package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +19 -0
- package/esm2022/directives/print/sc-print.directive.mjs +36 -0
- package/esm2022/directives/sc-date-value-transformer.directive.mjs +30 -0
- package/esm2022/directives/sc-focus-first-invalid-field.directive.mjs +85 -0
- package/esm2022/directives/sc-null-on-empty-value-transformer.directive.mjs +30 -0
- package/esm2022/directives/select-on-focusin/sc-select-on-focusin.directive.mjs +36 -0
- package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +69 -0
- package/esm2022/error-handler/consts/error-change-handler.providers.mjs +10 -0
- package/esm2022/error-handler/error-block-status/error-block-status.component.mjs +101 -0
- package/esm2022/error-handler/index.mjs +5 -0
- package/esm2022/error-handler/interfaces/i-block-error.mjs +2 -0
- package/esm2022/error-handler/sc-error-handler.component.mjs +58 -0
- package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +344 -0
- package/esm2022/feedback/gratitude/sc-gratitude.component.mjs +32 -0
- package/esm2022/feedback/index.mjs +4 -0
- package/esm2022/feedback/interfaces/index.mjs +2 -0
- package/esm2022/feedback/interfaces/sc-feedback-form-config.mjs +2 -0
- package/esm2022/files/directives/index.mjs +3 -0
- package/esm2022/files/directives/tree-top.directive.mjs +63 -0
- package/esm2022/files/directives/tree.directive.mjs +47 -0
- package/esm2022/files/file-tree-item/file-tree-item.component.mjs +18 -0
- package/esm2022/files/files-and-documents/files-and-documents.component.mjs +61 -0
- package/esm2022/files/files-and-documents.module.mjs +28 -0
- package/esm2022/files/index.mjs +6 -0
- package/esm2022/files/interfaces/tree-node.mjs +2 -0
- package/esm2022/files/services/index.mjs +3 -0
- package/esm2022/files/services/tree-icon.service.mjs +49 -0
- package/esm2022/files/services/tree-loader.service.mjs +62 -0
- package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +155 -0
- package/esm2022/form-fields/form-fields.module.mjs +66 -0
- package/esm2022/form-fields/index.mjs +4 -0
- package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +235 -0
- package/esm2022/icons/index.mjs +2 -0
- package/esm2022/icons/sc-client-ui-icons-name.mjs +99 -0
- package/esm2022/loader/index.mjs +2 -0
- package/esm2022/loader/sc-i-loader.mjs +2 -0
- package/esm2022/masks/index.mjs +9 -0
- package/esm2022/masks/sc-account-number-mask.mjs +7 -0
- package/esm2022/masks/sc-bic-mask.mjs +7 -0
- package/esm2022/masks/sc-correspondent-account-mask.mjs +7 -0
- package/esm2022/masks/sc-inn-mask.mjs +13 -0
- package/esm2022/masks/sc-kpp-mask.mjs +7 -0
- package/esm2022/masks/sc-ogrn-mask.mjs +13 -0
- package/esm2022/masks/sc-okpo-mask.mjs +13 -0
- package/esm2022/masks/sc-phone-verification-code-mask.mjs +7 -0
- package/esm2022/methods/index.mjs +2 -0
- package/esm2022/methods/sc-get-current-route.mjs +14 -0
- package/esm2022/models/i-sc-image.mjs +2 -0
- package/esm2022/models/index.mjs +2 -0
- package/esm2022/news/index.mjs +4 -0
- package/esm2022/news/news-card/sc-news-card.component.mjs +34 -0
- package/esm2022/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +31 -0
- package/esm2022/news/sc-news.module.mjs +25 -0
- package/esm2022/noindex-wrapper/directives/index.mjs +2 -0
- package/esm2022/noindex-wrapper/directives/sc-noindex.directive.mjs +58 -0
- package/esm2022/noindex-wrapper/index.mjs +3 -0
- package/esm2022/noindex-wrapper/sc-noindex-wrapper.component.mjs +18 -0
- package/esm2022/order/directives/index.mjs +3 -0
- package/esm2022/order/directives/sc-order-accessor.directive.mjs +28 -0
- package/esm2022/order/directives/sc-order-options.mjs +11 -0
- package/esm2022/order/draft/sc-draft.component.mjs +118 -0
- package/esm2022/order/index.mjs +14 -0
- package/esm2022/order/models/i-new-order-form.mjs +2 -0
- package/esm2022/order/models/sc-i-cart-items-by-direction.mjs +22 -0
- package/esm2022/order/order-direction-items/sc-order-direction-items.component.mjs +39 -0
- package/esm2022/order/order-form/sc-order-form.component.mjs +565 -0
- package/esm2022/order/order-form/sc-order-form.config.mjs +7 -0
- package/esm2022/order/order-item/sc-order-item.component.mjs +112 -0
- package/esm2022/order/order-items-list/sc-order-items-list.component.mjs +212 -0
- package/esm2022/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.mjs +75 -0
- package/esm2022/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.mjs +75 -0
- package/esm2022/order/sc-order.module.mjs +52 -0
- package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +35 -0
- package/esm2022/pages/frequently-asked-questions/sc-faq-query-params.mjs +5 -0
- package/esm2022/pages/frequently-asked-questions/sc-faq-question-anchor.mjs +23 -0
- package/esm2022/pages/frequently-asked-questions/sc-frequently-asked-questions.component.mjs +167 -0
- package/esm2022/pages/frequently-asked-questions/sc-get-faq-group-query-params.mjs +14 -0
- package/esm2022/pages/frequently-asked-questions/sc-page-size-options.mjs +8 -0
- package/esm2022/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.mjs +88 -0
- package/esm2022/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.mjs +123 -0
- package/esm2022/pages/index.mjs +11 -0
- package/esm2022/pages/news-list/sc-news-list.component.mjs +90 -0
- package/esm2022/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.mjs +46 -0
- package/esm2022/pages/privacy-policy/sc-privacy-policy.component.mjs +30 -0
- package/esm2022/pages/public-offer/sc-public-offer.component.mjs +50 -0
- package/esm2022/pagination/index.mjs +2 -0
- package/esm2022/pagination/sc-pagination-links/sc-pagination-links.component.mjs +99 -0
- package/esm2022/pipes/index.mjs +3 -0
- package/esm2022/pipes/sc-format-date.mjs +33 -0
- package/esm2022/pipes/sc-phone-format.mjs +44 -0
- package/esm2022/profile/index.mjs +3 -0
- package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +174 -0
- package/esm2022/profile/sc-profile.module.mjs +73 -0
- package/esm2022/providers/cleanup-recaptcha-artifacts.mjs +30 -0
- package/esm2022/providers/date-value-transformer/index.mjs +4 -0
- package/esm2022/providers/date-value-transformer/sc-date-value-transformer-types.mjs +2 -0
- package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-end-time.mjs +26 -0
- package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-start-time.mjs +37 -0
- package/esm2022/providers/index.mjs +18 -0
- package/esm2022/providers/null-on-empty-value-transformer/index.mjs +2 -0
- package/esm2022/providers/null-on-empty-value-transformer/sc-null-on-empty-value-transformer.mjs +31 -0
- package/esm2022/providers/sc-allow-select-terminated.mjs +8 -0
- package/esm2022/providers/sc-banner-duration.mjs +8 -0
- package/esm2022/providers/sc-block-incomplete-address.mjs +8 -0
- package/esm2022/providers/sc-country-ids.mjs +8 -0
- package/esm2022/providers/sc-date-formatter.mjs +15 -0
- package/esm2022/providers/sc-date-value-transformer.mjs +12 -0
- package/esm2022/providers/sc-debounce-time-default.mjs +9 -0
- package/esm2022/providers/sc-dialog-service.providers.mjs +6 -0
- package/esm2022/providers/sc-help-notification-close.mjs +9 -0
- package/esm2022/providers/sc-help-notification-limit.mjs +8 -0
- package/esm2022/providers/sc-hidden-print-elements.token.mjs +10 -0
- package/esm2022/providers/sc-max-files-in-form-input.mjs +8 -0
- package/esm2022/providers/sc-notify-when-in-stock-required-fields.mjs +8 -0
- package/esm2022/providers/sc-page-size-options.mjs +8 -0
- package/esm2022/providers/sc-user-providers.mjs +38 -0
- package/esm2022/providers/sc-verification-code-timeout.mjs +8 -0
- package/esm2022/public-api.mjs +36 -0
- package/esm2022/qrcode/index.mjs +3 -0
- package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +58 -0
- package/esm2022/qrcode/sc-qrcode.module.mjs +25 -0
- package/esm2022/samples/index.mjs +5 -0
- package/esm2022/samples/interfaces/index.mjs +3 -0
- package/esm2022/samples/interfaces/sc-i-preview-sample.mjs +2 -0
- package/esm2022/samples/interfaces/sc-preview-mosquito-config.mjs +2 -0
- package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +42 -0
- package/esm2022/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.mjs +63 -0
- package/esm2022/samples/sc-sample.module.mjs +66 -0
- package/esm2022/services/index.mjs +3 -0
- package/esm2022/services/print.service.mjs +49 -0
- package/esm2022/services/sc-help-notification.service.mjs +100 -0
- package/esm2022/share/index.mjs +6 -0
- package/esm2022/share/sc-share-dialog-data.mjs +2 -0
- package/esm2022/share/sc-share.service.mjs +40 -0
- package/esm2022/share/share-button/sc-share-button.component.mjs +99 -0
- package/esm2022/share/share-dialog/sc-share-dialog.component.mjs +139 -0
- package/esm2022/share/share-messengers-links/sc-share-messengers-links.component.mjs +84 -0
- package/esm2022/snabcentr-client-ui.mjs +5 -0
- package/esm2022/user/index.mjs +6 -0
- package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +74 -0
- package/esm2022/user/sc-user.module.mjs +86 -0
- package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +121 -0
- package/esm2022/user/user-managers/sc-user-managers.component.mjs +40 -0
- package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +105 -0
- package/esm2022/validators/index.mjs +7 -0
- package/esm2022/validators/sc-at-least-one-required-validator.mjs +25 -0
- package/esm2022/validators/sc-bic-validator.mjs +10 -0
- package/esm2022/validators/sc-correspondent-account-validator.mjs +10 -0
- package/esm2022/validators/sc-password-confirm-matching-validator.mjs +17 -0
- package/esm2022/validators/sc-phone-validator.mjs +14 -0
- package/esm2022/validators/step-validator.mjs +18 -0
- package/esm2022/verification/index.mjs +3 -0
- package/esm2022/verification/sc-verification.module.mjs +86 -0
- package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +259 -0
- package/feedback/feedback-form/sc-feedback-form.component.d.ts +163 -0
- package/feedback/gratitude/sc-gratitude.component.d.ts +20 -0
- package/feedback/index.d.ts +3 -0
- package/feedback/interfaces/index.d.ts +1 -0
- package/feedback/interfaces/sc-feedback-form-config.d.ts +23 -0
- package/fesm2022/snabcentr-client-ui.mjs +5826 -4942
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/files/directives/index.d.ts +2 -0
- package/files/directives/tree-top.directive.d.ts +33 -0
- package/files/directives/tree.directive.d.ts +35 -0
- package/files/file-tree-item/file-tree-item.component.d.ts +9 -0
- package/files/files-and-documents/files-and-documents.component.d.ts +27 -0
- package/files/files-and-documents.module.d.ts +17 -0
- package/files/index.d.ts +5 -0
- package/files/interfaces/tree-node.d.ts +29 -0
- package/files/services/index.d.ts +2 -0
- package/files/services/tree-icon.service.d.ts +23 -0
- package/files/services/tree-loader.service.d.ts +43 -0
- package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +80 -0
- package/form-fields/form-fields.module.d.ts +18 -0
- package/form-fields/index.d.ts +3 -0
- package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +107 -0
- package/icons/index.d.ts +1 -0
- package/icons/sc-client-ui-icons-name.d.ts +4 -0
- package/icons/svg-pack/application.svg +1 -1
- package/icons/svg-pack/back.svg +1 -1
- package/icons/svg-pack/bag.svg +1 -1
- package/icons/svg-pack/banknote-arrow-in-top.svg +1 -1
- package/icons/svg-pack/catalog/aluminum-systems.svg +1 -1
- package/icons/svg-pack/catalog/arm-profile.svg +1 -1
- package/icons/svg-pack/catalog/batten.svg +1 -1
- package/icons/svg-pack/catalog/brusbox.svg +1 -1
- package/icons/svg-pack/catalog/canopy.svg +1 -1
- package/icons/svg-pack/catalog/configurator.svg +1 -1
- package/icons/svg-pack/catalog/covering-material.svg +1 -1
- package/icons/svg-pack/catalog/door-accessories.svg +1 -1
- package/icons/svg-pack/catalog/drainage-system.svg +1 -1
- package/icons/svg-pack/catalog/fastener.svg +1 -1
- package/icons/svg-pack/catalog/finishing-materials.svg +1 -1
- package/icons/svg-pack/catalog/fixing-impost.svg +1 -1
- package/icons/svg-pack/catalog/flask.svg +1 -1
- package/icons/svg-pack/catalog/foam-balloon.svg +1 -1
- package/icons/svg-pack/catalog/foam.svg +1 -1
- package/icons/svg-pack/catalog/glue.svg +1 -1
- package/icons/svg-pack/catalog/handle.svg +1 -1
- package/icons/svg-pack/catalog/instrument.svg +1 -1
- package/icons/svg-pack/catalog/kve-profile.svg +1 -1
- package/icons/svg-pack/catalog/lubricants.svg +1 -1
- package/icons/svg-pack/catalog/mosquito-net.svg +1 -1
- package/icons/svg-pack/catalog/mounting-accessories.svg +1 -1
- package/icons/svg-pack/catalog/net-order.svg +1 -1
- package/icons/svg-pack/catalog/panel-1.svg +1 -1
- package/icons/svg-pack/catalog/panel.svg +1 -1
- package/icons/svg-pack/catalog/polyethylene-film.svg +1 -1
- package/icons/svg-pack/catalog/profile-plastic.svg +1 -1
- package/icons/svg-pack/catalog/promo-materials.svg +1 -1
- package/icons/svg-pack/catalog/psul.svg +1 -1
- package/icons/svg-pack/catalog/rehau-profile.svg +1 -1
- package/icons/svg-pack/catalog/sandwich-plastic.svg +1 -1
- package/icons/svg-pack/catalog/sealer.svg +1 -1
- package/icons/svg-pack/catalog/siding-2.svg +1 -1
- package/icons/svg-pack/catalog/siding.svg +1 -1
- package/icons/svg-pack/catalog/start-finish-profile.svg +1 -1
- package/icons/svg-pack/catalog/steam-waterproofing.svg +1 -1
- package/icons/svg-pack/catalog/stiz.svg +1 -1
- package/icons/svg-pack/catalog/thermometer.svg +1 -1
- package/icons/svg-pack/catalog/windowsill.svg +1 -1
- package/icons/svg-pack/chart-column-plus.svg +1 -1
- package/icons/svg-pack/circle-arrow-in-right.svg +1 -1
- package/icons/svg-pack/contacts.svg +1 -1
- package/icons/svg-pack/deadline.svg +1 -1
- package/icons/svg-pack/file-p.svg +1 -1
- package/icons/svg-pack/file-search.svg +1 -1
- package/icons/svg-pack/file-w.svg +1 -1
- package/icons/svg-pack/file-x.svg +1 -1
- package/icons/svg-pack/grid-height-arrow.svg +1 -1
- package/icons/svg-pack/grid-width-arrow.svg +1 -1
- package/icons/svg-pack/layout-list-tree.svg +1 -1
- package/icons/svg-pack/list.svg +1 -1
- package/icons/svg-pack/puzzle.svg +1 -1
- package/icons/svg-pack/reclamation.svg +1 -1
- package/icons/svg-pack/retail-store.svg +1 -1
- package/icons/svg-pack/send.svg +1 -1
- package/index.d.ts +5 -0
- package/loader/index.d.ts +1 -0
- package/loader/sc-i-loader.d.ts +9 -0
- package/masks/index.d.ts +8 -0
- package/masks/sc-account-number-mask.d.ts +5 -0
- package/masks/sc-bic-mask.d.ts +5 -0
- package/masks/sc-correspondent-account-mask.d.ts +5 -0
- package/masks/sc-inn-mask.d.ts +9 -0
- package/masks/sc-kpp-mask.d.ts +5 -0
- package/masks/sc-ogrn-mask.d.ts +9 -0
- package/masks/sc-okpo-mask.d.ts +9 -0
- package/masks/sc-phone-verification-code-mask.d.ts +5 -0
- package/methods/index.d.ts +1 -0
- package/methods/sc-get-current-route.d.ts +8 -0
- package/models/i-sc-image.d.ts +17 -0
- package/models/index.d.ts +1 -0
- package/news/index.d.ts +3 -0
- package/news/news-card/sc-news-card.component.d.ts +22 -0
- package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +16 -0
- package/news/sc-news.module.d.ts +15 -0
- package/noindex-wrapper/directives/index.d.ts +1 -0
- package/noindex-wrapper/directives/sc-noindex.directive.d.ts +29 -0
- package/noindex-wrapper/index.d.ts +2 -0
- package/noindex-wrapper/sc-noindex-wrapper.component.d.ts +9 -0
- package/order/directives/index.d.ts +2 -0
- package/order/directives/sc-order-accessor.directive.d.ts +13 -0
- package/order/directives/sc-order-options.d.ts +14 -0
- package/order/draft/sc-draft.component.d.ts +63 -0
- package/order/index.d.ts +13 -0
- package/order/models/i-new-order-form.d.ts +39 -0
- package/order/models/sc-i-cart-items-by-direction.d.ts +25 -0
- package/order/order-direction-items/sc-order-direction-items.component.d.ts +29 -0
- package/order/order-form/sc-order-form.component.d.ts +283 -0
- package/order/order-form/sc-order-form.config.d.ts +20 -0
- package/order/order-item/sc-order-item.component.d.ts +43 -0
- package/order/order-items-list/sc-order-items-list.component.d.ts +113 -0
- package/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.d.ts +58 -0
- package/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.d.ts +55 -0
- package/order/sc-order.module.d.ts +18 -0
- package/order/sc-payment-status/sc-payment-status.component.d.ts +25 -0
- package/package.json +37 -35
- package/pages/frequently-asked-questions/sc-faq-query-params.d.ts +4 -0
- package/pages/frequently-asked-questions/sc-faq-question-anchor.d.ts +16 -0
- package/pages/frequently-asked-questions/sc-frequently-asked-questions.component.d.ts +84 -0
- package/pages/frequently-asked-questions/sc-get-faq-group-query-params.d.ts +10 -0
- package/pages/frequently-asked-questions/sc-page-size-options.d.ts +5 -0
- package/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.d.ts +47 -0
- package/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.d.ts +89 -0
- package/pages/index.d.ts +10 -0
- package/pages/news-list/sc-news-list.component.d.ts +57 -0
- package/pages/personal-data-processing-policy/sc-personal-data-processing-policy.component.d.ts +17 -0
- package/pages/privacy-policy/sc-privacy-policy.component.d.ts +17 -0
- package/pages/public-offer/sc-public-offer.component.d.ts +22 -0
- package/pagination/index.d.ts +1 -0
- package/pagination/sc-pagination-links/sc-pagination-links.component.d.ts +60 -0
- package/pipes/index.d.ts +2 -0
- package/pipes/sc-format-date.d.ts +20 -0
- package/pipes/sc-phone-format.d.ts +21 -0
- package/profile/index.d.ts +2 -0
- package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +126 -0
- package/profile/sc-profile.module.d.ts +23 -0
- package/providers/cleanup-recaptcha-artifacts.d.ts +7 -0
- package/providers/date-value-transformer/index.d.ts +3 -0
- package/providers/date-value-transformer/sc-date-value-transformer-types.d.ts +9 -0
- package/providers/date-value-transformer/sc-date-value-transformer-with-end-time.d.ts +16 -0
- package/providers/date-value-transformer/sc-date-value-transformer-with-start-time.d.ts +22 -0
- package/providers/index.d.ts +17 -0
- package/providers/null-on-empty-value-transformer/index.d.ts +1 -0
- package/providers/null-on-empty-value-transformer/sc-null-on-empty-value-transformer.d.ts +21 -0
- package/providers/sc-allow-select-terminated.d.ts +5 -0
- package/providers/sc-banner-duration.d.ts +5 -0
- package/providers/sc-block-incomplete-address.d.ts +5 -0
- package/providers/sc-country-ids.d.ts +5 -0
- package/providers/sc-date-formatter.d.ts +6 -0
- package/providers/sc-date-value-transformer.d.ts +5 -0
- package/providers/sc-debounce-time-default.d.ts +5 -0
- package/providers/sc-dialog-service.providers.d.ts +45 -0
- package/providers/sc-help-notification-close.d.ts +6 -0
- package/providers/sc-help-notification-limit.d.ts +5 -0
- package/providers/sc-hidden-print-elements.token.d.ts +6 -0
- package/providers/sc-max-files-in-form-input.d.ts +5 -0
- package/providers/sc-notify-when-in-stock-required-fields.d.ts +5 -0
- package/providers/sc-page-size-options.d.ts +5 -0
- package/providers/sc-user-providers.d.ts +21 -0
- package/providers/sc-verification-code-timeout.d.ts +5 -0
- package/public-api.d.ts +35 -0
- package/qrcode/index.d.ts +2 -0
- package/qrcode/qrcode-dialog/sc-qrcode-dialog.component.d.ts +37 -0
- package/qrcode/sc-qrcode.module.d.ts +14 -0
- package/release_notes.tmp +2 -16
- package/samples/index.d.ts +4 -0
- package/samples/interfaces/index.d.ts +2 -0
- package/samples/interfaces/sc-i-preview-sample.d.ts +56 -0
- package/samples/interfaces/sc-preview-mosquito-config.d.ts +62 -0
- package/samples/preview-sample/sc-preview-sample.component.d.ts +30 -0
- package/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.d.ts +50 -0
- package/samples/sc-sample.module.d.ts +19 -0
- package/services/index.d.ts +2 -0
- package/services/print.service.d.ts +31 -0
- package/services/sc-help-notification.service.d.ts +70 -0
- package/share/index.d.ts +5 -0
- package/share/sc-share-dialog-data.d.ts +13 -0
- package/share/sc-share.service.d.ts +19 -0
- package/share/share-button/sc-share-button.component.d.ts +78 -0
- package/share/share-dialog/sc-share-dialog.component.d.ts +87 -0
- package/share/share-messengers-links/sc-share-messengers-links.component.d.ts +49 -0
- package/styles/taiga/variables.less +17 -35
- package/styles/tailwind/tailwind.scss +14 -56
- package/user/index.d.ts +5 -0
- package/user/reset-user-password/sc-reset-user-password.component.d.ts +46 -0
- package/user/sc-user.module.d.ts +24 -0
- package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +63 -0
- package/user/user-managers/sc-user-managers.component.d.ts +23 -0
- package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +53 -0
- package/validators/index.d.ts +6 -0
- package/validators/sc-at-least-one-required-validator.d.ts +10 -0
- package/validators/sc-bic-validator.d.ts +8 -0
- package/validators/sc-correspondent-account-validator.d.ts +8 -0
- package/validators/sc-password-confirm-matching-validator.d.ts +8 -0
- package/validators/sc-phone-validator.d.ts +5 -0
- package/validators/step-validator.d.ts +7 -0
- package/verification/index.d.ts +2 -0
- package/verification/sc-verification.module.d.ts +21 -0
- package/verification/verification-phone-check-form/sc-verification-phone-check-form.component.d.ts +145 -0
- package/types/snabcentr-client-ui.d.ts +0 -6787
package/esm2022/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.mjs
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, inject, input, model, output } from '@angular/core';
|
|
2
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { ScReferencesService } from '@snabcentr/client-core';
|
|
4
|
+
import { TuiButton } from '@taiga-ui/core';
|
|
5
|
+
import { ScOrderItemsByDirection } from '../models/sc-i-cart-items-by-direction';
|
|
6
|
+
import { ScOrderItemsListComponent } from '../order-items-list/sc-order-items-list.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class ScOrderItemsListByDirectionsComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
/**
|
|
11
|
+
* Внутренний сигнал списка элементов корзины (товаров).
|
|
12
|
+
*/
|
|
13
|
+
this.items = input.required();
|
|
14
|
+
/**
|
|
15
|
+
* Включить выбор позиций чекбоксами.
|
|
16
|
+
*/
|
|
17
|
+
this.selectable = input(true);
|
|
18
|
+
/**
|
|
19
|
+
* Включить редактирование позиций.
|
|
20
|
+
*/
|
|
21
|
+
this.editable = input(false);
|
|
22
|
+
/**
|
|
23
|
+
* Включить отображение кнопки продолжения.
|
|
24
|
+
*/
|
|
25
|
+
this.showContinueButton = input(true);
|
|
26
|
+
/**
|
|
27
|
+
* Текст кнопки продолжения.
|
|
28
|
+
*/
|
|
29
|
+
this.continueButtonText = input({ title: 'Заказать', iconStart: '@tui.shopping-cart' });
|
|
30
|
+
/**
|
|
31
|
+
* Событие клика на кнопку продолжения.
|
|
32
|
+
*/
|
|
33
|
+
this.continueClick = output();
|
|
34
|
+
/**
|
|
35
|
+
* Список направлений продаж из справочника.
|
|
36
|
+
*/
|
|
37
|
+
this.directions = toSignal(inject(ScReferencesService).directions$, { initialValue: undefined });
|
|
38
|
+
/**
|
|
39
|
+
* Позиции корзины, сгруппированные по направлениям продаж.
|
|
40
|
+
* Если передан cartDirections, используется он, иначе группировка выполняется автоматически.
|
|
41
|
+
*/
|
|
42
|
+
this.itemsByDirections = computed(() => {
|
|
43
|
+
const items = this.items().filter((item) => !item.product.isNull && !item.product.isHidden);
|
|
44
|
+
const directions = this.directions();
|
|
45
|
+
return directions?.map((direction) => new ScOrderItemsByDirection(direction, items)).filter((group) => group.items.length > 0) ?? [];
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* Позиции корзины, которые больше не предоставляются.
|
|
49
|
+
*/
|
|
50
|
+
this.nullItems = computed(() => this.items().filter((item) => item.product.isNull || item.product.isHidden));
|
|
51
|
+
/**
|
|
52
|
+
* Выходные данные при изменении выбора позиций.
|
|
53
|
+
*/
|
|
54
|
+
this.selectedItemsIds = model([]);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Обработчик изменения выбора позиций.
|
|
58
|
+
*
|
|
59
|
+
* @param itemsIds Идентификаторы выбранных позиций.
|
|
60
|
+
* @param direction Направление продаж.
|
|
61
|
+
*/
|
|
62
|
+
selectedItemsHandler(itemsIds, direction) {
|
|
63
|
+
this.selectedItemsIds.update((previous) => [
|
|
64
|
+
...previous.filter((id) => !direction.items.some((item) => item.id === id) && this.items().some((item) => item.id === id)),
|
|
65
|
+
...itemsIds,
|
|
66
|
+
]);
|
|
67
|
+
}
|
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScOrderItemsListByDirectionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
69
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScOrderItemsListByDirectionsComponent, isStandalone: true, selector: "sc-order-items-list-by-directions", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, showContinueButton: { classPropertyName: "showContinueButton", publicName: "showContinueButton", isSignal: true, isRequired: false, transformFunction: null }, continueButtonText: { classPropertyName: "continueButtonText", publicName: "continueButtonText", isSignal: true, isRequired: false, transformFunction: null }, selectedItemsIds: { classPropertyName: "selectedItemsIds", publicName: "selectedItemsIds", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { continueClick: "continueClick", selectedItemsIds: "selectedItemsIdsChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-5\">\n <!-- \u0413\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432 \u043F\u043E \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u043C \u043F\u0440\u043E\u0434\u0430\u0436. -->\n @for (direction of itemsByDirections(); track direction.direction?.id; let groupIndex = $index) {\n <div class=\"flex flex-col gap-2.5\">\n @if (direction.direction && itemsByDirections().length > 1) {\n <div class=\"text-base font-bold\">\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0434\u0430\u0436: {{ direction.direction.description }}</div>\n }\n\n <sc-order-items-list\n [items]=\"direction.items\"\n [selectable]=\"selectable()\"\n [editable]=\"editable()\"\n (selectedItemsIdsChange)=\"selectedItemsHandler($event, direction)\"\n />\n\n <!-- \u0424\u0443\u0442\u0435\u0440 \u0433\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432. -->\n <div class=\"flex flex-col items-center sm:flex-row sm:items-start sm:flex-wrap-reverse grow gap-x-2.5 gap-y-4\">\n <ng-content select=\"[footerActions]\" />\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0438\u044F. -->\n @if (showContinueButton()) {\n <button\n tuiButton\n type=\"button\"\n [disabled]=\"direction.getItemsByIds(selectedItemsIds()).length === 0\"\n [iconStart]=\"continueButtonText().iconStart\"\n class=\"sm:ml-auto\"\n (click)=\"continueClick.emit(direction)\"\n >\n {{ continueButtonText().title }}\n </button>\n }\n </div>\n </div>\n }\n\n @if (nullItems().length) {\n <div class=\"flex flex-col gap-2.5\">\n <div class=\"text-base font-bold\">\u0422\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0435 \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u044E\u0442\u0441\u044F.</div>\n\n <sc-order-items-list\n [items]=\"nullItems()\"\n [selectable]=\"false\"\n [editable]=\"editable()\"\n />\n </div>\n }\n</div>\n", dependencies: [{ kind: "component", type: ScOrderItemsListComponent, selector: "sc-order-items-list", inputs: ["selectable", "editable", "items"], outputs: ["selectedItemsIdsChange"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
70
|
+
}
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScOrderItemsListByDirectionsComponent, decorators: [{
|
|
72
|
+
type: Component,
|
|
73
|
+
args: [{ standalone: true, selector: 'sc-order-items-list-by-directions', imports: [ScOrderItemsListComponent, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-5\">\n <!-- \u0413\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432 \u043F\u043E \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u043C \u043F\u0440\u043E\u0434\u0430\u0436. -->\n @for (direction of itemsByDirections(); track direction.direction?.id; let groupIndex = $index) {\n <div class=\"flex flex-col gap-2.5\">\n @if (direction.direction && itemsByDirections().length > 1) {\n <div class=\"text-base font-bold\">\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0434\u0430\u0436: {{ direction.direction.description }}</div>\n }\n\n <sc-order-items-list\n [items]=\"direction.items\"\n [selectable]=\"selectable()\"\n [editable]=\"editable()\"\n (selectedItemsIdsChange)=\"selectedItemsHandler($event, direction)\"\n />\n\n <!-- \u0424\u0443\u0442\u0435\u0440 \u0433\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432. -->\n <div class=\"flex flex-col items-center sm:flex-row sm:items-start sm:flex-wrap-reverse grow gap-x-2.5 gap-y-4\">\n <ng-content select=\"[footerActions]\" />\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0438\u044F. -->\n @if (showContinueButton()) {\n <button\n tuiButton\n type=\"button\"\n [disabled]=\"direction.getItemsByIds(selectedItemsIds()).length === 0\"\n [iconStart]=\"continueButtonText().iconStart\"\n class=\"sm:ml-auto\"\n (click)=\"continueClick.emit(direction)\"\n >\n {{ continueButtonText().title }}\n </button>\n }\n </div>\n </div>\n }\n\n @if (nullItems().length) {\n <div class=\"flex flex-col gap-2.5\">\n <div class=\"text-base font-bold\">\u0422\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0435 \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u044E\u0442\u0441\u044F.</div>\n\n <sc-order-items-list\n [items]=\"nullItems()\"\n [selectable]=\"false\"\n [editable]=\"editable()\"\n />\n </div>\n }\n</div>\n" }]
|
|
74
|
+
}] });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItaXRlbXMtbGlzdC1ieS1kaXJlY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9vcmRlci1pdGVtcy1saXN0LWJ5LWRpcmVjdGlvbnMvc2Mtb3JkZXItaXRlbXMtbGlzdC1ieS1kaXJlY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9vcmRlci1pdGVtcy1saXN0LWJ5LWRpcmVjdGlvbnMvc2Mtb3JkZXItaXRlbXMtbGlzdC1ieS1kaXJlY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFrQyxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7QUFTOUYsTUFBTSxPQUFPLHFDQUFxQztJQVBsRDtRQVFJOztXQUVHO1FBQ2EsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWlCLENBQUM7UUFFeEQ7O1dBRUc7UUFDYSxlQUFVLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBRWxEOztXQUVHO1FBQ2EsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVqRDs7V0FFRztRQUNhLHVCQUFrQixHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUUxRDs7V0FFRztRQUNhLHVCQUFrQixHQUFHLEtBQUssQ0FBdUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFFekk7O1dBRUc7UUFDYSxrQkFBYSxHQUFHLE1BQU0sRUFBMkIsQ0FBQztRQUVsRTs7V0FFRztRQUNjLGVBQVUsR0FBRyxRQUFRLENBQWtDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRTlJOzs7V0FHRztRQUNnQixzQkFBaUIsR0FBRyxRQUFRLENBQTRCLEdBQUcsRUFBRTtZQUM1RSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1RixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFFckMsT0FBTyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pJLENBQUMsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDZ0IsY0FBUyxHQUFHLFFBQVEsQ0FBZ0IsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRTFJOztXQUVHO1FBQ2EscUJBQWdCLEdBQUcsS0FBSyxDQUFXLEVBQUUsQ0FBQyxDQUFDO0tBYzFEO0lBWkc7Ozs7O09BS0c7SUFDTyxvQkFBb0IsQ0FBQyxRQUFrQixFQUFFLFNBQWtDO1FBQ2pGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzFILEdBQUcsUUFBUTtTQUNkLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBcEVRLHFDQUFxQzttR0FBckMscUNBQXFDLHdoQ0NmbEQsa2xGQWdEQSw0Q0RwQ2MseUJBQXlCLGtKQUFFLFNBQVM7OzRGQUdyQyxxQ0FBcUM7a0JBUGpELFNBQVM7aUNBQ00sSUFBSSxZQUNOLG1DQUFtQyxXQUVwQyxDQUFDLHlCQUF5QixFQUFFLFNBQVMsQ0FBQyxtQkFDOUIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBtb2RlbCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFNjSVNhbGVzRGlyZWN0aW9uLCBTY09yZGVySXRlbSwgU2NSZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVHVpQnV0dG9uIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5pbXBvcnQgeyBTY09yZGVySXRlbXNCeURpcmVjdGlvbiB9IGZyb20gJy4uL21vZGVscy9zYy1pLWNhcnQtaXRlbXMtYnktZGlyZWN0aW9uJztcbmltcG9ydCB7IFNjT3JkZXJJdGVtc0xpc3RDb21wb25lbnQgfSBmcm9tICcuLi9vcmRlci1pdGVtcy1saXN0L3NjLW9yZGVyLWl0ZW1zLWxpc3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NjLW9yZGVyLWl0ZW1zLWxpc3QtYnktZGlyZWN0aW9ucycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLW9yZGVyLWl0ZW1zLWxpc3QtYnktZGlyZWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW1NjT3JkZXJJdGVtc0xpc3RDb21wb25lbnQsIFR1aUJ1dHRvbl0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjT3JkZXJJdGVtc0xpc3RCeURpcmVjdGlvbnNDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCS0L3Rg9GC0YDQtdC90L3QuNC5INGB0LjQs9C90LDQuyDRgdC/0LjRgdC60LAg0Y3Qu9C10LzQtdC90YLQvtCyINC60L7RgNC30LjQvdGLICjRgtC+0LLQsNGA0L7QsikuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGl0ZW1zID0gaW5wdXQucmVxdWlyZWQ8U2NPcmRlckl0ZW1bXT4oKTtcblxuICAgIC8qKlxuICAgICAqINCS0LrQu9GO0YfQuNGC0Ywg0LLRi9Cx0L7RgCDQv9C+0LfQuNGG0LjQuSDRh9C10LrQsdC+0LrRgdCw0LzQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0YWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gICAgLyoqXG4gICAgICog0JLQutC70Y7Rh9C40YLRjCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INC/0L7Qt9C40YbQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBlZGl0YWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqINCS0LrQu9GO0YfQuNGC0Ywg0L7RgtC+0LHRgNCw0LbQtdC90LjQtSDQutC90L7Qv9C60Lgg0L/RgNC+0LTQvtC70LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2hvd0NvbnRpbnVlQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiDQotC10LrRgdGCINC60L3QvtC/0LrQuCDQv9GA0L7QtNC+0LvQttC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjb250aW51ZUJ1dHRvblRleHQgPSBpbnB1dDx7IHRpdGxlOiBzdHJpbmc7IGljb25TdGFydDogc3RyaW5nIH0+KHsgdGl0bGU6ICfQl9Cw0LrQsNC30LDRgtGMJywgaWNvblN0YXJ0OiAnQHR1aS5zaG9wcGluZy1jYXJ0JyB9KTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC60LvQuNC60LAg0L3QsCDQutC90L7Qv9C60YMg0L/RgNC+0LTQvtC70LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgY29udGludWVDbGljayA9IG91dHB1dDxTY09yZGVySXRlbXNCeURpcmVjdGlvbj4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDQvdCw0L/RgNCw0LLQu9C10L3QuNC5INC/0YDQvtC00LDQtiDQuNC3INGB0L/RgNCw0LLQvtGH0L3QuNC60LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXJlY3Rpb25zID0gdG9TaWduYWw8U2NJU2FsZXNEaXJlY3Rpb25bXSB8IHVuZGVmaW5lZD4oaW5qZWN0KFNjUmVmZXJlbmNlc1NlcnZpY2UpLmRpcmVjdGlvbnMkLCB7IGluaXRpYWxWYWx1ZTogdW5kZWZpbmVkIH0pO1xuXG4gICAgLyoqXG4gICAgICog0J/QvtC30LjRhtC40Lgg0LrQvtGA0LfQuNC90YssINGB0LPRgNGD0L/Qv9C40YDQvtCy0LDQvdC90YvQtSDQv9C+INC90LDQv9GA0LDQstC70LXQvdC40Y/QvCDQv9GA0L7QtNCw0LYuXG4gICAgICog0JXRgdC70Lgg0L/QtdGA0LXQtNCw0L0gY2FydERpcmVjdGlvbnMsINC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQvtC9LCDQuNC90LDRh9C1INCz0YDRg9C/0L/QuNGA0L7QstC60LAg0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXNCeURpcmVjdGlvbnMgPSBjb21wdXRlZDxTY09yZGVySXRlbXNCeURpcmVjdGlvbltdPigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcygpLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0ucHJvZHVjdC5pc051bGwgJiYgIWl0ZW0ucHJvZHVjdC5pc0hpZGRlbik7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbnMgPSB0aGlzLmRpcmVjdGlvbnMoKTtcblxuICAgICAgICByZXR1cm4gZGlyZWN0aW9ucz8ubWFwKChkaXJlY3Rpb24pID0+IG5ldyBTY09yZGVySXRlbXNCeURpcmVjdGlvbihkaXJlY3Rpb24sIGl0ZW1zKSkuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkgPz8gW107XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LfQuNGG0LjQuCDQutC+0YDQt9C40L3Riywg0LrQvtGC0L7RgNGL0LUg0LHQvtC70YzRiNC1INC90LUg0L/RgNC10LTQvtGB0YLQsNCy0LvRj9GO0YLRgdGPLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBudWxsSXRlbXMgPSBjb21wdXRlZDxTY09yZGVySXRlbVtdPigoKSA9PiB0aGlzLml0ZW1zKCkuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnByb2R1Y3QuaXNOdWxsIHx8IGl0ZW0ucHJvZHVjdC5pc0hpZGRlbikpO1xuXG4gICAgLyoqXG4gICAgICog0JLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LUg0L/RgNC4INC40LfQvNC10L3QtdC90LjQuCDQstGL0LHQvtGA0LAg0L/QvtC30LjRhtC40LkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkSXRlbXNJZHMgPSBtb2RlbDxzdHJpbmdbXT4oW10pO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0LjQt9C80LXQvdC10L3QuNGPINCy0YvQsdC+0YDQsCDQv9C+0LfQuNGG0LjQuS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtc0lkcyDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGLINCy0YvQsdGA0LDQvdC90YvRhSDQv9C+0LfQuNGG0LjQuS5cbiAgICAgKiBAcGFyYW0gZGlyZWN0aW9uINCd0LDQv9GA0LDQstC70LXQvdC40LUg0L/RgNC+0LTQsNC2LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBzZWxlY3RlZEl0ZW1zSGFuZGxlcihpdGVtc0lkczogc3RyaW5nW10sIGRpcmVjdGlvbjogU2NPcmRlckl0ZW1zQnlEaXJlY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zSWRzLnVwZGF0ZSgocHJldmlvdXMpID0+IFtcbiAgICAgICAgICAgIC4uLnByZXZpb3VzLmZpbHRlcigoaWQpID0+ICFkaXJlY3Rpb24uaXRlbXMuc29tZSgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaWQpICYmIHRoaXMuaXRlbXMoKS5zb21lKChpdGVtKSA9PiBpdGVtLmlkID09PSBpZCkpLFxuICAgICAgICAgICAgLi4uaXRlbXNJZHMsXG4gICAgICAgIF0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC01XCI+XG4gICAgPCEtLSDQk9GA0YPQv9C/0Ysg0YLQvtCy0LDRgNC+0LIg0L/QviDQvdCw0L/RgNCw0LLQu9C10L3QuNGP0Lwg0L/RgNC+0LTQsNC2LiAtLT5cbiAgICBAZm9yIChkaXJlY3Rpb24gb2YgaXRlbXNCeURpcmVjdGlvbnMoKTsgdHJhY2sgZGlyZWN0aW9uLmRpcmVjdGlvbj8uaWQ7IGxldCBncm91cEluZGV4ID0gJGluZGV4KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yLjVcIj5cbiAgICAgICAgICAgIEBpZiAoZGlyZWN0aW9uLmRpcmVjdGlvbiAmJiBpdGVtc0J5RGlyZWN0aW9ucygpLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1iYXNlIGZvbnQtYm9sZFwiPtCd0LDQv9GA0LDQstC70LXQvdC40LUg0L/RgNC+0LTQsNC2OiB7eyBkaXJlY3Rpb24uZGlyZWN0aW9uLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxzYy1vcmRlci1pdGVtcy1saXN0XG4gICAgICAgICAgICAgICAgW2l0ZW1zXT1cImRpcmVjdGlvbi5pdGVtc1wiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGFibGVdPVwic2VsZWN0YWJsZSgpXCJcbiAgICAgICAgICAgICAgICBbZWRpdGFibGVdPVwiZWRpdGFibGUoKVwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkSXRlbXNJZHNDaGFuZ2UpPVwic2VsZWN0ZWRJdGVtc0hhbmRsZXIoJGV2ZW50LCBkaXJlY3Rpb24pXCJcbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDwhLS0g0KTRg9GC0LXRgCDQs9GA0YPQv9C/0Ysg0YLQvtCy0LDRgNC+0LIuIC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIHNtOmZsZXgtcm93IHNtOml0ZW1zLXN0YXJ0IHNtOmZsZXgtd3JhcC1yZXZlcnNlIGdyb3cgZ2FwLXgtMi41IGdhcC15LTRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyQWN0aW9uc11cIiAvPlxuXG4gICAgICAgICAgICAgICAgPCEtLSDQmtC90L7Qv9C60LAg0L/RgNC+0LTQvtC70LbQtdC90LjRjy4gLS0+XG4gICAgICAgICAgICAgICAgQGlmIChzaG93Q29udGludWVCdXR0b24oKSkge1xuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpcmVjdGlvbi5nZXRJdGVtc0J5SWRzKHNlbGVjdGVkSXRlbXNJZHMoKSkubGVuZ3RoID09PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uU3RhcnRdPVwiY29udGludWVCdXR0b25UZXh0KCkuaWNvblN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic206bWwtYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29udGludWVDbGljay5lbWl0KGRpcmVjdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBjb250aW51ZUJ1dHRvblRleHQoKS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmIChudWxsSXRlbXMoKS5sZW5ndGgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTIuNVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGRcIj7QotC+0LLQsNGA0Ysg0Lgg0YPRgdC70YPQs9C4LCDQutC+0YLQvtGA0YvQtSDQsdC+0LvRjNGI0LUg0L3QtSDQv9GA0LXQtNC+0YHRgtCw0LLQu9GP0Y7RgtGB0Y8uPC9kaXY+XG5cbiAgICAgICAgICAgIDxzYy1vcmRlci1pdGVtcy1saXN0XG4gICAgICAgICAgICAgICAgW2l0ZW1zXT1cIm51bGxJdGVtcygpXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0YWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2VkaXRhYmxlXT1cImVkaXRhYmxlKClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, input, model } from '@angular/core';
|
|
2
|
+
import { ScOrderItemsListComponent } from '../order-items-list/sc-order-items-list.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Компонент списка товаров, разбитых по наличию на складе:
|
|
6
|
+
* - в наличии на складе;
|
|
7
|
+
* - под заказ;
|
|
8
|
+
* - отсутствуют на складе.
|
|
9
|
+
*/
|
|
10
|
+
export class ScOrderItemsListByStockComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
/**
|
|
13
|
+
* Список элементов (товаров) для отображения.
|
|
14
|
+
*/
|
|
15
|
+
this.items = input.required();
|
|
16
|
+
/**
|
|
17
|
+
* Идентификатор склада для проверки наличия.
|
|
18
|
+
*/
|
|
19
|
+
this.warehouseId = input.required();
|
|
20
|
+
/**
|
|
21
|
+
* Включить выбор позиций чекбоксами.
|
|
22
|
+
*/
|
|
23
|
+
this.selectable = input(false);
|
|
24
|
+
/**
|
|
25
|
+
* Включить редактирование позиций.
|
|
26
|
+
*/
|
|
27
|
+
this.editable = input(false);
|
|
28
|
+
/**
|
|
29
|
+
* Заголовок для секций «под заказ» и «нет на складе». Если не указан — заголовок не выводится.
|
|
30
|
+
*/
|
|
31
|
+
this.sectionHeader = input();
|
|
32
|
+
/**
|
|
33
|
+
* Выходные данные при изменении выбора позиций.
|
|
34
|
+
*/
|
|
35
|
+
this.selectedItemsIds = model([]);
|
|
36
|
+
/**
|
|
37
|
+
* Позиции в наличии на выбранном складе (не под заказ).
|
|
38
|
+
*/
|
|
39
|
+
this.itemsInWarehouseStock = computed(() => {
|
|
40
|
+
const items = this.items();
|
|
41
|
+
const warehouseId = this.warehouseId();
|
|
42
|
+
return items.filter((item) => item.product.isWarehouseStockExist(warehouseId) && !item.product.onOrder);
|
|
43
|
+
});
|
|
44
|
+
/**
|
|
45
|
+
* Позиции под заказ.
|
|
46
|
+
*/
|
|
47
|
+
this.itemsOnOrder = computed(() => {
|
|
48
|
+
return this.items().filter((item) => item.product.onOrder);
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* Позиции, которых нет на выбранном складе (не под заказ).
|
|
52
|
+
*/
|
|
53
|
+
this.itemsNotInWarehouseStock = computed(() => {
|
|
54
|
+
const items = this.items();
|
|
55
|
+
const warehouseId = this.warehouseId();
|
|
56
|
+
return items.filter((item) => !item.product.isWarehouseStockExist(warehouseId) && !item.product.onOrder);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Обработчик изменения выбора позиций.
|
|
61
|
+
*
|
|
62
|
+
* @param itemsIds Идентификаторы выбранных позиций.
|
|
63
|
+
* @param items Позиции.
|
|
64
|
+
*/
|
|
65
|
+
selectedItemsHandler(itemsIds, items) {
|
|
66
|
+
this.selectedItemsIds.update((previous) => [...previous.filter((id) => !items.some((item) => item.id === id) && this.items().some((item) => item.id === id)), ...itemsIds]);
|
|
67
|
+
}
|
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScOrderItemsListByStockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
69
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScOrderItemsListByStockComponent, isStandalone: true, selector: "sc-order-items-list-by-stock", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, warehouseId: { classPropertyName: "warehouseId", publicName: "warehouseId", isSignal: true, isRequired: true, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, sectionHeader: { classPropertyName: "sectionHeader", publicName: "sectionHeader", isSignal: true, isRequired: false, transformFunction: null }, selectedItemsIds: { classPropertyName: "selectedItemsIds", publicName: "selectedItemsIds", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedItemsIds: "selectedItemsIdsChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-5\">\n @if (itemsInWarehouseStock().length > 0) {\n <sc-order-items-list\n [items]=\"itemsInWarehouseStock()\"\n [selectable]=\"selectable()\"\n [editable]=\"editable()\"\n (selectedItemsIdsChange)=\"selectedItemsHandler($event, itemsInWarehouseStock())\"\n />\n }\n\n @if (itemsOnOrder().length > 0) {\n <div class=\"flex flex-col gap-2.5\">\n @if (sectionHeader()) {\n <div class=\"text-base font-bold text-sc-dark-grey\">{{ sectionHeader() }}</div>\n }\n <sc-order-items-list\n [items]=\"itemsOnOrder()\"\n [selectable]=\"selectable()\"\n [editable]=\"editable()\"\n (selectedItemsIdsChange)=\"selectedItemsHandler($event, itemsOnOrder())\"\n />\n </div>\n }\n\n @if (itemsNotInWarehouseStock().length > 0) {\n <div class=\"flex flex-col gap-2.5\">\n @if (sectionHeader()) {\n <div class=\"text-base font-bold text-sc-dark-grey\">{{ sectionHeader() }}</div>\n }\n <sc-order-items-list\n [items]=\"itemsNotInWarehouseStock()\"\n [selectable]=\"selectable()\"\n [editable]=\"editable()\"\n (selectedItemsIdsChange)=\"selectedItemsHandler($event, itemsNotInWarehouseStock())\"\n />\n </div>\n }\n</div>\n", dependencies: [{ kind: "component", type: ScOrderItemsListComponent, selector: "sc-order-items-list", inputs: ["selectable", "editable", "items"], outputs: ["selectedItemsIdsChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
70
|
+
}
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScOrderItemsListByStockComponent, decorators: [{
|
|
72
|
+
type: Component,
|
|
73
|
+
args: [{ standalone: true, selector: 'sc-order-items-list-by-stock', imports: [ScOrderItemsListComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-5\">\n @if (itemsInWarehouseStock().length > 0) {\n <sc-order-items-list\n [items]=\"itemsInWarehouseStock()\"\n [selectable]=\"selectable()\"\n [editable]=\"editable()\"\n (selectedItemsIdsChange)=\"selectedItemsHandler($event, itemsInWarehouseStock())\"\n />\n }\n\n @if (itemsOnOrder().length > 0) {\n <div class=\"flex flex-col gap-2.5\">\n @if (sectionHeader()) {\n <div class=\"text-base font-bold text-sc-dark-grey\">{{ sectionHeader() }}</div>\n }\n <sc-order-items-list\n [items]=\"itemsOnOrder()\"\n [selectable]=\"selectable()\"\n [editable]=\"editable()\"\n (selectedItemsIdsChange)=\"selectedItemsHandler($event, itemsOnOrder())\"\n />\n </div>\n }\n\n @if (itemsNotInWarehouseStock().length > 0) {\n <div class=\"flex flex-col gap-2.5\">\n @if (sectionHeader()) {\n <div class=\"text-base font-bold text-sc-dark-grey\">{{ sectionHeader() }}</div>\n }\n <sc-order-items-list\n [items]=\"itemsNotInWarehouseStock()\"\n [selectable]=\"selectable()\"\n [editable]=\"editable()\"\n (selectedItemsIdsChange)=\"selectedItemsHandler($event, itemsNotInWarehouseStock())\"\n />\n </div>\n }\n</div>\n" }]
|
|
74
|
+
}] });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItaXRlbXMtbGlzdC1ieS1zdG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvb3JkZXIvb3JkZXItaXRlbXMtbGlzdC1ieS1zdG9jay9zYy1vcmRlci1pdGVtcy1saXN0LWJ5LXN0b2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9vcmRlci1pdGVtcy1saXN0LWJ5LXN0b2NrL3NjLW9yZGVyLWl0ZW1zLWxpc3QtYnktc3RvY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7QUFFOUY7Ozs7O0dBS0c7QUFRSCxNQUFNLE9BQU8sZ0NBQWdDO0lBUDdDO1FBUUk7O1dBRUc7UUFDYSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBaUIsQ0FBQztRQUV4RDs7V0FFRztRQUNhLGdCQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBRXZEOztXQUVHO1FBQ2EsZUFBVSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVuRDs7V0FFRztRQUNhLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFakQ7O1dBRUc7UUFDYSxrQkFBYSxHQUFHLEtBQUssRUFBc0IsQ0FBQztRQUU1RDs7V0FFRztRQUNhLHFCQUFnQixHQUFHLEtBQUssQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUV2RDs7V0FFRztRQUNnQiwwQkFBcUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3JELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFdkMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RyxDQUFDLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ2dCLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM1QyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNnQiw2QkFBd0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFdkMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdHLENBQUMsQ0FBQyxDQUFDO0tBV047SUFURzs7Ozs7T0FLRztJQUNPLG9CQUFvQixDQUFDLFFBQWtCLEVBQUUsS0FBb0I7UUFDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2hMLENBQUM7K0dBbEVRLGdDQUFnQzttR0FBaEMsZ0NBQWdDLDg4QkNsQjdDLHU4Q0FzQ0EsNENEdkJjLHlCQUF5Qjs7NEZBRzFCLGdDQUFnQztrQkFQNUMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sOEJBQThCLFdBRS9CLENBQUMseUJBQXlCLENBQUMsbUJBQ25CLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTY09yZGVySXRlbSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuXG5pbXBvcnQgeyBTY09yZGVySXRlbXNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vb3JkZXItaXRlbXMtbGlzdC9zYy1vcmRlci1pdGVtcy1saXN0LmNvbXBvbmVudCc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINGB0L/QuNGB0LrQsCDRgtC+0LLQsNGA0L7Qsiwg0YDQsNC30LHQuNGC0YvRhSDQv9C+INC90LDQu9C40YfQuNGOINC90LAg0YHQutC70LDQtNC1OlxuICogLSDQsiDQvdCw0LvQuNGH0LjQuCDQvdCwINGB0LrQu9Cw0LTQtTtcbiAqIC0g0L/QvtC0INC30LDQutCw0Lc7XG4gKiAtINC+0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L3QsCDRgdC60LvQsNC00LUuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1vcmRlci1pdGVtcy1saXN0LWJ5LXN0b2NrJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2Mtb3JkZXItaXRlbXMtbGlzdC1ieS1zdG9jay5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW1NjT3JkZXJJdGVtc0xpc3RDb21wb25lbnRdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY09yZGVySXRlbXNMaXN0QnlTdG9ja0NvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGN0LvQtdC80LXQvdGC0L7QsiAo0YLQvtCy0LDRgNC+0LIpINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpdGVtcyA9IGlucHV0LnJlcXVpcmVkPFNjT3JkZXJJdGVtW10+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgdC60LvQsNC00LAg0LTQu9GPINC/0YDQvtCy0LXRgNC60Lgg0L3QsNC70LjRh9C40Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHdhcmVob3VzZUlkID0gaW5wdXQucmVxdWlyZWQ8bnVtYmVyPigpO1xuXG4gICAgLyoqXG4gICAgICog0JLQutC70Y7Rh9C40YLRjCDQstGL0LHQvtGAINC/0L7Qt9C40YbQuNC5INGH0LXQutCx0L7QutGB0LDQvNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzZWxlY3RhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICog0JLQutC70Y7Rh9C40YLRjCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INC/0L7Qt9C40YbQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBlZGl0YWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqINCX0LDQs9C+0LvQvtCy0L7QuiDQtNC70Y8g0YHQtdC60YbQuNC5IMKr0L/QvtC0INC30LDQutCw0LfCuyDQuCDCq9C90LXRgiDQvdCwINGB0LrQu9Cw0LTQtcK7LiDQldGB0LvQuCDQvdC1INGD0LrQsNC30LDQvSDigJQg0LfQsNCz0L7Qu9C+0LLQvtC6INC90LUg0LLRi9Cy0L7QtNC40YLRgdGPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzZWN0aW9uSGVhZGVyID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgLyoqXG4gICAgICog0JLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LUg0L/RgNC4INC40LfQvNC10L3QtdC90LjQuCDQstGL0LHQvtGA0LAg0L/QvtC30LjRhtC40LkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkSXRlbXNJZHMgPSBtb2RlbDxzdHJpbmdbXT4oW10pO1xuXG4gICAgLyoqXG4gICAgICog0J/QvtC30LjRhtC40Lgg0LIg0L3QsNC70LjRh9C40Lgg0L3QsCDQstGL0LHRgNCw0L3QvdC+0Lwg0YHQutC70LDQtNC1ICjQvdC1INC/0L7QtCDQt9Cw0LrQsNC3KS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXNJbldhcmVob3VzZVN0b2NrID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXMoKTtcbiAgICAgICAgY29uc3Qgd2FyZWhvdXNlSWQgPSB0aGlzLndhcmVob3VzZUlkKCk7XG5cbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5wcm9kdWN0LmlzV2FyZWhvdXNlU3RvY2tFeGlzdCh3YXJlaG91c2VJZCkgJiYgIWl0ZW0ucHJvZHVjdC5vbk9yZGVyKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqINCf0L7Qt9C40YbQuNC4INC/0L7QtCDQt9Cw0LrQsNC3LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpdGVtc09uT3JkZXIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zKCkuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnByb2R1Y3Qub25PcmRlcik7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LfQuNGG0LjQuCwg0LrQvtGC0L7RgNGL0YUg0L3QtdGCINC90LAg0LLRi9Cx0YDQsNC90L3QvtC8INGB0LrQu9Cw0LTQtSAo0L3QtSDQv9C+0LQg0LfQsNC60LDQtykuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGl0ZW1zTm90SW5XYXJlaG91c2VTdG9jayA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zKCk7XG4gICAgICAgIGNvbnN0IHdhcmVob3VzZUlkID0gdGhpcy53YXJlaG91c2VJZCgpO1xuXG4gICAgICAgIHJldHVybiBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLnByb2R1Y3QuaXNXYXJlaG91c2VTdG9ja0V4aXN0KHdhcmVob3VzZUlkKSAmJiAhaXRlbS5wcm9kdWN0Lm9uT3JkZXIpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0LjQt9C80LXQvdC10L3QuNGPINCy0YvQsdC+0YDQsCDQv9C+0LfQuNGG0LjQuS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtc0lkcyDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGLINCy0YvQsdGA0LDQvdC90YvRhSDQv9C+0LfQuNGG0LjQuS5cbiAgICAgKiBAcGFyYW0gaXRlbXMg0J/QvtC30LjRhtC40LguXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNlbGVjdGVkSXRlbXNIYW5kbGVyKGl0ZW1zSWRzOiBzdHJpbmdbXSwgaXRlbXM6IFNjT3JkZXJJdGVtW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zSWRzLnVwZGF0ZSgocHJldmlvdXMpID0+IFsuLi5wcmV2aW91cy5maWx0ZXIoKGlkKSA9PiAhaXRlbXMuc29tZSgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaWQpICYmIHRoaXMuaXRlbXMoKS5zb21lKChpdGVtKSA9PiBpdGVtLmlkID09PSBpZCkpLCAuLi5pdGVtc0lkc10pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC01XCI+XG4gICAgQGlmIChpdGVtc0luV2FyZWhvdXNlU3RvY2soKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxzYy1vcmRlci1pdGVtcy1saXN0XG4gICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXNJbldhcmVob3VzZVN0b2NrKClcIlxuICAgICAgICAgICAgW3NlbGVjdGFibGVdPVwic2VsZWN0YWJsZSgpXCJcbiAgICAgICAgICAgIFtlZGl0YWJsZV09XCJlZGl0YWJsZSgpXCJcbiAgICAgICAgICAgIChzZWxlY3RlZEl0ZW1zSWRzQ2hhbmdlKT1cInNlbGVjdGVkSXRlbXNIYW5kbGVyKCRldmVudCwgaXRlbXNJbldhcmVob3VzZVN0b2NrKCkpXCJcbiAgICAgICAgLz5cbiAgICB9XG5cbiAgICBAaWYgKGl0ZW1zT25PcmRlcigpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTIuNVwiPlxuICAgICAgICAgICAgQGlmIChzZWN0aW9uSGVhZGVyKCkpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1iYXNlIGZvbnQtYm9sZCB0ZXh0LXNjLWRhcmstZ3JleVwiPnt7IHNlY3Rpb25IZWFkZXIoKSB9fTwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNjLW9yZGVyLWl0ZW1zLWxpc3RcbiAgICAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXNPbk9yZGVyKClcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RhYmxlXT1cInNlbGVjdGFibGUoKVwiXG4gICAgICAgICAgICAgICAgW2VkaXRhYmxlXT1cImVkaXRhYmxlKClcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RlZEl0ZW1zSWRzQ2hhbmdlKT1cInNlbGVjdGVkSXRlbXNIYW5kbGVyKCRldmVudCwgaXRlbXNPbk9yZGVyKCkpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAoaXRlbXNOb3RJbldhcmVob3VzZVN0b2NrKCkubGVuZ3RoID4gMCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMi41XCI+XG4gICAgICAgICAgICBAaWYgKHNlY3Rpb25IZWFkZXIoKSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ib2xkIHRleHQtc2MtZGFyay1ncmV5XCI+e3sgc2VjdGlvbkhlYWRlcigpIH19PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8c2Mtb3JkZXItaXRlbXMtbGlzdFxuICAgICAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc05vdEluV2FyZWhvdXNlU3RvY2soKVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGFibGVdPVwic2VsZWN0YWJsZSgpXCJcbiAgICAgICAgICAgICAgICBbZWRpdGFibGVdPVwiZWRpdGFibGUoKVwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkSXRlbXNJZHNDaGFuZ2UpPVwic2VsZWN0ZWRJdGVtc0hhbmRsZXIoJGV2ZW50LCBpdGVtc05vdEluV2FyZWhvdXNlU3RvY2soKSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { TuiButton, TuiIcon, TuiLink } from '@taiga-ui/core';
|
|
4
|
+
import { TuiPreview } from '@taiga-ui/kit';
|
|
5
|
+
import { TuiBlockStatus } from '@taiga-ui/layout';
|
|
6
|
+
import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
|
|
7
|
+
import { ScCatalogModule } from '../catalog';
|
|
8
|
+
import { CostWithDiscountComponent } from '../catalog/cost-with-discount/cost-with-discount.component';
|
|
9
|
+
import { ScPriceWarehouseStockComponent } from '../catalog/price-warehouse-stock/sc-price-warehouse-stock.component';
|
|
10
|
+
import { ScPaymentStatusComponent } from './sc-payment-status/sc-payment-status.component';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@taiga-ui/layout";
|
|
13
|
+
import * as i2 from "@taiga-ui/kit";
|
|
14
|
+
/**
|
|
15
|
+
* Модуль заказов.
|
|
16
|
+
*/
|
|
17
|
+
export class ScOrderModule {
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScOrderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
19
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ScOrderModule, declarations: [ScPaymentStatusComponent], imports: [CommonModule,
|
|
20
|
+
TuiLink,
|
|
21
|
+
TuiButton,
|
|
22
|
+
TuiIcon, i1.TuiBlockStatusComponent, i1.TuiBlockStatusDirective, i2.TuiPreviewComponent, i2.TuiPreviewTitle, i2.TuiPreviewPagination, i2.TuiPreviewAction, i2.TuiPreviewZoom, ScCatalogModule,
|
|
23
|
+
PolymorpheusTemplate,
|
|
24
|
+
PolymorpheusOutlet,
|
|
25
|
+
ScPriceWarehouseStockComponent,
|
|
26
|
+
CostWithDiscountComponent], exports: [ScPaymentStatusComponent] }); }
|
|
27
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScOrderModule, imports: [CommonModule,
|
|
28
|
+
TuiIcon, i1.TuiBlockStatusComponent, i2.TuiPreviewComponent, i2.TuiPreviewTitle, i2.TuiPreviewPagination, i2.TuiPreviewZoom, ScCatalogModule,
|
|
29
|
+
ScPriceWarehouseStockComponent,
|
|
30
|
+
CostWithDiscountComponent] }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScOrderModule, decorators: [{
|
|
33
|
+
type: NgModule,
|
|
34
|
+
args: [{
|
|
35
|
+
declarations: [ScPaymentStatusComponent],
|
|
36
|
+
exports: [ScPaymentStatusComponent],
|
|
37
|
+
imports: [
|
|
38
|
+
CommonModule,
|
|
39
|
+
TuiLink,
|
|
40
|
+
TuiButton,
|
|
41
|
+
TuiIcon,
|
|
42
|
+
...TuiBlockStatus,
|
|
43
|
+
...TuiPreview,
|
|
44
|
+
ScCatalogModule,
|
|
45
|
+
PolymorpheusTemplate,
|
|
46
|
+
PolymorpheusOutlet,
|
|
47
|
+
ScPriceWarehouseStockComponent,
|
|
48
|
+
CostWithDiscountComponent,
|
|
49
|
+
],
|
|
50
|
+
}]
|
|
51
|
+
}] });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL29yZGVyL3NjLW9yZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3JILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7O0FBRTNGOztHQUVHO0FBa0JILE1BQU0sT0FBTyxhQUFhOytHQUFiLGFBQWE7Z0hBQWIsYUFBYSxpQkFoQlAsd0JBQXdCLGFBR25DLFlBQVk7WUFDWixPQUFPO1lBQ1AsU0FBUztZQUNULE9BQU8sdUtBR1AsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFDbEIsOEJBQThCO1lBQzlCLHlCQUF5QixhQVpuQix3QkFBd0I7Z0hBZXpCLGFBQWEsWUFibEIsWUFBWTtZQUdaLE9BQU8sc0hBR1AsZUFBZTtZQUdmLDhCQUE4QjtZQUM5Qix5QkFBeUI7OzRGQUdwQixhQUFhO2tCQWpCekIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ25DLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLEdBQUcsY0FBYzt3QkFDakIsR0FBRyxVQUFVO3dCQUNiLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLDhCQUE4Qjt3QkFDOUIseUJBQXlCO3FCQUM1QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlJY29uLCBUdWlMaW5rIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpUHJldmlldyB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgVHVpQmxvY2tTdGF0dXMgfSBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0JztcbmltcG9ydCB7IFBvbHltb3JwaGV1c091dGxldCwgUG9seW1vcnBoZXVzVGVtcGxhdGUgfSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHsgU2NDYXRhbG9nTW9kdWxlIH0gZnJvbSAnLi4vY2F0YWxvZyc7XG5pbXBvcnQgeyBDb3N0V2l0aERpc2NvdW50Q29tcG9uZW50IH0gZnJvbSAnLi4vY2F0YWxvZy9jb3N0LXdpdGgtZGlzY291bnQvY29zdC13aXRoLWRpc2NvdW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQgfSBmcm9tICcuLi9jYXRhbG9nL3ByaWNlLXdhcmVob3VzZS1zdG9jay9zYy1wcmljZS13YXJlaG91c2Utc3RvY2suY29tcG9uZW50JztcbmltcG9ydCB7IFNjUGF5bWVudFN0YXR1c0NvbXBvbmVudCB9IGZyb20gJy4vc2MtcGF5bWVudC1zdGF0dXMvc2MtcGF5bWVudC1zdGF0dXMuY29tcG9uZW50JztcblxuLyoqXG4gKiDQnNC+0LTRg9C70Ywg0LfQsNC60LDQt9C+0LIuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbU2NQYXltZW50U3RhdHVzQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbU2NQYXltZW50U3RhdHVzQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlJY29uLFxuICAgICAgICAuLi5UdWlCbG9ja1N0YXR1cyxcbiAgICAgICAgLi4uVHVpUHJldmlldyxcbiAgICAgICAgU2NDYXRhbG9nTW9kdWxlLFxuICAgICAgICBQb2x5bW9ycGhldXNUZW1wbGF0ZSxcbiAgICAgICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgICAgICBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQsXG4gICAgICAgIENvc3RXaXRoRGlzY291bnRDb21wb25lbnQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2NPcmRlck1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@taiga-ui/core";
|
|
5
|
+
import * as i3 from "@taiga-ui/layout";
|
|
6
|
+
/**
|
|
7
|
+
* Компонент статуса оплаты заказа.
|
|
8
|
+
*/
|
|
9
|
+
export class ScPaymentStatusComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
/**
|
|
12
|
+
* Событие нажатия на кнопку "Вернуться к списку заказов".
|
|
13
|
+
*/
|
|
14
|
+
this.backToOrdersClick = new EventEmitter();
|
|
15
|
+
/**
|
|
16
|
+
* Событие нажатия на кнопку "На главную".
|
|
17
|
+
*/
|
|
18
|
+
this.backToOrderClick = new EventEmitter();
|
|
19
|
+
}
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPaymentStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ScPaymentStatusComponent, selector: "sc-payment-status", inputs: { status: "status", orderId: "orderId" }, outputs: { backToOrdersClick: "backToOrdersClick", backToOrderClick: "backToOrderClick" }, ngImport: i0, template: "<ng-container *ngIf=\"status && orderId; else failed\">\n <ng-container [ngSwitch]=\"status\">\n <tui-block-status *ngSwitchCase=\"'success'\">\n <tui-icon\n icon=\"@tui.circle-check\"\n tuiSlot=\"top\"\n class=\"!h-20 scale-[3] !text-green-500\"\n ></tui-icon>\n <h4>\u0421\u043F\u0430\u0441\u0438\u0431\u043E!</h4>\n <br />\n <div class=\"font-bold\">\u0412\u0430\u0448 \u0437\u0430\u043A\u0430\u0437 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u043F\u043B\u0430\u0447\u0435\u043D. \u041C\u044B \u0441\u0432\u044F\u0436\u0435\u043C\u0441\u044F \u0441 \u0432\u0430\u043C\u0438 \u0432 \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043C\u044F.</div>\n <br />\n <div class=\"font-bold\">\n \u041D\u043E\u043C\u0435\u0440 \u0432\u0430\u0448\u0435\u0433\u043E \u0437\u0430\u043A\u0430\u0437\u0430:\n <a\n tuiLink\n [pseudo]=\"true\"\n (click)=\"backToOrderClick.emit()\"\n >{{ orderId }}</a\n >\n </div>\n\n <button\n tuiButton\n (click)=\"backToOrdersClick.emit()\"\n >\n \u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043A \u0437\u0430\u043A\u0430\u0437\u0430\u043C\n </button>\n </tui-block-status>\n <tui-block-status *ngSwitchCase=\"'error'\">\n <tui-icon\n icon=\"@tui.circle-x\"\n class=\"!h-20 scale-[3] !text-red-500\"\n tuiSlot=\"top\"\n ></tui-icon>\n <h4>\u041E\u043F\u043B\u0430\u0442\u0430 \u043D\u0435 \u043F\u0440\u043E\u0448\u043B\u0430!</h4>\n <br />\n <div class=\"font-bold\">\u041F\u0440\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0435 \u043F\u043B\u0430\u0442\u0435\u0436\u0430 \u043F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043E\u0448\u0438\u0431\u043A\u0430.</div>\n <button\n tuiButton\n tuiItem\n (click)=\"backToOrderClick.emit()\"\n >\n \u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043A \u0437\u0430\u043A\u0430\u0437\u0443\n </button>\n </tui-block-status>\n </ng-container>\n</ng-container>\n\n<ng-template #failed>\n <tui-block-status>\n <tui-icon\n icon=\"@tui.info\"\n class=\"!h-20 scale-[3] !text-yellow-500\"\n tuiSlot=\"top\"\n ></tui-icon>\n <h4>\u0427\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A!</h4>\n <button\n tuiButton\n tuiItem\n (click)=\"backToOrdersClick.emit()\"\n >\n \u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043A \u0437\u0430\u043A\u0430\u0437\u0430\u043C\n </button>\n </tui-block-status>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i2.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i2.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "component", type: i3.TuiBlockStatusComponent, selector: "tui-block-status", inputs: ["card", "size"] }, { kind: "directive", type: i3.TuiBlockStatusDirective, selector: "[tuiSlot]", inputs: ["tuiSlot"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScPaymentStatusComponent, decorators: [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{ selector: 'sc-payment-status', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"status && orderId; else failed\">\n <ng-container [ngSwitch]=\"status\">\n <tui-block-status *ngSwitchCase=\"'success'\">\n <tui-icon\n icon=\"@tui.circle-check\"\n tuiSlot=\"top\"\n class=\"!h-20 scale-[3] !text-green-500\"\n ></tui-icon>\n <h4>\u0421\u043F\u0430\u0441\u0438\u0431\u043E!</h4>\n <br />\n <div class=\"font-bold\">\u0412\u0430\u0448 \u0437\u0430\u043A\u0430\u0437 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u043F\u043B\u0430\u0447\u0435\u043D. \u041C\u044B \u0441\u0432\u044F\u0436\u0435\u043C\u0441\u044F \u0441 \u0432\u0430\u043C\u0438 \u0432 \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043C\u044F.</div>\n <br />\n <div class=\"font-bold\">\n \u041D\u043E\u043C\u0435\u0440 \u0432\u0430\u0448\u0435\u0433\u043E \u0437\u0430\u043A\u0430\u0437\u0430:\n <a\n tuiLink\n [pseudo]=\"true\"\n (click)=\"backToOrderClick.emit()\"\n >{{ orderId }}</a\n >\n </div>\n\n <button\n tuiButton\n (click)=\"backToOrdersClick.emit()\"\n >\n \u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043A \u0437\u0430\u043A\u0430\u0437\u0430\u043C\n </button>\n </tui-block-status>\n <tui-block-status *ngSwitchCase=\"'error'\">\n <tui-icon\n icon=\"@tui.circle-x\"\n class=\"!h-20 scale-[3] !text-red-500\"\n tuiSlot=\"top\"\n ></tui-icon>\n <h4>\u041E\u043F\u043B\u0430\u0442\u0430 \u043D\u0435 \u043F\u0440\u043E\u0448\u043B\u0430!</h4>\n <br />\n <div class=\"font-bold\">\u041F\u0440\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0435 \u043F\u043B\u0430\u0442\u0435\u0436\u0430 \u043F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043E\u0448\u0438\u0431\u043A\u0430.</div>\n <button\n tuiButton\n tuiItem\n (click)=\"backToOrderClick.emit()\"\n >\n \u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043A \u0437\u0430\u043A\u0430\u0437\u0443\n </button>\n </tui-block-status>\n </ng-container>\n</ng-container>\n\n<ng-template #failed>\n <tui-block-status>\n <tui-icon\n icon=\"@tui.info\"\n class=\"!h-20 scale-[3] !text-yellow-500\"\n tuiSlot=\"top\"\n ></tui-icon>\n <h4>\u0427\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A!</h4>\n <button\n tuiButton\n tuiItem\n (click)=\"backToOrdersClick.emit()\"\n >\n \u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043A \u0437\u0430\u043A\u0430\u0437\u0430\u043C\n </button>\n </tui-block-status>\n</ng-template>\n" }]
|
|
26
|
+
}], propDecorators: { status: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], orderId: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}], backToOrdersClick: [{
|
|
31
|
+
type: Output
|
|
32
|
+
}], backToOrderClick: [{
|
|
33
|
+
type: Output
|
|
34
|
+
}] } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcGF5bWVudC1zdGF0dXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL29yZGVyL3NjLXBheW1lbnQtc3RhdHVzL3NjLXBheW1lbnQtc3RhdHVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9zYy1wYXltZW50LXN0YXR1cy9zYy1wYXltZW50LXN0YXR1cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUVoRzs7R0FFRztBQU1ILE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFrQkk7O1dBRUc7UUFFSSxzQkFBaUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV4RTs7V0FFRztRQUVJLHFCQUFnQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0tBQzFFOytHQXhCWSx3QkFBd0I7bUdBQXhCLHdCQUF3QixzTUNWckMsd2dHQWtFQTs7NEZEeERhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDSSxtQkFBbUIsbUJBRVosdUJBQXVCLENBQUMsTUFBTTs4QkFPeEMsTUFBTTtzQkFEWixLQUFLO2dCQU9DLE9BQU87c0JBRGIsS0FBSztnQkFPQyxpQkFBaUI7c0JBRHZCLE1BQU07Z0JBT0EsZ0JBQWdCO3NCQUR0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINGB0YLQsNGC0YPRgdCwINC+0L/Qu9Cw0YLRiyDQt9Cw0LrQsNC30LAuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtcGF5bWVudC1zdGF0dXMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wYXltZW50LXN0YXR1cy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjUGF5bWVudFN0YXR1c0NvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0Log0YLQvtCz0L4sINGD0YHQv9C10YjQvdCwINC70Lgg0L/RgNC+0YjQu9CwINC+0L/Qu9Cw0YLQsCwg0LjQu9C4INC90LXRgi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzdGF0dXM6ICdzdWNjZXNzJyB8ICdlcnJvcicgfCBudWxsO1xuXG4gICAgLyoqXG4gICAgICog0J3QvtC80LXRgCDQvtC/0LvQsNGH0LXQvdC90L7Qs9C+INC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBvcmRlcklkOiBzdHJpbmcgfCBudWxsO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMgXCLQktC10YDQvdGD0YLRjNGB0Y8g0Log0YHQv9C40YHQutGDINC30LDQutCw0LfQvtCyXCIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGJhY2tUb09yZGVyc0NsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCd0LAg0LPQu9Cw0LLQvdGD0Y5cIi5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYmFja1RvT3JkZXJDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXR1cyAmJiBvcmRlcklkOyBlbHNlIGZhaWxlZFwiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInN0YXR1c1wiPlxuICAgICAgICA8dHVpLWJsb2NrLXN0YXR1cyAqbmdTd2l0Y2hDYXNlPVwiJ3N1Y2Nlc3MnXCI+XG4gICAgICAgICAgICA8dHVpLWljb25cbiAgICAgICAgICAgICAgICBpY29uPVwiQHR1aS5jaXJjbGUtY2hlY2tcIlxuICAgICAgICAgICAgICAgIHR1aVNsb3Q9XCJ0b3BcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiIWgtMjAgc2NhbGUtWzNdICF0ZXh0LWdyZWVuLTUwMFwiXG4gICAgICAgICAgICA+PC90dWktaWNvbj5cbiAgICAgICAgICAgIDxoND7QodC/0LDRgdC40LHQviE8L2g0PlxuICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9udC1ib2xkXCI+0JLQsNGIINC30LDQutCw0Lcg0YPRgdC/0LXRiNC90L4g0L7Qv9C70LDRh9C10L0uINCc0Ysg0YHQstGP0LbQtdC80YHRjyDRgSDQstCw0LzQuCDQsiDQsdC70LjQttCw0LnRiNC10LUg0LLRgNC10LzRjy48L2Rpdj5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvbnQtYm9sZFwiPlxuICAgICAgICAgICAgICAgINCd0L7QvNC10YAg0LLQsNGI0LXQs9C+INC30LDQutCw0LfQsDpcbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJiYWNrVG9PcmRlckNsaWNrLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgID57eyBvcmRlcklkIH19PC9hXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiYmFja1RvT3JkZXJzQ2xpY2suZW1pdCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICDQktC10YDQvdGD0YLRjNGB0Y8g0Log0LfQsNC60LDQt9Cw0LxcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3R1aS1ibG9jay1zdGF0dXM+XG4gICAgICAgIDx0dWktYmxvY2stc3RhdHVzICpuZ1N3aXRjaENhc2U9XCInZXJyb3InXCI+XG4gICAgICAgICAgICA8dHVpLWljb25cbiAgICAgICAgICAgICAgICBpY29uPVwiQHR1aS5jaXJjbGUteFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCIhaC0yMCBzY2FsZS1bM10gIXRleHQtcmVkLTUwMFwiXG4gICAgICAgICAgICAgICAgdHVpU2xvdD1cInRvcFwiXG4gICAgICAgICAgICA+PC90dWktaWNvbj5cbiAgICAgICAgICAgIDxoND7QntC/0LvQsNGC0LAg0L3QtSDQv9GA0L7RiNC70LAhPC9oND5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvbnQtYm9sZFwiPtCf0YDQuCDQvtCx0YDQsNCx0L7RgtC60LUg0L/Qu9Cw0YLQtdC20LAg0L/RgNC+0LjQt9C+0YjQu9CwINC+0YjQuNCx0LrQsC48L2Rpdj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICB0dWlJdGVtXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImJhY2tUb09yZGVyQ2xpY2suZW1pdCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICDQktC10YDQvdGD0YLRjNGB0Y8g0Log0LfQsNC60LDQt9GDXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC90dWktYmxvY2stc3RhdHVzPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZmFpbGVkPlxuICAgIDx0dWktYmxvY2stc3RhdHVzPlxuICAgICAgICA8dHVpLWljb25cbiAgICAgICAgICAgIGljb249XCJAdHVpLmluZm9cIlxuICAgICAgICAgICAgY2xhc3M9XCIhaC0yMCBzY2FsZS1bM10gIXRleHQteWVsbG93LTUwMFwiXG4gICAgICAgICAgICB0dWlTbG90PVwidG9wXCJcbiAgICAgICAgPjwvdHVpLWljb24+XG4gICAgICAgIDxoND7Qp9GC0L4t0YLQviDQv9C+0YjQu9C+INC90LUg0YLQsNC6ITwvaDQ+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgdHVpSXRlbVxuICAgICAgICAgICAgKGNsaWNrKT1cImJhY2tUb09yZGVyc0NsaWNrLmVtaXQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgINCS0LXRgNC90YPRgtGM0YHRjyDQuiDQt9Cw0LrQsNC30LDQvFxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L3R1aS1ibG9jay1zdGF0dXM+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Наименование query-параметра идентификатора группы часто задаваемых вопросов.
|
|
3
|
+
*/
|
|
4
|
+
export const SC_FAQ_GROUP_QUERY_PARAM = 'group';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZmFxLXF1ZXJ5LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9wYWdlcy9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy9zYy1mYXEtcXVlcnktcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQndCw0LjQvNC10L3QvtCy0LDQvdC40LUgcXVlcnkt0L/QsNGA0LDQvNC10YLRgNCwINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0LAg0LPRgNGD0L/Qv9GLINGH0LDRgdGC0L4g0LfQsNC00LDQstCw0LXQvNGL0YUg0LLQvtC/0YDQvtGB0L7Qsi5cbiAqL1xuZXhwb3J0IGNvbnN0IFNDX0ZBUV9HUk9VUF9RVUVSWV9QQVJBTSA9ICdncm91cCc7XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Префикс якоря (fragment) ссылки на конкретный вопрос.
|
|
3
|
+
*/
|
|
4
|
+
export const SC_FAQ_QUESTION_ANCHOR_PREFIX = 'question-';
|
|
5
|
+
/**
|
|
6
|
+
* Возвращает якорь (fragment) ссылки на вопрос.
|
|
7
|
+
*
|
|
8
|
+
* @param questionId Идентификатор вопроса.
|
|
9
|
+
*/
|
|
10
|
+
export const scGetFaqQuestionAnchor = (questionId) => `${SC_FAQ_QUESTION_ANCHOR_PREFIX}${questionId}`;
|
|
11
|
+
/**
|
|
12
|
+
* Возвращает идентификатор вопроса из якоря (fragment) ссылки или `null`, если якорь не ссылается на вопрос.
|
|
13
|
+
*
|
|
14
|
+
* @param fragment Якорь (fragment) адреса.
|
|
15
|
+
*/
|
|
16
|
+
export const scGetFaqQuestionIdFromAnchor = (fragment) => {
|
|
17
|
+
if (!fragment?.startsWith(SC_FAQ_QUESTION_ANCHOR_PREFIX)) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
const questionId = Number(fragment.slice(SC_FAQ_QUESTION_ANCHOR_PREFIX.length));
|
|
21
|
+
return Number.isInteger(questionId) && questionId > 0 ? questionId : null;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZmFxLXF1ZXN0aW9uLWFuY2hvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9wYWdlcy9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy9zYy1mYXEtcXVlc3Rpb24tYW5jaG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsV0FBVyxDQUFDO0FBRXpEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLFVBQWtCLEVBQVUsRUFBRSxDQUFDLEdBQUcsNkJBQTZCLEdBQUcsVUFBVSxFQUFFLENBQUM7QUFFdEg7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLENBQUMsUUFBbUMsRUFBaUIsRUFBRTtJQUMvRixJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFaEYsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzlFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog0J/RgNC10YTQuNC60YEg0Y/QutC+0YDRjyAoZnJhZ21lbnQpINGB0YHRi9C70LrQuCDQvdCwINC60L7QvdC60YDQtdGC0L3Ri9C5INCy0L7Qv9GA0L7RgS5cbiAqL1xuZXhwb3J0IGNvbnN0IFNDX0ZBUV9RVUVTVElPTl9BTkNIT1JfUFJFRklYID0gJ3F1ZXN0aW9uLSc7XG5cbi8qKlxuICog0JLQvtC30LLRgNCw0YnQsNC10YIg0Y/QutC+0YDRjCAoZnJhZ21lbnQpINGB0YHRi9C70LrQuCDQvdCwINCy0L7Qv9GA0L7RgS5cbiAqXG4gKiBAcGFyYW0gcXVlc3Rpb25JZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQstC+0L/RgNC+0YHQsC5cbiAqL1xuZXhwb3J0IGNvbnN0IHNjR2V0RmFxUXVlc3Rpb25BbmNob3IgPSAocXVlc3Rpb25JZDogbnVtYmVyKTogc3RyaW5nID0+IGAke1NDX0ZBUV9RVUVTVElPTl9BTkNIT1JfUFJFRklYfSR7cXVlc3Rpb25JZH1gO1xuXG4vKipcbiAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCy0L7Qv9GA0L7RgdCwINC40Lcg0Y/QutC+0YDRjyAoZnJhZ21lbnQpINGB0YHRi9C70LrQuCDQuNC70LggYG51bGxgLCDQtdGB0LvQuCDRj9C60L7RgNGMINC90LUg0YHRgdGL0LvQsNC10YLRgdGPINC90LAg0LLQvtC/0YDQvtGBLlxuICpcbiAqIEBwYXJhbSBmcmFnbWVudCDQr9C60L7RgNGMIChmcmFnbWVudCkg0LDQtNGA0LXRgdCwLlxuICovXG5leHBvcnQgY29uc3Qgc2NHZXRGYXFRdWVzdGlvbklkRnJvbUFuY2hvciA9IChmcmFnbWVudDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IG51bWJlciB8IG51bGwgPT4ge1xuICAgIGlmICghZnJhZ21lbnQ/LnN0YXJ0c1dpdGgoU0NfRkFRX1FVRVNUSU9OX0FOQ0hPUl9QUkVGSVgpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXN0aW9uSWQgPSBOdW1iZXIoZnJhZ21lbnQuc2xpY2UoU0NfRkFRX1FVRVNUSU9OX0FOQ0hPUl9QUkVGSVgubGVuZ3RoKSk7XG5cbiAgICByZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihxdWVzdGlvbklkKSAmJiBxdWVzdGlvbklkID4gMCA/IHF1ZXN0aW9uSWQgOiBudWxsO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { afterNextRender, ChangeDetectionStrategy, Component, DestroyRef, inject, Injector, input, signal, viewChildren, } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { ActivatedRoute } from '@angular/router';
|
|
4
|
+
import { IS_SERVER } from '@snabcentr/client-core';
|
|
5
|
+
import { tuiIsPresent } from '@taiga-ui/cdk';
|
|
6
|
+
import { TUI_BUTTON_DEFAULT_OPTIONS, TUI_BUTTON_OPTIONS, TuiLoader } from '@taiga-ui/core';
|
|
7
|
+
import { TuiAccordion } from '@taiga-ui/experimental';
|
|
8
|
+
import { animationFrames, combineLatest, filter, fromEvent, map, merge, take, takeUntil } from 'rxjs';
|
|
9
|
+
import { ScShareButtonComponent } from '../../share';
|
|
10
|
+
import { scGetFaqQuestionAnchor, scGetFaqQuestionIdFromAnchor } from './sc-faq-question-anchor';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@taiga-ui/experimental";
|
|
13
|
+
import * as i2 from "@taiga-ui/experimental/components/expand";
|
|
14
|
+
/**
|
|
15
|
+
* Компонент часто задаваемых вопросов.
|
|
16
|
+
*/
|
|
17
|
+
export class ScFrequentlyAskedQuestionsComponent {
|
|
18
|
+
/**
|
|
19
|
+
* Инициализирует экземпляр класса {@link ScFrequentlyAskedQuestionsComponent}.
|
|
20
|
+
*/
|
|
21
|
+
constructor() {
|
|
22
|
+
/**
|
|
23
|
+
* {@link InputSignal} списка группы часто задаваемых вопросов.
|
|
24
|
+
*/
|
|
25
|
+
this.items = input.required();
|
|
26
|
+
/**
|
|
27
|
+
* {@link InputSignal} отображения загрузки.
|
|
28
|
+
*/
|
|
29
|
+
this.showLoading = input(false);
|
|
30
|
+
/**
|
|
31
|
+
* {@link InputSignal} параметров прокрутки к вопросу из якоря.
|
|
32
|
+
*/
|
|
33
|
+
this.scrollOptions = input({ behavior: 'instant', block: 'center' });
|
|
34
|
+
/**
|
|
35
|
+
* {@link InputSignal} количества кадров удержания вопроса из якоря в поле зрения (около 5 секунд).
|
|
36
|
+
*/
|
|
37
|
+
this.scrollHoldFrames = input(300);
|
|
38
|
+
/**
|
|
39
|
+
* Признак, что приложение запущено на сервере.
|
|
40
|
+
*/
|
|
41
|
+
this.isServer = inject(IS_SERVER);
|
|
42
|
+
/**
|
|
43
|
+
* {@link WritableSignal} идентификаторов раскрытых вопросов.
|
|
44
|
+
*/
|
|
45
|
+
this.openedIds = signal(new Set());
|
|
46
|
+
/**
|
|
47
|
+
* Возвращает якорь ссылки на вопрос.
|
|
48
|
+
*/
|
|
49
|
+
this.getAnchor = scGetFaqQuestionAnchor;
|
|
50
|
+
/**
|
|
51
|
+
* Активный маршрут.
|
|
52
|
+
*/
|
|
53
|
+
this.route = inject(ActivatedRoute);
|
|
54
|
+
/**
|
|
55
|
+
* Инжектор компонента.
|
|
56
|
+
*/
|
|
57
|
+
this.injector = inject(Injector);
|
|
58
|
+
/**
|
|
59
|
+
* Ссылка на уничтожение компонента.
|
|
60
|
+
*/
|
|
61
|
+
this.destroyRef = inject(DestroyRef);
|
|
62
|
+
/**
|
|
63
|
+
* {@link Signal} ссылок на заголовки вопросов.
|
|
64
|
+
*/
|
|
65
|
+
this.questionHeaders = viewChildren('questionHeader');
|
|
66
|
+
// На сервере все вопросы раскрыты.
|
|
67
|
+
if (this.isServer) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
// Раскрываем вопрос из якоря и прокручиваем к нему: якорь может смениться на открытой странице, список загрузиться позже.
|
|
71
|
+
combineLatest([this.route.fragment, toObservable(this.items)])
|
|
72
|
+
.pipe(map(([fragment, items]) => {
|
|
73
|
+
const questionId = scGetFaqQuestionIdFromAnchor(fragment);
|
|
74
|
+
return questionId !== null && items.some((item) => item.id === questionId) ? questionId : null;
|
|
75
|
+
}), filter(tuiIsPresent), takeUntilDestroyed())
|
|
76
|
+
.subscribe((questionId) => {
|
|
77
|
+
this.onOpenedChange(questionId, true);
|
|
78
|
+
afterNextRender(() => {
|
|
79
|
+
const header = this.getQuestionHeader(questionId);
|
|
80
|
+
if (header) {
|
|
81
|
+
this.scrollToHeader(header);
|
|
82
|
+
}
|
|
83
|
+
}, { injector: this.injector });
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Возвращает параметры формирования ссылки на вопрос: текущая страница с её query-параметрами и якорем вопроса.
|
|
88
|
+
*
|
|
89
|
+
* @param questionId Идентификатор вопроса.
|
|
90
|
+
*/
|
|
91
|
+
getShareLinkOptions(questionId) {
|
|
92
|
+
return {
|
|
93
|
+
relativeTo: this.route,
|
|
94
|
+
queryParamsHandling: 'preserve',
|
|
95
|
+
fragment: scGetFaqQuestionAnchor(questionId),
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Обработчик изменения состояния раскрытия вопроса.
|
|
100
|
+
*
|
|
101
|
+
* @param questionId Идентификатор вопроса.
|
|
102
|
+
* @param opened Признак, что вопрос раскрыт.
|
|
103
|
+
*/
|
|
104
|
+
onOpenedChange(questionId, opened) {
|
|
105
|
+
this.openedIds.update((ids) => {
|
|
106
|
+
const nextIds = new Set(ids);
|
|
107
|
+
if (opened) {
|
|
108
|
+
nextIds.add(questionId);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
nextIds.delete(questionId);
|
|
112
|
+
}
|
|
113
|
+
return nextIds;
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Возвращает элемент заголовка вопроса.
|
|
118
|
+
*
|
|
119
|
+
* @param questionId Идентификатор вопроса.
|
|
120
|
+
*/
|
|
121
|
+
getQuestionHeader(questionId) {
|
|
122
|
+
const anchor = scGetFaqQuestionAnchor(questionId);
|
|
123
|
+
return this.questionHeaders().find((header) => header.nativeElement.id === anchor)?.nativeElement;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Прокручивает страницу к заголовку вопроса и удерживает его в поле зрения.
|
|
127
|
+
*
|
|
128
|
+
* @param header Элемент заголовка вопроса.
|
|
129
|
+
*/
|
|
130
|
+
scrollToHeader(header) {
|
|
131
|
+
const getTop = () => Math.round(header.getBoundingClientRect().top);
|
|
132
|
+
const userScroll$ = merge(fromEvent(globalThis, 'wheel'), fromEvent(globalThis, 'touchstart'), fromEvent(globalThis, 'keydown'), fromEvent(globalThis, 'mousedown'));
|
|
133
|
+
// Мгновенно: плавная прокрутка не выполняется в скрытой вкладке.
|
|
134
|
+
header.scrollIntoView(this.scrollOptions());
|
|
135
|
+
let expectedTop = getTop();
|
|
136
|
+
// Повторяем прокрутку, если вопрос сдвинула догрузка страницы или чужая прокрутка, пока пользователь не начнёт прокручивать сам.
|
|
137
|
+
animationFrames()
|
|
138
|
+
.pipe(take(this.scrollHoldFrames()), map(getTop), filter((top) => top !== expectedTop), takeUntilDestroyed(this.destroyRef), takeUntil(userScroll$))
|
|
139
|
+
.subscribe(() => {
|
|
140
|
+
header.scrollIntoView(this.scrollOptions());
|
|
141
|
+
expectedTop = getTop();
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScFrequentlyAskedQuestionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
145
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScFrequentlyAskedQuestionsComponent, isStandalone: true, selector: "sc-frequently-asked-questions", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, showLoading: { classPropertyName: "showLoading", publicName: "showLoading", isSignal: true, isRequired: false, transformFunction: null }, scrollOptions: { classPropertyName: "scrollOptions", publicName: "scrollOptions", isSignal: true, isRequired: false, transformFunction: null }, scrollHoldFrames: { classPropertyName: "scrollHoldFrames", publicName: "scrollHoldFrames", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "ngSkipHydration": "true" } }, providers: [
|
|
146
|
+
{
|
|
147
|
+
provide: TUI_BUTTON_OPTIONS,
|
|
148
|
+
useValue: {
|
|
149
|
+
...TUI_BUTTON_DEFAULT_OPTIONS,
|
|
150
|
+
size: 'l',
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
], viewQueries: [{ propertyName: "questionHeaders", predicate: ["questionHeader"], descendants: true, isSignal: true }], ngImport: i0, template: "<tui-loader\n [showLoader]=\"showLoading()\"\n [overlay]=\"true\"\n>\n <tui-accordion\n class=\"accordion\"\n [closeOthers]=\"false\"\n >\n @for (item of items(); track item.id) {\n @let anchor = getAnchor(item.id);\n\n <button\n #questionHeader\n [id]=\"anchor\"\n [tuiAccordion]=\"isServer || openedIds().has(item.id)\"\n (tuiAccordionChange)=\"onOpenedChange(item.id, $event)\"\n class=\"!whitespace-normal !text-body-m-bold\"\n >\n <span class=\"grow\">{{ item.question }}</span>\n <sc-share-button\n appearance=\"flat\"\n size=\"s\"\n class=\"shrink-0\"\n [title]=\"item.question\"\n [routerPath]=\"[]\"\n [routerCreationOptions]=\"getShareLinkOptions(item.id)\"\n (click)=\"$event.stopPropagation()\"\n />\n </button>\n <tui-expand>\n <div [innerHTML]=\"item.answer\"></div>\n </tui-expand>\n }\n </tui-accordion>\n</tui-loader>\n", styles: [".accordion{border-radius:0}.accordion,.accordion[data-size=s],.accordion[data-size=m],.accordion[data-size=l],.accordion .tui-list{font:inherit}.accordion [tuiAccordion]{border-block:1px solid var(--tui-border-normal);border-block-end-color:#fff!important;font-weight:400;border-color:var(--tui-border-normal);mask:none;block-size:auto;padding-block:.5rem;min-block-size:var(--t-size)}.accordion [tuiAccordion]._open{border-block-end-color:var(--tui-border-normal)!important}.accordion tui-expand,.accordion [tuiAccordion]{box-shadow:none;white-space:normal}\n"], dependencies: [{ kind: "component", type: i1.TuiAccordionComponent, selector: "tui-accordion", inputs: ["closeOthers", "size"] }, { kind: "directive", type: i1.TuiAccordionDirective, selector: "button[tuiAccordion]", inputs: ["tuiAccordion"], outputs: ["tuiAccordionChange"] }, { kind: "component", type: i2.TuiExpand, selector: "tui-expand", inputs: ["expanded"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "component", type: ScShareButtonComponent, selector: "sc-share-button", inputs: ["title", "shareUrl", "routerPath", "routerCreationOptions", "appearance", "size", "showLabel", "expandable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
154
|
+
}
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScFrequentlyAskedQuestionsComponent, decorators: [{
|
|
156
|
+
type: Component,
|
|
157
|
+
args: [{ standalone: true, selector: 'sc-frequently-asked-questions', imports: [TuiAccordion, TuiLoader, ScShareButtonComponent], providers: [
|
|
158
|
+
{
|
|
159
|
+
provide: TUI_BUTTON_OPTIONS,
|
|
160
|
+
useValue: {
|
|
161
|
+
...TUI_BUTTON_DEFAULT_OPTIONS,
|
|
162
|
+
size: 'l',
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
], host: { ngSkipHydration: 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-loader\n [showLoader]=\"showLoading()\"\n [overlay]=\"true\"\n>\n <tui-accordion\n class=\"accordion\"\n [closeOthers]=\"false\"\n >\n @for (item of items(); track item.id) {\n @let anchor = getAnchor(item.id);\n\n <button\n #questionHeader\n [id]=\"anchor\"\n [tuiAccordion]=\"isServer || openedIds().has(item.id)\"\n (tuiAccordionChange)=\"onOpenedChange(item.id, $event)\"\n class=\"!whitespace-normal !text-body-m-bold\"\n >\n <span class=\"grow\">{{ item.question }}</span>\n <sc-share-button\n appearance=\"flat\"\n size=\"s\"\n class=\"shrink-0\"\n [title]=\"item.question\"\n [routerPath]=\"[]\"\n [routerCreationOptions]=\"getShareLinkOptions(item.id)\"\n (click)=\"$event.stopPropagation()\"\n />\n </button>\n <tui-expand>\n <div [innerHTML]=\"item.answer\"></div>\n </tui-expand>\n }\n </tui-accordion>\n</tui-loader>\n", styles: [".accordion{border-radius:0}.accordion,.accordion[data-size=s],.accordion[data-size=m],.accordion[data-size=l],.accordion .tui-list{font:inherit}.accordion [tuiAccordion]{border-block:1px solid var(--tui-border-normal);border-block-end-color:#fff!important;font-weight:400;border-color:var(--tui-border-normal);mask:none;block-size:auto;padding-block:.5rem;min-block-size:var(--t-size)}.accordion [tuiAccordion]._open{border-block-end-color:var(--tui-border-normal)!important}.accordion tui-expand,.accordion [tuiAccordion]{box-shadow:none;white-space:normal}\n"] }]
|
|
166
|
+
}], ctorParameters: () => [] });
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3BhZ2VzL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9wYWdlcy9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy9zYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUdMLE1BQU0sRUFDTixZQUFZLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQXNCLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQWMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFFaEc7O0dBRUc7QUFtQkgsTUFBTSxPQUFPLG1DQUFtQztJQXdENUM7O09BRUc7SUFDSDtRQTFEQTs7V0FFRztRQUNhLFVBQUssR0FBNkIsS0FBSyxDQUFDLFFBQVEsRUFBZSxDQUFDO1FBRWhGOztXQUVHO1FBQ2EsZ0JBQVcsR0FBeUIsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRTFFOztXQUVHO1FBQ2Esa0JBQWEsR0FBdUMsS0FBSyxDQUF3QixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFM0k7O1dBRUc7UUFDYSxxQkFBZ0IsR0FBd0IsS0FBSyxDQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRTNFOztXQUVHO1FBQ2dCLGFBQVEsR0FBc0IsTUFBTSxDQUFVLFNBQVMsQ0FBQyxDQUFDO1FBRTVFOztXQUVHO1FBQ2dCLGNBQVMsR0FBZ0MsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFVLENBQUMsQ0FBQztRQUV0Rjs7V0FFRztRQUNnQixjQUFTLEdBQW1DLHNCQUFzQixDQUFDO1FBRXRGOztXQUVHO1FBQ2MsVUFBSyxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFaEU7O1dBRUc7UUFDYyxhQUFRLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXZEOztXQUVHO1FBQ2MsZUFBVSxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3RDs7V0FFRztRQUNjLG9CQUFlLEdBQW1ELFlBQVksQ0FBMEIsZ0JBQWdCLENBQUMsQ0FBQztRQU12SSxtQ0FBbUM7UUFDbkMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFFRCwwSEFBMEg7UUFDMUgsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ3pELElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3RCLE1BQU0sVUFBVSxHQUFHLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTFELE9BQU8sVUFBVSxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNuRyxDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsWUFBWSxDQUFDLEVBQ3BCLGtCQUFrQixFQUFFLENBQ3ZCO2FBQ0EsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFdEMsZUFBZSxDQUNYLEdBQUcsRUFBRTtnQkFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBRWxELElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDaEMsQ0FBQztZQUNMLENBQUMsRUFDRCxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQzlCLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sbUJBQW1CLENBQUMsVUFBa0I7UUFDNUMsT0FBTztZQUNILFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSztZQUN0QixtQkFBbUIsRUFBRSxVQUFVO1lBQy9CLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxVQUFVLENBQUM7U0FDL0MsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLGNBQWMsQ0FBQyxVQUFrQixFQUFFLE1BQWU7UUFDeEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUU3QixJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxpQkFBaUIsQ0FBQyxVQUFrQjtRQUN4QyxNQUFNLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsRCxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxFQUFFLGFBQWEsQ0FBQztJQUN0RyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGNBQWMsQ0FBQyxNQUFtQjtRQUN0QyxNQUFNLE1BQU0sR0FBRyxHQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sV0FBVyxHQUFzQixLQUFLLENBQ3hDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQzlCLFNBQVMsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLEVBQ25DLFNBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLEVBQ2hDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQ3JDLENBQUM7UUFFRixpRUFBaUU7UUFDakUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUU1QyxJQUFJLFdBQVcsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUUzQixpSUFBaUk7UUFDakksZUFBZSxFQUFFO2FBQ1osSUFBSSxDQUNELElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUM3QixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQ1gsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssV0FBVyxDQUFDLEVBQ3BDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFDbkMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUN6QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLFdBQVcsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7K0dBeEtRLG1DQUFtQzttR0FBbkMsbUNBQW1DLHVyQkFaakM7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixRQUFRLEVBQUU7b0JBQ04sR0FBRywwQkFBMEI7b0JBQzdCLElBQUksRUFBRSxHQUFHO2lCQUNaO2FBQ0o7U0FDSixnSkMzQ0wsK3JDQW1DQSwwOEJERDRCLFNBQVMsaUlBQUUsc0JBQXNCOzs0RkFhaEQsbUNBQW1DO2tCQWxCL0MsU0FBUztpQ0FDTSxJQUFJLFlBQ04sK0JBQStCLFdBR2hDLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsQ0FBQyxhQUMvQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixRQUFRLEVBQUU7Z0NBQ04sR0FBRywwQkFBMEI7Z0NBQzdCLElBQUksRUFBRSxHQUFHOzZCQUNaO3lCQUNKO3FCQUNKLFFBQ0ssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLG1CQUNoQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgaW5wdXQsXG4gICAgSW5wdXRTaWduYWwsXG4gICAgU2lnbmFsLFxuICAgIHNpZ25hbCxcbiAgICB2aWV3Q2hpbGRyZW4sXG4gICAgV3JpdGFibGVTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgVXJsQ3JlYXRpb25PcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElTX1NFUlZFUiwgU2NGYXFJdGVtIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyB0dWlJc1ByZXNlbnQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFRVSV9CVVRUT05fREVGQVVMVF9PUFRJT05TLCBUVUlfQlVUVE9OX09QVElPTlMsIFR1aUxvYWRlciB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUFjY29yZGlvbiB9IGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwnO1xuaW1wb3J0IHsgYW5pbWF0aW9uRnJhbWVzLCBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIGZyb21FdmVudCwgbWFwLCBtZXJnZSwgT2JzZXJ2YWJsZSwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjU2hhcmVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9zaGFyZSc7XG5pbXBvcnQgeyBzY0dldEZhcVF1ZXN0aW9uQW5jaG9yLCBzY0dldEZhcVF1ZXN0aW9uSWRGcm9tQW5jaG9yIH0gZnJvbSAnLi9zYy1mYXEtcXVlc3Rpb24tYW5jaG9yJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YfQsNGB0YLQviDQt9Cw0LTQsNCy0LDQtdC80YvRhSDQstC+0L/RgNC+0YHQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnc2MtZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnMnLFxuICAgIHN0eWxlVXJsOiAnLi9zYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy5jb21wb25lbnQuc2NzcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbVHVpQWNjb3JkaW9uLCBUdWlMb2FkZXIsIFNjU2hhcmVCdXR0b25Db21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfQlVUVE9OX09QVElPTlMsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICAgIC4uLlRVSV9CVVRUT05fREVGQVVMVF9PUFRJT05TLFxuICAgICAgICAgICAgICAgIHNpemU6ICdsJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7IG5nU2tpcEh5ZHJhdGlvbjogJ3RydWUnIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgSW5wdXRTaWduYWx9INGB0L/QuNGB0LrQsCDQs9GA0YPQv9C/0Ysg0YfQsNGB0YLQviDQt9Cw0LTQsNCy0LDQtdC80YvRhSDQstC+0L/RgNC+0YHQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpdGVtczogSW5wdXRTaWduYWw8U2NGYXFJdGVtW10+ID0gaW5wdXQucmVxdWlyZWQ8U2NGYXFJdGVtW10+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgSW5wdXRTaWduYWx9INC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LfQsNCz0YDRg9C30LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2hvd0xvYWRpbmc6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIElucHV0U2lnbmFsfSDQv9Cw0YDQsNC80LXRgtGA0L7QsiDQv9GA0L7QutGA0YPRgtC60Lgg0Log0LLQvtC/0YDQvtGB0YMg0LjQtyDRj9C60L7RgNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzY3JvbGxPcHRpb25zOiBJbnB1dFNpZ25hbDxTY3JvbGxJbnRvVmlld09wdGlvbnM+ID0gaW5wdXQ8U2Nyb2xsSW50b1ZpZXdPcHRpb25zPih7IGJlaGF2aW9yOiAnaW5zdGFudCcsIGJsb2NrOiAnY2VudGVyJyB9KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBJbnB1dFNpZ25hbH0g0LrQvtC70LjRh9C10YHRgtCy0LAg0LrQsNC00YDQvtCyINGD0LTQtdGA0LbQsNC90LjRjyDQstC+0L/RgNC+0YHQsCDQuNC3INGP0LrQvtGA0Y8g0LIg0L/QvtC70LUg0LfRgNC10L3QuNGPICjQvtC60L7Qu9C+IDUg0YHQtdC60YPQvdC0KS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2Nyb2xsSG9sZEZyYW1lczogSW5wdXRTaWduYWw8bnVtYmVyPiA9IGlucHV0PG51bWJlcj4oMzAwKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L/RgNC40LvQvtC20LXQvdC40LUg0LfQsNC/0YPRidC10L3QviDQvdCwINGB0LXRgNCy0LXRgNC1LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc1NlcnZlcjogUmVhZG9ubHk8Ym9vbGVhbj4gPSBpbmplY3Q8Ym9vbGVhbj4oSVNfU0VSVkVSKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBXcml0YWJsZVNpZ25hbH0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQvtCyINGA0LDRgdC60YDRi9GC0YvRhSDQstC+0L/RgNC+0YHQvtCyLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcGVuZWRJZHM6IFdyaXRhYmxlU2lnbmFsPFNldDxudW1iZXI+PiA9IHNpZ25hbChuZXcgU2V0PG51bWJlcj4oKSk7XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRj9C60L7RgNGMINGB0YHRi9C70LrQuCDQvdCwINCy0L7Qv9GA0L7RgS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2V0QW5jaG9yOiAocXVlc3Rpb25JZDogbnVtYmVyKSA9PiBzdHJpbmcgPSBzY0dldEZhcVF1ZXN0aW9uQW5jaG9yO1xuXG4gICAgLyoqXG4gICAgICog0JDQutGC0LjQstC90YvQuSDQvNCw0YDRiNGA0YPRgi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LbQtdC60YLQvtGAINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwINGD0L3QuNGH0YLQvtC20LXQvdC40LUg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmOiBEZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFNpZ25hbH0g0YHRgdGL0LvQvtC6INC90LAg0LfQsNCz0L7Qu9C+0LLQutC4INCy0L7Qv9GA0L7RgdC+0LIuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBxdWVzdGlvbkhlYWRlcnM6IFNpZ25hbDxSZWFkb25seUFycmF5PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+Pj4gPSB2aWV3Q2hpbGRyZW48RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdxdWVzdGlvbkhlYWRlcicpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc0NvbXBvbmVudH0uXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICAvLyDQndCwINGB0LXRgNCy0LXRgNC1INCy0YHQtSDQstC+0L/RgNC+0YHRiyDRgNCw0YHQutGA0YvRgtGLLlxuICAgICAgICBpZiAodGhpcy5pc1NlcnZlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8g0KDQsNGB0LrRgNGL0LLQsNC10Lwg0LLQvtC/0YDQvtGBINC40Lcg0Y/QutC+0YDRjyDQuCDQv9GA0L7QutGA0YPRh9C40LLQsNC10Lwg0Log0L3QtdC80YM6INGP0LrQvtGA0Ywg0LzQvtC20LXRgiDRgdC80LXQvdC40YLRjNGB0Y8g0L3QsCDQvtGC0LrRgNGL0YLQvtC5INGB0YLRgNCw0L3QuNGG0LUsINGB0L/QuNGB0L7QuiDQt9Cw0LPRgNGD0LfQuNGC0YzRgdGPINC/0L7Qt9C20LUuXG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMucm91dGUuZnJhZ21lbnQsIHRvT2JzZXJ2YWJsZSh0aGlzLml0ZW1zKV0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKFtmcmFnbWVudCwgaXRlbXNdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXN0aW9uSWQgPSBzY0dldEZhcVF1ZXN0aW9uSWRGcm9tQW5jaG9yKGZyYWdtZW50KTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcXVlc3Rpb25JZCAhPT0gbnVsbCAmJiBpdGVtcy5zb21lKChpdGVtKSA9PiBpdGVtLmlkID09PSBxdWVzdGlvbklkKSA/IHF1ZXN0aW9uSWQgOiBudWxsO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChxdWVzdGlvbklkKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbk9wZW5lZENoYW5nZShxdWVzdGlvbklkLCB0cnVlKTtcblxuICAgICAgICAgICAgICAgIGFmdGVyTmV4dFJlbmRlcihcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaGVhZGVyID0gdGhpcy5nZXRRdWVzdGlvbkhlYWRlcihxdWVzdGlvbklkKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhlYWRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9IZWFkZXIoaGVhZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0LDRgNCw0LzQtdGC0YDRiyDRhNC+0YDQvNC40YDQvtCy0LDQvdC40Y8g0YHRgdGL0LvQutC4INC90LAg0LLQvtC/0YDQvtGBOiDRgtC10LrRg9GJ0LDRjyDRgdGC0YDQsNC90LjRhtCwINGBINC10ZEgcXVlcnkt0L/QsNGA0LDQvNC10YLRgNCw0LzQuCDQuCDRj9C60L7RgNC10Lwg0LLQvtC/0YDQvtGB0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcXVlc3Rpb25JZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQstC+0L/RgNC+0YHQsC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0U2hhcmVMaW5rT3B0aW9ucyhxdWVzdGlvbklkOiBudW1iZXIpOiBVcmxDcmVhdGlvbk9wdGlvbnMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdwcmVzZXJ2ZScsXG4gICAgICAgICAgICBmcmFnbWVudDogc2NHZXRGYXFRdWVzdGlvbkFuY2hvcihxdWVzdGlvbklkKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINGA0LDRgdC60YDRi9GC0LjRjyDQstC+0L/RgNC+0YHQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBxdWVzdGlvbklkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCy0L7Qv9GA0L7RgdCwLlxuICAgICAqIEBwYXJhbSBvcGVuZWQg0J/RgNC40LfQvdCw0LosINGH0YLQviDQstC+0L/RgNC+0YEg0YDQsNGB0LrRgNGL0YIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9uT3BlbmVkQ2hhbmdlKHF1ZXN0aW9uSWQ6IG51bWJlciwgb3BlbmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbmVkSWRzLnVwZGF0ZSgoaWRzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0SWRzID0gbmV3IFNldChpZHMpO1xuXG4gICAgICAgICAgICBpZiAob3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgbmV4dElkcy5hZGQocXVlc3Rpb25JZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5leHRJZHMuZGVsZXRlKHF1ZXN0aW9uSWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbmV4dElkcztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0Y3Qu9C10LzQtdC90YIg0LfQsNCz0L7Qu9C+0LLQutCwINCy0L7Qv9GA0L7RgdCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHF1ZXN0aW9uSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LLQvtC/0YDQvtGB0LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRRdWVzdGlvbkhlYWRlcihxdWVzdGlvbklkOiBudW1iZXIpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGFuY2hvciA9IHNjR2V0RmFxUXVlc3Rpb25BbmNob3IocXVlc3Rpb25JZCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucXVlc3Rpb25IZWFkZXJzKCkuZmluZCgoaGVhZGVyKSA9PiBoZWFkZXIubmF0aXZlRWxlbWVudC5pZCA9PT0gYW5jaG9yKT8ubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0L7QutGA0YPRh9C40LLQsNC10YIg0YHRgtGA0LDQvdC40YbRgyDQuiDQt9Cw0LPQvtC70L7QstC60YMg0LLQvtC/0YDQvtGB0LAg0Lgg0YPQtNC10YDQttC40LLQsNC10YIg0LXQs9C+INCyINC/0L7Qu9C1INC30YDQtdC90LjRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBoZWFkZXIg0K3Qu9C10LzQtdC90YIg0LfQsNCz0L7Qu9C+0LLQutCwINCy0L7Qv9GA0L7RgdCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgc2Nyb2xsVG9IZWFkZXIoaGVhZGVyOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBnZXRUb3AgPSAoKTogbnVtYmVyID0+IE1hdGgucm91bmQoaGVhZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCk7XG4gICAgICAgIGNvbnN0IHVzZXJTY3JvbGwkOiBPYnNlcnZhYmxlPEV2ZW50PiA9IG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50KGdsb2JhbFRoaXMsICd3aGVlbCcpLFxuICAgICAgICAgICAgZnJvbUV2ZW50KGdsb2JhbFRoaXMsICd0b3VjaHN0YXJ0JyksXG4gICAgICAgICAgICBmcm9tRXZlbnQoZ2xvYmFsVGhpcywgJ2tleWRvd24nKSxcbiAgICAgICAgICAgIGZyb21FdmVudChnbG9iYWxUaGlzLCAnbW91c2Vkb3duJylcbiAgICAgICAgKTtcblxuICAgICAgICAvLyDQnNCz0L3QvtCy0LXQvdC90L46INC/0LvQsNCy0L3QsNGPINC/0YDQvtC60YDRg9GC0LrQsCDQvdC1INCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0LIg0YHQutGA0YvRgtC+0Lkg0LLQutC70LDQtNC60LUuXG4gICAgICAgIGhlYWRlci5zY3JvbGxJbnRvVmlldyh0aGlzLnNjcm9sbE9wdGlvbnMoKSk7XG5cbiAgICAgICAgbGV0IGV4cGVjdGVkVG9wID0gZ2V0VG9wKCk7XG5cbiAgICAgICAgLy8g0J/QvtCy0YLQvtGA0Y/QtdC8INC/0YDQvtC60YDRg9GC0LrRgywg0LXRgdC70Lgg0LLQvtC/0YDQvtGBINGB0LTQstC40L3Rg9C70LAg0LTQvtCz0YDRg9C30LrQsCDRgdGC0YDQsNC90LjRhtGLINC40LvQuCDRh9GD0LbQsNGPINC/0YDQvtC60YDRg9GC0LrQsCwg0L/QvtC60LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC90LUg0L3QsNGH0L3RkdGCINC/0YDQvtC60YDRg9GH0LjQstCw0YLRjCDRgdCw0LwuXG4gICAgICAgIGFuaW1hdGlvbkZyYW1lcygpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlKHRoaXMuc2Nyb2xsSG9sZEZyYW1lcygpKSxcbiAgICAgICAgICAgICAgICBtYXAoZ2V0VG9wKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHRvcCkgPT4gdG9wICE9PSBleHBlY3RlZFRvcCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHVzZXJTY3JvbGwkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaGVhZGVyLnNjcm9sbEludG9WaWV3KHRoaXMuc2Nyb2xsT3B0aW9ucygpKTtcbiAgICAgICAgICAgICAgICBleHBlY3RlZFRvcCA9IGdldFRvcCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPHR1aS1sb2FkZXJcbiAgICBbc2hvd0xvYWRlcl09XCJzaG93TG9hZGluZygpXCJcbiAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbj5cbiAgICA8dHVpLWFjY29yZGlvblxuICAgICAgICBjbGFzcz1cImFjY29yZGlvblwiXG4gICAgICAgIFtjbG9zZU90aGVyc109XCJmYWxzZVwiXG4gICAgPlxuICAgICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zKCk7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICAgICAgICAgIEBsZXQgYW5jaG9yID0gZ2V0QW5jaG9yKGl0ZW0uaWQpO1xuXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgI3F1ZXN0aW9uSGVhZGVyXG4gICAgICAgICAgICAgICAgW2lkXT1cImFuY2hvclwiXG4gICAgICAgICAgICAgICAgW3R1aUFjY29yZGlvbl09XCJpc1NlcnZlciB8fCBvcGVuZWRJZHMoKS5oYXMoaXRlbS5pZClcIlxuICAgICAgICAgICAgICAgICh0dWlBY2NvcmRpb25DaGFuZ2UpPVwib25PcGVuZWRDaGFuZ2UoaXRlbS5pZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCIhd2hpdGVzcGFjZS1ub3JtYWwgIXRleHQtYm9keS1tLWJvbGRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ3Jvd1wiPnt7IGl0ZW0ucXVlc3Rpb24gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNjLXNoYXJlLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaHJpbmstMFwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJpdGVtLnF1ZXN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlclBhdGhdPVwiW11cIlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyQ3JlYXRpb25PcHRpb25zXT1cImdldFNoYXJlTGlua09wdGlvbnMoaXRlbS5pZClcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8dHVpLWV4cGFuZD5cbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiaXRlbS5hbnN3ZXJcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvdHVpLWV4cGFuZD5cbiAgICAgICAgfVxuICAgIDwvdHVpLWFjY29yZGlvbj5cbjwvdHVpLWxvYWRlcj5cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SC_PAGE_QUERY_PARAM } from '@snabcentr/client-core';
|
|
2
|
+
import { SC_FAQ_GROUP_QUERY_PARAM } from './sc-faq-query-params';
|
|
3
|
+
/**
|
|
4
|
+
* Возвращает query-параметры ссылки на группу часто задаваемых вопросов.
|
|
5
|
+
*
|
|
6
|
+
* При смене группы пагинация сбрасывается на первую страницу.
|
|
7
|
+
*
|
|
8
|
+
* @param group Группа вопросов.
|
|
9
|
+
*/
|
|
10
|
+
export const scGetFaqGroupQueryParams = (group) => ({
|
|
11
|
+
[SC_FAQ_GROUP_QUERY_PARAM]: group.id ?? null,
|
|
12
|
+
[SC_PAGE_QUERY_PARAM]: null,
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZ2V0LWZhcS1ncm91cC1xdWVyeS1wYXJhbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcGFnZXMvZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnMvc2MtZ2V0LWZhcS1ncm91cC1xdWVyeS1wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFjLE1BQU0sd0JBQXdCLENBQUM7QUFFekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFakU7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxLQUFpQixFQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUMsd0JBQXdCLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLElBQUk7SUFDNUMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLElBQUk7Q0FDOUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNDX1BBR0VfUVVFUllfUEFSQU0sIFNjRmFxR3JvdXAgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcblxuaW1wb3J0IHsgU0NfRkFRX0dST1VQX1FVRVJZX1BBUkFNIH0gZnJvbSAnLi9zYy1mYXEtcXVlcnktcGFyYW1zJztcblxuLyoqXG4gKiDQktC+0LfQstGA0LDRidCw0LXRgiBxdWVyeS3Qv9Cw0YDQsNC80LXRgtGA0Ysg0YHRgdGL0LvQutC4INC90LAg0LPRgNGD0L/Qv9GDINGH0LDRgdGC0L4g0LfQsNC00LDQstCw0LXQvNGL0YUg0LLQvtC/0YDQvtGB0L7Qsi5cbiAqXG4gKiDQn9GA0Lgg0YHQvNC10L3QtSDQs9GA0YPQv9C/0Ysg0L/QsNCz0LjQvdCw0YbQuNGPINGB0LHRgNCw0YHRi9Cy0LDQtdGC0YHRjyDQvdCwINC/0LXRgNCy0YPRjiDRgdGC0YDQsNC90LjRhtGDLlxuICpcbiAqIEBwYXJhbSBncm91cCDQk9GA0YPQv9C/0LAg0LLQvtC/0YDQvtGB0L7Qsi5cbiAqL1xuZXhwb3J0IGNvbnN0IHNjR2V0RmFxR3JvdXBRdWVyeVBhcmFtcyA9IChncm91cDogU2NGYXFHcm91cCk6IFBhcmFtcyA9PiAoe1xuICAgIFtTQ19GQVFfR1JPVVBfUVVFUllfUEFSQU1dOiBncm91cC5pZCA/PyBudWxsLFxuICAgIFtTQ19QQUdFX1FVRVJZX1BBUkFNXTogbnVsbCxcbn0pO1xuIl19
|