@colijnit/transaction 12.1.26 → 12.1.28
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/bundles/colijnit-transaction.umd.js +7484 -4864
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +207 -166
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +208 -167
- package/esm2015/lib/assets/dictionary/text.properties.js +13 -7
- package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +33 -37
- package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +92 -0
- package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +170 -396
- package/esm2015/lib/component/checkout/checkout.component.js +25 -16
- package/esm2015/lib/component/checkout/checkout.module.js +47 -9
- package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +16 -12
- package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.js +24 -15
- package/esm2015/lib/component/core/base/transaction-base.component.js +15 -27
- package/esm2015/lib/component/core/base/transaction-filter-content-base.component.js +5 -1
- package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.component.js +15 -6
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-base.component.js +30 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.js +30 -0
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.js +25 -0
- package/esm2015/lib/component/discount/discount.component.js +31 -28
- package/esm2015/lib/component/payment/payment.component.js +61 -13
- package/esm2015/lib/component/payment-qr-code/payment-qr-code.component.js +2 -21
- package/esm2015/lib/component/relation/relation-address/relation-address.component.js +129 -0
- package/esm2015/lib/component/relation/relation-address/relation-address.module.js +29 -0
- package/esm2015/lib/component/relation/relation-address-select/relation-address-select.component.js +148 -0
- package/esm2015/lib/component/relation/relation-address-select/relation-address-select.module.js +33 -0
- package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.component.js +61 -0
- package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.module.js +32 -0
- package/esm2015/lib/component/relation/relation-addresses/relation-addresses.component.js +95 -0
- package/esm2015/lib/component/relation/relation-addresses/relation-addresses.module.js +30 -0
- package/esm2015/lib/component/relation/relation-base.component.js +31 -0
- package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +63 -0
- package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.module.js +24 -0
- package/esm2015/lib/component/relation/relation-general/relation-general.component.js +195 -0
- package/esm2015/lib/component/relation/relation-general/relation-general.module.js +27 -0
- package/esm2015/lib/component/relation/relation-preferences/relation-preferences.component.js +65 -0
- package/esm2015/lib/component/relation/relation-preferences/relation-preferences.module.js +21 -0
- package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.js +30 -0
- package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.js +21 -0
- package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.js +31 -0
- package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.js +19 -0
- package/esm2015/lib/component/relation/relation-type/relation-type.component.js +48 -0
- package/esm2015/lib/component/relation/relation-type/relation-type.module.js +23 -0
- package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +31 -32
- package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +20 -22
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.js +18 -3
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.js +4 -2
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +2 -2
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +25 -3
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.js +19 -6
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +22 -3
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.js +6 -2
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +110 -8
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.js +25 -2
- package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.js +58 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.component.js +60 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.component.js +44 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.component.js +3 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.component.js +69 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.module.js +25 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options.component.js +69 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.js +81 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.js +81 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.component.js +54 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +44 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.js +80 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.component.js +80 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.component.js +80 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.module.js +23 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.component.js +80 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.module.js +23 -0
- package/esm2015/lib/component/transaction-line/transaction-line.component.js +2 -2
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +32 -9
- package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.module.js +4 -3
- package/esm2015/lib/component/transaction-line-fields/transaction-line-fields-base.component.js +3 -1
- package/esm2015/lib/component/transaction-search/transaction-search.component.js +2 -2
- package/esm2015/lib/service/collection-cache.service.js +14 -12
- package/esm2015/lib/service/dialog.service.js +7 -1
- package/esm2015/lib/service/payment.service.js +23 -7
- package/esm2015/lib/service/pending-reason.service.js +22 -20
- package/esm2015/lib/service/transaction-connector.service.js +240 -2
- package/esm2015/lib/service/transaction.service.js +240 -37
- package/esm2015/public_api.js +4 -3
- package/fesm2015/colijnit-transaction.js +3687 -1385
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +1 -0
- package/lib/component/checkout/checkout-overview-delivery-edit/style/material.scss +2 -2
- package/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.d.ts +17 -0
- package/lib/component/checkout/checkout-overview-payment/style/_layout.scss +47 -0
- package/lib/component/checkout/checkout-overview-payment/style/_material-definition.scss +18 -0
- package/lib/component/checkout/checkout-overview-payment/style/_theme.scss +21 -0
- package/lib/component/checkout/checkout-overview-payment/style/material.scss +4 -0
- package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +12 -56
- package/lib/component/checkout/checkout-overview-relation-edit/style/_layout.scss +9 -42
- package/lib/component/checkout/checkout-overview-relation-edit/style/material.scss +1 -2
- package/lib/component/checkout/checkout.component.d.ts +4 -2
- package/lib/component/checkout/style/_layout.scss +3 -0
- package/lib/component/checkout/style/material.scss +1 -1
- package/lib/component/confirmation-dialog/style/_layout.scss +0 -1
- package/lib/component/core/base/components/transaction-header-block/style/_layout.scss +25 -0
- package/lib/component/core/base/components/transaction-header-block/style/_material-definition.scss +2 -1
- package/lib/component/core/base/components/transaction-header-block/style/_theme.scss +6 -0
- package/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.d.ts +3 -1
- package/lib/component/core/base/transaction-base.component.d.ts +0 -6
- package/lib/component/core/base/transaction-filter-content-base.component.d.ts +1 -0
- package/lib/component/delivery-type-tile/delivery-type-tile.component.d.ts +3 -1
- package/lib/component/dialog/transaction-line/dialog-transaction-line-base.component.d.ts +9 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.d.ts +6 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.d.ts +2 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_layout.scss +15 -0
- package/lib/component/{checkout/checkout-relation-suggestions-list → dialog/transaction-line/dialog-transaction-line-commission-code}/style/_material-definition.scss +0 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_theme.scss +4 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/material.scss +4 -0
- package/lib/component/payment/payment.component.d.ts +14 -2
- package/lib/component/payment/style/_layout.scss +1 -1
- package/lib/component/payment-qr-code/payment-qr-code.component.d.ts +2 -11
- package/lib/component/{relation-address → relation/relation-address}/relation-address.component.d.ts +6 -6
- package/lib/component/{relation-address → relation/relation-address}/relation-address.module.d.ts +0 -0
- package/lib/component/{relation-address → relation/relation-address}/style/_layout.scss +0 -2
- package/lib/component/{relation-address → relation/relation-address}/style/_material-definition.scss +0 -0
- package/lib/component/{relation-address → relation/relation-address}/style/_theme.scss +0 -3
- package/lib/component/relation/relation-address/style/material.scss +5 -0
- package/lib/component/{relation-address-select → relation/relation-address-select}/relation-address-select.component.d.ts +4 -3
- package/lib/component/{relation-address-select → relation/relation-address-select}/relation-address-select.module.d.ts +0 -0
- package/lib/component/{relation-address-select → relation/relation-address-select}/style/_layout.scss +0 -2
- package/lib/component/{relation-address-select → relation/relation-address-select}/style/_material-definition.scss +0 -0
- package/lib/component/{relation-address-select → relation/relation-address-select}/style/_theme.scss +0 -2
- package/lib/component/{relation-address-select → relation/relation-address-select}/style/material.scss +1 -0
- package/lib/component/{relation-address-tile → relation/relation-address-tile}/relation-address-tile.component.d.ts +1 -1
- package/lib/component/{relation-address-tile → relation/relation-address-tile}/relation-address-tile.module.d.ts +0 -0
- package/lib/component/{relation-address-tile → relation/relation-address-tile}/style/_layout.scss +0 -2
- package/lib/component/{relation-address-tile → relation/relation-address-tile}/style/_material-definition.scss +0 -0
- package/lib/component/{relation-address-tile → relation/relation-address-tile}/style/_theme.scss +0 -2
- package/lib/component/relation/relation-address-tile/style/material.scss +5 -0
- package/lib/component/relation/relation-addresses/relation-addresses.component.d.ts +23 -0
- package/lib/component/relation/relation-addresses/relation-addresses.module.d.ts +2 -0
- package/lib/component/relation/relation-addresses/style/_layout.scss +19 -0
- package/lib/component/relation/relation-addresses/style/_material-definition.scss +1 -0
- package/lib/component/relation/relation-addresses/style/_theme.scss +4 -0
- package/lib/component/relation/relation-addresses/style/material.scss +4 -0
- package/lib/component/relation/relation-base.component.d.ts +11 -0
- package/lib/component/relation/relation-contact-details/relation-contact-details.component.d.ts +11 -0
- package/lib/component/relation/relation-contact-details/relation-contact-details.module.d.ts +2 -0
- package/lib/component/relation/relation-contact-details/style/_layout.scss +6 -0
- package/lib/component/relation/relation-contact-details/style/_material-definition.scss +0 -0
- package/lib/component/relation/relation-contact-details/style/_theme.scss +6 -0
- package/lib/component/relation/relation-contact-details/style/material.scss +4 -0
- package/lib/component/relation/relation-general/relation-general.component.d.ts +25 -0
- package/lib/component/relation/relation-general/relation-general.module.d.ts +2 -0
- package/lib/component/relation/relation-general/style/_layout.scss +37 -0
- package/lib/component/relation/relation-general/style/_material-definition.scss +2 -0
- package/lib/component/relation/relation-general/style/_theme.scss +4 -0
- package/lib/component/relation/relation-general/style/material.scss +5 -0
- package/lib/component/relation/relation-preferences/relation-preferences.component.d.ts +14 -0
- package/lib/component/relation/relation-preferences/relation-preferences.module.d.ts +2 -0
- package/lib/component/relation/relation-preferences/style/_layout.scss +17 -0
- package/lib/component/relation/relation-preferences/style/_material-definition.scss +0 -0
- package/lib/component/relation/relation-preferences/style/_theme.scss +4 -0
- package/lib/component/relation/relation-preferences/style/material.scss +4 -0
- package/lib/component/{checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.d.ts → relation/relation-suggestions-list/relation-suggestions-list.component.d.ts} +1 -1
- package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.d.ts +2 -0
- package/lib/component/relation/relation-suggestions-list/style/_layout.scss +6 -0
- package/lib/component/relation/relation-suggestions-list/style/_material-definition.scss +0 -0
- package/lib/component/relation/relation-suggestions-list/style/_theme.scss +4 -0
- package/lib/component/relation/relation-suggestions-list/style/material.scss +5 -0
- package/lib/component/{checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.d.ts → relation/relation-suggestions-list-item/relation-suggestions-list-item.component.d.ts} +1 -1
- package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.d.ts +2 -0
- package/lib/component/relation/relation-suggestions-list-item/style/_layout.scss +32 -0
- package/lib/component/relation/relation-suggestions-list-item/style/_material-definition.scss +8 -0
- package/lib/component/relation/relation-suggestions-list-item/style/_theme.scss +4 -0
- package/lib/component/relation/relation-suggestions-list-item/style/material.scss +4 -0
- package/lib/component/relation/relation-type/relation-type.component.d.ts +10 -0
- package/lib/component/relation/relation-type/relation-type.module.d.ts +2 -0
- package/lib/component/relation/relation-type/style/_layout.scss +11 -0
- package/lib/component/relation/relation-type/style/_material-definition.scss +0 -0
- package/lib/component/relation/relation-type/style/_theme.scss +4 -0
- package/lib/component/relation/relation-type/style/material.scss +4 -0
- package/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.d.ts +4 -1
- package/lib/component/transaction-header/style/material.scss +3 -3
- package/lib/component/transaction-header/transaction-header-delivery/style/_layout.scss +13 -0
- package/lib/component/transaction-header/transaction-header-delivery/style/_material-definition.scss +4 -0
- package/lib/component/transaction-header/transaction-header-delivery/style/_theme.scss +4 -0
- package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header-payment/style/_layout.scss +17 -0
- package/lib/component/transaction-header/transaction-header-payment/style/_material-definition.scss +2 -2
- package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +1 -0
- package/lib/component/transaction-header/transaction-header-relation/style/_layout.scss +43 -0
- package/lib/component/transaction-header/transaction-header-relation/style/_material-definition.scss +10 -0
- package/lib/component/transaction-header/transaction-header-relation/style/_theme.scss +7 -0
- package/lib/component/transaction-header/transaction-header-relation/style/material.scss +11 -0
- package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.d.ts +22 -0
- package/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.d.ts +13 -0
- package/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-branch.component.d.ts +13 -0
- package/lib/component/transaction-header-fields/transaction-header-branch.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-definitive.component.d.ts +8 -0
- package/lib/component/transaction-header-fields/transaction-header-definitive.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-delivery-date.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-delivery-method.component.d.ts +15 -0
- package/lib/component/transaction-header-fields/transaction-header-delivery-method.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-delivery-options.component.d.ts +20 -0
- package/lib/component/transaction-header-fields/transaction-header-delivery-options.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.d.ts +17 -0
- package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.d.ts +17 -0
- package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-marketing.component.d.ts +13 -0
- package/lib/component/transaction-header-fields/transaction-header-marketing.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.d.ts +8 -0
- package/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.d.ts +17 -0
- package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-reference.component.d.ts +17 -0
- package/lib/component/transaction-header-fields/transaction-header-reference.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-relation-reference.component.d.ts +17 -0
- package/lib/component/transaction-header-fields/transaction-header-relation-reference.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-remarks.component.d.ts +17 -0
- package/lib/component/transaction-header-fields/transaction-header-remarks.module.d.ts +2 -0
- package/lib/component/transaction-line/style/_layout.scss +12 -28
- package/lib/component/transaction-line/style/material.scss +1 -0
- package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +10 -0
- package/lib/component/transaction-line-fields/transaction-line-fields-base.component.d.ts +1 -0
- package/lib/service/dialog.service.d.ts +4 -1
- package/lib/service/payment.service.d.ts +6 -2
- package/lib/service/pending-reason.service.d.ts +3 -2
- package/lib/service/transaction-connector.service.d.ts +17 -0
- package/lib/service/transaction.service.d.ts +14 -3
- package/package.json +3 -3
- package/public_api.d.ts +3 -2
- package/esm2015/lib/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +0 -30
- package/esm2015/lib/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +0 -31
- package/esm2015/lib/component/relation-address/relation-address.component.js +0 -125
- package/esm2015/lib/component/relation-address/relation-address.module.js +0 -28
- package/esm2015/lib/component/relation-address-select/relation-address-select.component.js +0 -146
- package/esm2015/lib/component/relation-address-select/relation-address-select.module.js +0 -33
- package/esm2015/lib/component/relation-address-tile/relation-address-tile.component.js +0 -61
- package/esm2015/lib/component/relation-address-tile/relation-address-tile.module.js +0 -32
- package/esm2015/lib/component/transaction-header/transaction-header.component.js +0 -41
- package/esm2015/lib/component/transaction-header/transaction-header.module.js +0 -29
- package/lib/component/checkout/checkout-relation-suggestions-list/style/_layout.scss +0 -8
- package/lib/component/checkout/checkout-relation-suggestions-list/style/_theme.scss +0 -6
- package/lib/component/checkout/checkout-relation-suggestions-list/style/material.scss +0 -4
- package/lib/component/checkout/checkout-relation-suggestions-list-item/style/_layout.scss +0 -34
- package/lib/component/checkout/checkout-relation-suggestions-list-item/style/_material-definition.scss +0 -8
- package/lib/component/checkout/checkout-relation-suggestions-list-item/style/_theme.scss +0 -6
- package/lib/component/checkout/checkout-relation-suggestions-list-item/style/material.scss +0 -3
- package/lib/component/relation-address/style/material.scss +0 -4
- package/lib/component/relation-address-tile/style/material.scss +0 -4
- package/lib/component/transaction-header/transaction-header.component.d.ts +0 -10
- package/lib/component/transaction-header/transaction-header.module.d.ts +0 -2
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
3
|
+
import { Address } from "@colijnit/transactionapi/build/model/address.bo";
|
|
4
|
+
import { isNill } from "@colijnit/transactionapi/build/utils/function/is-nill.function";
|
|
5
|
+
import { TransactionConnectorService } from "../../../service/transaction-connector.service";
|
|
6
|
+
import { StringUtils } from "../../../utils/string-utils";
|
|
7
|
+
import { DictionaryService } from "../../../service/dictionary.service";
|
|
8
|
+
import { FormMasterService } from "@colijnit/corecomponents_v12";
|
|
9
|
+
import { RelationBaseComponent } from "../relation-base.component";
|
|
10
|
+
export class RelationAddressComponent extends RelationBaseComponent {
|
|
11
|
+
constructor(_dictionary, _connector, _formMasterService) {
|
|
12
|
+
super();
|
|
13
|
+
this._dictionary = _dictionary;
|
|
14
|
+
this._connector = _connector;
|
|
15
|
+
this._formMasterService = _formMasterService;
|
|
16
|
+
this.address = new Address();
|
|
17
|
+
this.showButtons = true;
|
|
18
|
+
this.saveClick = new EventEmitter();
|
|
19
|
+
this.cancelClick = new EventEmitter();
|
|
20
|
+
this.countries = [];
|
|
21
|
+
this.fields = { text: "description", value: "code" };
|
|
22
|
+
this.postalCodeCheckErrorMessage = "";
|
|
23
|
+
this._prevPostalCodeForCheck = "";
|
|
24
|
+
}
|
|
25
|
+
showClass() {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
this._connector.getCountries().then((countries) => {
|
|
31
|
+
this.countries = countries;
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
submitForm() {
|
|
36
|
+
if (this._formMasterService.submitSlaves()) {
|
|
37
|
+
this.saveClick.next(this.address);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
checkForPostalCodeCheckError() {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
if (!this.address.postalCode || isNill(this.address.houseNo)) {
|
|
43
|
+
this.postalCodeCheckErrorMessage = "";
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (this._prevPostalCodeForCheck !== this.address.postalCode || this._prevHouseNoForCheck !== this.address.houseNo) {
|
|
47
|
+
this._prevPostalCodeForCheck = this.address.postalCode;
|
|
48
|
+
this._prevHouseNoForCheck = this.address.houseNo;
|
|
49
|
+
const postalCodeResponse = yield this._connector.getPostalCodeRetrieval((this.address.postalCode ? this.address.postalCode : ""), StringUtils.ParseString(this.address.houseNo));
|
|
50
|
+
if (postalCodeResponse && postalCodeResponse.isBadAddress) {
|
|
51
|
+
this.postalCodeCheckErrorMessage = this._dictionary.get("UNKNOWN_ADDRESS_CHECK_IT");
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.postalCodeCheckErrorMessage = "";
|
|
55
|
+
this.address.streetName = postalCodeResponse.street;
|
|
56
|
+
this.address.city = postalCodeResponse.city;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
changeHouseNo() {
|
|
62
|
+
this.address.houseNo = Number(this.address.houseNo);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
RelationAddressComponent.decorators = [
|
|
66
|
+
{ type: Component, args: [{
|
|
67
|
+
selector: "co-relation-address",
|
|
68
|
+
template: `
|
|
69
|
+
<label *ngIf=label [textContent]="label | localize"
|
|
70
|
+
class="checkout-label-h3"
|
|
71
|
+
></label>
|
|
72
|
+
<co-form>
|
|
73
|
+
<div class="relation-address-data-row default">
|
|
74
|
+
<co-input-combo-box [(model)]="address.countryId"
|
|
75
|
+
[collection]="countries"
|
|
76
|
+
[fields]="fields"
|
|
77
|
+
[placeholder]="'COUNTRY'| localize"
|
|
78
|
+
[required]="true"
|
|
79
|
+
></co-input-combo-box>
|
|
80
|
+
</div>
|
|
81
|
+
<div class="relation-address-data-row default">
|
|
82
|
+
<co-input-text [(model)]="address.postalCode"
|
|
83
|
+
[placeholder]="'POSTAL_CODE' | localize"
|
|
84
|
+
(blur)="checkForPostalCodeCheckError()"
|
|
85
|
+
required
|
|
86
|
+
></co-input-text>
|
|
87
|
+
<co-input-text class="default-width"
|
|
88
|
+
[(model)]="address.houseNo"
|
|
89
|
+
[placeholder]="'HOUSE_NO' | localize"
|
|
90
|
+
(blur)="checkForPostalCodeCheckError()"
|
|
91
|
+
(modelChange)="changeHouseNo()"
|
|
92
|
+
required
|
|
93
|
+
></co-input-text>
|
|
94
|
+
<co-input-text [(model)]="address.houseNoAddition"
|
|
95
|
+
[placeholder]="'HOUSE_NO_ADDITION' | localize"
|
|
96
|
+
></co-input-text>
|
|
97
|
+
</div>
|
|
98
|
+
<div class="relation-address-data-row default">
|
|
99
|
+
<co-input-text [(model)]="address.streetName" [placeholder]="'STREET' | localize" required></co-input-text>
|
|
100
|
+
</div>
|
|
101
|
+
<div class="relation-address-data-row default">
|
|
102
|
+
<co-input-text [(model)]="address.city" [placeholder]="'CITY' | localize" required></co-input-text>
|
|
103
|
+
</div>
|
|
104
|
+
<div class="relation-address-button-wrapper" *ngIf="showButtons">
|
|
105
|
+
<co-button [label]="'SAVE' | localize" (click)="submitForm()"></co-button>
|
|
106
|
+
<co-button [label]="'CANCEL' | localize" (click)="cancelClick.emit()"></co-button>
|
|
107
|
+
</div>
|
|
108
|
+
</co-form>
|
|
109
|
+
`,
|
|
110
|
+
providers: [
|
|
111
|
+
FormMasterService
|
|
112
|
+
],
|
|
113
|
+
encapsulation: ViewEncapsulation.None
|
|
114
|
+
},] }
|
|
115
|
+
];
|
|
116
|
+
RelationAddressComponent.ctorParameters = () => [
|
|
117
|
+
{ type: DictionaryService },
|
|
118
|
+
{ type: TransactionConnectorService },
|
|
119
|
+
{ type: FormMasterService }
|
|
120
|
+
];
|
|
121
|
+
RelationAddressComponent.propDecorators = {
|
|
122
|
+
address: [{ type: Input }],
|
|
123
|
+
label: [{ type: Input }],
|
|
124
|
+
showButtons: [{ type: Input }],
|
|
125
|
+
saveClick: [{ type: Output }],
|
|
126
|
+
cancelClick: [{ type: Output }],
|
|
127
|
+
showClass: [{ type: HostBinding, args: ["class.co-relation-address",] }]
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzL3JlbGF0aW9uLWFkZHJlc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saURBQWlELENBQUM7QUFFeEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ3RGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRTNGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQXFEakUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHFCQUFxQjtJQTRCakUsWUFDVSxXQUE4QixFQUM5QixVQUF1QyxFQUN2QyxrQkFBcUM7UUFFN0MsS0FBSyxFQUFFLENBQUM7UUFKQSxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsZUFBVSxHQUFWLFVBQVUsQ0FBNkI7UUFDdkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQTdCeEMsWUFBTyxHQUFZLElBQUksT0FBTyxFQUFFLENBQUM7UUFNakMsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFHNUIsY0FBUyxHQUEwQixJQUFJLFlBQVks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dEIsS0FBSztvQkFHTCxLQUFLOzBCQUdMLEtBQUs7d0JBR0wsTUFBTTswQkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7QWRkcmVzc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hZGRyZXNzLmJvXCI7XG5pbXBvcnQge0NvdW50cnl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY291bnRyeS5ib1wiO1xuaW1wb3J0IHtpc05pbGx9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvZnVuY3Rpb24vaXMtbmlsbC5mdW5jdGlvblwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWNvbm5lY3Rvci5zZXJ2aWNlXCI7XG5pbXBvcnQge0dldFBvc3RhbENvZGVSZXRyaWV2YWxPdXRwdXRQYXJhbXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ2V0LXBvc3RhbC1jb2RlLXJldHJpZXZhbC1vdXRwdXQtcGFyYW1zXCI7XG5pbXBvcnQge1N0cmluZ1V0aWxzfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvc3RyaW5nLXV0aWxzXCI7XG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcbmltcG9ydCB7Rm9ybU1hc3RlclNlcnZpY2V9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XG5pbXBvcnQge1JlbGF0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uL3JlbGF0aW9uLWJhc2UuY29tcG9uZW50XCI7XG5pbXBvcnQge1JlbGF0aW9uQW55VHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZVwiO1xuaW1wb3J0IHtBZGRyZXNzVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2FkZHJlc3MtdHlwZS5lbnVtXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjby1yZWxhdGlvbi1hZGRyZXNzXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGxhYmVsICpuZ0lmPWxhYmVsIFt0ZXh0Q29udGVudF09XCJsYWJlbCB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgPjwvbGFiZWw+XG4gICAgPGNvLWZvcm0+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1kYXRhLXJvdyBkZWZhdWx0XCI+XG4gICAgICAgIDxjby1pbnB1dC1jb21iby1ib3ggWyhtb2RlbCldPVwiYWRkcmVzcy5jb3VudHJ5SWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImNvdW50cmllc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkc109XCJmaWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ09VTlRSWSd8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgID48L2NvLWlucHV0LWNvbWJvLWJveD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWFkZHJlc3MtZGF0YS1yb3cgZGVmYXVsdFwiPlxuICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJhZGRyZXNzLnBvc3RhbENvZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BPU1RBTF9DT0RFJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwiY2hlY2tGb3JQb3N0YWxDb2RlQ2hlY2tFcnJvcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgPGNvLWlucHV0LXRleHQgY2xhc3M9XCJkZWZhdWx0LXdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYWRkcmVzcy5ob3VzZU5vXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidIT1VTRV9OTycgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cImNoZWNrRm9yUG9zdGFsQ29kZUNoZWNrRXJyb3IoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VIb3VzZU5vKClcIlxuICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJhZGRyZXNzLmhvdXNlTm9BZGRpdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInSE9VU0VfTk9fQURESVRJT04nIHwgbG9jYWxpemVcIlxuICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1kYXRhLXJvdyBkZWZhdWx0XCI+XG4gICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFkZHJlc3Muc3RyZWV0TmFtZVwiIFtwbGFjZWhvbGRlcl09XCInU1RSRUVUJyB8IGxvY2FsaXplXCIgcmVxdWlyZWQ+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1kYXRhLXJvdyBkZWZhdWx0XCI+XG4gICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFkZHJlc3MuY2l0eVwiIFtwbGFjZWhvbGRlcl09XCInQ0lUWScgfCBsb2NhbGl6ZVwiIHJlcXVpcmVkPjwvY28taW5wdXQtdGV4dD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWFkZHJlc3MtYnV0dG9uLXdyYXBwZXJcIiAqbmdJZj1cInNob3dCdXR0b25zXCI+XG4gICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidTQVZFJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cInN1Ym1pdEZvcm0oKVwiPjwvY28tYnV0dG9uPlxuICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInQ0FOQ0VMJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cImNhbmNlbENsaWNrLmVtaXQoKVwiPjwvY28tYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9jby1mb3JtPlxuICBgLFxuICBwcm92aWRlcnM6IFtcbiAgICBGb3JtTWFzdGVyU2VydmljZVxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uQWRkcmVzc0NvbXBvbmVudCBleHRlbmRzIFJlbGF0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZGRyZXNzOiBBZGRyZXNzID0gbmV3IEFkZHJlc3MoKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd0J1dHRvbnM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2F2ZUNsaWNrOiBFdmVudEVtaXR0ZXI8QWRkcmVzcz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFkZHJlc3M+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjYW5jZWxDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXJlbGF0aW9uLWFkZHJlc3NcIilcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBjb3VudHJpZXM6IENvdW50cnlbXSA9IFtdO1xuICBwdWJsaWMgZmllbGRzOiBPYmplY3QgPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xuXG4gIHB1YmxpYyBwb3N0YWxDb2RlQ2hlY2tFcnJvck1lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XG4gIHByaXZhdGUgX3ByZXZQb3N0YWxDb2RlRm9yQ2hlY2s6IHN0cmluZyA9IFwiXCI7XG4gIHByaXZhdGUgX3ByZXZIb3VzZU5vRm9yQ2hlY2s6IG51bWJlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZGljdGlvbmFyeTogRGljdGlvbmFyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY29ubmVjdG9yOiBUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZm9ybU1hc3RlclNlcnZpY2U6IEZvcm1NYXN0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLl9jb25uZWN0b3IuZ2V0Q291bnRyaWVzKCkudGhlbigoY291bnRyaWVzOiBDb3VudHJ5W10pID0+IHtcbiAgICAgIHRoaXMuY291bnRyaWVzID0gY291bnRyaWVzO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdEZvcm0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2Zvcm1NYXN0ZXJTZXJ2aWNlLnN1Ym1pdFNsYXZlcygpKSB7XG4gICAgICB0aGlzLnNhdmVDbGljay5uZXh0KHRoaXMuYWRkcmVzcyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGNoZWNrRm9yUG9zdGFsQ29kZUNoZWNrRXJyb3IoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmFkZHJlc3MucG9zdGFsQ29kZSB8fCBpc05pbGwodGhpcy5hZGRyZXNzLmhvdXNlTm8pKSB7XG4gICAgICB0aGlzLnBvc3RhbENvZGVDaGVja0Vycm9yTWVzc2FnZSA9IFwiXCI7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3ByZXZQb3N0YWxDb2RlRm9yQ2hlY2sgIT09IHRoaXMuYWRkcmVzcy5wb3N0YWxDb2RlIHx8IHRoaXMuX3ByZXZIb3VzZU5vRm9yQ2hlY2sgIT09IHRoaXMuYWRkcmVzcy5ob3VzZU5vKSB7XG4gICAgICB0aGlzLl9wcmV2UG9zdGFsQ29kZUZvckNoZWNrID0gdGhpcy5hZGRyZXNzLnBvc3RhbENvZGU7XG4gICAgICB0aGlzLl9wcmV2SG91c2VOb0ZvckNoZWNrID0gdGhpcy5hZGRyZXNzLmhvdXNlTm87XG4gICAgICBjb25zdCBwb3N0YWxDb2RlUmVzcG9uc2U6IEdldFBvc3RhbENvZGVSZXRyaWV2YWxPdXRwdXRQYXJhbXMgPSBhd2FpdCB0aGlzLl9jb25uZWN0b3IuZ2V0UG9zdGFsQ29kZVJldHJpZXZhbCgodGhpcy5hZGRyZXNzLnBvc3RhbENvZGUgPyB0aGlzLmFkZHJlc3MucG9zdGFsQ29kZSA6IFwiXCIpLFxuICAgICAgU3RyaW5nVXRpbHMuUGFyc2VTdHJpbmcodGhpcy5hZGRyZXNzLmhvdXNlTm8pKTtcbiAgICAgIGlmIChwb3N0YWxDb2RlUmVzcG9uc2UgJiYgcG9zdGFsQ29kZVJlc3BvbnNlLmlzQmFkQWRkcmVzcykge1xuICAgICAgICB0aGlzLnBvc3RhbENvZGVDaGVja0Vycm9yTWVzc2FnZSA9IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiVU5LTk9XTl9BRERSRVNTX0NIRUNLX0lUXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wb3N0YWxDb2RlQ2hlY2tFcnJvck1lc3NhZ2UgPSBcIlwiO1xuICAgICAgICB0aGlzLmFkZHJlc3Muc3RyZWV0TmFtZSA9IHBvc3RhbENvZGVSZXNwb25zZS5zdHJlZXQ7XG4gICAgICAgIHRoaXMuYWRkcmVzcy5jaXR5ID0gcG9zdGFsQ29kZVJlc3BvbnNlLmNpdHk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoYW5nZUhvdXNlTm8oKTogdm9pZCB7XG4gICAgdGhpcy5hZGRyZXNzLmhvdXNlTm8gPSBOdW1iZXIodGhpcy5hZGRyZXNzLmhvdXNlTm8pO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { RelationAddressComponent } from "./relation-address.component";
|
|
4
|
+
import { ButtonModule, FormModule, InputComboBoxModule, InputTextModule } from "@colijnit/corecomponents_v12";
|
|
5
|
+
import { CoreModule } from "../../core/core.module";
|
|
6
|
+
import { PipeModule } from "../../../pipe/pipe.module";
|
|
7
|
+
export class RelationAddressModule {
|
|
8
|
+
}
|
|
9
|
+
RelationAddressModule.decorators = [
|
|
10
|
+
{ type: NgModule, args: [{
|
|
11
|
+
imports: [
|
|
12
|
+
CommonModule,
|
|
13
|
+
InputComboBoxModule,
|
|
14
|
+
InputTextModule,
|
|
15
|
+
CoreModule,
|
|
16
|
+
FormModule,
|
|
17
|
+
ButtonModule,
|
|
18
|
+
PipeModule,
|
|
19
|
+
PipeModule
|
|
20
|
+
],
|
|
21
|
+
declarations: [
|
|
22
|
+
RelationAddressComponent
|
|
23
|
+
],
|
|
24
|
+
exports: [
|
|
25
|
+
RelationAddressComponent
|
|
26
|
+
]
|
|
27
|
+
},] }
|
|
28
|
+
];
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzL3JlbGF0aW9uLWFkZHJlc3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFvQnJELE1BQU0sT0FBTyxxQkFBcUI7OztZQWxCakMsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLG1CQUFtQjtvQkFDbkIsZUFBZTtvQkFDZixVQUFVO29CQUNWLFVBQVU7b0JBQ1YsWUFBWTtvQkFDWixVQUFVO29CQUNWLFVBQVU7aUJBQ1g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHdCQUF3QjtpQkFDekI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHdCQUF3QjtpQkFDekI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzQ29tcG9uZW50fSBmcm9tIFwiLi9yZWxhdGlvbi1hZGRyZXNzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0J1dHRvbk1vZHVsZSwgRm9ybU1vZHVsZSwgSW5wdXRDb21ib0JveE1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0NvcmVNb2R1bGV9IGZyb20gXCIuLi8uLi9jb3JlL2NvcmUubW9kdWxlXCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSBcIi4uLy4uLy4uL3BpcGUvcGlwZS5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSW5wdXRDb21ib0JveE1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIENvcmVNb2R1bGUsXHJcbiAgICBGb3JtTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgUGlwZU1vZHVsZSxcclxuICAgIFBpcGVNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUmVsYXRpb25BZGRyZXNzQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBSZWxhdGlvbkFkZHJlc3NDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkFkZHJlc3NNb2R1bGUge1xyXG5cclxufVxyXG4iXX0=
|
package/esm2015/lib/component/relation/relation-address-select/relation-address-select.component.js
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { Address } from "@colijnit/transactionapi/build/model/address.bo";
|
|
3
|
+
import { Icon } from "../../../enum/icon.enum";
|
|
4
|
+
import { FormMasterService } from "@colijnit/corecomponents_v12";
|
|
5
|
+
import { BusinessObjectFactory } from "../../../factory/business-object-factory";
|
|
6
|
+
import { AddressType } from "@colijnit/transactionapi/build/enum/address-type.enum";
|
|
7
|
+
import { animate, state, style, transition, trigger } from "@angular/animations";
|
|
8
|
+
import { RelationBaseComponent } from "../relation-base.component";
|
|
9
|
+
export class RelationAddressSelectComponent extends RelationBaseComponent {
|
|
10
|
+
constructor(_formMasterService, _boFactory) {
|
|
11
|
+
super();
|
|
12
|
+
this._formMasterService = _formMasterService;
|
|
13
|
+
this._boFactory = _boFactory;
|
|
14
|
+
this.icons = Icon;
|
|
15
|
+
this.collection = [];
|
|
16
|
+
this.showAdd = true;
|
|
17
|
+
this.addressAdded = new EventEmitter();
|
|
18
|
+
this.addressUpdated = new EventEmitter();
|
|
19
|
+
this.addressSelected = new EventEmitter();
|
|
20
|
+
this.cancelClick = new EventEmitter();
|
|
21
|
+
this.selectedIdx = 0;
|
|
22
|
+
this.showDialog = false;
|
|
23
|
+
this.showNavigateLeft = true;
|
|
24
|
+
this.showNavigateRight = true;
|
|
25
|
+
this._intersectionCallback = (entries, observer) => {
|
|
26
|
+
const entry = entries[0];
|
|
27
|
+
if (entry.intersectionRatio < 1) {
|
|
28
|
+
this.showNavigateRight = true;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this._hideButtons();
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
set content(content) {
|
|
36
|
+
if (content) {
|
|
37
|
+
this.scrollContainer = content;
|
|
38
|
+
this._initObserver();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
showClass() {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
selectAddress() {
|
|
45
|
+
this.addressSelected.next(this.collection[this.selectedIdx]);
|
|
46
|
+
}
|
|
47
|
+
createAddress() {
|
|
48
|
+
this.addressToEdit = new Address();
|
|
49
|
+
this.addressToEdit.addressType = AddressType.DeliveryAddress;
|
|
50
|
+
this.showDialog = true;
|
|
51
|
+
}
|
|
52
|
+
saveAddress(address) {
|
|
53
|
+
if (this._formMasterService.submitSlaves()) {
|
|
54
|
+
if (address.getId()) {
|
|
55
|
+
this.collection[this.selectedIdx] = this._boFactory.makeWithRawBackendData(Address, address);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this.collection.push(address);
|
|
59
|
+
}
|
|
60
|
+
this.showDialog = false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
editAddress() {
|
|
64
|
+
const address = this.collection[this.selectedIdx];
|
|
65
|
+
if (address) {
|
|
66
|
+
this.addressToEdit = this._boFactory.makeWithRawBackendData(Address, address);
|
|
67
|
+
this.showDialog = true;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
_initObserver() {
|
|
71
|
+
if (this.scrollContainer && this.scrollContainer.nativeElement) {
|
|
72
|
+
const intersectionOptions = {
|
|
73
|
+
root: null,
|
|
74
|
+
rootMargin: '0px',
|
|
75
|
+
threshold: 1.0
|
|
76
|
+
};
|
|
77
|
+
this.observer = new IntersectionObserver(this._intersectionCallback, intersectionOptions);
|
|
78
|
+
this.observer.observe(this.scrollContainer.nativeElement);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
_hideButtons() {
|
|
82
|
+
this.showNavigateLeft = false;
|
|
83
|
+
this.showNavigateRight = false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
RelationAddressSelectComponent.decorators = [
|
|
87
|
+
{ type: Component, args: [{
|
|
88
|
+
selector: "co-relation-address-select",
|
|
89
|
+
template: `
|
|
90
|
+
<div class="relation-address-content" #scrollContainer>
|
|
91
|
+
<co-relation-address-tile *ngFor="let address of collection; let index = index"
|
|
92
|
+
[address]="address"
|
|
93
|
+
[selected]="index === selectedIdx"
|
|
94
|
+
(click)="selectedIdx = index">
|
|
95
|
+
</co-relation-address-tile>
|
|
96
|
+
<co-relation-address-tile *ngIf="showAdd" [actAsAddTile]="true" (addAddressClicked)="createAddress()"></co-relation-address-tile>
|
|
97
|
+
<div class="relation-address-navigate left" *ngIf="showNavigateLeft" @showHideNavigationButton>
|
|
98
|
+
<icon [icon]="icons.ArrowPointLeft"></icon>
|
|
99
|
+
</div>
|
|
100
|
+
<div class="relation-address-navigate right" *ngIf="showNavigateRight" @showHideNavigationButton>
|
|
101
|
+
<icon [icon]="icons.ArrowPointRight"></icon>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
<div class="relation-address-change">
|
|
105
|
+
<icon class="relation-address-icon" [icon]="icons.ArrowPointRight"></icon>
|
|
106
|
+
<div [textContent]="'Wijzig adres'" (click)="editAddress()"></div>
|
|
107
|
+
</div>
|
|
108
|
+
<div class="relation-address-select-button-wrapper">
|
|
109
|
+
<co-button [label]="'SAVE' | localize" (click)="selectAddress()"></co-button>
|
|
110
|
+
<co-button [label]="'CANCEL' | localize" (click)="cancelClick.emit()"></co-button>
|
|
111
|
+
</div>
|
|
112
|
+
<co-dialog *ngIf="showDialog">
|
|
113
|
+
<co-relation-address
|
|
114
|
+
[relation]="relation"
|
|
115
|
+
(saveClick)="saveAddress($event)"
|
|
116
|
+
(cancelClick)="showDialog = false"
|
|
117
|
+
></co-relation-address>
|
|
118
|
+
</co-dialog>
|
|
119
|
+
`,
|
|
120
|
+
providers: [
|
|
121
|
+
FormMasterService
|
|
122
|
+
],
|
|
123
|
+
animations: [
|
|
124
|
+
trigger("showHideNavigationButton", [
|
|
125
|
+
state("void", style({ opacity: 0 })),
|
|
126
|
+
state("*", style({ opacity: 1 })),
|
|
127
|
+
transition("void => *", animate("200ms ease-in-out")),
|
|
128
|
+
transition("* => void", animate("200ms ease-out"))
|
|
129
|
+
])
|
|
130
|
+
],
|
|
131
|
+
encapsulation: ViewEncapsulation.None
|
|
132
|
+
},] }
|
|
133
|
+
];
|
|
134
|
+
RelationAddressSelectComponent.ctorParameters = () => [
|
|
135
|
+
{ type: FormMasterService },
|
|
136
|
+
{ type: BusinessObjectFactory }
|
|
137
|
+
];
|
|
138
|
+
RelationAddressSelectComponent.propDecorators = {
|
|
139
|
+
content: [{ type: ViewChild, args: ['scrollContainer', { read: ElementRef },] }],
|
|
140
|
+
showClass: [{ type: HostBinding, args: ["class.co-relation-address-select",] }],
|
|
141
|
+
collection: [{ type: Input }],
|
|
142
|
+
showAdd: [{ type: Input }],
|
|
143
|
+
addressAdded: [{ type: Output }],
|
|
144
|
+
addressUpdated: [{ type: Output }],
|
|
145
|
+
addressSelected: [{ type: Output }],
|
|
146
|
+
cancelClick: [{ type: Output }]
|
|
147
|
+
};
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvcmVsYXRpb24vcmVsYXRpb24tYWRkcmVzcy1zZWxlY3QvcmVsYXRpb24tYWRkcmVzcy1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDbEYsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQWdEakUsTUFBTSxPQUFPLDhCQUErQixTQUFRLHFCQUFxQjtJQTBDdkUsWUFDVSxrQkFBcUMsRUFDckMsVUFBaUM7UUFFekMsS0FBSyxFQUFFLENBQUM7UUFIQSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLGVBQVUsR0FBVixVQUFVLENBQXVCO1FBM0MzQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQWVuQyxlQUFVLEdBQWMsRUFBRSxDQUFD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IEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FkZHJlc3N9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYWRkcmVzcy5ib1wiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0Zvcm1NYXN0ZXJTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0RmFjdG9yeX0gZnJvbSBcIi4uLy4uLy4uL2ZhY3RvcnkvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnlcIjtcclxuaW1wb3J0IHtBZGRyZXNzVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2FkZHJlc3MtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQge1JlbGF0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uL3JlbGF0aW9uLWJhc2UuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1yZWxhdGlvbi1hZGRyZXNzLXNlbGVjdFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1jb250ZW50XCIgI3Njcm9sbENvbnRhaW5lcj5cclxuICAgICAgPGNvLXJlbGF0aW9uLWFkZHJlc3MtdGlsZSAqbmdGb3I9XCJsZXQgYWRkcmVzcyBvZiBjb2xsZWN0aW9uOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZHJlc3NdPVwiYWRkcmVzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cImluZGV4ID09PSBzZWxlY3RlZElkeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkSWR4ID0gaW5kZXhcIj5cclxuICAgICAgPC9jby1yZWxhdGlvbi1hZGRyZXNzLXRpbGU+XHJcbiAgICAgIDxjby1yZWxhdGlvbi1hZGRyZXNzLXRpbGUgKm5nSWY9XCJzaG93QWRkXCIgW2FjdEFzQWRkVGlsZV09XCJ0cnVlXCIgKGFkZEFkZHJlc3NDbGlja2VkKT1cImNyZWF0ZUFkZHJlc3MoKVwiPjwvY28tcmVsYXRpb24tYWRkcmVzcy10aWxlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1uYXZpZ2F0ZSBsZWZ0XCIgKm5nSWY9XCJzaG93TmF2aWdhdGVMZWZ0XCIgQHNob3dIaWRlTmF2aWdhdGlvbkJ1dHRvbj5cclxuICAgICAgICA8aWNvbiBbaWNvbl09XCJpY29ucy5BcnJvd1BvaW50TGVmdFwiPjwvaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1hZGRyZXNzLW5hdmlnYXRlIHJpZ2h0XCIgKm5nSWY9XCJzaG93TmF2aWdhdGVSaWdodFwiIEBzaG93SGlkZU5hdmlnYXRpb25CdXR0b24+XHJcbiAgICAgICAgPGljb24gW2ljb25dPVwiaWNvbnMuQXJyb3dQb2ludFJpZ2h0XCI+PC9pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWFkZHJlc3MtY2hhbmdlXCI+XHJcbiAgICAgIDxpY29uIGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1pY29uXCIgW2ljb25dPVwiaWNvbnMuQXJyb3dQb2ludFJpZ2h0XCI+PC9pY29uPlxyXG4gICAgICA8ZGl2IFt0ZXh0Q29udGVudF09XCInV2lqemlnIGFkcmVzJ1wiIChjbGljayk9XCJlZGl0QWRkcmVzcygpXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1hZGRyZXNzLXNlbGVjdC1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInU0FWRScgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJzZWxlY3RBZGRyZXNzKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgPGNvLWJ1dHRvbiBbbGFiZWxdPVwiJ0NBTkNFTCcgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJjYW5jZWxDbGljay5lbWl0KClcIj48L2NvLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dEaWFsb2dcIj5cclxuICAgICAgPGNvLXJlbGF0aW9uLWFkZHJlc3NcclxuICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxyXG4gICAgICAgIChzYXZlQ2xpY2spPVwic2F2ZUFkZHJlc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNhbmNlbENsaWNrKT1cInNob3dEaWFsb2cgPSBmYWxzZVwiXHJcbiAgICAgID48L2NvLXJlbGF0aW9uLWFkZHJlc3M+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRm9ybU1hc3RlclNlcnZpY2VcclxuICBdLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXCJzaG93SGlkZU5hdmlnYXRpb25CdXR0b25cIiwgW1xyXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe29wYWNpdHk6IDB9KSksXHJcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7b3BhY2l0eTogMX0pKSxcclxuICAgICAgdHJhbnNpdGlvbihcInZvaWQgPT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxyXG4gICAgICB0cmFuc2l0aW9uKFwiKiA9PiB2b2lkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSlcclxuICAgIF0pXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkFkZHJlc3NTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBSZWxhdGlvbkJhc2VDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKCdzY3JvbGxDb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgc2V0IGNvbnRlbnQoY29udGVudCkge1xyXG4gICAgaWYgKGNvbnRlbnQpIHtcclxuICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIgPSBjb250ZW50O1xyXG4gICAgICB0aGlzLl9pbml0T2JzZXJ2ZXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXJlbGF0aW9uLWFkZHJlc3Mtc2VsZWN0XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29sbGVjdGlvbjogQWRkcmVzc1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dBZGQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkcmVzc0FkZGVkOiBFdmVudEVtaXR0ZXI8QWRkcmVzcz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFkZHJlc3M+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRyZXNzVXBkYXRlZDogRXZlbnRFbWl0dGVyPEFkZHJlc3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRyZXNzPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkcmVzc1NlbGVjdGVkOiBFdmVudEVtaXR0ZXI8QWRkcmVzcz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFkZHJlc3M+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjYW5jZWxDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRJZHg6IG51bWJlciA9IDA7XHJcblxyXG4gIHB1YmxpYyBhZGRyZXNzVG9FZGl0OiBBZGRyZXNzO1xyXG4gIHB1YmxpYyBzaG93RGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNjcm9sbENvbnRhaW5lcjogRWxlbWVudFJlZjtcclxuICBwdWJsaWMgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyO1xyXG4gIHB1YmxpYyBzaG93TmF2aWdhdGVMZWZ0OiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd05hdmlnYXRlUmlnaHQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2Zvcm1NYXN0ZXJTZXJ2aWNlOiBGb3JtTWFzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgX2JvRmFjdG9yeTogQnVzaW5lc3NPYmplY3RGYWN0b3J5XHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdEFkZHJlc3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZHJlc3NTZWxlY3RlZC5uZXh0KHRoaXMuY29sbGVjdGlvblt0aGlzLnNlbGVjdGVkSWR4XSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3JlYXRlQWRkcmVzcygpOiB2b2lkIHtcclxuICAgIHRoaXMuYWRkcmVzc1RvRWRpdCA9IG5ldyBBZGRyZXNzKCk7XHJcbiAgICB0aGlzLmFkZHJlc3NUb0VkaXQuYWRkcmVzc1R5cGUgPSBBZGRyZXNzVHlwZS5EZWxpdmVyeUFkZHJlc3M7XHJcbiAgICB0aGlzLnNob3dEaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVBZGRyZXNzKGFkZHJlc3M6IEFkZHJlc3MpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKSkge1xyXG4gICAgICBpZiAoYWRkcmVzcy5nZXRJZCgpKSB7XHJcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9uW3RoaXMuc2VsZWN0ZWRJZHhdID0gPEFkZHJlc3M+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQWRkcmVzcywgYWRkcmVzcyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9uLnB1c2goYWRkcmVzcyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zaG93RGlhbG9nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZWRpdEFkZHJlc3MoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhZGRyZXNzOiBBZGRyZXNzID0gdGhpcy5jb2xsZWN0aW9uW3RoaXMuc2VsZWN0ZWRJZHhdO1xyXG4gICAgaWYgKGFkZHJlc3MpIHtcclxuICAgICAgdGhpcy5hZGRyZXNzVG9FZGl0ID0gPEFkZHJlc3M+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQWRkcmVzcywgYWRkcmVzcyk7XHJcbiAgICAgIHRoaXMuc2hvd0RpYWxvZyA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0T2JzZXJ2ZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zY3JvbGxDb250YWluZXIgJiYgdGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICBjb25zdCBpbnRlcnNlY3Rpb25PcHRpb25zID0ge1xyXG4gICAgICAgIHJvb3Q6IG51bGwsXHJcbiAgICAgICAgcm9vdE1hcmdpbjogJzBweCcsXHJcbiAgICAgICAgdGhyZXNob2xkOiAxLjBcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcih0aGlzLl9pbnRlcnNlY3Rpb25DYWxsYmFjaywgaW50ZXJzZWN0aW9uT3B0aW9ucyk7XHJcbiAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ludGVyc2VjdGlvbkNhbGxiYWNrID0gKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7XHJcbiAgICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07XHJcbiAgICBpZiAoZW50cnkuaW50ZXJzZWN0aW9uUmF0aW8gPCAxKSB7XHJcbiAgICAgIHRoaXMuc2hvd05hdmlnYXRlUmlnaHQgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGlkZUJ1dHRvbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hpZGVCdXR0b25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93TmF2aWdhdGVMZWZ0ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dOYXZpZ2F0ZVJpZ2h0ID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm2015/lib/component/relation/relation-address-select/relation-address-select.module.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { RelationAddressSelectComponent } from "./relation-address-select.component";
|
|
4
|
+
import { CoreModule } from "../../core/core.module";
|
|
5
|
+
import { ButtonModule, CoDialogModule, FormModule, IconModule, InputRadioButtonModule } from "@colijnit/corecomponents_v12";
|
|
6
|
+
import { RelationAddressModule } from "../relation-address/relation-address.module";
|
|
7
|
+
import { RelationAddressTileModule } from "../relation-address-tile/relation-address-tile.module";
|
|
8
|
+
import { PipeModule } from "../../../pipe/pipe.module";
|
|
9
|
+
export class RelationAddressSelectModule {
|
|
10
|
+
}
|
|
11
|
+
RelationAddressSelectModule.decorators = [
|
|
12
|
+
{ type: NgModule, args: [{
|
|
13
|
+
imports: [
|
|
14
|
+
CommonModule,
|
|
15
|
+
CoreModule,
|
|
16
|
+
InputRadioButtonModule,
|
|
17
|
+
IconModule,
|
|
18
|
+
CoDialogModule,
|
|
19
|
+
RelationAddressModule,
|
|
20
|
+
FormModule,
|
|
21
|
+
ButtonModule,
|
|
22
|
+
RelationAddressTileModule,
|
|
23
|
+
PipeModule
|
|
24
|
+
],
|
|
25
|
+
declarations: [
|
|
26
|
+
RelationAddressSelectComponent
|
|
27
|
+
],
|
|
28
|
+
exports: [
|
|
29
|
+
RelationAddressSelectComponent
|
|
30
|
+
]
|
|
31
|
+
},] }
|
|
32
|
+
];
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy1zZWxlY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvcmVsYXRpb24vcmVsYXRpb24tYWRkcmVzcy1zZWxlY3QvcmVsYXRpb24tYWRkcmVzcy1zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLHNCQUFzQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDMUgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDbEYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDaEcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBc0JyRCxNQUFNLE9BQU8sMkJBQTJCOzs7WUFwQnZDLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixVQUFVO29CQUNWLHNCQUFzQjtvQkFDdEIsVUFBVTtvQkFDVixjQUFjO29CQUNkLHFCQUFxQjtvQkFDckIsVUFBVTtvQkFDVixZQUFZO29CQUNaLHlCQUF5QjtvQkFDekIsVUFBVTtpQkFDYjtnQkFDSCxZQUFZLEVBQUU7b0JBQ1osOEJBQThCO2lCQUMvQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsOEJBQThCO2lCQUMvQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtSZWxhdGlvbkFkZHJlc3NTZWxlY3RDb21wb25lbnR9IGZyb20gXCIuL3JlbGF0aW9uLWFkZHJlc3Mtc2VsZWN0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0NvcmVNb2R1bGV9IGZyb20gXCIuLi8uLi9jb3JlL2NvcmUubW9kdWxlXCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBDb0RpYWxvZ01vZHVsZSwgRm9ybU1vZHVsZSwgSWNvbk1vZHVsZSwgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtSZWxhdGlvbkFkZHJlc3NNb2R1bGV9IGZyb20gXCIuLi9yZWxhdGlvbi1hZGRyZXNzL3JlbGF0aW9uLWFkZHJlc3MubW9kdWxlXCI7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzVGlsZU1vZHVsZX0gZnJvbSBcIi4uL3JlbGF0aW9uLWFkZHJlc3MtdGlsZS9yZWxhdGlvbi1hZGRyZXNzLXRpbGUubW9kdWxlXCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSBcIi4uLy4uLy4uL3BpcGUvcGlwZS5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIENvcmVNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZSxcclxuICAgICAgICBJY29uTW9kdWxlLFxyXG4gICAgICAgIENvRGlhbG9nTW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uQWRkcmVzc01vZHVsZSxcclxuICAgICAgICBGb3JtTW9kdWxlLFxyXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkFkZHJlc3NUaWxlTW9kdWxlLFxyXG4gICAgICAgIFBpcGVNb2R1bGVcclxuICAgIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBSZWxhdGlvbkFkZHJlc3NTZWxlY3RDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJlbGF0aW9uQWRkcmVzc1NlbGVjdENvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uQWRkcmVzc1NlbGVjdE1vZHVsZSB7XHJcblxyXG59XHJcbiJdfQ==
|
package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.component.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { Icon } from "../../../enum/icon.enum";
|
|
3
|
+
export class RelationAddressTileComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.icons = Icon;
|
|
6
|
+
this.actAsAddTile = false;
|
|
7
|
+
this.selected = false;
|
|
8
|
+
this.selectedChange = new EventEmitter();
|
|
9
|
+
this.addAddressClicked = new EventEmitter();
|
|
10
|
+
this.editAddressClicked = new EventEmitter();
|
|
11
|
+
}
|
|
12
|
+
showClass() {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
handleEditAddressClick(event) {
|
|
16
|
+
event.preventDefault();
|
|
17
|
+
event.stopPropagation();
|
|
18
|
+
event.stopImmediatePropagation();
|
|
19
|
+
this.editAddressClicked.next(this.address);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
RelationAddressTileComponent.decorators = [
|
|
23
|
+
{ type: Component, args: [{
|
|
24
|
+
selector: "co-relation-address-tile",
|
|
25
|
+
template: `
|
|
26
|
+
<ng-container *ngIf="!actAsAddTile">
|
|
27
|
+
<co-tile [selected]="selected" (selectedChange)="selectedChange.emit($event)">
|
|
28
|
+
<div class="relation-content-wrapper">
|
|
29
|
+
<span class="relation-address-type" [textContent]="address.displayType | localize"></span>
|
|
30
|
+
<span class="relation-address-name" [textContent]="address.addressName"></span>
|
|
31
|
+
<span class="relation-address-address" [textContent]="address.displayAddress"></span>
|
|
32
|
+
<span class="relation-address-postal" [textContent]="address.displayPostal"></span>
|
|
33
|
+
<span class="relation-address-country" [textContent]="address.displayCountry"></span>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="relation-address-edit" (click)="handleEditAddressClick($event)">
|
|
36
|
+
<icon class="relation-address-edit-icon" [icon]="icons.EditPencil"></icon>
|
|
37
|
+
</div>
|
|
38
|
+
</co-tile>
|
|
39
|
+
</ng-container>
|
|
40
|
+
<ng-container *ngIf="actAsAddTile">
|
|
41
|
+
<co-tile (click)="addAddressClicked.emit()">
|
|
42
|
+
<div class="relation-content-wrapper">
|
|
43
|
+
<icon class="relation-address-icon" [icon]="icons.PlusRound"></icon>
|
|
44
|
+
<span [textContent]="'ADDRESS_ADD' | localize"></span>
|
|
45
|
+
</div>
|
|
46
|
+
</co-tile>
|
|
47
|
+
</ng-container>
|
|
48
|
+
`,
|
|
49
|
+
encapsulation: ViewEncapsulation.None
|
|
50
|
+
},] }
|
|
51
|
+
];
|
|
52
|
+
RelationAddressTileComponent.propDecorators = {
|
|
53
|
+
showClass: [{ type: HostBinding, args: ["class.co-relation-address-tile",] }],
|
|
54
|
+
address: [{ type: Input }],
|
|
55
|
+
actAsAddTile: [{ type: Input }],
|
|
56
|
+
selected: [{ type: Input }],
|
|
57
|
+
selectedChange: [{ type: Output }],
|
|
58
|
+
addAddressClicked: [{ type: Output }],
|
|
59
|
+
editAddressClicked: [{ type: Output }]
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy10aWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uL3JlbGF0aW9uLWFkZHJlc3MtdGlsZS9yZWxhdGlvbi1hZGRyZXNzLXRpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJHLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQThCN0MsTUFBTSxPQUFPLDRCQUE0QjtJQTVCekM7UUE2QmtCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBV25DLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRzlCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsbUJBQWMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUdwRSxzQkFBaUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdqRSx1QkFBa0IsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQVFqRixDQUFDO0lBNUJRLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFvQk0sc0JBQXNCLENBQUMsS0FBaUI7UUFDN0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDOzs7WUEzREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7Ozt3QkFJRSxXQUFXLFNBQUMsZ0NBQWdDO3NCQUs1QyxLQUFLOzJCQUdMLEtBQUs7dUJBR0wsS0FBSzs2QkFHTCxNQUFNO2dDQUdOLE1BQU07aUNBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBZGRyZXNzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2FkZHJlc3MuYm9cIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXJlbGF0aW9uLWFkZHJlc3MtdGlsZVwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWFjdEFzQWRkVGlsZVwiPlxyXG4gICAgICA8Y28tdGlsZSBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIiAoc2VsZWN0ZWRDaGFuZ2UpPVwic2VsZWN0ZWRDaGFuZ2UuZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZWxhdGlvbi1hZGRyZXNzLXR5cGVcIiBbdGV4dENvbnRlbnRdPVwiYWRkcmVzcy5kaXNwbGF5VHlwZSB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZWxhdGlvbi1hZGRyZXNzLW5hbWVcIiBbdGV4dENvbnRlbnRdPVwiYWRkcmVzcy5hZGRyZXNzTmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1hZGRyZXNzXCIgW3RleHRDb250ZW50XT1cImFkZHJlc3MuZGlzcGxheUFkZHJlc3NcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlbGF0aW9uLWFkZHJlc3MtcG9zdGFsXCIgW3RleHRDb250ZW50XT1cImFkZHJlc3MuZGlzcGxheVBvc3RhbFwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1jb3VudHJ5XCIgW3RleHRDb250ZW50XT1cImFkZHJlc3MuZGlzcGxheUNvdW50cnlcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWFkZHJlc3MtZWRpdFwiIChjbGljayk9XCJoYW5kbGVFZGl0QWRkcmVzc0NsaWNrKCRldmVudClcIj5cclxuICAgICAgICAgIDxpY29uIGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1lZGl0LWljb25cIiBbaWNvbl09XCJpY29ucy5FZGl0UGVuY2lsXCI+PC9pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2NvLXRpbGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3RBc0FkZFRpbGVcIj5cclxuICAgICAgPGNvLXRpbGUgKGNsaWNrKT1cImFkZEFkZHJlc3NDbGlja2VkLmVtaXQoKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxpY29uIGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1pY29uXCIgW2ljb25dPVwiaWNvbnMuUGx1c1JvdW5kXCI+PC9pY29uPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidBRERSRVNTX0FERCcgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9jby10aWxlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkFkZHJlc3NUaWxlQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tcmVsYXRpb24tYWRkcmVzcy10aWxlXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkcmVzczogQWRkcmVzcztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWN0QXNBZGRUaWxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkQWRkcmVzc0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGVkaXRBZGRyZXNzQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEFkZHJlc3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRyZXNzPigpO1xyXG5cclxuICBwdWJsaWMgaGFuZGxlRWRpdEFkZHJlc3NDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmVkaXRBZGRyZXNzQ2xpY2tlZC5uZXh0KHRoaXMuYWRkcmVzcyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { RelationAddressTileComponent } from "./relation-address-tile.component";
|
|
4
|
+
import { ButtonModule, CoDialogModule, FormModule, InputRadioButtonModule } from "@colijnit/corecomponents_v12";
|
|
5
|
+
import { CoreModule } from "../../core/core.module";
|
|
6
|
+
import { RelationAddressModule } from "../relation-address/relation-address.module";
|
|
7
|
+
import { PipeModule } from "../../../pipe/pipe.module";
|
|
8
|
+
import { TileModule } from "../../tile/tile.module";
|
|
9
|
+
export class RelationAddressTileModule {
|
|
10
|
+
}
|
|
11
|
+
RelationAddressTileModule.decorators = [
|
|
12
|
+
{ type: NgModule, args: [{
|
|
13
|
+
imports: [
|
|
14
|
+
CommonModule,
|
|
15
|
+
InputRadioButtonModule,
|
|
16
|
+
CoreModule,
|
|
17
|
+
CoDialogModule,
|
|
18
|
+
RelationAddressModule,
|
|
19
|
+
ButtonModule,
|
|
20
|
+
FormModule,
|
|
21
|
+
PipeModule,
|
|
22
|
+
TileModule
|
|
23
|
+
],
|
|
24
|
+
declarations: [
|
|
25
|
+
RelationAddressTileComponent
|
|
26
|
+
],
|
|
27
|
+
exports: [
|
|
28
|
+
RelationAddressTileComponent
|
|
29
|
+
]
|
|
30
|
+
},] }
|
|
31
|
+
];
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy10aWxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uL3JlbGF0aW9uLWFkZHJlc3MtdGlsZS9yZWxhdGlvbi1hZGRyZXNzLXRpbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBcUJsRCxNQUFNLE9BQU8seUJBQXlCOzs7WUFuQnJDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixzQkFBc0I7b0JBQ3RCLFVBQVU7b0JBQ1YsY0FBYztvQkFDZCxxQkFBcUI7b0JBQ3JCLFlBQVk7b0JBQ1osVUFBVTtvQkFDVixVQUFVO29CQUNWLFVBQVU7aUJBQ1g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLDRCQUE0QjtpQkFDN0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDRCQUE0QjtpQkFDN0I7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzVGlsZUNvbXBvbmVudH0gZnJvbSBcIi4vcmVsYXRpb24tYWRkcmVzcy10aWxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0J1dHRvbk1vZHVsZSwgQ29EaWFsb2dNb2R1bGUsIEZvcm1Nb2R1bGUsIElucHV0UmFkaW9CdXR0b25Nb2R1bGV9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSBcIi4uLy4uL2NvcmUvY29yZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtSZWxhdGlvbkFkZHJlc3NNb2R1bGV9IGZyb20gXCIuLi9yZWxhdGlvbi1hZGRyZXNzL3JlbGF0aW9uLWFkZHJlc3MubW9kdWxlXCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSBcIi4uLy4uLy4uL3BpcGUvcGlwZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtUaWxlTW9kdWxlfSBmcm9tIFwiLi4vLi4vdGlsZS90aWxlLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJbnB1dFJhZGlvQnV0dG9uTW9kdWxlLFxyXG4gICAgQ29yZU1vZHVsZSxcclxuICAgIENvRGlhbG9nTW9kdWxlLFxyXG4gICAgUmVsYXRpb25BZGRyZXNzTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgRm9ybU1vZHVsZSxcclxuICAgIFBpcGVNb2R1bGUsXHJcbiAgICBUaWxlTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFJlbGF0aW9uQWRkcmVzc1RpbGVDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJlbGF0aW9uQWRkcmVzc1RpbGVDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkFkZHJlc3NUaWxlTW9kdWxlIHtcclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { Address } from "@colijnit/transactionapi/build/model/address.bo";
|
|
3
|
+
import { Icon } from "../../../enum/icon.enum";
|
|
4
|
+
import { AddressType } from "@colijnit/transactionapi/build/enum/address-type.enum";
|
|
5
|
+
import { BusinessObjectFactory } from "../../../factory/business-object-factory";
|
|
6
|
+
import { RelationBaseComponent } from "../relation-base.component";
|
|
7
|
+
export class RelationAddressesComponent extends RelationBaseComponent {
|
|
8
|
+
constructor(_boFactory) {
|
|
9
|
+
super();
|
|
10
|
+
this._boFactory = _boFactory;
|
|
11
|
+
this.icons = Icon;
|
|
12
|
+
this.addresses = [];
|
|
13
|
+
this.type = AddressType.DeliveryAddress;
|
|
14
|
+
this.selectedAddressIdx = 0;
|
|
15
|
+
this.selectedAddressChange = new EventEmitter();
|
|
16
|
+
this.selectedAddressNawNrChange = new EventEmitter();
|
|
17
|
+
this.showEditAddressDialog = false;
|
|
18
|
+
}
|
|
19
|
+
showClass() {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
saveAddress(address) {
|
|
23
|
+
if (!this.addressToEdit) { // new address
|
|
24
|
+
address.addressType = this.type;
|
|
25
|
+
this.addresses.push(address);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const idx = this.addresses.findIndex(a => a.nawNr === address.nawNr);
|
|
29
|
+
if (idx > -1) {
|
|
30
|
+
this.addresses[idx] = this._boFactory.makeWithRawBackendData(Address, address);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
this.showEditAddressDialog = false;
|
|
34
|
+
}
|
|
35
|
+
showNewAddressDialog() {
|
|
36
|
+
this.addressToEdit = undefined;
|
|
37
|
+
this.showEditAddressDialog = true;
|
|
38
|
+
}
|
|
39
|
+
setIndexAddress(idx) {
|
|
40
|
+
this.selectedAddressIdx = idx;
|
|
41
|
+
this.selectedAddressChange.emit(idx);
|
|
42
|
+
const nawNr = this.addresses[this.selectedAddressIdx].nawNr;
|
|
43
|
+
this.selectedAddressNawNrChange.emit(nawNr);
|
|
44
|
+
}
|
|
45
|
+
editAddress(addr) {
|
|
46
|
+
this.addressToEdit = this._boFactory.makeWithRawBackendData(Address, addr);
|
|
47
|
+
this.showEditAddressDialog = true;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
RelationAddressesComponent.decorators = [
|
|
51
|
+
{ type: Component, args: [{
|
|
52
|
+
selector: "co-relation-addresses",
|
|
53
|
+
template: `
|
|
54
|
+
<div class="default-data-row">
|
|
55
|
+
<co-carousel-3d *ngIf="addresses && addresses.length > 1"
|
|
56
|
+
[tileWidth]="200"
|
|
57
|
+
[tileHeight]="100"
|
|
58
|
+
[selectedIndex]="selectedAddressIdx"
|
|
59
|
+
(indexSelected)="setIndexAddress($event)">
|
|
60
|
+
<co-relation-address-tile #carouselItem *ngFor="let address of addresses; let index = index"
|
|
61
|
+
[address]="address"
|
|
62
|
+
[selected]="selectedAddressIdx === index"
|
|
63
|
+
(editAddressClicked)="editAddress($event)"
|
|
64
|
+
></co-relation-address-tile>
|
|
65
|
+
</co-carousel-3d>
|
|
66
|
+
</div>
|
|
67
|
+
<div class="default-data-row">
|
|
68
|
+
<div class="relation-address-new">
|
|
69
|
+
<icon class="relation-address-icon" [icon]="icons.ArrowPointRight"></icon>
|
|
70
|
+
<div [textContent]="'ADDRESS_ADD' | localize" (click)="showNewAddressDialog()"></div>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
<co-dialog *ngIf="showEditAddressDialog">
|
|
74
|
+
<co-relation-address
|
|
75
|
+
[relation]="relation"
|
|
76
|
+
(saveClick)="saveAddress($event)"
|
|
77
|
+
(cancelClick)="showEditAddressDialog = false"
|
|
78
|
+
></co-relation-address>
|
|
79
|
+
</co-dialog>
|
|
80
|
+
`,
|
|
81
|
+
encapsulation: ViewEncapsulation.None
|
|
82
|
+
},] }
|
|
83
|
+
];
|
|
84
|
+
RelationAddressesComponent.ctorParameters = () => [
|
|
85
|
+
{ type: BusinessObjectFactory }
|
|
86
|
+
];
|
|
87
|
+
RelationAddressesComponent.propDecorators = {
|
|
88
|
+
addresses: [{ type: Input }],
|
|
89
|
+
type: [{ type: Input }],
|
|
90
|
+
selectedAddressIdx: [{ type: Input }],
|
|
91
|
+
selectedAddressChange: [{ type: Output }],
|
|
92
|
+
selectedAddressNawNrChange: [{ type: Output }],
|
|
93
|
+
showClass: [{ type: HostBinding, args: ["class.co-relation-addresses",] }]
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzc2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uL3JlbGF0aW9uLWFkZHJlc3Nlcy9yZWxhdGlvbi1hZGRyZXNzZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN4RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBa0NqRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEscUJBQXFCO0lBMEJuRSxZQUFvQixVQUFpQztRQUNuRCxLQUFLLEVBQUUsQ0FBQztRQURVLGVBQVUsR0FBVixVQUFVLENBQXVCO1FBekJyQyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxjQUFTLEdBQWMsRUFBRSxDQUFDO1FBRzFCLFNBQUksR0FBZ0IsV0FBVyxDQUFDLGVBQWUsQ0FBQztRQUdoRCx1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFHL0IsMEJBQXFCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHekUsK0JBQTBCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFPOUUsMEJBQXFCLEdBQVksS0FBSyxDQUFDO0lBSzlDLENBQUM7SUFUTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBU00sV0FBVyxDQUFDLE9BQWdCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsY0FBYztZQUN2QyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDOUI7YUFBTTtZQUNMLE1BQU0sR0FBRyxHQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0UsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBcUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDbEc7U0FDRjtRQUNELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxlQUFlLENBQUMsR0FBVztRQUNoQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxDQUFDO1FBQzlCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsTUFBTSxLQUFLLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDcEUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sV0FBVyxDQUFDLElBQWE7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBcUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztJQUNwQyxDQUFDOzs7WUExRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFsQ08scUJBQXFCOzs7d0JBc0MxQixLQUFLO21CQUdMLEtBQUs7aUNBR0wsS0FBSztvQ0FHTCxNQUFNO3lDQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBZGRyZXNzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2FkZHJlc3MuYm9cIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtBZGRyZXNzVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2FkZHJlc3MtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RGYWN0b3J5fSBmcm9tIFwiLi4vLi4vLi4vZmFjdG9yeS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeVwiO1xyXG5pbXBvcnQge1JlbGF0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uL3JlbGF0aW9uLWJhc2UuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1yZWxhdGlvbi1hZGRyZXNzZXNcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZGF0YS1yb3dcIj5cclxuICAgICAgPGNvLWNhcm91c2VsLTNkICpuZ0lmPVwiYWRkcmVzc2VzICYmIGFkZHJlc3Nlcy5sZW5ndGggPiAxXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0aWxlV2lkdGhdPVwiMjAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0aWxlSGVpZ2h0XT1cIjEwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEFkZHJlc3NJZHhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGluZGV4U2VsZWN0ZWQpPVwic2V0SW5kZXhBZGRyZXNzKCRldmVudClcIj5cclxuICAgICAgICA8Y28tcmVsYXRpb24tYWRkcmVzcy10aWxlICNjYXJvdXNlbEl0ZW0gKm5nRm9yPVwibGV0IGFkZHJlc3Mgb2YgYWRkcmVzc2VzOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkcmVzc109XCJhZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZEFkZHJlc3NJZHggPT09IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlZGl0QWRkcmVzc0NsaWNrZWQpPVwiZWRpdEFkZHJlc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvY28tcmVsYXRpb24tYWRkcmVzcy10aWxlPlxyXG4gICAgICA8L2NvLWNhcm91c2VsLTNkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1kYXRhLXJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1uZXdcIj5cclxuICAgICAgICA8aWNvbiBjbGFzcz1cInJlbGF0aW9uLWFkZHJlc3MtaWNvblwiIFtpY29uXT1cImljb25zLkFycm93UG9pbnRSaWdodFwiPjwvaWNvbj5cclxuICAgICAgICA8ZGl2IFt0ZXh0Q29udGVudF09XCInQUREUkVTU19BREQnIHwgbG9jYWxpemVcIiAoY2xpY2spPVwic2hvd05ld0FkZHJlc3NEaWFsb2coKVwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dFZGl0QWRkcmVzc0RpYWxvZ1wiPlxyXG4gICAgICA8Y28tcmVsYXRpb24tYWRkcmVzc1xyXG4gICAgICAgIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiXHJcbiAgICAgICAgKHNhdmVDbGljayk9XCJzYXZlQWRkcmVzcygkZXZlbnQpXCJcclxuICAgICAgICAoY2FuY2VsQ2xpY2spPVwic2hvd0VkaXRBZGRyZXNzRGlhbG9nID0gZmFsc2VcIlxyXG4gICAgICA+PC9jby1yZWxhdGlvbi1hZGRyZXNzPlxyXG4gICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkFkZHJlc3Nlc0NvbXBvbmVudCBleHRlbmRzIFJlbGF0aW9uQmFzZUNvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFkZHJlc3NlczogQWRkcmVzc1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHR5cGU6IEFkZHJlc3NUeXBlID0gQWRkcmVzc1R5cGUuRGVsaXZlcnlBZGRyZXNzO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZEFkZHJlc3NJZHg6IG51bWJlciA9IDA7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZEFkZHJlc3NDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZEFkZHJlc3NOYXdOckNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tcmVsYXRpb24tYWRkcmVzc2VzXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dFZGl0QWRkcmVzc0RpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBhZGRyZXNzVG9FZGl0OiBBZGRyZXNzO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ib0ZhY3Rvcnk6IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlQWRkcmVzcyhhZGRyZXNzOiBBZGRyZXNzKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuYWRkcmVzc1RvRWRpdCkgeyAvLyBuZXcgYWRkcmVzc1xyXG4gICAgICBhZGRyZXNzLmFkZHJlc3NUeXBlID0gdGhpcy50eXBlO1xyXG4gICAgICB0aGlzLmFkZHJlc3Nlcy5wdXNoKGFkZHJlc3MpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaWR4OiBudW1iZXIgPSB0aGlzLmFkZHJlc3Nlcy5maW5kSW5kZXgoYSA9PiBhLm5hd05yID09PSBhZGRyZXNzLm5hd05yKTtcclxuICAgICAgaWYgKGlkeCA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5hZGRyZXNzZXNbaWR4XSA9IDxBZGRyZXNzPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEFkZHJlc3MsIGFkZHJlc3MpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3dFZGl0QWRkcmVzc0RpYWxvZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dOZXdBZGRyZXNzRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRyZXNzVG9FZGl0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93RWRpdEFkZHJlc3NEaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEluZGV4QWRkcmVzcyhpZHg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFkZHJlc3NJZHggPSBpZHg7XHJcbiAgICB0aGlzLnNlbGVjdGVkQWRkcmVzc0NoYW5nZS5lbWl0KGlkeCk7XHJcbiAgICBjb25zdCBuYXdOcjogbnVtYmVyID0gdGhpcy5hZGRyZXNzZXNbdGhpcy5zZWxlY3RlZEFkZHJlc3NJZHhdLm5hd05yO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFkZHJlc3NOYXdOckNoYW5nZS5lbWl0KG5hd05yKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlZGl0QWRkcmVzcyhhZGRyOiBBZGRyZXNzKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZHJlc3NUb0VkaXQgPSA8QWRkcmVzcz48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShBZGRyZXNzLCBhZGRyKTtcclxuICAgIHRoaXMuc2hvd0VkaXRBZGRyZXNzRGlhbG9nID0gdHJ1ZTtcclxuICB9XHJcbn1cclxuIl19
|