@colijnit/transaction 12.1.13 → 12.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-transaction.umd.js +6256 -2331
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +130 -86
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +131 -87
- package/esm2015/lib/assets/dictionary/text.properties.js +98 -2
- package/esm2015/lib/component/avatar/avatar.component.js +64 -0
- package/esm2015/lib/component/avatar/avatar.module.js +21 -0
- package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +11 -1
- package/esm2015/lib/component/checkout/checkout.component.js +9 -8
- package/esm2015/lib/component/checkout/checkout.module.js +3 -3
- package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.js +38 -0
- package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.js +19 -0
- package/esm2015/lib/component/core/base/transaction-grid-base.component.js +53 -0
- package/esm2015/lib/component/core/core.module.js +3 -6
- package/esm2015/lib/component/core/icon/icon.component.js +1 -1
- package/esm2015/lib/component/core/relation/customer-groups.component.js +3 -3
- package/esm2015/lib/component/core/stock-status-indicator/stock-status-indicator.component.js +1 -1
- package/esm2015/lib/component/payment/payment.component.js +112 -30
- package/esm2015/lib/component/payment/payment.module.js +7 -3
- package/esm2015/lib/component/payment-tile/payment-tile.component.js +4 -2
- package/esm2015/lib/component/relation-address/relation-address.component.js +3 -3
- package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +7 -2
- package/esm2015/lib/component/transaction/transaction.component.js +41 -39
- package/esm2015/lib/component/transaction/transaction.module.js +15 -9
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.js +29 -0
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.component.js +54 -0
- package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.module.js +28 -0
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +2 -2
- package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.js +2 -2
- package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.js +52 -0
- package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.js +28 -0
- package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.component.js +85 -0
- package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.module.js +19 -0
- package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.js +64 -0
- package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.js +28 -0
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.js +76 -0
- package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.js +30 -0
- package/esm2015/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.js +51 -0
- package/esm2015/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.js +29 -0
- package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.js +156 -0
- package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.js +30 -0
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +40 -0
- package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.module.js +29 -0
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +75 -0
- package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.js +28 -0
- package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.js +41 -0
- package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.js +26 -0
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +58 -0
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.js +28 -0
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +36 -0
- package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.js +21 -0
- package/esm2015/lib/component/transaction-header/transaction-header.component.js +6 -11
- package/esm2015/lib/component/transaction-header/transaction-header.module.js +8 -6
- package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.js +16 -3
- package/esm2015/lib/component/transaction-line/transaction-line.component.js +26 -29
- package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +37 -33
- package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.js +6 -4
- package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +87 -0
- package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.js +31 -0
- package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +8 -5
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.js +72 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +33 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.js +28 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.js +25 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +23 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.js +23 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.js +65 -0
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.js +25 -0
- package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.js +138 -18
- package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module.js +6 -2
- package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.js +57 -11
- package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.js +7 -4
- package/esm2015/lib/component/transaction-search/service/filter-request.service.js +117 -0
- package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +33 -0
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter.component.js +87 -0
- package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter.module.js +34 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.js +42 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.js +19 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.component.js +120 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.module.js +25 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.component.js +242 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.module.js +28 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.component.js +240 -0
- package/esm2015/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.module.js +30 -0
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +62 -0
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.js +30 -0
- package/esm2015/lib/component/transaction-search/transaction-search.component.js +55 -0
- package/esm2015/lib/component/transaction-search/transaction-search.module.js +25 -0
- package/esm2015/lib/component/transaction-search/transaction-tile/transaction-tile.component.js +77 -0
- package/esm2015/lib/component/transaction-search/transaction-tile/transaction-tile.module.js +28 -0
- package/esm2015/lib/component/transaction-search-grid/transaction-search-grid.component.js +86 -0
- package/esm2015/lib/component/transaction-search-grid/transaction-search-grid.module.js +26 -0
- package/esm2015/lib/component/view-mode-buttons/view-mode-buttons.component.js +61 -0
- package/esm2015/lib/component/view-mode-buttons/view-mode-buttons.module.js +23 -0
- package/esm2015/lib/enum/content-view-mode.enum.js +2 -1
- package/esm2015/lib/enum/icon.enum.js +18 -1
- package/esm2015/lib/enum/position-grid-row.enum.js +6 -0
- package/esm2015/lib/enum/status-type.enum.js +3 -1
- package/esm2015/lib/enum/transaction-type-category.enum.js +16 -0
- package/esm2015/lib/model/filter-item.viewmodel.js +9 -0
- package/esm2015/lib/model/filter-viewmodel.js +11 -0
- package/esm2015/lib/model/icon-svg.js +18 -1
- package/esm2015/lib/model/payment.viewmodel.js +6 -0
- package/esm2015/lib/model/received-goods-view-model.js +11 -0
- package/esm2015/lib/model/transaction-bar-button.js +3 -0
- package/esm2015/lib/service/article-connector.service.js +60 -0
- package/esm2015/lib/service/article.service.js +25 -0
- package/esm2015/lib/service/collection-cache.service.js +38 -0
- package/esm2015/lib/service/ione-connector-adapter.service.js +187 -18
- package/esm2015/lib/service/options.service.js +3 -1
- package/esm2015/lib/service/payment.service.js +51 -0
- package/esm2015/lib/service/pending-reason.service.js +5 -5
- package/esm2015/lib/service/shared-connector.service.js +53 -0
- package/esm2015/lib/service/shared.service.js +38 -0
- package/esm2015/lib/service/transaction-connector.service.js +1015 -0
- package/esm2015/lib/service/transaction-event.service.js +29 -0
- package/esm2015/lib/service/transaction-image.service.js +53 -0
- package/esm2015/lib/service/transaction-mapping.service.js +85 -0
- package/esm2015/lib/service/transaction.service.js +97 -117
- package/esm2015/public_api.js +15 -9
- package/fesm2015/colijnit-transaction.js +6270 -2159
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/{seller-information/seller-information.component.d.ts → avatar/avatar.component.d.ts} +5 -3
- package/lib/component/avatar/avatar.module.d.ts +2 -0
- package/lib/component/{seller-information → avatar}/style/_layout.scss +5 -5
- package/lib/component/avatar/style/_material-definition.scss +2 -0
- package/lib/component/avatar/style/_theme.scss +7 -0
- package/lib/component/{order-confirmation-grid → avatar}/style/material.scss +0 -1
- package/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +2 -0
- package/lib/component/checkout/checkout-overview-delivery-edit/style/material.scss +0 -1
- package/lib/component/checkout/checkout-overview-relation-edit/style/material.scss +0 -1
- package/lib/component/checkout/checkout-relation-suggestions-list/style/material.scss +0 -1
- package/lib/component/checkout/checkout-relation-suggestions-list-item/style/material.scss +0 -1
- package/lib/component/checkout/style/material.scss +1 -2
- package/lib/component/confirmation-dialog/style/material.scss +0 -1
- package/lib/component/core/base/components/transaction-header-block/style/_layout.scss +53 -0
- package/lib/component/core/base/components/transaction-header-block/style/_material-definition.scss +20 -0
- package/lib/component/core/base/components/transaction-header-block/style/_theme.scss +11 -0
- package/lib/component/core/base/components/transaction-header-block/style/material.scss +4 -0
- package/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.d.ts +8 -0
- package/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.d.ts +2 -0
- package/lib/component/core/base/style/material.scss +0 -1
- package/lib/component/core/base/transaction-grid-base.component.d.ts +25 -0
- package/lib/component/core/characteristic-answer/characteristic-answer.component.scss +0 -1
- package/lib/component/core/icon/icon.component.scss +0 -1
- package/lib/component/core/image-display/style/material.scss +0 -1
- package/lib/component/core/relation/customer-groups.component.d.ts +2 -2
- package/lib/component/core/stock-status-indicator/stock-status-indicator.component.scss +0 -1
- package/lib/component/delivery-type-tile/style/material.scss +0 -1
- package/lib/component/order-confirmation-create/style/material.scss +0 -1
- package/lib/component/payment/payment.component.d.ts +22 -5
- package/lib/component/payment/style/_layout.scss +23 -1
- package/lib/component/payment/style/_material-definition.scss +0 -1
- package/lib/component/payment/style/_theme.scss +24 -0
- package/lib/component/payment/style/material.scss +0 -1
- package/lib/component/payment-tile/payment-tile.component.d.ts +1 -0
- package/lib/component/payment-tile/style/_layout.scss +2 -1
- package/lib/component/payment-tile/style/material.scss +0 -1
- package/lib/component/relation-address/relation-address.component.d.ts +2 -2
- package/lib/component/relation-address/style/material.scss +0 -1
- package/lib/component/relation-address-select/style/material.scss +0 -1
- package/lib/component/relation-address-tile/style/material.scss +0 -1
- package/lib/component/shared/transaction-article-text/style/material.scss +0 -1
- package/lib/component/shared/transaction-article-text-overview/style/material.scss +0 -1
- package/lib/component/shopping-cart/style/material.scss +0 -1
- package/lib/component/shopping-cart-OLD/shopping-cart-manager/shopping-cart-manager.component.scss +0 -1
- package/lib/component/shopping-cart-preview/style/material.scss +0 -1
- package/lib/component/stepper/style/material.scss +0 -1
- package/lib/component/tile/style/material.scss +0 -1
- package/lib/component/transaction/style/_layout.scss +13 -13
- package/lib/component/transaction/style/_material-definition.scss +2 -6
- package/lib/component/transaction/style/_theme.scss +0 -18
- package/lib/component/transaction/style/material.scss +5 -5
- package/lib/component/transaction/transaction.component.d.ts +9 -9
- package/lib/component/transaction-button-bar/style/_layout.scss +50 -0
- package/lib/component/transaction-button-bar/style/_material-definition.scss +12 -0
- package/lib/component/transaction-button-bar/style/_theme.scss +14 -0
- package/lib/component/{order-grid → transaction-button-bar}/style/material.scss +0 -1
- package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.d.ts +9 -0
- package/lib/component/transaction-button-bar/transaction-button-bar.component.d.ts +17 -0
- package/lib/component/transaction-button-bar/transaction-button-bar.module.d.ts +2 -0
- package/lib/component/transaction-confirmation-history/style/material.scss +0 -1
- package/lib/component/transaction-grid/transaction-base-grid/style/_layout.scss +33 -0
- package/lib/component/transaction-grid/transaction-base-grid/style/_material-definition.scss +8 -0
- package/lib/component/transaction-grid/transaction-base-grid/style/_theme.scss +12 -0
- package/lib/component/{seller-information → transaction-grid/transaction-base-grid}/style/material.scss +0 -1
- package/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.d.ts +8 -0
- package/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.d.ts +2 -0
- package/lib/component/transaction-grid/transaction-grid/style/_layout.scss +6 -0
- package/lib/component/{transaction-history-grid → transaction-grid/transaction-grid}/style/_material-definition.scss +0 -0
- package/lib/component/transaction-grid/transaction-grid/style/_theme.scss +6 -0
- package/lib/component/transaction-grid/transaction-grid/style/material.scss +5 -0
- package/lib/component/transaction-grid/transaction-grid/transaction-grid.component.d.ts +26 -0
- package/lib/component/transaction-grid/transaction-grid/transaction-grid.module.d.ts +2 -0
- package/lib/component/transaction-grid/transaction-history-grid/style/_layout.scss +15 -0
- package/lib/component/transaction-grid/transaction-history-grid/style/_material-definition.scss +1 -0
- package/lib/component/{transaction-history-grid → transaction-grid/transaction-history-grid}/style/_theme.scss +1 -1
- package/lib/component/{transaction-commit-bar → transaction-grid/transaction-history-grid}/style/material.scss +0 -1
- package/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.d.ts +19 -0
- package/lib/component/{transaction-history-grid → transaction-grid/transaction-history-grid}/transaction-history-grid.module.d.ts +0 -0
- package/lib/component/{transaction-lines-grid → transaction-grid/transaction-lines-grid}/style/_layout.scss +5 -1
- package/lib/component/{transaction-lines-grid → transaction-grid/transaction-lines-grid}/style/_material-definition.scss +3 -0
- package/lib/component/{transaction-lines-grid → transaction-grid/transaction-lines-grid}/style/_theme.scss +1 -1
- package/lib/component/transaction-grid/transaction-lines-grid/style/material.scss +4 -0
- package/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.d.ts +11 -0
- package/lib/component/{transaction-lines-grid → transaction-grid/transaction-lines-grid}/transaction-lines-grid.module.d.ts +0 -0
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/style/_layout.scss +7 -0
- package/lib/component/{order-confirmation-grid → transaction-grid/transaction-order-confirmation-grid}/style/_material-definition.scss +0 -0
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/style/_theme.scss +7 -0
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/style/material.scss +3 -0
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.d.ts +4 -0
- package/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.d.ts +2 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/style/_layout.scss +6 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/style/_material-definition.scss +0 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/style/_theme.scss +6 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/style/material.scss +4 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.d.ts +37 -0
- package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header/style/_layout.scss +40 -0
- package/lib/component/transaction-header/transaction-header/style/_material-definition.scss +9 -0
- package/lib/component/transaction-header/transaction-header/style/_theme.scss +11 -0
- package/lib/component/transaction-header/transaction-header/style/material.scss +7 -0
- package/lib/component/transaction-header/transaction-header/transaction-header.component.d.ts +10 -0
- package/lib/component/transaction-header/transaction-header/transaction-header.module.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header-delivery/style/_layout.scss +38 -0
- package/lib/component/transaction-header/transaction-header-delivery/style/_material-definition.scss +7 -0
- package/lib/component/transaction-header/transaction-header-delivery/style/_theme.scss +25 -0
- package/lib/component/transaction-header/transaction-header-delivery/style/material.scss +3 -0
- package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.d.ts +15 -0
- package/lib/component/{transaction-header-delivery → transaction-header/transaction-header-delivery}/transaction-header-delivery.module.d.ts +0 -0
- package/lib/component/transaction-header/transaction-header-order/style/_layout.scss +12 -0
- package/lib/component/transaction-header/transaction-header-order/style/_material-definition.scss +0 -0
- package/lib/component/transaction-header/transaction-header-order/style/_theme.scss +6 -0
- package/lib/component/transaction-header/transaction-header-order/style/material.scss +4 -0
- package/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.d.ts +4 -0
- package/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header-payment/style/_layout.scss +14 -0
- package/lib/component/transaction-header/transaction-header-payment/style/_material-definition.scss +4 -0
- package/lib/component/transaction-header/transaction-header-payment/style/_theme.scss +12 -0
- package/lib/component/transaction-header/transaction-header-payment/style/material.scss +5 -0
- package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +6 -0
- package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header-relation/style/_layout.scss +7 -0
- package/lib/component/transaction-header/transaction-header-relation/style/_material-definition.scss +0 -0
- package/lib/component/transaction-header/transaction-header-relation/style/_theme.scss +6 -0
- package/lib/component/transaction-header/transaction-header-relation/style/material.scss +4 -0
- package/lib/component/{transaction-header-relation → transaction-header/transaction-header-relation}/transaction-header-relation.component.d.ts +1 -1
- package/lib/component/{transaction-header-relation → transaction-header/transaction-header-relation}/transaction-header-relation.module.d.ts +0 -0
- package/lib/component/transaction-header/transaction-header.component.d.ts +0 -2
- package/lib/component/transaction-history-grid-status/style/_layout.scss +7 -7
- package/lib/component/transaction-history-grid-status/style/_material-definition.scss +8 -0
- package/lib/component/transaction-history-grid-status/style/material.scss +0 -1
- package/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.d.ts +2 -0
- package/lib/component/transaction-line/style/_layout.scss +38 -1
- package/lib/component/transaction-line/style/_material-definition.scss +4 -3
- package/lib/component/transaction-line/style/_theme.scss +5 -0
- package/lib/component/transaction-line/style/material.scss +0 -1
- package/lib/component/transaction-line/transaction-line.component.d.ts +7 -4
- package/lib/component/transaction-line-grid/style/material.scss +0 -1
- package/lib/component/transaction-line-side-panel/style/_layout.scss +3 -2
- package/lib/component/transaction-line-side-panel/style/_material-definition.scss +2 -0
- package/lib/component/transaction-line-side-panel/style/material.scss +0 -1
- package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +13 -6
- package/lib/component/transaction-line-side-panel-default/style/material.scss +0 -1
- package/lib/component/transaction-line-side-panel-purchase/style/_layout.scss +6 -0
- package/lib/component/transaction-line-side-panel-purchase/style/_material-definition.scss +0 -0
- package/lib/component/transaction-line-side-panel-purchase/style/_theme.scss +6 -0
- package/lib/component/transaction-line-side-panel-purchase/style/material.scss +5 -0
- package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.d.ts +21 -0
- package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.d.ts +2 -0
- package/lib/component/transaction-lines/style/material.scss +0 -1
- package/lib/component/transaction-lines/transaction-lines.component.d.ts +3 -5
- package/lib/component/transaction-quick-access/transaction-quick-access/style/_layout.scss +11 -0
- package/lib/component/{transaction-commit-bar → transaction-quick-access/transaction-quick-access}/style/_material-definition.scss +0 -0
- package/lib/component/{transaction-commit-bar → transaction-quick-access/transaction-quick-access}/style/_theme.scss +1 -1
- package/lib/component/transaction-quick-access/transaction-quick-access/style/material.scss +6 -0
- package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.d.ts +21 -0
- package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.d.ts +2 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_layout.scss +9 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_material-definition.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_theme.scss +6 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/material.scss +4 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.d.ts +4 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.d.ts +2 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/style/_layout.scss +7 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/style/_material-definition.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/style/_theme.scss +6 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/style/material.scss +4 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.d.ts +4 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.d.ts +2 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_layout.scss +9 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_material-definition.scss +0 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_theme.scss +6 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/material.scss +4 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.d.ts +27 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.d.ts +2 -0
- package/lib/component/transaction-receiving-goods-details/style/_layout.scss +4 -4
- package/lib/component/transaction-receiving-goods-details/style/_material-definition.scss +3 -1
- package/lib/component/transaction-receiving-goods-details/style/material.scss +0 -1
- package/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.d.ts +28 -2
- package/lib/component/transaction-receiving-goods-history/style/material.scss +0 -1
- package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.d.ts +14 -1
- package/lib/component/transaction-search/service/filter-request.service.d.ts +23 -0
- package/lib/component/transaction-search/service/transaction-search.service.d.ts +11 -0
- package/lib/component/transaction-search/style/_layout.scss +37 -0
- package/lib/component/transaction-search/style/_material-definition.scss +41 -0
- package/lib/component/transaction-search/style/_theme.scss +6 -0
- package/lib/component/transaction-search/style/material.scss +7 -0
- package/lib/component/transaction-search/transaction-filter/style/_layout.scss +53 -0
- package/lib/component/transaction-search/transaction-filter/style/_material-definition.scss +1 -0
- package/lib/component/transaction-search/transaction-filter/style/_theme.scss +8 -0
- package/lib/component/transaction-search/transaction-filter/style/material.scss +7 -0
- package/lib/component/transaction-search/transaction-filter/transaction-filter.component.d.ts +21 -0
- package/lib/component/transaction-search/transaction-filter/transaction-filter.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-filter-categories/style/_layout.scss +23 -0
- package/lib/component/transaction-search/transaction-filter-categories/style/_material-definition.scss +0 -0
- package/lib/component/transaction-search/transaction-filter-categories/style/_theme.scss +13 -0
- package/lib/component/transaction-search/transaction-filter-categories/style/material.scss +3 -0
- package/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.d.ts +10 -0
- package/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-filter-content-article/style/_layout.scss +13 -0
- package/lib/component/transaction-search/transaction-filter-content-article/style/_material-definition.scss +1 -0
- package/lib/component/transaction-search/transaction-filter-content-article/style/_theme.scss +6 -0
- package/lib/component/transaction-search/transaction-filter-content-article/style/material.scss +4 -0
- package/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.component.d.ts +37 -0
- package/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-filter-content-logistics/style/_layout.scss +12 -0
- package/lib/component/transaction-search/transaction-filter-content-logistics/style/_material-definition.scss +0 -0
- package/lib/component/transaction-search/transaction-filter-content-logistics/style/_theme.scss +6 -0
- package/lib/component/transaction-search/transaction-filter-content-logistics/style/material.scss +4 -0
- package/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.component.d.ts +36 -0
- package/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-filter-content-order/style/_layout.scss +12 -0
- package/lib/component/transaction-search/transaction-filter-content-order/style/_material-definition.scss +1 -0
- package/lib/component/transaction-search/transaction-filter-content-order/style/_theme.scss +6 -0
- package/lib/component/transaction-search/transaction-filter-content-order/style/material.scss +4 -0
- package/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.component.d.ts +60 -0
- package/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-search-result/style/_layout.scss +30 -0
- package/lib/component/transaction-search/transaction-search-result/style/_material-definition.scss +1 -0
- package/lib/component/transaction-search/transaction-search-result/style/_theme.scss +10 -0
- package/lib/component/transaction-search/transaction-search-result/style/material.scss +3 -0
- package/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.d.ts +19 -0
- package/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-search.component.d.ts +12 -0
- package/lib/component/transaction-search/transaction-search.module.d.ts +2 -0
- package/lib/component/transaction-search/transaction-tile/style/_layout.scss +91 -0
- package/lib/component/transaction-search/transaction-tile/style/_material-definition.scss +0 -0
- package/lib/component/transaction-search/transaction-tile/style/_theme.scss +46 -0
- package/lib/component/transaction-search/transaction-tile/style/material.scss +5 -0
- package/lib/component/transaction-search/transaction-tile/transaction-tile.component.d.ts +13 -0
- package/lib/component/transaction-search/transaction-tile/transaction-tile.module.d.ts +2 -0
- package/lib/component/transaction-search-grid/style/_layout.scss +6 -0
- package/lib/component/transaction-search-grid/style/_material-definition.scss +1 -0
- package/lib/component/transaction-search-grid/style/_theme.scss +6 -0
- package/lib/component/transaction-search-grid/style/material.scss +7 -0
- package/lib/component/transaction-search-grid/transaction-search-grid.component.d.ts +13 -0
- package/lib/component/transaction-search-grid/transaction-search-grid.module.d.ts +2 -0
- package/lib/component/transaction-totals/style/material.scss +0 -1
- package/lib/component/view-mode-buttons/style/_layout.scss +20 -0
- package/lib/component/view-mode-buttons/style/_material-definition.scss +5 -0
- package/lib/component/view-mode-buttons/style/_theme.scss +22 -0
- package/lib/component/view-mode-buttons/style/material.scss +3 -0
- package/lib/component/view-mode-buttons/view-mode-buttons.component.d.ts +17 -0
- package/lib/component/view-mode-buttons/view-mode-buttons.module.d.ts +2 -0
- package/lib/enum/content-view-mode.enum.d.ts +2 -1
- package/lib/enum/icon.enum.d.ts +17 -0
- package/lib/enum/position-grid-row.enum.d.ts +4 -0
- package/lib/enum/status-type.enum.d.ts +3 -1
- package/lib/enum/transaction-type-category.enum.d.ts +14 -0
- package/lib/model/filter-item.viewmodel.d.ts +7 -0
- package/lib/model/filter-viewmodel.d.ts +8 -0
- package/lib/model/payment.viewmodel.d.ts +6 -0
- package/lib/model/received-goods-view-model.d.ts +10 -0
- package/lib/model/transaction-bar-button.d.ts +7 -0
- package/lib/service/article-connector.service.d.ts +13 -0
- package/lib/service/article.service.d.ts +6 -0
- package/lib/service/collection-cache.service.d.ts +6 -0
- package/lib/service/ione-connector-adapter.service.d.ts +24 -3
- package/lib/service/options.service.d.ts +1 -0
- package/lib/service/payment.service.d.ts +9 -0
- package/lib/service/pending-reason.service.d.ts +3 -3
- package/lib/service/shared-connector.service.d.ts +12 -0
- package/lib/service/shared.service.d.ts +13 -0
- package/lib/service/transaction-connector.service.d.ts +119 -0
- package/lib/service/transaction-event.service.d.ts +65 -0
- package/lib/service/transaction-image.service.d.ts +10 -0
- package/lib/service/transaction-mapping.service.d.ts +14 -0
- package/lib/service/transaction.service.d.ts +48 -28
- package/lib/style/_variables.scss +41 -36
- package/lib/style/transaction-globals.scss +25 -0
- package/package.json +6 -3
- package/public_api.d.ts +14 -8
- package/esm2015/lib/component/core/base/default-ok-cancel-buttons.component.js +0 -41
- package/esm2015/lib/component/order-confirmation-grid/order-confirmation-grid.component.js +0 -70
- package/esm2015/lib/component/order-confirmation-grid/order-confirmation-grid.module.js +0 -29
- package/esm2015/lib/component/order-grid/order-grid.component.js +0 -99
- package/esm2015/lib/component/order-grid/order-grid.module.js +0 -28
- package/esm2015/lib/component/seller-information/seller-information.component.js +0 -61
- package/esm2015/lib/component/seller-information/seller-information.module.js +0 -21
- package/esm2015/lib/component/transaction-commit-bar/transaction-commit-bar.component.js +0 -46
- package/esm2015/lib/component/transaction-commit-bar/transaction-commit-bar.module.js +0 -27
- package/esm2015/lib/component/transaction-header-contact/transaction-header-contact.component.js +0 -34
- package/esm2015/lib/component/transaction-header-contact/transaction-header-contact.module.js +0 -19
- package/esm2015/lib/component/transaction-header-delivery/transaction-header-delivery.component.js +0 -60
- package/esm2015/lib/component/transaction-header-delivery/transaction-header-delivery.module.js +0 -21
- package/esm2015/lib/component/transaction-header-relation/transaction-header-relation.component.js +0 -35
- package/esm2015/lib/component/transaction-header-relation/transaction-header-relation.module.js +0 -19
- package/esm2015/lib/component/transaction-history-grid/transaction-history-grid.component.js +0 -47
- package/esm2015/lib/component/transaction-history-grid/transaction-history-grid.module.js +0 -27
- package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.component.js +0 -64
- package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.module.js +0 -27
- package/esm2015/lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component.js +0 -29
- package/esm2015/lib/component/transaction-nav-bar/transaction-nav-bar.component.js +0 -65
- package/esm2015/lib/component/transaction-nav-bar/transaction-nav-bar.module.js +0 -26
- package/esm2015/lib/enum/tab-category.enum.js +0 -10
- package/lib/component/core/base/default-ok-cancel-buttons.component.d.ts +0 -13
- package/lib/component/order-confirmation-grid/order-confirmation-grid.component.d.ts +0 -15
- package/lib/component/order-confirmation-grid/order-confirmation-grid.module.d.ts +0 -2
- package/lib/component/order-confirmation-grid/style/_layout.scss +0 -5
- package/lib/component/order-confirmation-grid/style/_theme.scss +0 -5
- package/lib/component/order-grid/order-grid.component.d.ts +0 -23
- package/lib/component/order-grid/order-grid.module.d.ts +0 -2
- package/lib/component/order-grid/style/_layout.scss +0 -21
- package/lib/component/order-grid/style/_material-definition.scss +0 -2
- package/lib/component/order-grid/style/_theme.scss +0 -6
- package/lib/component/seller-information/seller-information.module.d.ts +0 -2
- package/lib/component/seller-information/style/_material-definition.scss +0 -2
- package/lib/component/seller-information/style/_theme.scss +0 -7
- package/lib/component/transaction-commit-bar/style/_layout.scss +0 -16
- package/lib/component/transaction-commit-bar/transaction-commit-bar.component.d.ts +0 -11
- package/lib/component/transaction-commit-bar/transaction-commit-bar.module.d.ts +0 -2
- package/lib/component/transaction-header-contact/style/_layout.scss +0 -25
- package/lib/component/transaction-header-contact/style/_material-definition.scss +0 -7
- package/lib/component/transaction-header-contact/style/_theme.scss +0 -11
- package/lib/component/transaction-header-contact/style/material.scss +0 -4
- package/lib/component/transaction-header-contact/transaction-header-contact.component.d.ts +0 -4
- package/lib/component/transaction-header-contact/transaction-header-contact.module.d.ts +0 -2
- package/lib/component/transaction-header-delivery/style/_layout.scss +0 -54
- package/lib/component/transaction-header-delivery/style/_material-definition.scss +0 -12
- package/lib/component/transaction-header-delivery/style/_theme.scss +0 -24
- package/lib/component/transaction-header-delivery/style/material.scss +0 -4
- package/lib/component/transaction-header-delivery/transaction-header-delivery.component.d.ts +0 -13
- package/lib/component/transaction-header-relation/style/_layout.scss +0 -25
- package/lib/component/transaction-header-relation/style/_material-definition.scss +0 -7
- package/lib/component/transaction-header-relation/style/_theme.scss +0 -11
- package/lib/component/transaction-header-relation/style/material.scss +0 -4
- package/lib/component/transaction-history-grid/style/_layout.scss +0 -7
- package/lib/component/transaction-history-grid/style/material.scss +0 -4
- package/lib/component/transaction-history-grid/transaction-history-grid.component.d.ts +0 -14
- package/lib/component/transaction-lines-grid/style/material.scss +0 -5
- package/lib/component/transaction-lines-grid/transaction-lines-grid.component.d.ts +0 -20
- package/lib/component/transaction-nav-bar/style/_layout.scss +0 -13
- package/lib/component/transaction-nav-bar/style/_material-definition.scss +0 -1
- package/lib/component/transaction-nav-bar/style/_theme.scss +0 -7
- package/lib/component/transaction-nav-bar/style/material.scss +0 -4
- package/lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component.d.ts +0 -14
- package/lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component.scss +0 -23
- package/lib/component/transaction-nav-bar/transaction-nav-bar.component.d.ts +0 -18
- package/lib/component/transaction-nav-bar/transaction-nav-bar.module.d.ts +0 -2
- package/lib/enum/tab-category.enum.d.ts +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colijnit-transaction.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/transaction/src/lib/enum/language-code.enum.ts","../../../projects/transaction/src/lib/utils/string-utils.ts","../../../projects/transaction/src/lib/assets/dictionary/text.properties.ts","../../../projects/transaction/src/lib/service/dictionary.service.ts","../../../projects/transaction/src/lib/service/options.service.ts","../../../projects/transaction/src/lib/factory/decorators/complex-field.decorator.ts","../../../projects/transaction/src/lib/factory/decorators/complex-array.decorator.ts","../../../projects/transaction/src/lib/factory/decorators/boolean.decorator.ts","../../../projects/transaction/src/lib/factory/decorators/date-field.decorator.ts","../../../projects/transaction/src/lib/factory/decorators/string-number.decorator.ts","../../../projects/transaction/src/lib/utils/is-nill.function.ts","../../../projects/transaction/src/lib/utils/array-utils.ts","../../../projects/transaction/src/lib/model/business-object.ts","../../../projects/transaction/src/lib/factory/business-object-factory.ts","../../../projects/transaction/src/lib/model/standard-text.ts","../../../projects/transaction/src/lib/service/ione-connector-adapter.service.ts","../../../projects/transaction/src/lib/component/core/enum/app-popup-button-type.enum.ts","../../../projects/transaction/src/lib/component/core/base/dialog-base.component.ts","../../../projects/transaction/src/lib/component/core/enum/app-popup-type.enum.ts","../../../projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.component.ts","../../../projects/transaction/src/lib/service/dialog.service.ts","../../../projects/transaction/src/lib/service/pending-reason.service.ts","../../../projects/transaction/src/lib/service/transaction.service.ts","../../../projects/transaction/src/lib/component/checkout/checkout.component.ts","../../../projects/transaction/src/lib/enum/icon.enum.ts","../../../projects/transaction/src/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.ts","../../../projects/transaction/src/lib/model/icon-svg.ts","../../../projects/transaction/src/lib/service/icon-cache.service.ts","../../../projects/transaction/src/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.ts","../../../projects/transaction/src/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.ts","../../../projects/transaction/src/lib/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.ts","../../../projects/transaction/src/lib/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.ts","../../../projects/transaction/src/lib/component/checkout/checkout-login/checkout-login.component.ts","../../../projects/transaction/src/lib/component/core/image-display/image-display.component.ts","../../../projects/transaction/src/lib/component/core/icon/icon.component.ts","../../../projects/transaction/src/lib/component/core/relation/customer-groups.component.ts","../../../projects/transaction/src/lib/component/core/stock-status-indicator/stock-status-indicator.component.ts","../../../projects/transaction/src/lib/pipe/append.pipe.ts","../../../projects/transaction/src/lib/enum/time-size.type.ts","../../../projects/transaction/src/lib/pipe/date-duration.pipe.ts","../../../projects/transaction/src/lib/pipe/delivery-time.pipe.ts","../../../projects/transaction/src/lib/pipe/localize.pipe.ts","../../../projects/transaction/src/lib/pipe/co-currency.pipe.ts","../../../projects/transaction/src/lib/pipe/safe-style.pipe.ts","../../../projects/transaction/src/lib/pipe/safe-html.pipe.ts","../../../projects/transaction/src/lib/pipe/pipe.module.ts","../../../projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.module.ts","../../../projects/transaction/src/lib/component/core/base/default-ok-cancel-buttons.component.ts","../../../projects/transaction/src/lib/component/core/core.module.ts","../../../projects/transaction/src/lib/component/relation-address-select/relation-address-select.component.ts","../../../projects/transaction/src/lib/component/relation-address/relation-address.component.ts","../../../projects/transaction/src/lib/component/relation-address/relation-address.module.ts","../../../projects/transaction/src/lib/component/relation-address-tile/relation-address-tile.component.ts","../../../projects/transaction/src/lib/component/tile/tile.component.ts","../../../projects/transaction/src/lib/component/tile/tile.module.ts","../../../projects/transaction/src/lib/component/relation-address-tile/relation-address-tile.module.ts","../../../projects/transaction/src/lib/component/relation-address-select/relation-address-select.module.ts","../../../projects/transaction/src/lib/component/stepper/component/stepper-step.component.ts","../../../projects/transaction/src/lib/component/stepper/stepper.component.ts","../../../projects/transaction/src/lib/component/stepper/stepper.module.ts","../../../projects/transaction/src/lib/component/transaction-totals/transaction-totals.component.ts","../../../projects/transaction/src/lib/component/transaction-totals/transaction-totals.module.ts","../../../projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.component.ts","../../../projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.module.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-line.component.ts","../../../projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.ts","../../../projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-line.module.ts","../../../projects/transaction/src/lib/component/transaction-lines/transaction-lines.component.ts","../../../projects/transaction/src/lib/component/transaction-lines/transaction-lines.module.ts","../../../projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.component.ts","../../../projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.module.ts","../../../projects/transaction/src/lib/component/seller-information/seller-information.component.ts","../../../projects/transaction/src/lib/component/seller-information/seller-information.module.ts","../../../projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.component.ts","../../../projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.module.ts","../../../projects/transaction/src/lib/component/payment/payment.component.ts","../../../projects/transaction/src/lib/component/payment-tile/payment-tile.component.ts","../../../projects/transaction/src/lib/component/payment-tile/payment-tile.module.ts","../../../projects/transaction/src/lib/component/payment/payment.module.ts","../../../projects/transaction/src/lib/component/checkout/checkout.module.ts","../../../projects/transaction/src/lib/component/shopping-cart/shopping-cart.component.ts","../../../projects/transaction/src/lib/enum/content-view-mode.enum.ts","../../../projects/transaction/src/lib/enum/tab-category.enum.ts","../../../projects/transaction/src/lib/component/transaction/transaction.component.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header.component.ts","../../../projects/transaction/src/lib/component/core/base/transaction-base.component.ts","../../../projects/transaction/src/lib/component/transaction-header-relation/transaction-header-relation.component.ts","../../../projects/transaction/src/lib/component/transaction-header-relation/transaction-header-relation.module.ts","../../../projects/transaction/src/lib/component/transaction-header-contact/transaction-header-contact.component.ts","../../../projects/transaction/src/lib/component/transaction-header-contact/transaction-header-contact.module.ts","../../../projects/transaction/src/lib/component/transaction-header-delivery/transaction-header-delivery.component.ts","../../../projects/transaction/src/lib/component/transaction-header-delivery/transaction-header-delivery.module.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header.module.ts","../../../projects/transaction/src/lib/component/transaction-lines-grid/transaction-lines-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-lines-grid/transaction-lines-grid.module.ts","../../../projects/transaction/src/lib/enum/order-discount-type.enum.ts","../../../projects/transaction/src/lib/component/discount/discount.component.ts","../../../projects/transaction/src/lib/component/discount/discount.module.ts","../../../projects/transaction/src/lib/component/transaction-commit-bar/transaction-commit-bar.component.ts","../../../projects/transaction/src/lib/component/transaction-commit-bar/transaction-commit-bar.module.ts","../../../projects/transaction/src/lib/component/transaction-nav-bar/transaction-nav-bar.component.ts","../../../projects/transaction/src/lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component.ts","../../../projects/transaction/src/lib/component/transaction-nav-bar/transaction-nav-bar.module.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-fields-base.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.module.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.ts","../../../projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.ts","../../../projects/transaction/src/lib/enum/status-type.enum.ts","../../../projects/transaction/src/lib/component/transaction-history-grid/transaction-history-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.ts","../../../projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.ts","../../../projects/transaction/src/lib/component/transaction-history-grid/transaction-history-grid.module.ts","../../../projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.ts","../../../projects/transaction/src/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.ts","../../../projects/transaction/src/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module.ts","../../../projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.ts","../../../projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.ts","../../../projects/transaction/src/lib/component/order-confirmation-grid/order-confirmation-grid.component.ts","../../../projects/transaction/src/lib/component/order-grid/order-grid.component.ts","../../../projects/transaction/src/lib/component/order-grid/order-grid.module.ts","../../../projects/transaction/src/lib/component/order-confirmation-grid/order-confirmation-grid.module.ts","../../../projects/transaction/src/lib/component/transaction/transaction.module.ts","../../../projects/transaction/src/lib/component/shopping-cart/shopping-cart.module.ts","../../../projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.module.ts","../../../projects/transaction/src/colijnit-transaction.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export enum LanguageCode {\r\n Dutch = \"nl-NL\",\r\n English = \"en-GB\",\r\n German = \"de-DE\",\r\n French = \"fr-FR\",\r\n}\r\n","// Static utility functions holder related to strings.\r\nexport class StringUtils {\r\n\r\n /**\r\n * Returns a new string where given placeholder in given source string are replaced by given replacement texts.\r\n *\r\n * Example usage:\r\n *\r\n * source = \"ABCDABCD\"\r\n * placeholder = \"BC\"\r\n * replacementTexts = \"Z\", \"Z\" (REST arguments)\r\n * OUTPUT = \"AZDAZD\"\r\n *\r\n * @param {string} source\r\n * @param {string} placeholder\r\n * @param {string} replacementTexts If only one is given, this function replaces all placeholders with that single replacementText.\r\n * If more are given, placeholders without a corresponding replacementText will remain their original placeholder characters.\r\n */\r\n public static ReplaceOccurrencesIn(source: string, placeholder: string, ...replacementTexts: string[]): string {\r\n // parameter guards\r\n if (!(source)) {\r\n return undefined;\r\n }\r\n if (!placeholder || replacementTexts.length === 0) {\r\n return source;\r\n }\r\n let outString: string = source;\r\n // one replacementText means replace for all\r\n if (replacementTexts.length === 1) {\r\n // \"g\" is the g flag to replace globally\r\n outString = outString.replace(placeholder, replacementTexts[0]);\r\n } else {\r\n // replace occurence i by replacementTexts[i], one at a time in loop (there might be a faster way..)\r\n for (let i: number = 0, len: number = replacementTexts.length; i < len; i++) {\r\n outString = outString.replace(placeholder, replacementTexts[i]);\r\n }\r\n }\r\n return outString;\r\n }\r\n\r\n // Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.\r\n public static ParseString(arg: any, defaultValue: string = \"\"): string {\r\n if (!StringUtils.IsString(arg)) {\r\n if (arg && typeof arg.toString === \"function\") {\r\n arg = arg.toString();\r\n } else {\r\n arg = defaultValue;\r\n }\r\n }\r\n return arg;\r\n }\r\n\r\n public static IsString(str: any): boolean {\r\n return typeof str === 'string';\r\n }\r\n\r\n // Returns whether given str is a string and has a length > 0.\r\n public static IsStringWithLength(str: string): boolean {\r\n return str && StringUtils.IsString(str) && str.length > 0;\r\n }\r\n\r\n // Returns given string, escaped for use as string literal in regular expressions.\r\n private static _escapeRegExp(str: string): string {\r\n return str;// .replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^$\\|]/g, \"\\\\$&\");\r\n }\r\n\r\n}\r\n","export class Dictionary {\r\n public strings: {} = {\r\n \"nl\": {\r\n \"ACCOUNT_DETAILS\": \"Accountgegevens\",\r\n \"ACCOUNT_EXPLANATION\": \"Het e-mailadres en wachtwoord zijn nodig om toegang te krijgen tot de gegevens. \" +\r\n \"Ook zullen we je via dit e-mailadres op de hoogte houden van de status van bestellingen.\",\r\n \"ADD_ARTICLE_LINE_UP\": \"Artikelregel boven toevoegen\",\r\n \"ADD_ARTICLE_LINE_DOWN\": \"Artikelregel onder toevoegen\",\r\n \"ADD_ARTICLE_TEXT_LINE_UP\": \"Tekstregel boven toevoegen\",\r\n \"ADD_ARTICLE_TEXT_LINE_DOWN\": \"Tekstregel onder toevoegen\",\r\n \"ADD_DELIVERY_OPTION\": \"Voeg een leveroptie toe\",\r\n \"ADD_DISCOUNTS\": \"Korting toevoegen\",\r\n \"ADD_REFERENCE\": \"Voeg referentie toe\",\r\n \"ADD_REMARK\": \"Voeg een opmerking toe\",\r\n \"ADDRESS\": \"Adres\",\r\n \"ADDRESSES\": \"Adressen\",\r\n \"ADDRESS_ADD\": \"Adres toevoegen\",\r\n \"ADDRESS_CHANGE\": \"Adres wijzigen\",\r\n \"ADMINISTRATIVE_MANAGER\": \"Administratief verantwoordelijke\",\r\n \"ALWAYS_SHOW_LOGISTICS_POPUP\": \"Controleer magazijn en commissiecode\",\r\n \"ARTICLE\": \"Artikel\",\r\n \"ARTICLE_DESCRIPTION\": \"Artikelomschrijving\",\r\n \"ARTICLE_IMAGE\": \"Artikel afbeelding\",\r\n \"ARTICLE_IN_OUT_COLLECTION\": \"Status van artikel is '|~'. Weet u zeker dat u door wilt gaan?\",\r\n \"ARTICLE_NR\": \"Artikelnummer\",\r\n \"ARTICLE_NR_SUPPLIER\": \"Artikelnr leverancier\",\r\n \"ARTICLE_UNKNOWN\": \"Onbekend artikel\",\r\n \"ASSEMBLY_COSTS\": \"Montagekosten\",\r\n \"ASSEMBLY_DATE\": \"Montagedatum\",\r\n \"ASSEMBLY_TIME\": \"Montagetijd\",\r\n \"AMOUNT\": \"Aantal\",\r\n \"AVAILABLE_STOCK\": \"Bechikbaar\",\r\n \"BACK\": \"Terug\",\r\n \"BACK_TO_STOCK_LINES\": \"Terug naar voorraadregels\",\r\n \"BATCH_NUMBER\": \"Batchnummer\",\r\n \"BRANCH\": \"Filiaal\",\r\n \"BUSINESS_RULE_DISCOUNT\": \"Business rule korting\",\r\n \"CANCEL\": \"Annuleren\",\r\n \"CANNOT_CHANGE_NEGATIVE_QUANTITY\": \"Een negatieve voorraad kan niet gewijzigd worden.\",\r\n \"CART\": \"Winkelwagen\",\r\n \"CHARACTERISTIC_QUESTION\": \"Kenmerkvraag\",\r\n \"CHECK_WAREHOUSE_AND_COMMISSIONCODE\": \"Controleer magazijn en commissiecode.\",\r\n \"CHECKOUT_FINISH\": \"Bestelling afronden\",\r\n \"CITY\": \"Stad\",\r\n \"COMPANY\": \"Bedrijf\",\r\n \"COMPANY_NAME\": \"Bedrijfsnaam\",\r\n \"COMMISSION_CODE\": \"Commisiecode\",\r\n \"CONFIRMED\": \"Bevestigd\",\r\n \"CONFIRMATION\": \"Bevestiging\",\r\n \"CONFIRMED_DATE\": \"Bevestigde datum\",\r\n \"CONTACT_DETAILS\": \"Contactgegevens\",\r\n \"CONTINUE\": \"Volgende\",\r\n \"CONTINUE_ORDER_WHILE_STOCK_AVAILABLE_PLEASE_CONFIRM\": \"U heeft gekozen voor het bestellen van artikelen terwijl er nog voorraad aanwezig is. Wilt u verdergaan?\",\r\n \"CONTINUE_WITHOUT_ACCOUNT\": \"Ga door zonder account\",\r\n \"COSTS\": \"Kosten\",\r\n \"COUNTRY\": \"Land\",\r\n \"CREATE_ACCOUNT\": \"Maak een account aan\",\r\n \"CREATE_ACCOUNT_IN_2_MIN\": \"Maak binnen 2 minuten een account aan.\",\r\n \"CUSTOMER\": \"Klant\",\r\n \"CUSTOMER_GROUP\": \"Klantgroep\",\r\n \"DATE\": \"Datum\",\r\n \"DATE_OF_BIRTH\": \"Geboortedatum\",\r\n \"DELETE_TRANSACTION_LINE\": \"verwijderen\",\r\n \"DELETE_TRANSACTION_LINE_HINT\": \"Verwijderen transactieregel\",\r\n \"DELETE_TRANSACTION_LINE_FAILED\": \"Het verwijderen van de transactieregel is mislukt\",\r\n \"DELETE_TRANSACTION_LINE_QUESTION\": \"Weet u zeker dat u deze regel wilt verwijderen?\",\r\n \"DELIVERY\": \"Bezorging\",\r\n \"DELIVERY_ADDRESS\": \"Afleveradres\",\r\n \"DELIVERY_ADDRESS_ADD\": \"Bezorgadres toevoegen\",\r\n \"DELIVERY_ADDRESS_CHANGE\": \"Bezorgadres wijzigen\",\r\n \"DELIVERY_COSTS\": \"Bezorgkosten\",\r\n \"DELIVERY_DATA\": \"Levergegevens\",\r\n \"DELIVERY_DATE\": \"Leverdatum\",\r\n \"DELIVERY_DATE_FINAL\": \"Definitieve leverdatum\",\r\n \"DELIVERY_DIRECT\": \"Direct leverbaar\",\r\n \"DELIVERY_LOCATION\": \"Bezorgingslocatie\",\r\n \"DELIVERY_OPTIONS\": \"Leveropties\",\r\n \"DELIVERY_METHOD\": \"Levermethode\",\r\n \"DELIVERY_MOMENT\": \"Levermoment\",\r\n \"DELIVERY_OPTARTICLE_NRIONS\": \"Bezorgopties\",\r\n \"DELIVERY_TIME_PERIOD\": \"Levertijd\",\r\n \"DESCRIPTION\": \"Omschrijving\",\r\n \"DETAILS\": \"Details\",\r\n \"DISCOUNT\": \"Korting\",\r\n \"DISCOUNTS\": \"Kortingen\",\r\n \"DISCOUNT_AMOUNT\": \"Kortingsbedrag\",\r\n \"DISCOUNT_PERCENTAGE\": \"Kortings %\",\r\n \"DOWNPAYMENT\": \"Aanbetaling\",\r\n \"DOWNPAYMENT_PERCENTAGE\": \"Aan te betalen percentage\",\r\n \"DOWNPAYMENT_AMOUNT\": \"Aan te betalen bedrag\",\r\n \"DOWNPAYMENT_BY_BR\": \"Berekend door BR\",\r\n \"DOWNPAYMENT_ON_DELIVERY\": \"Rembours\",\r\n \"DROPSHIPMENT\": \"Dropshipment\",\r\n \"ECONOMICAL_STOCK\": \"Later beschikbaar\",\r\n \"EDIT_CART\": \"Wijzig winkelwagen\",\r\n \"EMAIL_ADDRESS\": \"E-mailadres\",\r\n \"EXISTING_CUSTOMERS\": \"Bestaande klanten\",\r\n \"EXPECTED_DELIVERY_DATE\": \"Verwachte bezorgdatum\",\r\n \"EXPECTED_DELIVERY_WEEK\": \"Verwachte leverweek\",\r\n \"FABRICATION_COST\": \"Fabricageprijs\",\r\n \"FABRICATION_COST_LINE_TOTAL\": \"Fabricageprijs regeltotaal\",\r\n \"FEMALE\": \"Vrouw\",\r\n \"FIRST_NAME\": \"Voornaam\",\r\n \"GROSS_PRICE\": \"Bruto prijs\",\r\n \"GOOD_DESCRIPTION\": \"Artikelomschrijving\",\r\n \"HOUSE_NO\": \"Huisnummer\",\r\n \"HOUSE_NO_ADDITION\": \"Huisnummer toevoeging\",\r\n \"IN_ORDER\": \"In bestelling\",\r\n \"IN_OUT_COLLECTION\": \"In-uit-collectie\",\r\n \"INVITE_TO_ACCOUNT\": \"Uitnodigen voor account\",\r\n \"INVOICE_ADDRESS\": \"Factuuradres\",\r\n \"INVOICE_ADDRESS_ADD\": \"Factuuradres toevoegen\",\r\n \"INVOICE_ADDRESS_CHANGE\": \"Factuuradres wijzigen\",\r\n \"INVOICE_CHECK\": \"Factuurcontrole\",\r\n \"LAST_EDITED_DATE\": \"Datum laatste wijziging\",\r\n \"LAST_EDITED_USER\": \"Gebruiker laatste wijziging\",\r\n \"LAST_NAME\": \"Achternaam\",\r\n \"LINE_NEEDS_COMMISSION_CODE\": \"De commisiecode ontbreekt. Vul de commissiecode in.\",\r\n \"LOCATION\": \"Locatie\",\r\n \"LOGIN\": \"Inloggen\",\r\n \"LOGIN_DETAILS\": \"Inloggegevens\",\r\n \"LOGISTICS_AND_PLANNING\": \"Logistiek & planning\",\r\n \"MALE\": \"Man\",\r\n \"MARKETING\": \"Marketing\",\r\n \"MENU\": \"Menu\",\r\n \"MODIFICATION_TIME\": \"Bewerkingstijd\",\r\n \"NAME\": \"Naam\",\r\n \"NET_LINE_TOTAL\": \"Regeltotaal\",\r\n \"NETT\": \"Netto\",\r\n \"NETTO_PRICE\": \"Netto prijs\",\r\n \"NEW_AT\": \"Nieuw bij \",\r\n \"NEW_LOCATION\": \"Nieuwe locatie\",\r\n \"NO_IMAGE\": \"Geen afbeelding\",\r\n \"NOT_AFTER\": \"Niet later dan\",\r\n \"NOT_BEFORE\": \"Niet eerder dan\",\r\n \"NR\": \"Nummer\",\r\n \"NUMBER\": \"Aantal\",\r\n \"ON_DATE\": \"Op datum\",\r\n \"OPEN_SHOPPING_CART\": \"Open winkelwagen\",\r\n \"ORDER_DATE\": \"Orderdatum\",\r\n \"ORDER_DATA\": \"Ordergegevens\",\r\n \"ORDER_GROSS\": \"Ordertotaal bruto\",\r\n \"ORDER_NET\": \"Ordertotaal netto\",\r\n \"ORDER_NUMBER\": \"Ordernummer\",\r\n \"ORDER_RULESET\": \"Orderregelset\",\r\n \"ORDER_TYPE\": \"Type bestelling\",\r\n \"OTHER\": \"Overig\",\r\n \"OVERVIEW\": \"Overzicht\",\r\n \"OWN_REFERENCE\": \"Eigen referentie\",\r\n \"PACKING_SLIP\": \"Pakbon\",\r\n \"PAID_DOWN2\": \"Aanbetaald\",\r\n \"PART_DELIVERIES\": \"Deelleveringen\",\r\n \"PASSWORD\": \"Wachtwoord\",\r\n \"PAY\": \"Betalen\",\r\n \"PAYMENT\": \"Betaling\",\r\n \"PERSONAL_DATA\": \"Basisgegevens\",\r\n \"PHONE_NO\": \"Telefoonnummer\",\r\n \"PHYSICAL_STOCK\": \"Fysieke voorraad\",\r\n \"POSTAL_CODE\": \"Postcode\",\r\n \"PREFERRED_DATE\": \"Voorkeursdatum\",\r\n \"PREFIX\": \"Tussenvoegsel\",\r\n \"PRICE\": \"Prijs\",\r\n \"PRICE_LIST\": \"Prijslijst\",\r\n \"PRICING\": \"Prijzen\",\r\n \"PRIVACY_PREFERENCES\": \"Privacyvoorkeuren\",\r\n \"PRIVATE_PERSON\": \"Particulier\",\r\n \"PRODUCT\": \"Product\",\r\n \"PRODUCT_TYPE\": \"Productsoort\",\r\n \"QUANTITY_CANNOT_BE_ZERO_OR_EMPTY\": \"Het aantal mag geen 0 zijn.\",\r\n \"QUANTITY_CANNOT_BE_LESS_THAN_DELIVERED\": \"Het aantal moet gelijk zijn aan het geleverde aantal\",\r\n \"QUANTITY_CANNOT_BE_MORE_THAN_DELIVERED\": \"Het aantal moet gelijk zijn aan het geleverde aantal\",\r\n \"QUANTITY_CANNOT_BE_LESS_THAN_INVOICED\": \"Het aantal moet gelijk zijn aan de bestelde voorraad\",\r\n \"QUANTITY_CANNOT_BE_MORE_THAN_INVOICED\": \"Het aantal moet gelijk zijn aan de bestelde voorraad\",\r\n \"QUANTITY_CANNOT_BE_LESS_THAN_ALLOCATED\": \"Het aantal moet gelijk zijn aan dde toegewezen voorraad\",\r\n \"QUANTITY_CANNOT_BE_MORE_THAN_ALLOCATED\": \"Het aantal moet gelijk zijn aan dde toegewezen voorraad\",\r\n \"QUANTITY_CANNOT_BE_LESS_THAN_RECEIVED\": \"Het aantal moet gelijk zijn aan het aantal ontvangen.\",\r\n \"QUANTITY_CANNOT_BE_MORE_THAN_RECEIVED\": \"Het aantal moet gelijk zijn aan het aantal ontvangen\",\r\n \"QUANTUM_DISCOUNT\": \"Kwantumkorting\",\r\n \"RECEIPT_DETAILS\": \"Ontvangst details\",\r\n \"RECEIVED\": \"Ontvangst\",\r\n \"RECEIVED_DATE\": \"Ontvangst datum\",\r\n \"REFERENCE\": \"Referentie\",\r\n \"REFERENCE_RELATION\": \"Ref. relatie\",\r\n \"REMARKS\": \"Opmerkingen\",\r\n \"SALUTATION\": \"Aanhef\",\r\n \"SAME_AS_DELIVERY\": \"Hetzelfde als bezorgadres\",\r\n \"SAVE\": \"Opslaan\",\r\n \"SELECT\": \"Selecteren\",\r\n \"SERIAL_NUMBER\": \"Serienummer\",\r\n \"SERVICE_NUMBER\": \"Servicenummer\",\r\n \"SERVICE_REQUEST_DATE\": \"Datum aanvraag\",\r\n \"SERVICE_STATE\": \"Service status\",\r\n \"SHOPPING_CART\": \"Winkelwagen\",\r\n \"SHOPPING_CART_CHECKOUT\": \"Bestellen\",\r\n \"SHOPPING_CART_OVERVIEW\": \"Overzicht van uw bestelling\",\r\n \"SHOPPING_CART_RESUME\": \"Verder winkelen\",\r\n \"SPECIAL_DISCOUNT\": \"Speciale korting\",\r\n \"STOCK\": \"Voorraad\",\r\n \"STOCK_NOTIFICATION\": \"Voorraadmelding\",\r\n \"STOCK_AVAILABLE_CHANGE_WAREHOUSE_OR_COMMISSIONCODE\": \"Er is voldoende voorraad. Verander magazijn en/of commissiecode\",\r\n \"SUBTOTAL\": \"Subtotaal\",\r\n \"SUGGESTIONS\": \"Suggesties\",\r\n \"SUPPLIER\": \"Leverancier\",\r\n \"SURCHARGE_AMOUNT\": \"Toeslag\",\r\n \"STATE\": \"Status\",\r\n \"STREET\": \"Straatnaam\",\r\n \"TEXT_ARTICLE_BOUND\": \"Text bij artikel |~\",\r\n \"TOTAL_AMOUNT\": \"Totaalbedrag\",\r\n \"TOTAL_ASSEMBLY_TIME\": \"Totale montagetijd\",\r\n \"TOTAL_GROSS\": \"Totaal bruto\",\r\n \"TOTAL_LINE_DISCOUNT\": \"Totale regelkorting\",\r\n \"TRANSACTION_DISCOUNT\": \"Totale transactie korting\",\r\n \"TRANSACTION_DISCOUNT_PERC\": \"% Trans. korting\",\r\n \"TRANSACTION_PRICE_DECLARATION\": \"Order prijsverklaring\",\r\n \"TRANSACTION_SUM_I\": \"Ordertotaal incl. BTW\",\r\n \"TRANSACTION_TOTAL\": \"Transactie totaal\",\r\n \"TRANSPORT\": \"Transport\",\r\n \"TRANSPORT_COST\": \"Transportkosten\",\r\n \"TRANSPORT_COST_LINE_TOTAL\": \"Transportkosten regeltotaal\",\r\n \"UNKNOWN\": \"Onbekend\",\r\n \"UNKNOWN_ADDRESS_CHECK_IT\": \"Onbekend adres\",\r\n \"USER\": \"Gebruiker\",\r\n \"VAT\": \"Btw\",\r\n \"VAT_AMOUNT\": \"BTW-bedrag\",\r\n \"VALUE\": \"Waarde\",\r\n \"WHERE_ARE_YOU_LOOKING_FOR\": \"Waar ben je naar op zoek?\",\r\n \"WAREHOUSE\": \"Magazijn\",\r\n \"YOUR_DATA\": \"Gegevens\",\r\n \"STANDARD_TEXTS\":\"Standaardteksten\",\r\n \"ARTICLE_BOUND_TEXT\": \"Artikelgebonden tekst\",\r\n \"FOR_DOCUMENTS\": \"Bestemd voor documenten\",\r\n \"CHANGE_ARTICLE_TEXT\": \"Wijzigen artikeltekst\",\r\n },\r\n \"de\": {},\r\n \"fr\": {},\r\n \"en\": {\r\n \"ACCOUNT_DETAILS\": \"Account details\",\r\n \"ACCOUNT_EXPLANATION\": \"E-mailaddress and password are needed to gain access to the data. We also notify you on this e-mailaddress about the order status\",\r\n \"ADD_ARTICLE_LINE_UP\": \"Add article line up\",\r\n \"ADD_ARTICLE_LINE_DOWN\": \"Add article line down\",\r\n \"ADD_ARTICLE_TEXT_LINE_UP\": \"Add text line up\",\r\n \"ADD_ARTICLE_TEXT_LINE_DOWN\": \"Add text line down\",\r\n \"ADD_DELIVERY_OPTION\": \"Add delivery option\",\r\n \"ADD_DISCOUNTS\": \"Add discount\",\r\n \"ADD_REFERENCE\": \"Add reference\",\r\n \"ADD_REMARK\": \"Add remark\",\r\n \"ADDRESS\": \"Address\",\r\n \"ADDRESSES\": \"Addresses\",\r\n \"ADDRESS_ADD\": \"Add address\",\r\n \"ADDRESS_CHANGE\": \"Change address\",\r\n \"ADMINISTRATIVE_MANAGER\": \"Administrative manager\",\r\n \"ALWAYS_SHOW_LOGISTICS_POPUP\": \"Check warehouse and commissioncode\",\r\n \"ARTICLE\": \"Article\",\r\n \"ARTICLE_DESCRIPTION\": \"Article description\",\r\n \"ARTICLE_IMAGE\": \"Article image\",\r\n \"ARTICLE_IN_OUT_COLLECTION\": \"Status of article is '|~'. Are you sure to proceed?\",\r\n \"ARTICLE_NR\": \"Article number\",\r\n \"ARTICLE_NR_SUPPLIER\": \"Artikelnr supplier\",\r\n \"ARTICLE_UNKNOWN\": \"Article unknown\",\r\n \"ASSEMBLY_COSTS\": \"Assembly costs\",\r\n \"ASSEMBLY_DATE\": \"Assembly date\",\r\n \"ASSEMBLY_TIME\": \"Assembly time\",\r\n \"AMOUNT\": \"Amount\",\r\n \"BACK\": \"Back\",\r\n \"BATCH_NUMBER\": \"Batchnumber\",\r\n \"BRANCH\": \"Branch\",\r\n \"BUSINESS_RULE_DISCOUNT\": \"Business rule discount\",\r\n \"CANCEL\": \"Cancel\",\r\n \"CANNOT_CHANGE_NEGATIVE_QUANTITY\": \"A negative supply cannot be changed.\",\r\n \"CART\": \"Cart\",\r\n \"CHARACTERISTIC_QUESTION\": \"Characteristic question\",\r\n \"CHECK_WAREHOUSE_AND_COMMISSIONCODE\": \"Check warehouse and commissioncode\",\r\n \"CHECKOUT_FINISH\": \"Finish checkout\",\r\n \"CITY\": \"City\",\r\n \"COMPANY\": \"Company\",\r\n \"COMPANY_NAME\": \"Company name\",\r\n \"COMMISSION_CODE\": \"Commission code\",\r\n \"CONFIRMATION\": \"Confirmation\",\r\n \"CONFIRMED_DATE\": \"Confirmed date\",\r\n \"CONTACT_DETAILS\": \"Contactdetails\",\r\n \"CONTINUE\": \"Next\",\r\n \"CONFIRMED\": \"Confirmed\",\r\n \"CONTINUE_ORDER_WHILE_STOCK_AVAILABLE_PLEASE_CONFIRM\": \"You have chosen to order articles while stock is still available. Do you wish to proceed?\",\r\n \"CONTINUE_WITHOUT_ACCOUNT\": \"Continue without an account\",\r\n \"COSTS\": \"Costs\",\r\n \"COUNTRY\": \"Country\",\r\n \"CREATE_ACCOUNT\": \"Create an account\",\r\n \"CREATE_ACCOUNT_IN_2_MIN\": \"Create an account in 2 minutes.\",\r\n \"CUSTOMER\": \"Customer\",\r\n \"CUSTOMER_GROUP\": \"Customergroup\",\r\n \"DATE\": \"Date\",\r\n \"DATE_OF_BIRTH\": \"Date of birth\",\r\n \"DELETE_TRANSACTION_LINE\": \"Delete transaction line verwijderen?\",\r\n \"DELETE_TRANSACTION_LINE_HINT\": \"Delete transaction line\",\r\n \"DELETE_TRANSACTION_LINE_FAILED\": \"Deletion of transaction line has failed\",\r\n \"DELIVERY\": \"Delivery\",\r\n \"DELIVERY_ADDRESS\": \"Delivery address\",\r\n \"DELIVERY_ADDRESS_ADD\": \"Add delivery address\",\r\n \"DELIVERY_ADDRESS_CHANGE\": \"Change delivery address\",\r\n \"DELIVERY_COSTS\": \"Delivery costs\",\r\n \"DELIVERY_DATA\": \"Deliverydata\",\r\n \"DELIVERY_DATE\": \"Delivery date\",\r\n \"DELIVERY_DATE_FINAL\": \"Final delivery date\",\r\n \"DELIVERY_DIRECT\": \"Direct delivery\",\r\n \"DELIVERY_LOCATION\": \"Delivery location\",\r\n \"DELIVERY_OPTIONS\": \"Delivery options\",\r\n \"DELIVERY_METHOD\": \"Delivery method\",\r\n \"DELIVERY_MOMENT\": \"Delivery moment\",\r\n \"DELIVERY_OPTARTICLE_NRIONS\": \"Delivery options\",\r\n \"DELIVERY_TIME_PERIOD\": \"Delivery time period\",\r\n \"DESCRIPTION\": \"Description\",\r\n \"DETAILS\": \"Details\",\r\n \"DISCOUNT\": \"Discount\",\r\n \"DISCOUNTS\": \"Discounts\",\r\n \"DISCOUNT_AMOUNT\": \"Discount amount\",\r\n \"DISCOUNT_PERCENTAGE\": \"Discount %\",\r\n \"DOWNPAYMENT\": \"Downpayment\",\r\n \"DOWNPAYMENT_PERCENTAGE\": \"Percentage to be paid\",\r\n \"DOWNPAYMENT_AMOUNT\": \"Amount to be paid\",\r\n \"DOWNPAYMENT_BY_BR\": \"Calculated by BR\",\r\n \"DOWNPAYMENT_ON_DELIVERY\": \"On delivery\",\r\n \"DROPSHIPMENT\": \"Dropshipment\",\r\n \"EDIT_CART\": \"Edit cart\",\r\n \"EMAIL_ADDRESS\": \"E-mailadres\",\r\n \"EXISTING_CUSTOMERS\": \"Existing customers\",\r\n \"EXPECTED_DELIVERY_DATE\": \"Expected delivery date\",\r\n \"EXPECTED_DELIVERY_WEEK\": \"Expected delivery week\",\r\n \"FABRICATION_COST\": \"Fabricationcost\",\r\n \"FABRICATION_COST_LINE_TOTAL\": \"Fabricationcost linetotal\",\r\n \"FEMALE\": \"Female\",\r\n \"FIRST_NAME\": \"First name\",\r\n \"GOOD_DESCRIPTION\": \"Article description\",\r\n \"GROSS_PRICE\": \"Gross price\",\r\n \"HOUSE_NO\": \"Housenumber\",\r\n \"HOUSE_NO_ADDITION\": \"Housenumber addition\",\r\n \"IN_ORDER\": \"In order\",\r\n \"IN_OUT_COLLECTION\": \"In-out-collection\",\r\n \"INVITE_TO_ACCOUNT\": \"Invite account\",\r\n \"INVOICE_ADDRESS\": \"Invoice address\",\r\n \"INVOICE_ADDRESS_ADD\": \"Add invoice address\",\r\n \"INVOICE_ADDRESS_CHANGE\": \"Change invoice address\",\r\n \"INVOICE_CHECK\": \"Invoice check\",\r\n \"LAST_EDITED_DATE\": \"Date last mutation\",\r\n \"LAST_EDITED_USER\": \"User last mutation\",\r\n \"LAST_NAME\": \"Last name\",\r\n \"LINE_NEEDS_COMMISSION_CODE\": \"Line needs a commission code\",\r\n \"LOCATION\": \"Location\",\r\n \"LOGIN\": \"Login\",\r\n \"LOGIN_DETAILS\": \"Login details\",\r\n \"LOGISTICS_AND_PLANNING\": \"Logistics & planning\",\r\n \"MALE\": \"Male\",\r\n \"MARKETING\": \"Marketing\",\r\n \"MENU\": \"Menu\",\r\n \"MODIFICATION_TIME\": \"Modification time\",\r\n \"NAME\": \"Name\",\r\n \"NET_LINE_TOTAL\": \"Linetotal\",\r\n \"NETT\": \"Net\",\r\n \"NETTO_PRICE\": \"Netto price\",\r\n \"NEW_AT\": \"New at \",\r\n \"NEW_LOCATION\": \"New location\",\r\n \"NO_IMAGE\": \"No image available\",\r\n \"NOT_AFTER\": \"Not after\",\r\n \"NOT_BEFORE\": \"Not before\",\r\n \"NR\": \"Number\",\r\n \"NUMBER\": \"Amount\",\r\n \"ON_DATE\": \"On date\",\r\n \"OPEN_SHOPPING_CART\": \"Open shopping cart\",\r\n \"ORDER_DATE\": \"Order date\",\r\n \"ORDER_DATA\": \"Orderdata\",\r\n \"ORDER_GROSS\": \"Total gross amount\",\r\n \"ORDER_NET\": \"Total net amount\",\r\n \"ORDER_NUMBER\": \"Order number\",\r\n \"ORDER_RULESET\": \"Orderruleset\",\r\n \"ORDER_TYPE\": \"Order type\",\r\n \"OTHER\": \"Other\",\r\n \"OVERVIEW\": \"Overview\",\r\n \"OWN_REFERENCE\": \"Own reference\",\r\n \"PACKING_SLIP\": \"Packing slip\",\r\n \"PAID_DOWN2\": \"Prepaid\",\r\n \"PART_DELIVERIES\": \"Partial deliveries\",\r\n \"PASSWORD\": \"Password\",\r\n \"PAY\": \"Pay\",\r\n \"PAYMENT\": \"Payment\",\r\n \"PERSONAL_DATA\": \"Personal data\",\r\n \"PHONE_NO\": \"Telephone number\",\r\n \"POSTAL_CODE\": \"postal code\",\r\n \"PREFERRED_DATE\": \"Preferred date\",\r\n \"PREFIX\": \"Prefix\",\r\n \"PRICE\": \"Price\",\r\n \"PRICE_LIST\": \"Pricelist\",\r\n \"PRICING\": \"Pricing\",\r\n \"PRIVACY_PREFERENCES\": \"Privacy preferences\",\r\n \"PRIVATE_PERSON\": \"Private\",\r\n \"PRODUCT\": \"Product\",\r\n \"PRODUCT_TYPE\": \"Product type\",\r\n \"QUANTITY_CANNOT_BE_ZERO_OR_EMPTY\": \"Quantity cannot be zero or empty\",\r\n \"QUANTUM_DISCOUNT\": \"Quantum discount\",\r\n \"RECEIPT_DETAILS\": \"Receipt details\",\r\n \"RECEIVED\": \"Received\",\r\n \"RECEIVED_DATE\": \"Received date\",\r\n \"REFERENCE\": \"Reference\",\r\n \"REFERENCE_RELATION\": \"Ref. relation\",\r\n \"REMARKS\": \"Remarks\",\r\n \"SALUTATION\": \"Salutation\",\r\n \"SAME_AS_DELIVERY\": \"Same as delivery address\",\r\n \"SAVE\": \"Save\",\r\n \"SELECT\": \"Select\",\r\n \"SERIAL_NUMBER\": \"Serial number\",\r\n \"SERVICE_NUMBER\": \"Service number\",\r\n \"SERVICE_REQUEST_DATE\": \"Service request data\",\r\n \"SERVICE_STATE\": \"Service state\",\r\n \"SHOPPING_CART\": \"Shopping cart\",\r\n \"SHOPPING_CART_CHECKOUT\": \"Checkout\",\r\n \"SHOPPING_CART_OVERVIEW\": \"Order overview\",\r\n \"SHOPPING_CART_RESUME\": \"Resume shopping\",\r\n \"SPECIAL_DISCOUNT\": \"Special discount\",\r\n \"STOCK\": \"Stock\",\r\n \"STOCK_NOTIFICATION\": \"Stock notification\",\r\n \"STOCK_AVAILABLE_CHANGE_WAREHOUSE_OR_COMMISSIONCODE\": \"Not enough supply. Change warehouse and/or commissioncode\",\r\n \"SUBTOTAL\": \"Subtotal\",\r\n \"SUGGESTIONS\": \"Suggestions\",\r\n \"SUPPLIER\": \"Supplier\",\r\n \"SURCHARGE_AMOUNT\": \"Surcharge\",\r\n \"STATE\": \"STATUS\",\r\n \"STREET\": \"Streetname\",\r\n \"TOTAL_AMOUNT\": \"Total amount\",\r\n \"TOTAL_ASSEMBLY_TIME\": \"Total assembly time\",\r\n \"TOTAL_GROSS\": \"Gross total\",\r\n \"TOTAL_LINE_DISCOUNT\": \"Total linediscount\",\r\n \"TRANSACTION_DISCOUNT\": \"Total transaction discount\",\r\n \"TRANSACTION_DISCOUNT_PERC\": \"% Trans. discount\",\r\n \"TRANSACTION_PRICE_DECLARATION\": \"Transaction price declaration\",\r\n \"TRANSACTION_SUM_I\": \"Ordertotal incl VAT\",\r\n \"TRANSACTION_TOTAL\": \"Transaction total\",\r\n \"TRANSPORT\": \"Transport\",\r\n \"TRANSPORT_COST\": \"Transportcosts\",\r\n \"TRANSPORT_COST_LINE_TOTAL\": \"Transportcosts linetotal\",\r\n \"UNKNOWN\": \"unknown\",\r\n \"UNKNOWN_ADDRESS_CHECK_IT\": \"Unknown address\",\r\n \"USER\": \"User\",\r\n \"VALUE\": \"Value\",\r\n \"VAT\": \"VAT\",\r\n \"VAT_AMOUNT\": \"VAT amount\",\r\n \"WAREHOUSE\": \"Warehouse\",\r\n \"WHERE_ARE_YOU_LOOKING_FOR\": \"Where are you looking for?\",\r\n \"YOUR_DATA\": \"Your data\",\r\n \"STANDARD_TEXTS\":\"Standard texts\",\r\n \"ARTICLE_BOUND_TEXT\": \"Article bound text\",\r\n \"FOR_DOCUMENTS\": \"Used at documents\",\r\n \"CHANGE_ARTICLE_TEXT\": \"Change article text\",\r\n },\r\n };\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {LanguageCode} from \"../enum/language-code.enum\";\r\nimport {StringUtils} from \"../utils/string-utils\";\r\nimport {Dictionary} from \"../assets/dictionary/text.properties\";\r\n\r\n// The localization service, providing peers with text translation functionality.\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DictionaryService {\r\n private readonly dictionaryUrl: string = \"js/browser/res/dictionary/\";\r\n\r\n public get language(): string {\r\n return this._language;\r\n }\r\n\r\n public set rootUrl(value: string) {\r\n this._rootUrl = value;\r\n this._dictBasePath = this._rootUrl + \"/\" + this.dictionaryUrl;\r\n }\r\n\r\n // public dictionaryLoaded: Subject<void> = new Subject();\r\n\r\n private _dictBasePath: string;\r\n private _rootUrl: string;\r\n // private _dictionaryPromise: Map<LanguageCode, Promise<{ [key: string]: string }>> = new Map<LanguageCode, Promise<{ [key: string]: string }>>();\r\n private _dictionaries: Map<string, { [key: string]: string }> = new Map<string, { [key: string]: string }>();\r\n private _language: string;\r\n\r\n // Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.\r\n private readonly _placeholder: string = \"|~\";\r\n\r\n constructor(\r\n ) {\r\n }\r\n\r\n // Loads the dictionary for given language in memory.\r\n public async setDictionary(language: string): Promise<void> {\r\n this._language = language || LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n private _loadDictionary() {\r\n if (!this._dictionaries.has(this._language)) {\r\n const dictionary: Dictionary = new Dictionary();\r\n // eslint-disable-next-line no-magic-numbers\r\n if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {\r\n // eslint-disable-next-line no-magic-numbers\r\n this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the localized text for the given dictionary key.\r\n * @param {string} key\r\n * @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val\r\n * @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value\r\n * @returns {string} The translated text for given dictionary key\r\n */\r\n public get(key: string, upperCaseFirst: boolean = true, ...replacementTexts: string[]): string {\r\n if (!StringUtils.IsStringWithLength(key)) {\r\n return key || \"\";\r\n }\r\n\r\n if (this.language === undefined) {\r\n this._language = LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n let text: string = this._dictionaries.get(this.language)[key];\r\n text = StringUtils.IsStringWithLength(text) ? text : key;\r\n\r\n if (upperCaseFirst) {\r\n text = text.charAt(0).toUpperCase() + text.slice(1);\r\n } else {\r\n text = text.charAt(0).toLowerCase() + text.slice(1);\r\n }\r\n\r\n if (replacementTexts.length > 0) {\r\n text = StringUtils.ReplaceOccurrencesIn(text, this._placeholder, ...replacementTexts);\r\n }\r\n\r\n return text;\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {BehaviorSubject} from \"rxjs\";\r\nimport {DictionaryService} from \"./dictionary.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class OptionsService {\r\n\r\n public set options(value: any) {\r\n this._options = value;\r\n }\r\n\r\n public get options(): any {\r\n return this._options;\r\n }\r\n\r\n public optionsLoaded: BehaviorSubject<boolean> = new BehaviorSubject(false);\r\n\r\n private _options: any;\r\n\r\n constructor(private _dictionary: DictionaryService) {\r\n }\r\n\r\n public async createSettingsFromObject(obj: any): Promise<void> {\r\n this.options = new Object();\r\n if (obj.hasOwnProperty(\"url\")) {\r\n this.options.url = obj[\"url\"];\r\n }\r\n if (obj.hasOwnProperty(\"schema\")) {\r\n this.options.schema = obj[\"schema\"];\r\n }\r\n if (obj.hasOwnProperty(\"version\")) {\r\n this.options.version = obj[\"version\"];\r\n }\r\n if (obj.hasOwnProperty(\"languageCode\")) {\r\n this.options.languageCode = obj[\"languageCode\"];\r\n } else {\r\n this.options.languageCode = \"NL\";\r\n }\r\n if (obj.hasOwnProperty(\"username\")) {\r\n this.options.username = obj[\"username\"];\r\n }\r\n if (obj.hasOwnProperty(\"password\")) {\r\n this.options.password = obj[\"password\"];\r\n }\r\n if (obj.hasOwnProperty(\"session\")) {\r\n this.options.session = obj[\"session\"];\r\n }\r\n if (obj.hasOwnProperty(\"useLoginEncryption\")) {\r\n this.options.useLoginEncryption = obj[\"useLoginEncryption\"];\r\n }\r\n\r\n this.optionsLoaded.next(true);\r\n }\r\n\r\n public async initialize(options: any): Promise<void> {\r\n if (options) {\r\n await this.createSettingsFromObject(options);\r\n await this._dictionary.setDictionary(this.options.languageCode);\r\n }\r\n }\r\n}\r\n","import {notNill} from \"@colijnit/transactionapi/build/utils/function/not-nill.function\";\r\nimport {ObjectUtils} from \"@colijnit/transactionapi/build/utils/object-utils\";\r\n\r\nconst PROP_META_KEY: string = \"complexField\";\r\n\r\n/**\r\n * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.\r\n */\r\n\r\n/**\r\n * Property decorator for properties of businessobject classes that are other strongly typed businessobjects.\r\n * Ensures that the BusinessObjectFactoryService makes properly typed objects from incoming raw persistence data. Otherwise we couldn't add methods\r\n * to our own businessobjects and use them, since all fields would be flat data without methods after BusinessObjectFactoryService creation.\r\n *\r\n * Usage:\r\n *\r\n * @ComplexField(Transaction)\r\n * public transaction: Transaction\r\n *\r\n * Also keeps track of a \"complexFieldProps\" metadata on the class-level, as a reflect-metadata workaround to be able to\r\n * retrieve all properties that have the @ComplexField(..) decorator (impossible with current Reflect API).\r\n */\r\nexport function ComplexField(type: any): PropertyDecorator {\r\n return function (target: any, propertyKey: string): void {\r\n if (!target || !propertyKey) {\r\n return;\r\n }\r\n\r\n // warn the programmer if given type was undefined; it's probably an import order glitch that caused this, because decorators seem\r\n // to be immediately processed when a class is first imported\r\n if (!type) {\r\n // eslint-disable-next-line no-console\r\n console.warn(`@ComplexField(type): type was UNDEFINED. Called on prop (${ObjectUtils.GetClassName(target)}, ${propertyKey}). ` +\r\n `Class will not properly serialize and deserialize now. We've always been able to fix this by CHANGING IMPORT ORDERS ` +\r\n `where both classes and their dependencies are used, e.g. factory, repository or models..`);\r\n return;\r\n }\r\n Reflect.defineMetadata(PROP_META_KEY, type, target, propertyKey);\r\n };\r\n}\r\n\r\n// Utility function holder of the ComplexFieldDecorator decorator.\r\nexport class ComplexFieldDecorator {\r\n\r\n /**\r\n * Returns whether given property (as a string) on given object is a complex field. A complex field is a field that is decorated\r\n * with the @ComplexField decorator.\r\n */\r\n public static IsComplexField(target: Object, propertyKey: string): boolean {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return false;\r\n }\r\n return (notNill(Reflect.getMetadata(PROP_META_KEY, target, propertyKey)));\r\n }\r\n\r\n // Returns the VALUE of the @ComplexField(VALUE) property decorator on the given propertyKey on the given modelObject.\r\n public static GetComplexFieldType(target: Object, propertyKey: string): any {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return undefined;\r\n }\r\n return Reflect.getMetadata(PROP_META_KEY, target, propertyKey);\r\n }\r\n}\r\n","import {notNill} from \"@colijnit/transactionapi/build/utils/function/not-nill.function\";\r\nimport {ObjectUtils} from \"@colijnit/transactionapi/build/utils/object-utils\";\r\n\r\nconst PROP_META_KEY: string = \"complexArray\";\r\n\r\n/**\r\n * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.\r\n */\r\n\r\n/**\r\n * Property decorator for properties of businessobject classes that are an array of other strongly typed businessobjects.\r\n * Ensures that the BusinessObjectFactoryService makes properly typed objects from incoming raw persistence data. Otherwise we couldn't add methods\r\n * to our own businessobjects and use them, since all fields would be flat data without methods after BusinessObjectFactoryService creation.\r\n *\r\n * Usage:\r\n *\r\n * @ComplexArray(TransactionLine)\r\n * public transactionLines: TransactionLine[]\r\n */\r\nexport function ComplexArray(type: any): PropertyDecorator {\r\n return function (target: any, propertyKey: string): void {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return;\r\n }\r\n // warn the programmer if given type was undefined; it's probably an import order glitch that caused this, because decorators seem\r\n // to be immediately processed when a class is first imported\r\n if (!type) {\r\n console.warn(`@ComplexArray(type): type was UNDEFINED. Called on prop (${ObjectUtils.GetClassName(target)}, ${propertyKey}). ` +\r\n `Class will not properly serialize and deserialize now. We've always been able to fix this by CHANGING IMPORT ORDERS ` +\r\n `where both classes and their dependencies are used, e.g. factory, repository or models..`);\r\n return;\r\n }\r\n Reflect.defineMetadata(PROP_META_KEY, type, target, propertyKey);\r\n };\r\n}\r\n\r\n// Utility function holder of the ComplexArrayDecorator decorator.\r\nexport class ComplexArrayDecorator {\r\n /**\r\n * Returns whether given property (as a string) on given object is a complex array. A complex array is an array field that is decorated\r\n * with the @ComplexArray decorator.\r\n */\r\n public static IsComplexArray(target: Object, propertyKey: string): boolean {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return false;\r\n }\r\n\r\n return (notNill(Reflect.getMetadata(PROP_META_KEY, target, propertyKey)));\r\n }\r\n\r\n /**\r\n * Returns the VALUE of the @ComplexArray(VALUE) property decorator on the given propertyKey on the given modelobject.\r\n */\r\n public static GetComplexArrayType(target: Object, propertyKey: string): any {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return undefined;\r\n }\r\n\r\n return Reflect.getMetadata(PROP_META_KEY, target, propertyKey);\r\n }\r\n}\r\n","import {GetYesNoDbBooleanValue} from \"@colijnit/transactionapi/build/enum/yes-no-db-type.enum\";\r\nimport {GetTrueFalseDbBooleanValue} from \"@colijnit/transactionapi/build/enum/true-false-db-type.enum\";\r\nimport {GetOneZeroDbBooleanValue} from \"@colijnit/transactionapi/build/enum/one-zero-bool-db-type.enum\";\r\nimport {DbBooleanValueType, GetLogicalBooleanValue} from \"@colijnit/transactionapi/build/enum/db-boolean-value-type.enum\";\r\n\r\nconst PROP_META_KEY_JN: string = \"booleanTextJN\";\r\nconst PROP_META_KEY_TF: string = \"booleanTextTF\";\r\nconst PROP_META_KEY_10: string = \"booleanText10\";\r\n\r\n/**\r\n * There are 'J', 'T', 'N', 'F', 0 and 1 'boolean values' in the database. These should be translated to true and false boolean values in\r\n * our client application.\r\n *\r\n * The values 'J' and 'N' seem to be most commonly used. This is the default setting when using this decorator.\r\n * You can pass 'T' or 1 for the other variants as follows:\r\n *\r\n * Usage:\r\n *\r\n * @BooleanText() or @BooleanText(\"J\") (the default, uses YesNoDbType char values)\r\n * public foo: boolean // 'J' and 'N' become true and false after BusinessObjectFactoryService and -SerializerService processing\r\n *\r\n * @BooleanText('T') (uses TrueFalseDbType char values)\r\n * public bar: boolean // 'T' and 'F' become true and false after BusinessObjectFactoryService and -SerializerService processing\r\n *\r\n * @BooleanText(1)\r\n * public baz: boolean // 1 and 0 become true and false after BusinessObjectFactoryService and -SerializerService processing\r\n */\r\nexport function BooleanText(type?: \"J\" | \"T\" | 1): PropertyDecorator {\r\n return function (target: any, propertyKey: string): void {\r\n if (!target || !propertyKey) {\r\n return;\r\n }\r\n // by default, it's a J N boolean text\r\n if (!type || type === \"J\") {\r\n Reflect.defineMetadata(PROP_META_KEY_JN, true, target, propertyKey);\r\n } else if (type === \"T\") {\r\n Reflect.defineMetadata(PROP_META_KEY_TF, true, target, propertyKey);\r\n } else if (type === 1) {\r\n Reflect.defineMetadata(PROP_META_KEY_10, true, target, propertyKey);\r\n }\r\n };\r\n}\r\n\r\n// Utility function holder of the BooleanTextDecorator decorator.\r\nexport class BooleanTextDecorator {\r\n\r\n /**\r\n * Returns whether given property (as a string) on given object is a boolean text field. That is, it's a field that is decorated\r\n * with the @BooleanText decorator.\r\n */\r\n public static IsBooleanTextField(target: Object, propertyKey: string): boolean {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return false;\r\n }\r\n return (\r\n Reflect.getMetadata(PROP_META_KEY_JN, target, propertyKey) === true\r\n ||\r\n Reflect.getMetadata(PROP_META_KEY_TF, target, propertyKey) === true\r\n ||\r\n Reflect.getMetadata(PROP_META_KEY_10, target, propertyKey) === true\r\n );\r\n }\r\n\r\n /**\r\n * Returns the logical true or false value of given character ('J', 'N', 'T' or 'F') or number (0 or 1).\r\n * Returns UNDEFINED if given boolChar was not recognised as a boolean text.\r\n */\r\n public static GetLogicalBooleanValue(dbBoolChar: DbBooleanValueType | string): boolean {\r\n return GetLogicalBooleanValue(dbBoolChar);\r\n }\r\n\r\n /**\r\n * Returns the boolean character / number of given logical bool property on target object. Uses its @BooleanText() annotation to decide\r\n * what character / number to return.\r\n * Used in BusinessObjectSerializerServiceService to convert logical bools to their original boolean character.\r\n * @returns {string|number} The original, reverse-engineered boolean character (or number) of given object property, or undefined.\r\n */\r\n public static GetDbBooleanValue(target: Object, propertyKey: string): DbBooleanValueType {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return undefined;\r\n }\r\n\r\n let dbBoolVal: any = undefined;\r\n\r\n const curBoolVal: boolean = target[propertyKey];\r\n\r\n if (BooleanTextDecorator._IsJaNeeProp(target, propertyKey)) {\r\n dbBoolVal = GetYesNoDbBooleanValue(curBoolVal);\r\n } else if (BooleanTextDecorator._IsTrueFalseProp(target, propertyKey)) {\r\n dbBoolVal = GetTrueFalseDbBooleanValue(curBoolVal);\r\n } else if (BooleanTextDecorator._IsZeroOneProp(target, propertyKey)) {\r\n dbBoolVal = GetOneZeroDbBooleanValue(curBoolVal);\r\n }\r\n\r\n return dbBoolVal as any as DbBooleanValueType;\r\n }\r\n\r\n private static _IsJaNeeProp(target: Object, propertyKey: string): boolean {\r\n return BooleanTextDecorator._IsProp(PROP_META_KEY_JN, target, propertyKey);\r\n }\r\n\r\n private static _IsTrueFalseProp(target: Object, propertyKey: string): boolean {\r\n return BooleanTextDecorator._IsProp(PROP_META_KEY_TF, target, propertyKey);\r\n }\r\n\r\n private static _IsZeroOneProp(target: Object, propertyKey: string): boolean {\r\n return BooleanTextDecorator._IsProp(PROP_META_KEY_10, target, propertyKey);\r\n }\r\n\r\n private static _IsProp(prop: string, target: Object, propertyKey: string): boolean {\r\n return !!target && !!propertyKey && typeof target === \"object\" && Reflect.hasMetadata(prop, target, propertyKey);\r\n }\r\n}\r\n","import {DateUtils} from \"@colijnit/transactionapi/build/utils/date-utils\";\r\n\r\nconst PROP_META_KEY: string = \"dateField\";\r\n\r\n/**\r\n * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.\r\n */\r\n\r\n/**\r\n * Property decorator for properties of businessobject classes that are of type Date, but are sent to us as strings.\r\n * Ensures that the BusinessObjectFactory makes proper JavaScript Date objects from incoming strings for @DateField() decorated properties.\r\n *\r\n * Usage:\r\n *\r\n * @DateField()\r\n * public expectedDeliveryDate: Date\r\n */\r\nexport function DateField(): PropertyDecorator {\r\n return function (target: any, propertyKey: string): void {\r\n if (!target || !propertyKey) {\r\n return;\r\n }\r\n Reflect.defineMetadata(PROP_META_KEY, undefined, target, propertyKey);\r\n };\r\n}\r\n\r\n// Utility function holder of the @DateField() decorator.\r\nexport class DateFieldFieldDecorator {\r\n\r\n // Returns whether given property (as a string) on given object is decorated with @DateField().\r\n public static IsDateField(target: Object, propertyKey: string): boolean {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return false;\r\n }\r\n return Reflect.hasMetadata(PROP_META_KEY, target, propertyKey);\r\n }\r\n\r\n public static StringAsDate(str: string): Date {\r\n return DateUtils.StringAsDate(str);\r\n }\r\n}\r\n","import {NumberUtils} from \"@colijnit/transactionapi/build/utils/number-utils\";\r\n\r\nconst PROP_META_KEY: string = \"stringNumber\";\r\n/**\r\n * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.\r\n */\r\n\r\n/**\r\n * Decorator for properties of businessobjects that are sent to us as strings from the database, but which we want to use as a number in the client.\r\n *\r\n * Can be handy for incongruent backend api cases, where id data types are communicated wrongly via strings instead of numbers\r\n * (e.g. on EmployeeFullObject.district, points to a District which has a number id, but in employee it's a string representation of that number...)\r\n *\r\n * Used by business object factory and -serializer.\r\n *\r\n * Usage:\r\n *\r\n * @StringNumber()\r\n * public rights: UserRightType\r\n */\r\nexport function StringNumber(): PropertyDecorator {\r\n return function (target: any, propertyKey: string): void {\r\n if (!target || !propertyKey) {\r\n return;\r\n }\r\n Reflect.defineMetadata(PROP_META_KEY, undefined, target, propertyKey);\r\n };\r\n}\r\n\r\n// Utility function holder of the @StringNumber() decorator.\r\nexport class StringNumberDecorator {\r\n\r\n // Returns whether given property (as a string) on given object is decorated with @StringNumber().\r\n public static IsStringNumber(target: Object, propertyKey: string): boolean {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return false;\r\n }\r\n return Reflect.hasMetadata(PROP_META_KEY, target, propertyKey);\r\n }\r\n\r\n public static StringAsNumber(str: string): number {\r\n return NumberUtils.ParseFloatKeepPrecision(str);\r\n }\r\n\r\n public static NumberAsString(nr: number): string {\r\n return \"\" + nr;\r\n }\r\n}\r\n","// @returns true iff given value equals null or equals undefined\r\nexport function isNill(value: any): boolean {\r\n return value === null || value === undefined;\r\n}","import {ObjectUtils} from \"@colijnit/transactionapi/build/utils/object-utils\";\r\nimport {NumberUtils} from \"@colijnit/transactionapi/build/utils/number-utils\";\r\nimport {isNill} from \"@colijnit/transactionapi/build/utils/function/is-nill.function\";\r\nimport {notNill} from \"@colijnit/transactionapi/build/utils/function/not-nill.function\";\r\n\r\nexport class ArrayUtils {\r\n /**\r\n * Returns whether at least one element in given array could be found by given finder function.\r\n *\r\n * @param {T[]} array\r\n * @param {(element: T) => boolean} finder A finder function that takes an element of the array and returns a boolean that represents\r\n * the 'found status' for that element; whether it should have been found or not.\r\n */\r\n public static ContainsAnElementFoundBy<T>(array: T[], finder: (element: T) => boolean): boolean {\r\n if (!array || !finder) {\r\n return false;\r\n }\r\n\r\n return notNill(this.Find<T>(array, finder));\r\n }\r\n\r\n /**\r\n * Cross-browser Array.find() function. Returns the first item in given array for which the foundBy function returns true. Returns\r\n * undefined when none was found.\r\n *\r\n * Example usage:\r\n * const foundItem: BusinessObject = ArrayUtils.Find<BusinessObject>(modelArray, (modelItem: BusinessObject) => <br>\r\n * (return modelItem.getId() === '1')\r\n * * });\r\n *\r\n * @param array The array with items to search in.\r\n * @param foundBy The finder function applied on each items of the array, when that returns true, the item is considered found.\r\n */\r\n public static Find<T>(array: T[], foundBy: (item: T) => boolean): T {\r\n if (!array || !foundBy) {\r\n return undefined;\r\n }\r\n\r\n for (let i: number = 0, len: number = array.length; i < len; i++) {\r\n const itemCur: T = array[i];\r\n if (foundBy(itemCur) ) {\r\n return itemCur;\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n // @returns empty array when nothing found, otherwise array with found items\r\n public static FindAll<T>(array: T[], foundBy: (item: T) => boolean): T[] {\r\n const answer: T[] = [];\r\n if (!array || !foundBy) {\r\n return answer;\r\n }\r\n\r\n for (let i: number = 0, len: number = array.length; i < len; i++) {\r\n const itemCur: T = array[i];\r\n if (foundBy(itemCur)) {\r\n answer.push(itemCur);\r\n }\r\n }\r\n return answer;\r\n }\r\n\r\n // returns a simple clone of given array, using array.slice(0)\r\n public static CloneArray<T>(array: T[]): T[] {\r\n let answer: T[] = [];\r\n\r\n if (array) {\r\n answer = array.slice(0);\r\n }\r\n\r\n return answer;\r\n }\r\n\r\n /**\r\n * Returns a 'semi deep clone' of given array. Its first-level members are object-shallow-cloned (optionally with a strongly typed constructor),\r\n * or just as plain object (see param arrayItemsClass).\r\n * @param array\r\n * @param arrayItemsClass If provided, the cloned array's first-level items will be strongly typed to / constructed as this class. Otherwise\r\n * it'll be a plain object.\r\n * @param deepClone Set to true if array items contain FUNCTIONS that need to be cloned..\r\n * @returns {Array} semi-deep clone of given array\r\n */\r\n public static CloneArrayAndItsItems<T>(array: T[], arrayItemsClass?: any, deepClone: boolean = false): T[] {\r\n const cloneArray: T[] = [];\r\n\r\n if (array) {\r\n for (let i: number = 0, len: number = array.length; i < len; i++) {\r\n if (deepClone) {\r\n cloneArray.push(ObjectUtils.GetDeepClone(array[i]));\r\n } else {\r\n cloneArray.push(ObjectUtils.GetShallowClone(array[i], arrayItemsClass));\r\n }\r\n }\r\n } else {\r\n return [];\r\n }\r\n\r\n return cloneArray;\r\n }\r\n\r\n /**\r\n * Removes element at given index from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really\r\n * removes the element using splice().\r\n *\r\n * @param {number} index\r\n * @param {any[]} array in-out\r\n * @returns {boolean} True if and only if the element on given index is succesfully removed from given array.\r\n */\r\n public static RemoveElementAtIndex(index: number, array: any[]): boolean {\r\n if (NumberUtils.IsNaN(index) || index < 0 || !Array.isArray(array) || array.length === 0) {\r\n return false;\r\n }\r\n\r\n if (index in array) {\r\n array.splice(index, 1);\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Removes given element from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really removes the\r\n * element using splice(). Also works on associative arrays.\r\n *\r\n * @param {T} element The element to remove.\r\n * @param {T[]} array The array to remove the element from.\r\n * @returns {boolean} True iff given element was truly successfully removed from given array.\r\n */\r\n public static RemoveElement<T>(element: T, array: T[]): boolean {\r\n if (!Array.isArray(array)) {\r\n return false;\r\n }\r\n\r\n const index: number = array.indexOf(element);\r\n return ArrayUtils.RemoveElementAtIndex(index, array);\r\n }\r\n\r\n // Checks if given array is defined, and is an array, and has length > 0, and, optionally checks that the first element is of type given clazz.\r\n public static IsArrayWithElements<T>(arrayToCheck: T[], classItemsMustBeInstanceOf?: any): boolean {\r\n if (isNill(arrayToCheck)) {\r\n return false;\r\n }\r\n\r\n if (Array.isArray(arrayToCheck) && arrayToCheck.length > 0) {\r\n if (classItemsMustBeInstanceOf) {\r\n return arrayToCheck[0] instanceof classItemsMustBeInstanceOf;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n // Removes all elements from given array for which given filter function holds true. Returns true if at least one removed, else false.\r\n public static RemoveElementsByFilter(array: any[], filterFunction: (item: any) => boolean): boolean {\r\n if (!ArrayUtils.IsArrayWithElements(array) || !filterFunction) {\r\n return false;\r\n }\r\n\r\n let atLeastOneRemoved: boolean = false;\r\n\r\n const len: number = array.length;\r\n for (let i: number = len - 1; i >= 0; i--) {\r\n const item: any = array[i];\r\n if (filterFunction.call(this, item) === true) {\r\n array.splice(i, 1);\r\n atLeastOneRemoved = true;\r\n }\r\n }\r\n\r\n return atLeastOneRemoved;\r\n }\r\n\r\n public static MoveElement<T>(element: T, toIndex: number, array: T[]): boolean {\r\n if (!Array.isArray(array) || isNill(toIndex)) {\r\n return false;\r\n }\r\n\r\n const fromIndex: number = array.indexOf(element);\r\n const toIndexCorrected: number = NumberUtils.GetNearestNumberWithinBounds(toIndex, 0, array.length - 1);\r\n if (fromIndex === -1 || array[toIndexCorrected] === element) {\r\n // element did not exist in given array, or already existed on given toIndex\r\n return false;\r\n }\r\n array.splice(toIndexCorrected, 0, array.splice(fromIndex, 1)[0]);\r\n return true;\r\n }\r\n\r\n // PRE: elements exists in given array. POST: given elementToPlace has a lower index than given afterThisElement. Array is in-out manipulated.\r\n public static PlaceElementAfterOther(array: any[], elementToPlace: any, afterThisElement: any): void {\r\n if (array) {\r\n const afterThisElIdx: number = array.indexOf(afterThisElement);\r\n const elToPlaceIdx: number = array.indexOf(elementToPlace);\r\n if (afterThisElIdx >= elToPlaceIdx) {\r\n ArrayUtils.MoveElement(elementToPlace, afterThisElIdx + 1, array);\r\n }\r\n }\r\n }\r\n}\r\n","/**\r\n * This type represents the concept of a business object ID type. ID's of business objects can be a primary number, a simple string or a\r\n * object for a composite key.\r\n *\r\n * Simply to prevent type declarations of 'number | string | Object' for BO ID data all over the application.\r\n */\r\nimport {MapPropertyDecorator} from \"@colijnit/transactionapi/build/factory/decorators/map-property.decorator\";\r\nimport {BooleanTextDecorator} from \"@colijnit/transactionapi/build/factory/decorators/boolean.decorator\";\r\nimport {JsonFieldFieldDecorator} from \"@colijnit/transactionapi/build/factory/decorators/json.decorator\";\r\nimport {ComplexArrayDecorator} from \"@colijnit/transactionapi/build/factory/decorators/complex-array.decorator\";\r\n\r\nexport type BusinessObjectIDType = number | string | Object;\r\n\r\nexport abstract class BusinessObject {\r\n // The ID of the model.\r\n public id: BusinessObjectIDType;\r\n\r\n // Overridable. Returns the ID of the model. Concrete model classes often override this method to provide their specific ID getter.\r\n public getId(): BusinessObjectIDType {\r\n return this.id;\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n protected setOwnMappedPropsFromRawData(rawData: any = {}): void {\r\n if (!rawData) {\r\n return;\r\n }\r\n Object.keys(this).forEach((key) => {\r\n // check if property needs to be mapped\r\n if (MapPropertyDecorator.IsMapProperty(this, key)) {\r\n const mapKeys: string[] = MapPropertyDecorator.GetMapProperty(this, key).split(\",\");\r\n const len: number = mapKeys.length;\r\n for (let i: number = 0; i < len; i++) {\r\n // eslint-disable-next-line \r\n const mapKey = mapKeys[i].trim();\r\n const objProp: any = rawData[mapKey];\r\n let decorated: boolean = false;\r\n if (rawData.hasOwnProperty(mapKey)) {\r\n if (BooleanTextDecorator.IsBooleanTextField(this, key)) {\r\n this[key] = BooleanTextDecorator.GetLogicalBooleanValue(objProp);\r\n decorated = true;\r\n }\r\n if (JsonFieldFieldDecorator.IsJsonField(this, key)) {\r\n this[key] = JsonFieldFieldDecorator.StringAsJson(objProp);\r\n decorated = true;\r\n }\r\n if (ComplexArrayDecorator.IsComplexArray(this, key)) {\r\n const arrayClass: any = ComplexArrayDecorator.GetComplexArrayType(this, key);\r\n // eslint-disable-next-line \r\n const origArray = this[key];\r\n // eslint-disable-next-line \r\n const newArray = [];\r\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\r\n for (let j = 0; j < origArray.length; j++) {\r\n // eslint-disable-next-line\r\n const item = new arrayClass(origArray[j]);\r\n newArray.push(item);\r\n }\r\n this[key] = newArray;\r\n } else {\r\n if (!decorated) {\r\n this[key] = objProp;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n } else {\r\n if (rawData.hasOwnProperty(key)) {\r\n const objProp: any = rawData[key];\r\n if (BooleanTextDecorator.IsBooleanTextField(this, key)) {\r\n this[key] = BooleanTextDecorator.GetLogicalBooleanValue(objProp);\r\n } else if (JsonFieldFieldDecorator.IsJsonField(this, key)) {\r\n this[key] = JsonFieldFieldDecorator.StringAsJson(objProp);\r\n } else {\r\n this[key] = objProp;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import {ComplexFieldDecorator} from \"./decorators/complex-field.decorator\";\r\nimport {ComplexArrayDecorator} from \"./decorators/complex-array.decorator\";\r\nimport {BooleanTextDecorator} from \"./decorators/boolean.decorator\";\r\nimport {DateFieldFieldDecorator} from \"./decorators/date-field.decorator\";\r\nimport {StringNumberDecorator} from \"./decorators/string-number.decorator\";\r\nimport {isNill} from \"../utils/is-nill.function\";\r\nimport {ArrayUtils} from \"../utils/array-utils\";\r\nimport {BusinessObject} from \"../model/business-object\";\r\n\r\n// Factory service creates businessobjects, using their decorators in the process.\r\nexport class BusinessObjectFactory {\r\n constructor() {\r\n }\r\n\r\n /**\r\n * Creates and returns a new business data object instance of given class, with all given data properties applied to it in a\r\n * complex-aware style. That is, all properties on given class that are decorated with @ComplexField(..) or @ComplexArray(..) decorators\r\n * become strongly typed business objects, with methods that are usable and such.\r\n *\r\n * @param modelClass\r\n * @param {Object} rawData The object with all (possibly raw/flat/not alive) data to be applied to the created model object\r\n */\r\n public makeWithRawBackendData(modelClass: any, rawData: Object): BusinessObject {\r\n if (!modelClass) {\r\n return undefined;\r\n }\r\n if (typeof modelClass !== typeof BusinessObject) {\r\n return undefined;\r\n }\r\n\r\n const model: BusinessObject = new modelClass();\r\n this._copyAllPropertiesDecoratorProcessedFrom(rawData, model);\r\n return model;\r\n }\r\n\r\n // see makeWithRawBackendData, this is a loop-wrapper around that method\r\n public makeBOArrayFromRawBackendDataArray(modelClass: any, arrayOfRawDatas: Object[]): BusinessObject[] {\r\n if (!modelClass) {\r\n return undefined;\r\n }\r\n\r\n const trueClientBos: BusinessObject[] = [];\r\n if (arrayOfRawDatas) {\r\n for (let i: number = 0, len: number = arrayOfRawDatas.length; i < len; i++) {\r\n trueClientBos.push(this.makeWithRawBackendData(modelClass, arrayOfRawDatas[i]));\r\n }\r\n }\r\n return trueClientBos;\r\n }\r\n\r\n public instantiateNewBo(modelClass: any): BusinessObject {\r\n return this.makeWithRawBackendData(modelClass, {});\r\n }\r\n\r\n /**\r\n * Applies all properties of given 'source' object to the given 'destination' businessobject, if destination has that property.\r\n * Works with the @ComplexField(), @ComplexArray, @BooleanText, @CoInject and @DateField annotations of given destination model.\r\n *\r\n * @param sourceData Raw data to copy to destination model\r\n * @param {BusinessObject} destinationModel InOut: The annotated businessobject to apply source properties to\r\n */\r\n private _copyAllPropertiesDecoratorProcessedFrom(sourceData: any, destinationModel: BusinessObject): void {\r\n if (!sourceData || !destinationModel) {\r\n return;\r\n }\r\n\r\n // process all source data into destinationModel\r\n for (const srcPropKey in sourceData) {\r\n if (!sourceData.hasOwnProperty(srcPropKey)) {\r\n continue;\r\n }\r\n\r\n const srcPropVal: any = sourceData[srcPropKey];\r\n\r\n if (ComplexFieldDecorator.IsComplexField(destinationModel, srcPropKey)) {\r\n const classOfField: any = ComplexFieldDecorator.GetComplexFieldType(destinationModel, srcPropKey);\r\n destinationModel[srcPropKey] = this.makeWithRawBackendData(classOfField, srcPropVal);\r\n } else if (ComplexArrayDecorator.IsComplexArray(destinationModel, srcPropKey)) {\r\n const sourceArray: any[] = srcPropVal;\r\n if (!sourceArray) {\r\n continue;\r\n }\r\n const classOfArrayItems: any = ComplexArrayDecorator.GetComplexArrayType(destinationModel, srcPropKey);\r\n const tempArray: any[] = [];\r\n for (let i: number = 0, len: number = sourceArray.length; i < len; i++) {\r\n tempArray.push(this.makeWithRawBackendData(classOfArrayItems, sourceArray[i]));\r\n }\r\n destinationModel[srcPropKey] = tempArray;\r\n } else if (BooleanTextDecorator.IsBooleanTextField(destinationModel, srcPropKey)) {\r\n // logical 'true' and 'false' also allowed as incoming values for @BooleanText() properties: then just copy their value\r\n if (typeof srcPropVal === \"boolean\") {\r\n destinationModel[srcPropKey] = srcPropVal;\r\n // here, it should be a 'J' or 'N' (or 'T' or 'F'): assign the associated boolean value\r\n } else {\r\n destinationModel[srcPropKey] = BooleanTextDecorator.GetLogicalBooleanValue(srcPropVal);\r\n }\r\n } else if (DateFieldFieldDecorator.IsDateField(destinationModel, srcPropKey)) {\r\n destinationModel[srcPropKey] = DateFieldFieldDecorator.StringAsDate(srcPropVal);\r\n } else if (StringNumberDecorator.IsStringNumber(destinationModel, srcPropKey)) {\r\n destinationModel[srcPropKey] = StringNumberDecorator.StringAsNumber(srcPropVal);\r\n }\r\n // non-decorated prop\r\n else {\r\n if (isNill(srcPropVal)) {\r\n destinationModel[srcPropKey] = undefined;\r\n } else if (Array.isArray(srcPropVal)) {\r\n destinationModel[srcPropKey] = ArrayUtils.CloneArray(srcPropVal);\r\n } else if (typeof srcPropVal === \"object\") {\r\n if (srcPropVal instanceof Map) { //just copy the value in case of maps\r\n destinationModel[srcPropKey] = srcPropVal;\r\n } else {\r\n destinationModel[srcPropKey] = Object.assign({}, srcPropVal);\r\n }\r\n } else {\r\n destinationModel[srcPropKey] = srcPropVal;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","export class StandardText {\r\n public textId: number;\r\n public description: string;\r\n public text: string;\r\n}\r\n","import {Injectable} from \"@angular/core\";\nimport {Marketing} from \"@colijnit/transactionapi/build/model/marketing.bo\";\nimport {CustomerFullObject} from \"@colijnit/transactionapi/build/model/customer-full-object.bo\";\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\nimport {PrivacySetting} from \"@colijnit/transactionapi/build/model/privacy-setting.bo\";\nimport {RelationPrivacySetting} from \"@colijnit/transactionapi/build/model/relation-privacy-setting.bo\";\nimport {SequenceName} from \"@colijnit/transactionapi/build/enum/sequence-name.enum\";\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\nimport {DeliveryOption} from \"@colijnit/transactionapi/build/model/delivery-option.bo\";\nimport {SetTransactionDeliveryOptionsRequest} from \"@colijnit/transactionapi/build/model/set-transaction-delivery-options-request.bo\";\nimport {GetPostalCodeRetrievalOutputParams} from \"@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params\";\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\nimport {RelationRequest} from \"@colijnit/transactionapi/build/model/relation-request\";\nimport {TransactionLineType} from \"@colijnit/transactionapi/build/enum/transaction-line-type.enum\";\nimport {CoDomainValue} from \"@colijnit/transactionapi/build/model/co-domain-value.bo\";\nimport {TransactionArticleWarehouse} from \"@colijnit/transactionapi/build/model/transaction-article-warehouse.bo\";\nimport {ArticleFullObject} from \"@colijnit/transactionapi/build/model/article-full-object\";\nimport {TransactionResponseBase} from \"@colijnit/transactionapi/build/model/transaction-response-base.bo\";\nimport {Transaction} from \"@colijnit/transactionapi/build/transaction\";\nimport {DataServiceResponseData} from \"@colijnit/transactionapi/build/model/data-service-response-data\";\nimport {BusinessObjectFactory} from \"../factory/business-object-factory\";\nimport {ImageUtils} from \"@colijnit/transactionapi/build/utils/image-utils\";\nimport {StandardText} from \"../model/standard-text\";\nimport {CustomerGroup} from \"@colijnit/transactionapi/build/model/customer-group.bo\";\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\nimport {OptionsService} from \"./options.service\";\nimport {CashRegister} from \"@colijnit/transactionapi/build/model/cash-register\";\nimport {ChangeLineSequenceRequest} from \"@colijnit/transactionapi/build/model/change-line-sequence-request\";\nimport {ResolveLinePendingReasonRequest} from \"@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo\";\nimport {PriceList} from \"@colijnit/transactionapi/build/model/price-list\";\nimport {Vat} from \"@colijnit/transactionapi/build/model/vat\";\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class IOneConnectorAdapterService {\n public connector: Transaction;\n\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\n private _countryList: Country[] = [];\n\n constructor(private _optionsService: OptionsService) {}\n\n public async connect(): Promise<void> {\n this.connector = new Transaction(this._optionsService.options);\n }\n\n public async getArticleFullObject(goodId: number): Promise<ArticleFullObject> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getArticleFullObject(goodId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObject) {\n resolve(this._boFactory.makeWithRawBackendData(ArticleFullObject, result.resultObject));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getGoodIdFromArticleNr(articleNr: string): Promise<number> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getGoodIdFromArticleNr(articleNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.resultObject);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getSingleImage(nodeId: number | string, publication: number, includeMimetype: boolean, thumb: boolean): Promise<string> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getSingleImage(nodeId, publication, includeMimetype, thumb).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObject && result.resultObject.filePath !== null && result.resultObject.filePath !== undefined && result.resultObject.filePath !== \"\") {\n return resolve(ImageUtils.getFixedImageFilepathUrl(result.resultObject.filePath));\n } else {\n if (result.resultObject) {\n if (includeMimetype) {\n return resolve(ImageUtils.getDocBodyWithMimeTypeDefinition(result.resultObject.fileName,\n thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody));\n }\n return resolve(thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody);\n }\n else { // no image\n resolve(\"\");\n }\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getDocumentContent(id: number, thumbnail: boolean = true): Promise<string> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getDocumentContent(id, thumbnail).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.resultObject.documentContent);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getCountries(): Promise<Country[]> {\n if (this._countryList.length > 0) {\n return new Promise((resolve: Function) => {\n resolve(this._countryList);\n });\n }\n\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getCountries().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n this._countryList = result.resultObjects;\n resolve(result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getCustomerGroups(): Promise<CustomerGroup[]> {\n const response: DataServiceResponseData = await this.connector.getCustomerGroups();\n if (response && response.validationResult && response.validationResult.success) {\n return response.resultObjects;\n } else {\n return [];\n }\n }\n\n public getCountry(countryCode: string): Country {\n this.getCountries();\n return this._countryList.find(country => country.code === countryCode);\n }\n\n public getPrivacySettings(): Promise<PrivacySetting[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getPrivacySettings().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<PrivacySetting[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getRelationPrivacySettings(): Promise<RelationPrivacySetting[]> {\n const privacySettings: RelationPrivacySetting[] = [];\n\n const basePrivacySettings: PrivacySetting[] = await this.getPrivacySettings();\n for (let i: number = 0, len: number = basePrivacySettings.length; i < len; i++) {\n const basePrivSetting: PrivacySetting = basePrivacySettings[i];\n const newRelPrivSet: RelationPrivacySetting = <RelationPrivacySetting><unknown>this._boFactory.instantiateNewBo(RelationPrivacySetting);\n newRelPrivSet.applyBasePrivacySettingValues(basePrivSetting);\n privacySettings.push(newRelPrivSet);\n }\n return privacySettings;\n }\n\n public getMarketingCodes(): Promise<Marketing[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getMarketingCodes().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<CoDomainValue[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public createTransaction(kind: TransactionKind, branchNr: string): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.createTransaction(kind, branchNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getArticleBoundTextLinesOfArticleLine(articleLineUuid: string): Promise<TransactionLineInfo[]> {\n const result: DataServiceResponseData = await this.connector.getArticleBoundTextLinesOfArticleLine(articleLineUuid);\n if (result.validationResult && result.validationResult.success) {\n return <TransactionLineInfo[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(TransactionLineInfo, result.resultObject);\n } else {\n return [];\n }\n }\n\n public getTransactionByNrAndKind(kind: TransactionKind, transactionNo: number): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getTransactionByNrAndKind(kind, transactionNo).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getTransactionById(transactionId: number): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getTransactionById(transactionId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public commit(): Promise<DataServiceResponseData> {\n return this.connector.commit();\n }\n\n public saveTransaction(uuid: string): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.saveTransaction(uuid).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getCustomerFullObject(relationNo: number): Promise<CustomerFullObject> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getCustomerFullObject(relationNo).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getCashRegisters(branch?: string, group?: number): Promise<CashRegister[]> {\n const response: DataServiceResponseData = await this.connector.getCashRegister(branch, group);\n if (response.validationResult && response.validationResult.success) {\n return <CashRegister[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(CashRegister, response.resultObjects);\n } else {\n return [];\n }\n }\n\n public async getRelationNumber(relationId: number): Promise<string> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getRelationNumber(relationId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.resultObject);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getPriceLists(code?: string): Promise<PriceList[]> {\n const response = await this.connector.getPriceLists(code);\n if (response.validationResult && response.validationResult.success) {\n return <unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(PriceList, response.resultObjects) as PriceList[];\n } else {\n return []; // todo: handle error messages in a good way\n }\n }\n\n public async getVatList(onlyValid: boolean = false): Promise<Vat[]> {\n const response = await this.connector.getVatList(onlyValid);\n if (response.validationResult && response.validationResult.success) {\n return <unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(Vat, response.resultObjects) as Vat[];\n } else {\n return []; // todo: handle error messages in a good way\n }\n }\n\n public async getSequenceValue(sequenceName: SequenceName): Promise<number> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getSequenceValue(sequenceName).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.resultObject);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async insertCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.insertCustomer(relation).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async updateCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.updateCustomer(relation).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getDeliveryMethods(): Promise<DeliveryMethod[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getDeliveryMethods().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryMethod, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getDeliveryOptions(): Promise<DeliveryOption[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getDeliveryOptions().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryMethod, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async addRelationToTransaction(uuid: string, relationId: number): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.addRelationToTransaction(uuid, relationId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async setTransactionDeliveryOptions(transactionDeliveryOptionsRequest: SetTransactionDeliveryOptionsRequest): Promise<TransactionResponseBase> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.setTransactionDeliveryOptions(transactionDeliveryOptionsRequest).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getPostalCodeRetrieval(postcalCode: string, houseNo: string): Promise<GetPostalCodeRetrievalOutputParams> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getPostalCodeRetrieval(postcalCode, houseNo).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n const outputParams: GetPostalCodeRetrievalOutputParams = new GetPostalCodeRetrievalOutputParams();\n outputParams.city = result.resultObject.city;\n outputParams.street = result.resultObject.street;\n outputParams.status = result.resultObject.status;\n outputParams.netNumber = result.resultObject.netNumber;\n resolve(outputParams);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getRelationListObjects(relationRequest: RelationRequest): Promise<RelationListObject[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getRelationListObjects(relationRequest).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(RelationListObject, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async addTransactionLine(\n uuid: string,\n articleLine: TransactionLineType,\n articleNo: string,\n amount: number,\n warehouseNo: number,\n commissionCode: string,\n isReturn: boolean,\n aboveLineNr: number,\n belowLineNr: number\n ):\n Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.addTransactionLine(uuid, articleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async addTextLineToTransaction(uuid: string, showOnDocuments: number, text: string, amount: number, articleBound: boolean, refArticleLineNr: number, aboveLineNr?: number, belowLineNr?: number):\n Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.addTextLineToTransaction(uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async changeLineSequence(uuid: string, lineUuid: string, aboveLineNr?: number, belowLineNr?: number):\n Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n const request: ChangeLineSequenceRequest = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n aboveLineNr: aboveLineNr,\n belowLineNr: belowLineNr\n }\n return this.connector.changeLineSequence(request).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async cancelAddTransactionLine(lineUuid: string): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.cancelAddTransactionLine(lineUuid).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n\n }\n\n public async deleteTransactionLine(uuid: string, lineUuid: string): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.deleteTransactionLine(uuid, lineUuid).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n\n public async changeTransactionLineQuantity(uuid: string, lineUuid: string, newQuantity: number): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newQuantity: newQuantity\n }\n return this.connector.changeTransactionLineQuantity(request).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async resolvePendingLineReason(pendingLineValues: ResolveLinePendingReasonRequest): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.resolvePendingLineReason(pendingLineValues).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getCommissionCodes(languageCode: string): Promise<CoDomainValue[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getCommissionCodes(languageCode).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<CoDomainValue[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n\n }\n\n public async getInOutCollection(languageCode: string): Promise<CoDomainValue[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getInOutCollection(languageCode).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<CoDomainValue[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getTransactionArticleWarehouses(goodId: number): Promise<TransactionArticleWarehouse[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getTransactionArticleWarehouses(goodId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<TransactionArticleWarehouse[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async setRelationByUser(uuid: string, username: string, password: string): Promise<boolean> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.setRelationByUser(uuid, username, password).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.validationResult.success);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getTextTypes(languageCode: string): Promise<CoDomainValue[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getTextTypes(languageCode).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n const texts: CoDomainValue[] = <CoDomainValue[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);\n texts.sort((a, b) => a.sequence > b.sequence ? 1 : -1);\n resolve(texts);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getStandardTexts(languageCode: string): Promise<StandardText[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getStandardTexts(languageCode).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StandardText, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async changeTransactionLineCommissionCode(uuid: string, lineUuid: string, code: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newCommissionCode: code\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineCommissionCode(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineWarehouse(uuid: string, lineUuid: string, warehouseNumber: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newWarehouseNumber: warehouseNumber\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineWarehouse(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLinePrice(uuid: string, lineUuid: string, price: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newPrice: price\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLinePrice(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLinePriceList(uuid: string, lineUuid: string, priceList: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newPriceListCode: priceList\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLinePriceList(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineVat(uuid: string, lineUuid: string, id: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newVatId: id\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineVat(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineLineDiscount(uuid: string, lineUuid: string, type: DiscountType, discount: number, reason: string, code: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n discountType: type,\n newDiscount: discount,\n newDiscountReason: reason,\n newDiscountCode: code\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineDiscount(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineDeliveryMethod(uuid: string, lineUuid: string, method: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newDeliveryMethodCode: method\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineDeliveryMethod(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineDeliveryDate(uuid: string, lineUuid: string, date: Date): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newDeliveryDate: date\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineDeliveryDate(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineAssemblyTime(uuid: string, lineUuid: string, time: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newAssemblyTime: time\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineAssemblyTime(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineEditTime(uuid: string, lineUuid: string, time: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newEditTime: time\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineEditTime(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineSupplierArticleNumber(uuid: string, lineUuid: string, articleNumber: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newSupplierArticleNumber: articleNumber\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineSupplierArticleNumber(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineReference(uuid: string, lineUuid: string, reference: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newReference: reference\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineReference(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineCollectionCode(uuid: string, lineUuid: string, code: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newCollectionCode: code\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineCollectionCode(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n}\n","export enum AppPopupButtonType {\r\n Ok,\r\n Open,\r\n Save,\r\n Cancel,\r\n Yes,\r\n No,\r\n NoButton\r\n}\r\n","import {AppPopupButtonType} from \"../enum/app-popup-button-type.enum\";\r\n\r\nexport abstract class DialogBaseComponent {\r\n\r\n onClose(eventType: AppPopupButtonType, output?: any): void {\r\n return;\r\n }\r\n}\r\n","export enum AppPopupType {\r\n Error,\r\n Warning,\r\n Information,\r\n Confirmation\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogBaseComponent} from \"../core/base/dialog-base.component\";\r\nimport {AppPopupButtonType} from \"../core/enum/app-popup-button-type.enum\";\r\nimport {AppPopupType} from \"../core/enum/app-popup-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-confirmation-dialog\",\r\n template: `\r\n <co-dialog [showCloseIcon]=\"false\">\r\n <div class=\"confirmation-dialog-wrapper\">\r\n <div class=\"title\" [textContent]=\"title | localize\"></div>\r\n <div class=\"text\" [textContent]=\"text\"></div>\r\n <div class=\"button-wrapper\">\r\n <ng-container *ngIf=\"type === ptype.Confirmation\">\r\n <co-button [label]=\"'YES' | localize\" (click)=\"handleYesClick($event)\"></co-button>\r\n <co-button [label]=\"'NO' | localize\" (click)=\"handleNoClick($event)\"></co-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"type === ptype.Information\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick($event)\"></co-button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ConfirmationDialogComponent extends DialogBaseComponent {\r\n public readonly ptype: typeof AppPopupType = AppPopupType;\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public text: string;\r\n\r\n @Input()\r\n public type: AppPopupType\r\n\r\n @HostBinding(\"class.co-confirmation-dialog\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public handleYesClick(event: MouseEvent): void {\r\n this.onClose(AppPopupButtonType.Yes);\r\n }\r\n\r\n public handleNoClick(event: MouseEvent): void {\r\n this.onClose(AppPopupButtonType.No);\r\n }\r\n\r\n public handleOkClick(event: MouseEvent): void {\r\n this.onClose(AppPopupButtonType.Ok);\r\n }\r\n}\r\n","import {ApplicationRef, ComponentFactoryResolver, EmbeddedViewRef, Injectable, Injector} from \"@angular/core\";\r\nimport {AppPopupButtonType} from \"../component/core/enum/app-popup-button-type.enum\";\r\nimport {ConfirmationDialogComponent} from \"../component/confirmation-dialog/confirmation-dialog.component\";\r\nimport {AppPopupType} from \"../component/core/enum/app-popup-type.enum\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DialogService {\r\n\r\n private _componentRef: any;\r\n\r\n constructor(\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector\r\n ) {\r\n }\r\n\r\n public async showYesNo(title: string, text: string): Promise<any> {\r\n const data: {} = {\r\n title: title,\r\n text: text,\r\n type: AppPopupType.Confirmation\r\n };\r\n const response = await this._createComponent(ConfirmationDialogComponent, data);\r\n return response === AppPopupButtonType.Yes;\r\n }\r\n\r\n public showError(message: string): Promise<any> {\r\n const data: {} = {\r\n title: 'ERROR',\r\n text: message,\r\n type: AppPopupType.Error\r\n };\r\n return this._createComponent(ConfirmationDialogComponent, data);\r\n }\r\n\r\n public showInformation(message: string): Promise<any> {\r\n const data: {} = {\r\n title: 'INFORMATION',\r\n text: message,\r\n type: AppPopupType.Information\r\n };\r\n return this._createComponent(ConfirmationDialogComponent, data);\r\n }\r\n\r\n private _createComponent(componentClass: any, data: any): Promise<any> {\r\n return new Promise((resolve: Function) => {\r\n this._componentRef = this._compFactoryResolver\r\n .resolveComponentFactory(componentClass)\r\n .create(this.injector);\r\n for (let key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n this._componentRef.instance[key] = data[key];\r\n }\r\n }\r\n\r\n this.appRef.attachView(this._componentRef.hostView);\r\n\r\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n document.body.appendChild(domElem);\r\n this._componentRef.onDestroy(() => {\r\n this.appRef.detachView(this._componentRef.hostView);\r\n });\r\n\r\n this._componentRef.instance.onClose = (output: any) => {\r\n this.appRef.detachView(this._componentRef.hostView);\r\n this._componentRef = undefined;\r\n resolve(output);\r\n }\r\n })\r\n }\r\n\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {LineOperationStatus} from \"@colijnit/transactionapi/build/model/line-operation-status.bo\";\r\nimport {PendingReasonType} from \"@colijnit/transactionapi/build/enum/pending-reason-type.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {ValidationResult} from \"@colijnit/transactionapi/build/model/validation-result\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {IOneConnectorAdapterService} from \"./ione-connector-adapter.service\";\r\nimport {BehaviorSubject} from \"rxjs\";\r\nimport {CustomerFullObject} from \"@colijnit/transactionapi/build/model/customer-full-object.bo\";\r\nimport {TransactionLineType} from \"@colijnit/transactionapi/build/enum/transaction-line-type.enum\";\r\nimport {RelationStatus} from \"@colijnit/transactionapi/build/enum/relation-status.enum\";\r\nimport {DialogService} from \"./dialog.service\";\r\nimport {ResolveLinePendingReasonRequest} from \"@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class PendingReasonService {\r\n public transactionUpdated: BehaviorSubject<TransactionInfoResponse> = new BehaviorSubject<TransactionInfoResponse>(undefined);\r\n\r\n public applicationUser: boolean = false;\r\n public currentTransaction: TransactionInfoResponse = new TransactionInfoResponse();\r\n public relation: CustomerFullObject = new CustomerFullObject();\r\n\r\n public articleAmount: number = 0;\r\n\r\n constructor(\r\n protected dialogService: DialogService,\r\n protected options: OptionsService,\r\n protected connector: IOneConnectorAdapterService\r\n ) {\r\n }\r\n\r\n public async init(options: any): Promise<void> {\r\n await this.options.initialize(options);\r\n this.connector.connect();\r\n }\r\n\r\n public async cancelAddTransactionLine(lineUuid: string, remember: boolean = true): Promise<TransactionInfoResponse> {\r\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\r\n this.connector.cancelAddTransactionLine(lineUuid)\r\n .then(async (response: TransactionInfoResponse) => {\r\n if (remember) {\r\n this._rememberCurrentTransaction(response);\r\n }\r\n if (response.isSuccess) {\r\n resolve(response);\r\n } else {\r\n reject(response);\r\n }\r\n })\r\n .catch((reason: ValidationResult) => {\r\n resolve(null);\r\n });\r\n });\r\n }\r\n\r\n protected async handleLineOperationStatuses(response: TransactionInfoResponse): Promise<boolean> {\r\n if (!response.lineOperationStatuses || response.lineOperationStatuses.length === 0) {\r\n return true;\r\n }\r\n let success: boolean = true;\r\n for (let i: number = 0; i < response.lineOperationStatuses.length; i++) {\r\n const status: LineOperationStatus = response.lineOperationStatuses[i];\r\n const transLine: TransactionLineInfo = response.transactionLines.find(t => t.lineNr === status.lineNr);\r\n success = success && await this._handleLineOperationStatus(status, transLine);\r\n }\r\n return success;\r\n }\r\n\r\n protected async _rememberCurrentTransaction(value: TransactionInfoResponse): Promise<void> {\r\n this.currentTransaction = value;\r\n this._setAmount();\r\n this._initializeTransaction();\r\n this.transactionUpdated.next(this.currentTransaction);\r\n }\r\n\r\n private async _handleLineOperationStatus(operationStatus: LineOperationStatus, transactionLine: TransactionLineInfo): Promise<boolean> {\r\n switch (operationStatus.pendingReasonType) {\r\n case PendingReasonType.ABORTED:\r\n case PendingReasonType.CANCELLED:\r\n if (operationStatus.pendingReason === 'USER_DECISION') {\r\n await this._cancelArticle(operationStatus.uuid);\r\n } else {\r\n this._showReasonDialog(operationStatus.pendingReason);\r\n }\r\n return false;\r\n case PendingReasonType.CONFIRMATION_NEEDED:\r\n await this._confirmAction(transactionLine.uuid, operationStatus.pendingReason, operationStatus.pendingReasonType);\r\n return false;\r\n // case PendingReasonType.INVALID_LOGISTICS:\r\n // await this.showStockManager(this.currentPendingLine);\r\n // break;\r\n // case PendingReasonType.NON_CRITICAL_DISCONTINUATION:\r\n // await this._showInformation();\r\n // break;\r\n // case PendingReasonType.CHARACTERISTICS_ANSWER_NEEDED:\r\n // this.CharacteristicsAnswerNeeded();\r\n // break;\r\n case PendingReasonType.NONE:\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n public async resolvePendingLineReason(pendingLineValues: ResolveLinePendingReasonRequest): Promise<void> {\r\n const response: TransactionInfoResponse = await this.connector.resolvePendingLineReason(pendingLineValues);\r\n this._rememberCurrentTransaction(response);\r\n this.handleLineOperationStatuses(response);\r\n }\r\n\r\n private async _confirmAction(uuid: string, reason: string, type: PendingReasonType): Promise<void> {\r\n const reasonRequest = new ResolveLinePendingReasonRequest(uuid, reason, type);\r\n // const pendingReasonText: string = await this._getPendingReasonText(this.currentOperationStatus.pendingReason);\r\n reasonRequest.confirmation = await this.dialogService.showYesNo('Action', reason);\r\n await this.resolvePendingLineReason(reasonRequest);\r\n // this._handleLineOperationStatus()\r\n }\r\n\r\n private async _showReasonDialog(reason: string): Promise<void> {\r\n this.dialogService.showInformation(reason);\r\n }\r\n\r\n private _setAmount(): void {\r\n if (this.currentTransaction && this.currentTransaction.transactionLines) {\r\n this.articleAmount = this.currentTransaction.transactionLines.filter(t => t.lineType === TransactionLineType.ArticleLine).length;\r\n }\r\n }\r\n\r\n private _initializeTransaction(): void {\r\n if (!this.relation) {\r\n this.relation = new CustomerFullObject();\r\n this.relation.relationStatus = RelationStatus.RegularCustomer;\r\n this.relation.startDate = new Date();\r\n }\r\n if (this.currentTransaction.transactionInfo.preferredDeliveryDate2 === undefined) {\r\n this.currentTransaction.transactionInfo.preferredDeliveryDate2 = \"=\";\r\n }\r\n }\r\n\r\n private async _cancelArticle(uuid: string): Promise<void> {\r\n await this.cancelAddTransactionLine(uuid, false)\r\n .then((response: TransactionInfoResponse) => {\r\n this._rememberCurrentTransaction(response);\r\n }\r\n );\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\nimport {CustomerFullObject} from \"@colijnit/transactionapi/build/model/customer-full-object.bo\";\nimport {NULL_CUSTOMER_FULL_OBJECT} from \"@colijnit/transactionapi/build/model/nul-relation-object\";\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\nimport {Marketing} from \"@colijnit/transactionapi/build/model/marketing.bo\";\nimport {RelationPrivacySetting} from \"@colijnit/transactionapi/build/model/relation-privacy-setting.bo\";\nimport {SequenceName} from \"@colijnit/transactionapi/build/enum/sequence-name.enum\";\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\nimport {DeliveryOption} from \"@colijnit/transactionapi/build/model/delivery-option.bo\";\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\nimport {RelationRequest} from \"@colijnit/transactionapi/build/model/relation-request\";\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\nimport {ValidationResult} from \"@colijnit/transactionapi/build/model/validation-result\";\nimport {TransactionLineType} from \"@colijnit/transactionapi/build/enum/transaction-line-type.enum\";\nimport {CoDomainValue} from \"@colijnit/transactionapi/build/model/co-domain-value.bo\";\nimport {TransactionArticleWarehouse} from \"@colijnit/transactionapi/build/model/transaction-article-warehouse.bo\";\nimport {ArticleFullObject} from \"@colijnit/transactionapi/build/model/article-full-object\";\nimport {LineOperationStatus} from \"@colijnit/transactionapi/build/model/line-operation-status.bo\";\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\nimport {PendingReasonType} from \"@colijnit/transactionapi/build/enum/pending-reason-type.enum\";\nimport {StandardText} from \"../model/standard-text\";\nimport {DataServiceResponseData} from \"@colijnit/transactionapi/build/model/data-service-response-data\";\nimport {throwError} from \"rxjs\";\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\nimport {AddressType} from \"@colijnit/transactionapi/build/enum/address-type.enum\";\nimport {RelationAnyType} from \"@colijnit/transactionapi/build/model/relation-any-type\";\nimport {PendingReasonService} from \"./pending-reason.service\";\nimport {CashRegister} from \"@colijnit/transactionapi/build/model/cash-register\";\nimport {PriceList} from \"@colijnit/transactionapi/build/model/price-list\";\nimport {Vat} from \"@colijnit/transactionapi/build/model/vat\";\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class TransactionService extends PendingReasonService {\n\n private _imageCache: Map<string, string> = new Map();\n\n public pendingLineOperationStatus(lineOperationStatuses: LineOperationStatus[]): LineOperationStatus | undefined {\n const status: LineOperationStatus = lineOperationStatuses.find(line => line.pendingReasonType !== PendingReasonType.NONE\n && line.pendingReasonType !== PendingReasonType.NON_CRITICAL_DISCONTINUATION);\n return status;\n }\n\n public async updatePriceTransactionLine(uuid: string, lineUuid: string, price: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLinePrice(uuid, lineUuid, price)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateReferenceTransactionLine(uuid: string, lineUuid: string, reference: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineReference(uuid, lineUuid, reference)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateQuantityTransactionLine(uuid: string, lineUuid: string, quantity: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineQuantity(uuid, lineUuid, quantity)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateDeliveryDateTransactionLine(uuid: string, lineUuid: string, date: Date): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineDeliveryDate(uuid, lineUuid, date)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updatePriceListTransactionLine(uuid: string, lineUuid: string, priceList: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLinePriceList(uuid, lineUuid, priceList)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateVatTransactionLine(uuid: string, lineUuid: string, id: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineVat(uuid, lineUuid, id)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateCommissionCodeTransactionLine(uuid: string, lineUuid: string, code: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineCommissionCode(uuid, lineUuid, code)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateWarehouseTransactionLine(uuid: string, lineUuid: string, warehouseNumber: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineWarehouse(uuid, lineUuid, warehouseNumber)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateDeliveryMethodTransactionLine(uuid: string, lineUuid: string, method: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineDeliveryMethod(uuid, lineUuid, method)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateDiscountTransactionLine(uuid: string, lineUuid: string, type: DiscountType, discount: number, reason: string = \"\", code: string = \"\"): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineLineDiscount(uuid, lineUuid, type, discount, reason, code)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async getArticleFullObject(goodId: number): Promise<ArticleFullObject> {\n return await this.connector.getArticleFullObject(goodId);\n }\n\n public getDocumentContent(id: number): Promise<string> {\n return this.connector.getDocumentContent(id);\n }\n\n public async getGoodIdFromArticleNr(sku: string): Promise<number> {\n return await this.connector.getGoodIdFromArticleNr(sku);\n }\n\n public async getCountry(countryCode: string): Promise<Country> {\n return await this.connector.getCountry(countryCode);\n }\n\n public async getCashRegisters(): Promise<CashRegister[]> {\n return this.connector.getCashRegisters(undefined, 1);\n }\n\n public async getRelationNumber(relationId: number): Promise<string> {\n return this.connector.getRelationNumber(relationId);\n }\n\n public async getPriceLists(): Promise<PriceList[]> {\n return this.connector.getPriceLists();\n }\n\n public async getVatLists(): Promise<Vat[]> {\n return this.connector.getVatList();\n }\n\n public async saveRelation(): Promise<boolean> {\n // this._cleanRelationBeforeSave();\n if (!this.relation.relationId) {\n this.relation = await this.connector.insertCustomer(this.relation);\n } else {\n this.relation = await this.connector.updateCustomer(this.relation);\n }\n return await this.addRelationToTransaction(this.relation.relationId);\n }\n\n public async getSequenceValue(): Promise<number> {\n return await this.connector.getSequenceValue(SequenceName.RelationId);\n }\n\n public async getRelationPrivacySettings(): Promise<RelationPrivacySetting[]> {\n return await this.connector.getRelationPrivacySettings();\n }\n\n public getArticleBoundTextLinesOfArticleLine(articleLineUuid: string): Promise<TransactionLineInfo[]> {\n return this.connector.getArticleBoundTextLinesOfArticleLine(articleLineUuid);\n }\n\n public async createTransaction(): Promise<boolean> {\n return new Promise<boolean>((resolve: Function, reject: Function) => {\n this.connector.createTransaction(TransactionKind.SalesOrder, \"1\").then((response: TransactionInfoResponse) => {\n this._rememberCurrentTransaction(response);\n resolve(true);\n }, (error) => {\n reject(error);\n }).catch((reason: ValidationResult) => {\n reject(false);\n });\n });\n }\n\n public async getTransaction(transactionNo: number): Promise<boolean> {\n return await this.openExistingTransaction(TransactionKind.SalesOrder, transactionNo);\n }\n\n public openExistingTransaction(kind: TransactionKind, transactionNr: number): Promise<boolean> {\n return new Promise<boolean>((resolve: Function, reject: Function) => {\n this.connector.getTransactionByNrAndKind(kind, transactionNr)\n .then(async (response: TransactionInfoResponse) => {\n if (response.isSuccess) {\n this.transactionUpdated.next(response);\n resolve(true);\n } else {\n reject(false);\n }\n })\n .catch((reason: ValidationResult) => {\n reject(false);\n });\n });\n }\n\n\n public getTransactionById(transactionId: number): Promise<boolean> {\n return new Promise<boolean>((resolve: Function, reject: Function) => {\n this.connector.getTransactionById(transactionId)\n .then((response: TransactionInfoResponse) => {\n if (response.isSuccess) {\n this._rememberCurrentTransaction(response);\n this.transactionUpdated.next(response);\n resolve(true);\n } else {\n reject(false);\n }\n })\n .catch((reason: ValidationResult) => {\n reject(false);\n });\n });\n }\n\n public commit(): Promise<DataServiceResponseData> {\n return this.connector.commit();\n }\n\n public async saveTransaction(close: boolean = false): Promise<TransactionInfoResponse> {\n const response: TransactionInfoResponse = await this.connector.saveTransaction(this.currentTransaction.transactionInfo.uuid);\n if (response.isSuccess) {\n this._rememberCurrentTransaction(response);\n }\n return response;\n }\n\n public async saveTransactionByUuid(transactionUuid: string): Promise<boolean> {\n return new Promise<boolean>((resolve: Function, reject: Function) => {\n this.connector.saveTransaction(transactionUuid)\n .then(async (response: TransactionInfoResponse) => {\n if (response.isSuccess) {\n this.transactionUpdated.next(response);\n resolve(true);\n } else {\n reject(false);\n }\n })\n .catch((reason: ValidationResult) => {\n if (reason) {\n this.dialogService.showError(reason.getFullErrorString());\n }\n reject(false);\n });\n });\n }\n\n public async addRelationToTransaction(relationId: number): Promise<boolean> {\n await this._checkAndCreateTransaction();\n const result: TransactionInfoResponse = await this.connector.addRelationToTransaction(this.currentTransaction.transactionInfo.uuid, relationId);\n if (result.isSuccess) {\n this._rememberCurrentTransaction(result);\n return true;\n } else {\n return false;\n }\n }\n\n public async getCommissionCodes(languageCode: string): Promise<CoDomainValue[]> {\n return await this.connector.getCommissionCodes(languageCode);\n }\n\n public async getInOutCollection(languageCode: string): Promise<CoDomainValue[]> {\n return await this.connector.getInOutCollection(languageCode);\n }\n\n public async getTransactionArticleWarehouses(goodId: number): Promise<TransactionArticleWarehouse[]> {\n return this.connector.getTransactionArticleWarehouses(goodId);\n }\n\n public async getMarketingCodes(): Promise<Marketing[]> {\n return await this.connector.getMarketingCodes();\n }\n\n public async insertCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\n return await this.connector.insertCustomer(relation);\n }\n\n public async updateCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\n return new Promise<CustomerFullObject>((resolve, reject) => {\n this.connector.updateCustomer(relation).then(async( response: CustomerFullObject) => {\n // this.currentTransaction.transactionInfo.relation = relation;\n resolve(response);\n })\n .catch((response: CustomerFullObject) => {\n resolve(response);\n });\n });\n }\n\n public async getDeliveryMethods(): Promise<DeliveryMethod[]> {\n return await this.connector.getDeliveryMethods();\n }\n\n public async getDeliveryOptions(): Promise<DeliveryOption[]> {\n return await this.connector.getDeliveryOptions();\n }\n\n public async getRelationListObjects(relationRequest: RelationRequest): Promise<RelationListObject[]> {\n return await this.connector.getRelationListObjects(relationRequest);\n }\n\n public async retrieveLineImage(line: TransactionLineInfo): Promise<string> {\n return await this.getArticleImageByArticleNumber(line.articleNumber);\n }\n\n public async getArticleImageByArticleNumber(articleNumber: string): Promise<string> {\n if (this._imageCache.has(articleNumber)) {\n return this._imageCache.get(articleNumber);\n }\n const goodId: number = await this.connector.getGoodIdFromArticleNr(articleNumber).catch((error) => {\n console.error(error);\n return null;\n });\n const image = await this.getArticleImageByGoodId(goodId);\n this._imageCache.set(articleNumber, image);\n return image;\n }\n\n public async getArticleImageByGoodId(goodId: number): Promise<string> {\n if (!isNaN(goodId)) {\n return this.connector.getSingleImage(goodId, 1, true, true).catch((error) => {\n console.error(error);\n return \"\";\n });\n } else {\n return \"\";\n }\n }\n\n public async addArticle(\n articleNo: string,\n amount: number = 1,\n warehouseNo: number = 1,\n commissionCode: string = \"2\",\n isReturn: boolean = false,\n aboveLineNr: number = 0,\n belowLineNr: number = 0\n ): Promise<boolean> {\n await this._checkAndCreateTransaction();\n const response: TransactionInfoResponse = await this.connector.addTransactionLine(\n this.currentTransaction.transactionInfo.uuid, TransactionLineType.ArticleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr);\n if (await this.handleLineOperationStatuses(response)) {\n this._rememberCurrentTransaction(response);\n }\n return true;\n }\n\n // public async addArticleToTransaction(transactionUuid: string, articleNo: string, amount: number = 1, warehouseNo: number = 1, commissionCode: string = \"2\", isReturn: boolean = false, aboveLineNr: number = 0, belowLineNr: number = 0): Promise<LineOperationResponse> {\n // await this._checkAndCreateTransaction();\n // return new Promise<LineOperationResponse>((resolve, reject) => {\n // this.connector.addTransactionLine(transactionUuid, TransactionLineType.ArticleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr)\n // .then(async( response: LineOperationResponse) => {\n // resolve(response);\n // }, (error) => {\n // this._prompt.showError(error);\n // reject(error);\n // })\n // .catch((reason: ValidationResult) => {\n // this._prompt.showError(reason.getFullErrorString());\n // resolve(null);\n // });\n // });\n // }\n\n public async addTransactionLine(lineType: TransactionLineType,\n articleNo: string,\n amount: number,\n warehouseNo?: number,\n commissionCode?: string,\n isReturn?: boolean,\n aboveLineNr?: number,\n belowLineNr?: number,\n remember: boolean = true): Promise<TransactionInfoResponse> {\n await this._checkAndCreateTransaction();\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.addTransactionLine(this.currentTransaction.transactionInfo.uuid, lineType, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr)\n .then(async (response: TransactionInfoResponse) => {\n this._rememberCurrentTransaction(response);\n resolve(response);\n }, (error) => {\n reject(error);\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async addTextLine(\n showOnDocuments: number,\n text: string,\n amount: number,\n articleBound: boolean,\n refArticleLineNr: number,\n aboveLineNr?: number,\n belowLineNr?: number,\n remember: boolean = true): Promise<TransactionInfoResponse> {\n await this._checkAndCreateTransaction();\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.addTextLineToTransaction(this.currentTransaction.transactionInfo.uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr)\n .then(async (response: TransactionInfoResponse) => {\n this._rememberCurrentTransaction(response);\n resolve(response);\n }, (error) => {\n reject(error);\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async addTextLineToTransaction(\n transactionUuid: string,\n showOnDocuments: number,\n text: string,\n amount: number,\n articleBound: boolean,\n refArticleLineNr: number,\n aboveLineNr?: number,\n belowLineNr?: number): Promise<TransactionInfoResponse> {\n await this._checkAndCreateTransaction();\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.addTextLineToTransaction(transactionUuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr)\n .then(async (response: TransactionInfoResponse) => {\n resolve(response);\n }, (error) => {\n reject(error);\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public changeLineSequence(\n lineUuid: string,\n aboveLineNr?: number,\n belowLineNr?: number,\n remember: boolean = true): Promise<TransactionInfoResponse> {\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.changeLineSequence(this.currentTransaction.transactionInfo.uuid, lineUuid, aboveLineNr, belowLineNr)\n .then(async (response: TransactionInfoResponse) => {\n this._rememberCurrentTransaction(response);\n resolve(response);\n }, (error) => {\n reject(error);\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async deleteTransactionLine(transactionUuid: string, TransactionLineUuid: string, remember: boolean = true): Promise<TransactionInfoResponse> {\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.deleteTransactionLine(transactionUuid, TransactionLineUuid)\n .then(async (response: TransactionInfoResponse) => {\n this._rememberCurrentTransaction(response);\n if (response.isSuccess) {\n resolve(response);\n } else {\n reject(response);\n }\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async changeTransactionLineQuantity(lineUuid: string, newQuantity: number, remember: boolean = true): Promise<TransactionInfoResponse> {\n return new Promise<TransactionInfoResponse>((resolve: Function) => {\n this.connector.changeTransactionLineQuantity(this.currentTransaction.transactionInfo.uuid, lineUuid, newQuantity)\n .then(async (response: TransactionInfoResponse) => {\n if (response.isSuccess) {\n this._rememberCurrentTransaction(response);\n }\n resolve(response);\n }).catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async setRelationByUser(username: string, password: string): Promise<boolean> {\n return new Promise<boolean>((resolve: Function) => {\n this.connector.setRelationByUser(this.currentTransaction.transactionInfo.uuid, username, password)\n .then(async (isSuccess: boolean) => {\n resolve(isSuccess);\n }).catch((reason: ValidationResult) => {\n resolve(false);\n });\n });\n }\n\n public async getCustomerFullObjectByRelationId(relationId: number): Promise<CustomerFullObject> {\n const relationNr: string = await this.connector.getRelationNumber(relationId);\n if (relationNr) {\n return await this.connector.getCustomerFullObject(Number(relationNr));\n }\n return NULL_CUSTOMER_FULL_OBJECT;\n }\n\n // public async setRelationByUser(username: string, password: string): Promise<boolean> {\n // const response: boolean = await this.connector.setRelationByUser(this.currentTransaction.uuid, username, password);\n // return response;\n // }\n\n public async getTextTypes(languageCode: string): Promise<CoDomainValue[]> {\n return await this.connector.getTextTypes(languageCode);\n }\n\n public async getStandardTexts(languageCode: string): Promise<StandardText[]> {\n return await this.connector.getStandardTexts(languageCode);\n }\n\n public getFirstAddress(relation: RelationAnyType): Address {\n if (!relation || !relation.addresses.length) {\n return;\n }\n\n return relation.getFirstAvailableAddress([\n AddressType.DeliveryAddress,\n AddressType.BillingAddress,\n AddressType.VisitingAddress,\n AddressType.MailingAddress,\n AddressType.NursingAddress\n ]);\n }\n\n // private _cleanRelationBeforeSave(): void {\n // ArrayUtils.RemoveElementsByFilter(this.currentTransaction.transactionInfo.relation.contactOptions, ((item: ContactOption) => {\n // return isNill(item.value);\n // }));\n // }\n\n private async _checkAndCreateTransaction(): Promise<void> {\n if (!this.currentTransaction || !this.currentTransaction.transactionInfo || !this.currentTransaction.transactionInfo.transactionNr) {\n if (!await this.createTransaction()) {\n throwError(\"Failed to create transaction\");\n }\n }\n }\n\n}\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\nimport {TransactionResponseBase} from \"@colijnit/transactionapi/build/model/transaction-response-base.bo\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {CheckoutOverviewRelationEditComponent} from \"./checkout-overview-relation-edit/checkout-overview-relation-edit.component\";\r\nimport {CheckoutOverviewDeliveryEditComponent} from \"./checkout-overview-delivery-edit/checkout-overview-delivery-edit.component\";\r\nimport {StepperStepComponent} from \"../stepper/component/stepper-step.component\";\r\nimport {DialogService} from \"../../service/dialog.service\";\r\nimport {PaymentComponent} from \"../payment/payment.component\";\r\n\r\n@Component({\r\n selector: \"co-checkout\",\r\n template: `\r\n <co-stepper [finishButtonLabel]=\"'CHECKOUT_FINISH' | localize\" (finishStep)=\"handleFinishStep()\">\r\n <co-stepper-step #stepRelation [index]=\"1\" [label]=\"'YOUR_DATA' | localize\" (validateStep)=\"handleRelationValidation()\">\r\n <co-checkout-overview-relation-edit #checkoutRelation *ngIf=\"stepRelation.show\" [(relation)]=\"service.relation\"\r\n (relationChange)=\"service.relation = $event\"\r\n ></co-checkout-overview-relation-edit>\r\n </co-stepper-step>\r\n <co-stepper-step #stepDelivery [index]=\"2\" [label]=\"'DELIVERY' | localize\" (validateStep)=\"handleDeliveryValidation()\">\r\n <co-checkout-overview-delivery-edit #checkoutDelivery *ngIf=\"stepDelivery.show\"\r\n [transaction]=\"service.currentTransaction\"\r\n ></co-checkout-overview-delivery-edit>\r\n </co-stepper-step>\r\n <co-stepper-step #stepPayment [index]=\"3\" [label]=\"'PAYMENT' | localize\" (validateStep)=\"handlePaymentValidation()\">\r\n <co-payment #checkoutPayment *ngIf=\"stepPayment.show\" [amount]=\"service.currentTransaction.transactionTotal.netAmount\"></co-payment>\r\n </co-stepper-step>\r\n <co-stepper-step #stepOverview [index]=\"4\" [label]=\"'OVERVIEW' | localize\" (validateStep)=\"handleOverviewValidation()\">\r\n </co-stepper-step>\r\n <co-stepper-step #stepPay [index]=\"5\" [label]=\"'PAY' | localize\">\r\n </co-stepper-step>\r\n <div class=\"co-checkout-right-panel\">\r\n <div class=\"co-checkout-right-panel-relation\">\r\n <co-seller-information [relationId]=\"sellerId\"></co-seller-information>\r\n </div>\r\n <co-shopping-cart-preview [showCheckoutButton]=\"false\" [withoutBorder]=\"true\"></co-shopping-cart-preview>\r\n </div>\r\n </co-stepper>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CheckoutComponent {\r\n @ViewChild(\"stepRelation\")\r\n public stepRelation: StepperStepComponent;\r\n\r\n @ViewChild(\"stepDelivery\")\r\n public stepDelivery: StepperStepComponent;\r\n\r\n @ViewChild(\"stepPayment\")\r\n public stepPayment: StepperStepComponent;\r\n\r\n @ViewChild(\"stepOverview\")\r\n public stepOverview: StepperStepComponent;\r\n\r\n @ViewChild(\"stepPay\")\r\n public stepPay: StepperStepComponent;\r\n\r\n @ViewChild(\"checkoutRelation\")\r\n public checkoutRelation: CheckoutOverviewRelationEditComponent;\r\n\r\n @ViewChild(\"checkoutDelivery\")\r\n public checkoutDelivery: CheckoutOverviewDeliveryEditComponent;\r\n\r\n @ViewChild(\"checkoutPayment\")\r\n public checkoutPayment: PaymentComponent;\r\n\r\n @Input()\r\n public sellerId: number;\r\n\r\n @Output()\r\n public transactionFinished: EventEmitter<TransactionInfo> = new EventEmitter<TransactionInfo>();\r\n\r\n @HostBinding(\"class.co-checkout\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public get userIsApplicationUser(): boolean {\r\n // TODO: return this.userService.isApplicationUser;\r\n return true;\r\n }\r\n\r\n public transaction: TransactionInfoResponse;\r\n\r\n constructor(\r\n public service: TransactionService,\r\n private _dictionary: DictionaryService,\r\n private _dialogService: DialogService\r\n ) {\r\n }\r\n\r\n // ngOnDestroy(): void {\r\n // this._subscriptions.forEach(subscription => subscription.unsubscribe());\r\n // }\r\n\r\n public async handleRelationValidation(): Promise<void> {\r\n if (this.checkoutRelation && this.stepRelation) {\r\n const valid = this.checkoutRelation.submit();\r\n this.stepRelation.completed = await this.saveRelation();\r\n // if (valid) {\r\n // this.saveRelation();\r\n // }\r\n }\r\n }\r\n\r\n public async handleDeliveryValidation(): Promise<void> {\r\n if (this.checkoutDelivery && this.stepDelivery) {\r\n const valid = this.checkoutDelivery.submit();\r\n this.stepDelivery.completed = await this.handleSaveDelivery();\r\n // if (valid) {\r\n // this.handleSaveDelivery();\r\n // }\r\n }\r\n }\r\n\r\n public handlePaymentValidation(): void {\r\n if (/*this.checkoutDelivery && */this.stepPayment) {\r\n this.stepPayment.completed = true;\r\n }\r\n }\r\n\r\n public handleOverviewValidation(): void {\r\n if (/*this.checkoutDelivery && */this.stepOverview) {\r\n this.stepOverview.completed = true;\r\n }\r\n }\r\n\r\n public async handleFinishStep(): Promise<void> {\r\n if (/*this.checkoutDelivery && */this.stepPay) {\r\n this.stepPay.completed = true;\r\n const response: TransactionResponseBase = await this.service.saveTransaction();\r\n if (response && response.isSuccess) {\r\n // const commitResponse: DataServiceResponseData = await this.service.commit();\r\n // if (commitResponse && commitResponse.validationResult && commitResponse.validationResult.success) {\r\n this.transactionFinished.next(this.service.currentTransaction.transactionInfo);\r\n // }\r\n } else {\r\n await this._dialogService.showError(\"Opslag bezorging mislukt\");\r\n }\r\n }\r\n }\r\n\r\n public saveRelation(): Promise<boolean> {\r\n return this.service.saveRelation();\r\n }\r\n\r\n public async handleSaveDelivery(): Promise<boolean> {\r\n return true;\r\n }\r\n\r\n // public async saveNewRelation(): Promise<void> {\r\n // if (isNill(this.service.currentRelation.relationId)) {\r\n // await this.service.saveNewRelation();\r\n // } else {\r\n // await this.service.saveRelation();\r\n // }\r\n // }\r\n\r\n // public async insertData(): Promise<void> {\r\n // await this.service.insertCustomer(this.relation);\r\n // }\r\n //\r\n // public async updateData(): Promise<void> {\r\n // const relation: RelationAnyType = this.relation;\r\n // await this.service.updateCustomer(relation);\r\n // }\r\n\r\n // private async _handleSettingsLoaded(loaded: boolean): Promise<void> {\r\n // if (loaded) {\r\n // await this._initConnection().then();\r\n // this.upAndLoaded = true;\r\n // }\r\n // }\r\n //\r\n // private async _initConnection(): Promise<void> {\r\n // await this._connector.connect(this._optionsService.options);\r\n //\r\n // if (this._optionsService.options.url) {\r\n // this._dictionary.rootUrl = this._optionsService.options.url.replace(\"/ajaxservice\", \"\");\r\n // }\r\n // await this._dictionary.setDictionary(this._optionsService.options.languageCode);\r\n // setTimeout(() => {\r\n // this._changeDetector.detectChanges();\r\n // });\r\n // }\r\n //\r\n // public loginSubmit(): void {\r\n // this.globalEvents.addUserRelationShoppingCartModule.next({user: this.checkoutLogin.userEmailAddress, pw: this.checkoutLogin.userPassword});\r\n // this.loggedIn = true;\r\n // }\r\n //\r\n // public continueWithoutAccount(): void {\r\n // this.closeLogin();\r\n // this.loggedIn = true;\r\n // this.transactionEvents.addNewUserToShoppingCartModule.next(this.checkoutLogin.userNewEmailAddress);\r\n // }\r\n //\r\n // public createNewAccount(): void {\r\n // this.closeLogin();\r\n // this.transactionEvents.addNewUserToShoppingCartModule.next(this.checkoutLogin.userNewEmailAddress);\r\n // }\r\n //\r\n // private closeLogin(): void {\r\n // this.loggedIn = true;\r\n // this.show = true;\r\n // }\r\n}\r\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\n\nexport enum Icon {\n ArrowPointDown = \"arrow_point_down\",\n ArrowPointLeft = \"arrow_point_left\",\n ArrowPointRight = \"arrow_point_right\",\n Barcode = \"barcode\",\n CalendarDay = \"calendar_day\",\n Cancel = \"cancel\",\n CashRegister = \"cash_register\",\n DeliveryTruck = \"delivery_truck\",\n EditPencil = \"edit_pencil\",\n IdealLogo = \"ideal_logo\",\n MapMarker = \"map_marker\",\n MasterDetail = \"master_detail\",\n Menu = \"menu\",\n PlusRound = \"plus_round\",\n SidePanel = \"side_panel\",\n Tag = \"tag\",\n ThickLines = \"thick_lines\",\n ThinLines = \"thin_lines\",\n TriangleDown = \"triangle_down\",\n TriangleUp = \"triangle_up\",\n Truck = \"truck\",\n Txt = \"txt\",\n Warehouse = \"warehouse\"\n}","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\nimport {RelationAnyType} from \"@colijnit/transactionapi/build/model/relation-any-type\";\nimport {NULL_RELATION_OBJECT} from \"@colijnit/transactionapi/build/model/nul-relation-object\";\nimport {CustomerFullObject} from \"@colijnit/transactionapi/build/model/customer-full-object.bo\";\nimport {CommunicationType} from \"@colijnit/transactionapi/build/enum/communication-type.enum\";\nimport {ContactOption} from \"@colijnit/transactionapi/build/model/contact-option.bo\";\nimport {isNill} from \"@colijnit/transactionapi/build/utils/function/is-nill.function\";\nimport {RelationNameKind} from \"@colijnit/transactionapi/build/enum/relation-name-kind.enum\";\nimport {AddressType} from \"@colijnit/transactionapi/build/enum/address-type.enum\";\nimport {RelationPrivacySetting} from \"@colijnit/transactionapi/build/model/relation-privacy-setting.bo\";\nimport {GenderType} from \"@colijnit/transactionapi/build/enum/gender-type.enum\";\nimport {TransactionService} from \"../../../service/transaction.service\";\nimport {BusinessObjectUtils} from \"@colijnit/transactionapi/build/utils/business-object-utils\";\nimport {FormComponent, FormMasterService} from \"@colijnit/corecomponents_v12\";\nimport {FunctionUtils} from \"@colijnit/transactionapi/build/utils/function-utils\";\nimport {ObjectUtils} from \"@colijnit/transactionapi/build/utils/object-utils\";\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\nimport {RelationRequest} from \"@colijnit/transactionapi/build/model/relation-request\";\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\nimport {FormGroup} from \"@angular/forms\";\nimport {BusinessObjectFactory} from \"../../../factory/business-object-factory\";\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\nimport {Icon} from \"../../../enum/icon.enum\";\n\n@Component({\n selector: \"co-checkout-overview-relation-edit\",\n template: `\n <div class=\"relation-edit-content\">\n <co-form>\n <div class=\"checkout-form-wrapper\">\n <div class=\"checkout-label-column\">\n <span>01</span>\n <span class=\"label\" [textContent]=\"'PERSONAL_DATA' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-input-radio-button class=\"default-width\"\n [name]=\"'type'\"\n [label]=\"'PRIVATE_PERSON' | localize\"\n [value]=\"relType.Private\"\n [checked]=\"relation.type === relType.Private\"\n (modelChange)=\"changeRelationType(relType.Private)\"\n ></co-input-radio-button>\n <co-input-radio-button class=\"default-width\"\n [name]=\"'type'\"\n [label]=\"'COMPANY' | localize\"\n [value]=\"relType.Company\"\n [(model)]=\"relation.type\"\n [checked]=\"relation.type === relType.Company\"\n (modelChange)=\"changeRelationType(relType.Company)\"\n ></co-input-radio-button>\n </div>\n <div class=\"checkout-data-row\">\n <relation-customer-groups [(model)]=\"relation.customerGroup\" required></relation-customer-groups>\n </div>\n <div *ngIf=\"relation.type === relType.Private\" class=\"collapseable\" @showHidePrivateRelationFields>\n <div class=\"checkout-data-row\">\n <co-input-text\n class=\"checkout-first-name\"\n [(model)]=\"relation.firstName\"\n [placeholder]=\"'FIRST_NAME' | localize\"\n (modelChange)=\"firstNameChange($event)\"\n (blur)=\"checkVisibilitySuggestions()\"\n [required]=\"true\"\n ></co-input-text>\n <co-input-text\n class=\"checkout-prefix-name default-width\"\n [(model)]=\"relation.prefix\"\n [placeholder]=\"'PREFIX' | localize\"\n ></co-input-text>\n <co-input-text\n class=\"checkout-last-name\"\n [(model)]=\"relation.familyName\"\n [placeholder]=\"'LAST_NAME' | localize\"\n (modelChange)=\"familyNameChange($event)\"\n (blur)=\"checkVisibilitySuggestions()\"\n [required]=\"true\"></co-input-text>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-radio-button class=\"default-width\"\n [name]=\"'gender'\"\n [label]=\"'MALE' | localize\"\n [value]=\"genderType.Male\"\n [checked]=\"relation.gender === genderType.Male\"\n (modelChange)=\"changeGenderType(genderType.Male)\"\n ></co-input-radio-button>\n <co-input-radio-button class=\"default-width\"\n [name]=\"'gender'\"\n [label]=\"'FEMALE' | localize \"\n [value]=\"genderType.Female\"\n [checked]=\"relation.gender === genderType.Female\"\n (modelChange)=\"changeGenderType(genderType.Female)\"\n ></co-input-radio-button>\n <co-input-radio-button class=\"default-width\"\n [name]=\"'gender'\"\n [label]=\"'UNKNOWN' | localize\"\n [value]=\"genderType.Unspecified\"\n [checked]=\"relation.gender === genderType.Unspecified\"\n (modelChange)=\"changeGenderType(genderType.Unspecified)\"\n ></co-input-radio-button>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-date [placeholder]=\"'DATE_OF_BIRTH' | localize \" [(model)]=\"dateOfBirth\" [required]=\"true\"></co-input-date>\n </div>\n </div>\n <div *ngIf=\"relation?.type === relType.Company\" class=\"checkout-data-row collapseable\" @showHideCompanyRelationFields>\n <co-input-text [(model)]=\"relation.familyName\" [placeholder]=\"'COMPANY_NAME' | localize\" [required]=\"true\"></co-input-text>\n </div>\n <co-relation-address [address]=\"editFirstAddress\" [showButtons]=\"false\"></co-relation-address>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-carousel-3d *ngIf=\"relation.addresses && relation.addresses.length > 1\"\n [tileWidth]=\"200\"\n [tileHeight]=\"100\"\n [selectedIndex]=\"deliveryAddressIdx\"\n (indexSelected)=\"setIndexDeliveryAddress($event)\">\n <co-relation-address-tile #carouselItem *ngFor=\"let address of relation.addresses; let index = index\"\n [address]=\"address\"\n [selected]=\"deliveryAddressIdx === index\"\n (editAddressClicked)=\"editAddress($event)\"\n ></co-relation-address-tile>\n </co-carousel-3d>\n </div>\n <div class=\"checkout-data-row\">\n <div class=\"relation-address-new\">\n <icon class=\"relation-address-icon\" [icon]=\"icons.ArrowPointRight\"></icon>\n <div [textContent]=\"'ADDRESS_ADD' | localize\" (click)=\"showNewAddressDialog()\"></div>\n </div>\n </div>\n </div>\n\n <div class=\"checkout-label-column\">\n <span>02</span>\n <span class=\"label\" [textContent]=\"'INVOICE_ADDRESS' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-input-checkbox [(model)]=\"invoiceAddressSameAsDeliveryAddress\" (modelChange)=\"checkSameAddress($event)\" [label]=\"'SAME_AS_DELIVERY' | localize\"></co-input-checkbox>\n </div>\n <div class=\"overview-delivery-invoice-address\" *ngIf=\"!invoiceAddressSameAsDeliveryAddress\" @showHideInvoiceAddress>\n <div class=\"checkout-data-row\">\n <co-carousel-3d *ngIf=\"relation.addresses && relation.addresses.length > 1\"\n [tileWidth]=\"200\"\n [tileHeight]=\"100\"\n [selectedIndex]=\"invoiceAddressIdx\"\n (indexSelected)=\"setIndexInvoiceAddress($event)\">\n <co-relation-address-tile #carouselItem *ngFor=\"let address of relation.addresses; let index = index\"\n [address]=\"address\"\n [selected]=\"invoiceAddressIdx === index\"\n (editAddressClicked)=\"editAddress($event)\"\n ></co-relation-address-tile>\n </co-carousel-3d>\n </div>\n <div class=\"checkout-data-row\">\n <div class=\"relation-address-new\">\n <icon class=\"relation-address-icon\" [icon]=\"icons.ArrowPointRight\"></icon>\n <div [textContent]=\"'ADDRESS_ADD' | localize\" (click)=\"showNewAddressDialog()\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"checkout-label-column\">\n <span>03</span>\n <span class=\"label\" [textContent]=\"'CONTACT_DETAILS' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-input-text [(model)]=\"phoneNumber.value\" [placeholder]=\"'PHONE_NO' | localize \" [required]=\"true\"></co-input-text>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-text [(model)]=\"emailAddress.value\" [placeholder]=\"'EMAIL_ADDRESS' | localize \" [type]=\"'email'\" [required]=\"true\"></co-input-text>\n </div>\n<!--\n </div>\n <div class=\"checkout-label-column\">\n <span>04</span>\n <span class=\"label\" [textContent]=\"'PASSWORD' | localize\"></span>\n <span class=\"label-description\" [textContent]=\"'ACCOUNT_EXPLANATION' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n-->\n <div class=\"checkout-data-row\">\n <co-input-checkbox [label]=\"'INVITE_TO_ACCOUNT' | localize\" [(model)]=\"inviteToAccount\"></co-input-checkbox>\n </div>\n </div>\n <div class=\"checkout-label-column\">\n <span>04</span>\n <span class=\"label\" [textContent]=\"'PRIVACY_PREFERENCES' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"two-column-grid\">\n <ng-container *ngFor=\"let privacySetting of privacySettings\">\n <co-input-checkbox class=\"first-column\"\n [label]=\"privacySetting.description\"\n [model]=\"isShared(privacySetting)\"\n (modelChange)=\"changePrivacySetting(privacySetting, $event)\"\n ></co-input-checkbox>\n <span class=\"second-column\" [textContent]=\"privacySetting.explanation\"></span>\n </ng-container>\n </div>\n </div>\n </div>\n </co-form>\n </div>\n <div class=\"suggestions-sidebar\" *ngIf=\"showRelationSidebar\" @showHideSidebar>\n <div class=\"relation-sidebar-header\">\n <label class=\"checkout-label-h3\" [textContent]=\"'SUGGESTIONS' | localize\"></label>\n </div>\n <co-checkout-relation-suggestions-list\n [suggestions]=\"relationSuggestions\"\n (suggestionSelected)=\"onRelationSuggestionClick($event)\"\n ></co-checkout-relation-suggestions-list>\n </div>\n <co-dialog *ngIf=\"showCreateAddressDialog\">\n <co-relation-address\n (saveClick)=\"saveNewAddress($event)\"\n (cancelClick)=\"showCreateAddressDialog = false\"\n ></co-relation-address>\n </co-dialog>\n <co-dialog *ngIf=\"showSelectAddressDialog && addressToEdit\">\n <co-relation-address\n [address]=\"addressToEdit\"\n (saveClick)=\"saveAddress($event)\"\n (cancelClick)=\"showSelectAddressDialog = false\"\n ></co-relation-address>\n </co-dialog>\n `,\n providers: [\n FormMasterService\n ],\n animations: [\n trigger(\"showHidePrivateRelationFields\", [\n state(\"void\", style({height: 0})),\n state(\"*\", style({height: \"*\"})),\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\n transition(\"* => void\", animate(\"200ms ease-out\"))\n ]),\n trigger(\"showHideCompanyRelationFields\", [\n state(\"void\", style({height: 0})),\n state(\"*\", style({height: \"*\"})),\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\n transition(\"* => void\", animate(\"200ms ease-out\"))\n ]),\n trigger(\"showHideSidebar\", [\n state(\"void\", style({transform: \"translateX(100%)\"})),\n state(\"*\", style({transform: \"translateX(0)\"})),\n transition(\"void <=> *\", animate(\"200ms ease-in-out\"))\n ]),\n trigger(\"showHideInvoiceAddress\", [\n state(\"void\", style({height: 0, opacity: 0})),\n state(\"*\", style({height: \"*\", opacity: 1})),\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\n transition(\"* => void\", animate(\"200ms ease-out\"))\n ])\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class CheckoutOverviewRelationEditComponent implements OnInit {\n public readonly icons: typeof Icon = Icon;\n\n @ViewChild(FormComponent, {static: true})\n public relationForm: FormComponent;\n\n @Input()\n public set relation(value: RelationAnyType) {\n this._relation = value;\n\n this.preparePrimaryEmail();\n this.preparePrimaryPhone();\n }\n\n @Output()\n public validSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public invalidSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public relationChange: EventEmitter<RelationAnyType> = new EventEmitter<RelationAnyType>();\n\n @HostBinding(\"class.co-checkout-overview-relation-edit\")\n public showClass() {\n return true;\n }\n\n public formRelation: FormGroup;\n\n public dateOfBirth: Date;\n public accountPassword: string = \"\";\n public hide: boolean = true;\n public gender: GenderType = GenderType.Unspecified;\n public emailAddress: ContactOption = new ContactOption();\n public phoneNumber: ContactOption = new ContactOption();\n public privacySettings: RelationPrivacySetting[];\n public relationSuggestions: RelationListObject[] = [];\n public showRelationSidebar: boolean = false;\n public inviteToAccount: boolean = false;\n\n public addresses: Address[] = [];\n public selectedAddress: Address;\n public deliveryAddress: Address;\n public invoiceAddress: Address;\n public deliveryAddressIdx: number = 0;\n public invoiceAddressIdx: number = 0;\n public invoiceAddressSameAsDeliveryAddress: boolean = true;\n public editAddressType: AddressType = AddressType.DeliveryAddress;\n public addressToEdit: Address;\n public showSelectAddressDialog: boolean = false;\n public showCreateAddressDialog: boolean = false;\n\n public readonly relType: typeof RelationNameKind = RelationNameKind;\n public readonly genderType: typeof GenderType = GenderType;\n\n public get relation(): RelationAnyType {\n return this._relation;\n }\n\n public get relationAsCustomer(): CustomerFullObject {\n return this._relation && this._relation as CustomerFullObject;\n }\n\n public get editFirstAddress(): Address {\n const firstAddress: Address = this._service.getFirstAddress(this.relation);\n if (firstAddress) {\n return firstAddress;\n } else if (this._relation) {\n const address: Address = new Address();\n address.addressType = AddressType.DeliveryAddress;\n address.startDate = new Date();\n address.sequence = this._relation.getNextAddressSequence();\n this._relation.addresses.push(address);\n return address;\n }\n }\n\n public get applicationUser(): boolean {\n return this._service.applicationUser;\n }\n\n private _relation: RelationAnyType = NULL_RELATION_OBJECT;\n\n constructor(\n private _service: TransactionService,\n private _formMaster: FormMasterService,\n private _boFactory: BusinessObjectFactory\n ) {\n }\n\n async ngOnInit(): Promise<void> {\n this._initForm();\n this._relation.type = this.relType.Private;\n this._relation.gender = this.gender;\n await this.loadPrivacySettings();\n }\n\n public submit(): boolean {\n // return this.relationForm.submit();\n return this._formMaster.submitSlaves();\n }\n\n public showNewAddressDialog(deliveryAddress: boolean = true): void {\n this.editAddressType = deliveryAddress ? AddressType.DeliveryAddress : AddressType.BillingAddress;\n this.showCreateAddressDialog = true;\n }\n\n public showEditAddressDialog(deliveryAddress: boolean = true): void {\n this.editAddressType = deliveryAddress ? AddressType.DeliveryAddress : AddressType.BillingAddress;\n this.showSelectAddressDialog = true;\n }\n\n public setIndexDeliveryAddress(idx: number): void {\n this.deliveryAddressIdx = idx;\n this.editAddressType = AddressType.DeliveryAddress;\n this.selectAddress(this.relation.addresses[idx]);\n }\n\n public setIndexInvoiceAddress(idx: number): void {\n this.invoiceAddressIdx = idx;\n this.editAddressType = AddressType.BillingAddress;\n this.selectAddress(this.relation.addresses[idx]);\n }\n\n public editAddress(addr: Address): void {\n this.addressToEdit = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, addr);\n this.showEditAddressDialog()\n }\n\n public checkSameAddress(checked: boolean): void {\n if (checked) {\n this.editAddressType = AddressType.DeliveryAddress;\n this.selectAddress(this.deliveryAddress);\n }\n }\n\n public saveNewAddress(address: Address): void {\n address.addressType = this.editAddressType;\n this.relation.addresses.push(address);\n this.selectAddress(address);\n this.showCreateAddressDialog = false;\n }\n\n public saveAddress(address: Address): void {\n const idx: number = this.relation.addresses.findIndex(a => a.nawNr === address.nawNr);\n if (idx > -1) {\n this.relation.addresses[idx] = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, address);\n }\n this.showSelectAddressDialog = false;\n }\n\n public selectAddress(address?: Address): void {\n // if (!this.deliveryOptionsRequest) {\n // return;\n // }\n // if (!address) {\n // address = this._service.getFirstAddress(this.relation);\n // }\n // if (!address) {\n // return;\n // }\n // this._setCountryNameToAddress(address);\n // if (this.editAddressType === AddressType.DeliveryAddress) {\n // this.deliveryOptionsRequest.transactionAddress = address.nawNr;\n // this.deliveryAddress = address;\n // this.deliveryAddressIdx = this.relation.addresses.findIndex(a => a.nawNr === this.deliveryAddress.nawNr);\n // }\n // if (this.invoiceAddressSameAsDeliveryAddress || this.editAddressType !== AddressType.DeliveryAddress) {\n // this.deliveryOptionsRequest.invoiceAddress = address.nawNr;\n // this.invoiceAddress = address;\n // this.invoiceAddressIdx = this.relation.addresses.findIndex(a => a.nawNr === this.invoiceAddress.nawNr);\n // }\n this.showSelectAddressDialog = false;\n }\n\n public preparePrimaryEmail(): void {\n if (this._relation) {\n this.emailAddress = this._relation.getLowestSequenceOfContactOptionsWithType(CommunicationType.Email);\n if (isNill(this.emailAddress)) {\n this.emailAddress = new ContactOption();\n this.emailAddress.type = CommunicationType.Email;\n this.emailAddress.sequence = 0;\n this._relation.addContactOption(this.emailAddress);\n }\n // if (this._transactionService.emailAddress) {\n // this.emailAddress.value = this._transactionService.emailAddress;\n // }\n }\n }\n\n public preparePrimaryPhone(): void {\n if (this._relation) {\n this.phoneNumber = this._relation.getLowestSequenceOfContactOptionsWithType(CommunicationType.Telephone);\n if (isNill(this.phoneNumber)) {\n this.phoneNumber = new ContactOption();\n this.phoneNumber.type = CommunicationType.Telephone;\n this.phoneNumber.sequence = 0;\n this._relation.addContactOption(this.phoneNumber);\n }\n }\n }\n\n public async loadPrivacySettings(): Promise<void> {\n this.privacySettings = await this._service.getRelationPrivacySettings();\n }\n\n public async loadMarketing(): Promise<void> {\n await this._service.getMarketingCodes();\n }\n\n public isShared(relationPrivacySetting: RelationPrivacySetting): boolean {\n const ownSetting: RelationPrivacySetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());\n if (ownSetting) {\n return ownSetting.allowToShare;\n }\n return false;\n }\n\n public changeRelationType(value: RelationNameKind): void {\n this.relation.type = value;\n }\n\n public changeGenderType(value: GenderType): void {\n this.relation.gender = value;\n }\n\n public firstNameChange(firstName: string): void {\n if (this._relation) {\n this._relation.firstName = firstName;\n }\n this._relationNameChangeHandler.call(this);\n }\n\n public familyNameChange(familyName: string): void {\n if (this._relation) {\n this._relation.familyName = familyName;\n }\n this._relationNameChangeHandler.call(this);\n }\n\n public checkVisibilitySuggestions(): void {\n if (this._relation.firstName && this._relation.familyName) {\n this.hideSidebar();\n }\n }\n\n public async onRelationSuggestionClick(relationSuggested: RelationListObject): Promise<void> {\n if (relationSuggested) {\n this.hideSidebar();\n // await this._service.addRelationToTransaction(relationSuggested.relationId);\n this.relation = await this._service.getCustomerFullObjectByRelationId(relationSuggested.relationId);\n this.relationChange.next(this.relation);\n }\n }\n\n public changePrivacySetting(relationPrivacySetting: RelationPrivacySetting, value: boolean): void {\n const ownSetting: RelationPrivacySetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());\n if (ownSetting) {\n ownSetting.allowToShare = value;\n } else {\n this.relationAsCustomer.relationPrivacySettings.push(relationPrivacySetting);\n }\n }\n\n public showSidebar(): void {\n this.showRelationSidebar = true;\n }\n\n // Hide sidebar with a little timeout to prevent missing the click\n public hideSidebar(): void {\n setTimeout(() => {\n this.showRelationSidebar = false;\n }, 200);\n }\n\n private _initForm(): void {\n if (this.relationForm) {\n this.formRelation = this.relationForm.formGroup;\n }\n }\n\n // fetches relation suggestions\n private _relationNameChangeHandler: Function = FunctionUtils.Throttle(() => {\n return this._relationNameChangedHandlerFn();\n // eslint-disable-next-line no-magic-numbers\n }, 600);\n\n // load suggestions\n private async _relationNameChangedHandlerFn(): Promise<any> {\n const firstName: string = ObjectUtils.ValueOrDefault(this._relation.firstName);\n const secondName: string = ObjectUtils.ValueOrDefault(this._relation.familyName);\n\n if (!firstName && !secondName) {\n this.relationSuggestions = [];\n this.hideSidebar();\n return;\n }\n\n const relationRequest: RelationRequest = {};\n relationRequest.relationType = this._relation.relationType;\n if (firstName) {\n relationRequest.firstName = firstName;\n }\n\n if (secondName) {\n relationRequest.familyName = secondName;\n }\n\n this.showSidebar();\n this.relationSuggestions = await this._service.getRelationListObjects(relationRequest);\n }\n\n private async _setCountryNameToAddress(address: Address): Promise<void> {\n if (address.countryId && !address.countryName) {\n const country: Country = await this._service.getCountry(address.countryId);\n address.countryName = country.description;\n }\n }\n\n}\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\n\nexport const IconSvg: {[iconName: string]: string} = {\n \"arrow_point_down\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-280 371 51 51\\\" enable-background=\\\"new -280 371 51 51\\\" ><path fill=\\\"#29363E\\\" d=\\\"M-248.3,392.2c0.3,0,0.6,0.1,0.8,0.3c0.5,0.5,0.5,1.2,0,1.6l-6.2,6.2c-0.2,0.2-0.5,0.3-0.8,0.3c-0.3,0-0.6-0.1-0.8-0.3l-6.2-6.2c-0.2-0.2-0.3-0.5-0.3-0.8c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3c0.3,0,0.6,0.1,0.8,0.3l5.4,5.4l5.4-5.4C-248.9,392.4-248.6,392.2-248.3,392.2z\\\"/></svg>\",\n \"arrow_point_left\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M31.9,36.7l-14.7-9.6C17.1,27,17,26.9,17,26.7v-2.4c0-0.2,0.1-0.3,0.2-0.4l14.7-9.6c0.2-0.2,0.5-0.1,0.7,0.1l1.4,2.1c0.2,0.2,0.1,0.5-0.1,0.7l-12,7.8c-0.3,0.2-0.3,0.6,0,0.8l12,7.8c0.2,0.2,0.3,0.5,0.1,0.7l-1.4,2.1C32.4,36.8,32.1,36.8,31.9,36.7z\\\"/></svg>\",\n \"arrow_point_right\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M19.1,14.3l14.7,9.6c0.1,0.1,0.2,0.2,0.2,0.4v2.4c0,0.2-0.1,0.3-0.2,0.4l-14.7,9.6c-0.2,0.2-0.5,0.1-0.7-0.1l-1.4-2.1c-0.2-0.2-0.1-0.5,0.1-0.7l12-7.8c0.3-0.2,0.3-0.6,0-0.8l-12-7.8c-0.2-0.2-0.3-0.5-0.1-0.7l1.4-2.1C18.6,14.2,18.9,14.2,19.1,14.3z\\\"/></svg>\",\n \"barcode\": \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M2,6H4V18H2V6M5,6H6V18H5V6M7,6H10V18H7V6M11,6H12V18H11V6M14,6H16V18H14V6M17,6H20V18H17V6M21,6H22V18H21V6Z\\\" /></svg>\",\n \"calendar_day\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><path fill=\\\"#022D42\\\" d=\\\"M35.4,13.7H14.6c-0.6,0-1,0.5-1,1V20h22.9v-5.2C36.4,14.2,36,13.7,35.4,13.7z M19,18.8c-1,0-1.8-0.8-1.8-1.8c0-1,0.8-1.8,1.8-1.8c1,0,1.8,0.8,1.8,1.8C20.8,18,20,18.8,19,18.8z M31,18.8c-1,0-1.8-0.8-1.8-1.8c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8C32.7,18,32,18.8,31,18.8z\\\"/><path fill=\\\"#022D42\\\" d=\\\"M35.4,22.3v12.6L31.3,39H14.6c0,0,0,0,0,0V22.3H35.4 M36.4,21.3H13.6V39c0,0.6,0.5,1,1,1h17.2l4.7-4.7V21.3L36.4,21.3z\\\"/><rect x=\\\"18.2\\\" y=\\\"10\\\" fill=\\\"#022D42\\\" width=\\\"1.6\\\" height=\\\"5.2\\\"/><rect x=\\\"30.2\\\" y=\\\"10\\\" fill=\\\"#022D42\\\" width=\\\"1.6\\\" height=\\\"5.2\\\"/><rect x=\\\"18.6\\\" y=\\\"30.5\\\" fill=\\\"#022D42\\\" width=\\\"3.4\\\" height=\\\"3.4\\\"/><rect x=\\\"19.1\\\" y=\\\"24.8\\\" opacity=\\\"0.1\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"19.1\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"19.1\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"24.8\\\" opacity=\\\"0.1\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"24.8\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"31.6\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"31.6\\\" y=\\\"24.8\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"31.6\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"24.8\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"24.8\\\" opacity=\\\"0.1\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/></g></svg>\",\n \"cancel\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"36 35.16 30.45 35.16 14 14.84 19.55 14.84 36 35.16\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"14 35.16 19.55 35.16 36 14.84 30.45 14.84 14 35.16\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"cash_register\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M35.39,18.12H14.62L10,29.66H40ZM23,19.29H27l.1,1.6H22.87Zm-.13,2h4.32l.12,1.81H22.72Zm-.15,2.3h4.62l.14,2.08h-4.9ZM17.9,19.29H22l-.16,1.6H17.54Zm-.46,2h4.32l-.18,1.81H17Zm-.53,2.3h4.62l-.2,2.08h-4.9Zm-1.16,5.06.55-2.42H27.49l.16,2.42ZM28,19.29H32.1l.36,1.6H28.2Zm.2,2h4.32L33,23.12H28.42Zm.23,2.3h4.62l.48,2.08h-4.9Zm.5,5.06-.24-2.42h5l.55,2.42Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M10,29.66v9.23H40V29.66Zm27.69,6.92H12.31V32H37.69Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M15.63,11.11v7.58H34.37V11.11Zm17.31,6.15H17.06V12.54H32.94Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"delivery_truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"15.35\\\" y=\\\"16.56\\\" width=\\\"15.14\\\" height=\\\"10.94\\\" transform=\\\"translate(-1.83 2.08) rotate(-5)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M38.5,18.1l-6.9.61L32.41,28l-7.63.67a3.76,3.76,0,0,1,1.43,2.25l7.25-.63A3.83,3.83,0,0,1,41,29.6l1-.1-.52-6Zm.29,5.84-3.91.34a.51.51,0,0,1-.55-.46L34,20.1a.49.49,0,0,1,.45-.54l2.27-.2a.5.5,0,0,1,.48.25l2,3.59A.5.5,0,0,1,38.79,23.94Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.66,29.09a3.8,3.8,0,0,0-1,2.46l-.74.07-1.82-.94L16,29.41Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.56,30.62a2.74,2.74,0,1,0,2.49-3A2.73,2.73,0,0,0,34.56,30.62Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.74,31.91a2.74,2.74,0,1,0,2.49-3A2.74,2.74,0,0,0,19.74,31.91Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"7.96\\\" y=\\\"17.63\\\" width=\\\"5\\\" height=\\\"1\\\" transform=\\\"translate(-1.54 0.98) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.02\\\" y=\\\"29.71\\\" width=\\\"3\\\" height=\\\"1\\\" transform=\\\"translate(-2.59 1.21) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"9.48\\\" y=\\\"23.53\\\" width=\\\"4\\\" height=\\\"1\\\" transform=\\\"matrix(1, -0.09, 0.09, 1, -2.05, 1.09)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"edit_pencil\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"12.54 38.16 12 37.62 14.85 29.64 20.52 35.31 12.54 38.16\\\" fill=\\\"#484f60\\\"/><rect x=\\\"16.33\\\" y=\\\"20.52\\\" width=\\\"17.99\\\" height=\\\"8.64\\\" transform=\\\"translate(-10.15 25.18) rotate(-45)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37.54,18.73,36,20.32l-6.11-6.1,1.59-1.59a1.55,1.55,0,0,1,2.2,0l3.91,3.9A1.55,1.55,0,0,1,37.54,18.73Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"ideal_logo\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 306.1 269.8\\\" style=\\\"enable-background:new 0 0 306.1 269.8;\\\" ><style type=\\\"text/css\\\">.st0{fill:#FFFFFF;}.st1{fill:#CC0066;}</style><g><g><path class=\\\"st0\\\" d=\\\"M0,20v229.8c0,11,9,20,20,20h137.3c103.8,0,148.8-58.1,148.8-135.2C306.1,57.9,261.1,0,157.3,0H20C9,0,0,9,0,20z\\\"/><path class=\\\"st1\\\" d=\\\"M91.9,56.4v169.8h73.9c67.1,0,96.2-37.9,96.2-91.5c0-51.3-29.1-91.1-96.2-91.1h-61.1C97.6,43.6,91.9,49.4,91.9,56.4z\\\"/><g><g><path d=\\\"M157.3,251.5H37.9c-10.6,0-19.2-8.6-19.2-19.2V37.6c0-10.6,8.6-19.2,19.2-19.2h119.4c113.3,0,130.2,72.9,130.2,116.3C287.5,210,241.2,251.5,157.3,251.5z M37.9,24.8c-7.1,0-12.8,5.7-12.8,12.8v194.7c0,7.1,5.7,12.8,12.8,12.8h119.4c79.8,0,123.8-39.2,123.8-110.4c0-95.6-77.6-109.9-123.8-109.9H37.9z\\\"/></g></g></g><g><path class=\\\"st0\\\" d=\\\"M117.9,111.8c2.6,0,5,0.4,7.3,1.2c2.3,0.8,4.2,2.1,5.9,3.7c1.6,1.7,2.9,3.8,3.9,6.2c0.9,2.5,1.4,5.4,1.4,8.8c0,3-0.4,5.7-1.1,8.2c-0.8,2.5-1.9,4.7-3.4,6.5c-1.5,1.8-3.4,3.2-5.7,4.3c-2.3,1-5,1.6-8.1,1.6h-17.5v-40.6H117.9z M117.3,144.9c1.3,0,2.5-0.2,3.8-0.6c1.2-0.4,2.3-1.1,3.2-2.1c0.9-1,1.7-2.2,2.3-3.8c0.6-1.6,0.9-3.4,0.9-5.7c0-2-0.2-3.9-0.6-5.5c-0.4-1.6-1.1-3.1-2-4.2s-2.1-2.1-3.6-2.7c-1.5-0.6-3.3-0.9-5.5-0.9h-6.4v25.6H117.3z\\\"/><path class=\\\"st0\\\" d=\\\"M172.5,111.8v7.5h-21.4v8.7h19.7v6.9h-19.7v9.9H173v7.5h-30.8v-40.6H172.5z\\\"/><path class=\\\"st0\\\" d=\\\"M203.1,111.8l15.2,40.6H209l-3.1-9h-15.2l-3.2,9h-9l15.3-40.6H203.1z M203.6,136.7l-5.1-14.9h-0.1l-5.3,14.9H203.6z\\\"/><path class=\\\"st0\\\" d=\\\"M232.8,111.8v33.1h19.8v7.5h-28.7v-40.6H232.8z\\\"/></g><g><circle cx=\\\"58.5\\\" cy=\\\"132.1\\\" r=\\\"18.7\\\"/></g><path d=\\\"M72.6,226.2L72.6,226.2c-15.7,0-28.3-12.7-28.3-28.3v-22.1c0-7.8,6.3-14.2,14.2-14.2h0c7.8,0,14.2,6.3,14.2,14.2V226.2z\\\"/></g></svg>\",\n \"map_marker\": \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z\\\" /></svg>\",\n \"master_detail\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"22\\\" y=\\\"32.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 68.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22\\\" y=\\\"26.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 56.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22\\\" y=\\\"20.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 44.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22\\\" y=\\\"14.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 32.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"14.17\\\" width=\\\"10\\\" height=\\\"22\\\" transform=\\\"translate(30 50.33) rotate(180)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"menu\": \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\\\" /></svg>\",\n \"plus_round\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-288 379 35 35\\\" enable-background=\\\"new -288 379 35 35\\\" ><path fill=\\\"#29363E\\\" d=\\\"M-270.5,381.5c-8.3,0-15,6.7-15,15c0,8.3,6.7,15,15,15s15-6.7,15-15C-255.5,388.2-262.2,381.5-270.5,381.5z M-261.1,397.3c0,0.9-0.7,1.6-1.6,1.6h-5.5v5.5c0,0.9-0.7,1.6-1.6,1.6h-1.6c-0.9,0-1.6-0.7-1.6-1.6v-5.5h-5.5c-0.9,0-1.6-0.7-1.6-1.6v-1.6c0-0.9,0.7-1.6,1.6-1.6h5.5v-5.5c0-0.9,0.7-1.6,1.6-1.6h1.6c0.9,0,1.6,0.7,1.6,1.6v5.5h5.5c0.9,0,1.6,0.7,1.6,1.6V397.3z\\\"/></svg>\",\n \"side_panel\": \"<svg width=\\\"47px\\\" height=\\\"43px\\\" viewBox=\\\"0 0 47 43\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><defs><image width=\\\"47\\\" height=\\\"43\\\" xlink:href=\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAArCAYAAADottG6AAAABHNCSVQICAgIfAhkiAAAAHtJREFUWIXt18EJwCAQAEENKSNv60gVgVQYSBWpw3f6OHvQx3Kw8xcX0QNrRERJaqMDVhhPMZ5iPMV4ivEU4ynGU/bZhb3/5Xm/pc3v6yytHdPrq58RiPEUHywl9bUxnuKDpaS+NsZTUsennjapT95RSTGeYjzFeErq+AEBrixGEVJ5mAAAAABJRU5ErkJggg==\\\" /></defs><use xlink:href=\\\"#img_1\\\" fill=\\\"#FFFFFF\\\" stroke=\\\"none\\\" /></svg>\",\n \"tag\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M40,29.15v-.68a5.28,5.28,0,0,0-1.34-3.25L24.78,11.34A5.34,5.34,0,0,0,21.53,10H11.9A1.91,1.91,0,0,0,10,11.9v9.63a5.28,5.28,0,0,0,1.34,3.25L25.22,38.66A5.28,5.28,0,0,0,28.47,40h.68a5.28,5.28,0,0,0,3.24-1.34l6.27-6.27A5.28,5.28,0,0,0,40,29.15ZM13.13,16.72a2.54,2.54,0,1,1,3.59,0A2.55,2.55,0,0,1,13.13,16.72Zm15.9,19L17.84,24.55l1.34-1.34L30.37,34.4Zm2.69-2.69L20.52,21.87l1.35-1.35,11.19,11.2Zm2.68-2.69L23.21,19.18l1.34-1.34L35.75,29Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"thick_lines\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"12.67\\\" width=\\\"30\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"21.67\\\" width=\\\"30\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"30.67\\\" width=\\\"30\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"thin_lines\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"14.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"20.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"26.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"32.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"triangle_down\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"29.06 18.75 37.5 18.75 25 31.25 12.5 18.75 20.95 18.75 29.06 18.75\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"triangle_up\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"20.94 31.25 12.5 31.25 25 18.75 37.5 31.25 29.05 31.25 20.94 31.25\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"14.75\\\" width=\\\"17.47\\\" height=\\\"12.62\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37,18.11h-8V28.84H20.22a4.42,4.42,0,0,1,1.41,2.73H30a4.41,4.41,0,0,1,8.76,0H40V24.63Zm-.26,6.73H32.25a.57.57,0,0,1-.57-.57V20a.57.57,0,0,1,.57-.58h2.63a.58.58,0,0,1,.52.35L37.31,24A.58.58,0,0,1,36.78,24.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M14.28,28.84a4.39,4.39,0,0,0-1.42,2.73H12l-2-1.26V28.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.25,32.1a3.16,3.16,0,1,0,3.16-3.16A3.16,3.16,0,0,0,31.25,32.1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M14.09,32.1a3.16,3.16,0,1,0,3.16-3.16A3.15,3.15,0,0,0,14.09,32.1Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"txt\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.42,40.17H13.87c-2.15,0-2.71-.56-2.71-2.72V12.88c0-2.15.56-2.71,2.71-2.71H25.48l8.66,8.88v3.43H32.8V19.6l-7.88-8.09H13.87c-1.37,0-1.37,0-1.37,1.37V37.45c0,1.37,0,1.37,1.37,1.37H31.42c1.38,0,1.38,0,1.38-1.37V35h1.34v2.43C34.14,39.61,33.58,40.17,31.42,40.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25.2,10.84v6.44c0,1.78.27,2,2,2h6.23Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.14,24.27v9h19.7v-9Zm6.68,2.36h-1.9V32h-1.3V26.63h-1.9V25.54h5.1ZM30.4,32,29,29.74,27.55,32H26l2.19-3.34-2-3.07h1.52L29,27.6l1.26-2.06h1.5l-2,3.12L32,32Zm6.86-5.32h-1.9V32H34.07V26.63H32.16V25.54h5.1Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"warehouse\": \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M6 19H8V21H6V19M12 3L2 8V21H4V13H20V21H22V8L12 3M8 11H4V9H8V11M14 11H10V9H14V11M20 11H16V9H20V11M6 15H8V17H6V15M10 15H12V17H10V15M10 19H12V21H10V19M14 19H16V21H14V19Z\\\" /></svg>\"\n};","import {Injectable} from \"@angular/core\";\r\nimport {DomSanitizer, SafeHtml} from \"@angular/platform-browser\";\r\nimport {Icon} from \"../enum/icon.enum\";\r\nimport {IconSvg} from \"../model/icon-svg\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class IconCacheService {\r\n /**\r\n * All the icons as a large JSON object, from the all-icons.json file.\r\n * The object has property keys that are the icon names, and property values with the data string of the actual svg icon.\r\n */\r\n public get iconCache(): { [iconName: string]: SafeHtml } {\r\n return this._iconCache;\r\n }\r\n\r\n private _iconCache: { [iconName: string]: SafeHtml } = {};\r\n\r\n constructor(\r\n private _sanitizer: DomSanitizer\r\n ) {\r\n this.setIconCache();\r\n }\r\n\r\n public getIcon(iconName: Icon): SafeHtml {\r\n if (iconName) {\r\n return this._iconCache[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public getIconAsBase64(iconName: Icon): SafeHtml {\r\n const icon: string = IconSvg[iconName];\r\n const base64Data: string = window.btoa(icon);\r\n return this._sanitizer.bypassSecurityTrustUrl(`data:image/svg+xml;base64,${base64Data}`);\r\n }\r\n\r\n public getRawIcon(iconName: Icon): string {\r\n if (iconName) {\r\n return IconSvg[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public setIconCache(): void {\r\n for (const key in IconSvg) {\r\n if (IconSvg.hasOwnProperty(key) && typeof IconSvg[key] !== \"function\") {\r\n this._iconCache[key.toLowerCase()] = this._sanitizer.bypassSecurityTrustHtml(IconSvg[key]);\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\nimport {GenderType} from \"@colijnit/transactionapi/build/enum/gender-type.enum\";\nimport {Marketing} from \"@colijnit/transactionapi/build/model/marketing.bo\";\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\nimport {DeliveryOption} from \"@colijnit/transactionapi/build/model/delivery-option.bo\";\nimport {TransactionService} from \"../../../service/transaction.service\";\nimport {TextValueContainer} from \"../../../model/text-value-container\";\nimport {DictionaryService} from \"../../../service/dictionary.service\";\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\nimport {Icon} from \"../../../enum/icon.enum\";\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\nimport {BusinessObjectFactory} from \"../../../factory/business-object-factory\";\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\n\n@Component({\n selector: \"co-checkout-overview-delivery-edit\",\n template: `\n <div class=\"delivery-edit-content\">\n <co-form>\n <div class=\"checkout-form-wrapper\">\n <div class=\"checkout-section-wrapper\">\n <div class=\"checkout-label-column\">\n <span>01</span>\n <span class=\"label\" [textContent]=\"'DELIVERY_DATA' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-carousel-3d [tileWidth]=\"200\"\n [tileHeight]=\"100\"\n [selectedIndex]=\"deliveryTypeIdx\"\n (indexSelected)=\"setIndexDeliveryType($event)\">\n <co-delivery-type-tile #carouselItem *ngFor=\"let method of deliveryMethods; let index = index\"\n [method]=\"method\"\n [selected]=\"deliveryTypeIdx === index\"\n (selectedChange)=\"handleDeliveryMethodChange($event)\"\n ></co-delivery-type-tile>\n </co-carousel-3d>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-date [placeholder]=\"'DELIVERY_DATE' | localize\" [required]=\"true\"></co-input-date>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-date [placeholder]=\"'PREFERRED_DATE' | localize\"></co-input-date>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-checkbox [label]=\"'PART_DELIVERIES' | localize\"></co-input-checkbox>\n </div>\n <div class=\"checkout-data-row\">\n <co-collapsible [headerTitle]=\"'ADD_DELIVERY_OPTION' | localize\" [iconData]=\"iconService.getIcon(icons.TriangleDown)\">\n <div class=\"checkout-data-row\">\n <co-input-listbox\n [placeholder]=\"'DELIVERY_OPTIONS' | localize\"\n [collection]=\"deliveryOptions\"\n [fields]=\"deliveryOptionFields\"\n [showCheckbox]=\"true\"\n ></co-input-listbox>\n </div>\n </co-collapsible>\n </div>\n <div class=\"checkout-data-row\">\n <co-collapsible [headerTitle]=\"'ADD_REMARK' | localize\" [iconData]=\"iconService.getIcon(icons.TriangleDown)\">\n <div class=\"checkout-data-row\">\n <co-input-textarea [placeholder]=\"'REMARKS' | localize\"></co-input-textarea>\n </div>\n </co-collapsible>\n </div>\n <div class=\"checkout-data-row\">\n <co-collapsible [headerTitle]=\"'ADD_REFERENCE' | localize\" [iconData]=\"iconService.getIcon(icons.TriangleDown)\">\n <div class=\"checkout-data-row\">\n <co-input-text [placeholder]=\"'REFERENCE' | localize\"></co-input-text>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-text [placeholder]=\"'REFERENCE_RELATION' | localize\"></co-input-text>\n </div>\n </co-collapsible>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-date [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'ASSEMBLY_DATE' | localize\"></co-input-date>\n </div>\n </div>\n </div>\n <div class=\"checkout-section-wrapper\">\n <div class=\"checkout-label-column\">\n <span>02</span>\n <span class=\"label\" [textContent]=\"'DOWNPAYMENT' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'DOWNPAYMENT_PERCENTAGE' | localize\"></co-input-text>\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'DOWNPAYMENT_AMOUNT' | localize\"></co-input-text>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'DOWNPAYMENT_BY_BR' | localize\"></co-input-text>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'DOWNPAYMENT_ON_DELIVERY' | localize\"></co-input-text>\n </div>\n </div>\n </div>\n <div class=\"checkout-section-wrapper\">\n <div class=\"checkout-label-column\">\n <span>03</span>\n <span class=\"label\" [textContent]=\"'ORDER_DATA' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'BRANCH' | localize\"></co-input-text>\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'ADMINISTRATIVE_MANAGER' | localize\"></co-input-text>\n </div>\n <div class=\"checkout-data-row\">\n <co-drop-down-list\n [collection]=\"marketing\"\n [fields]=\"marketingFields\"\n [placeholder]=\"'MARKETING' | localize\"></co-drop-down-list>\n </div>\n <div class=\"checkout-data-row\">\n </div>\n <div class=\"checkout-data-row\">\n </div>\n </div>\n </div>\n </div>\n </co-form>\n </div>\n `,\n providers: [\n FormMasterService\n ],\n animations: [\n trigger(\"showHideInvoiceAddress\", [\n state(\"void\", style({height: 0, opacity: 0})),\n state(\"*\", style({height: \"*\", opacity: 1})),\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\n transition(\"* => void\", animate(\"200ms ease-out\"))\n ])\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class CheckoutOverviewDeliveryEditComponent implements OnInit {\n public readonly icons: typeof Icon = Icon;\n\n // @Input()\n // public deliveryOptionsRequest: SetTransactionDeliveryOptionsRequest;\n\n @Input()\n public transaction: TransactionInfoResponse;\n\n @Output()\n public validSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public invalidSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding(\"class.co-checkout-overview-delivery-edit\")\n public showClass(): boolean {\n return true;\n }\n\n // public deliveryTypes: DeliveryType[] = [\n // {code: '1', description: 'Bezorgen', icon: this.icons.DeliveryTruck, price: 89},\n // {code: '2', description: 'Bezorgen & monteren', icon: this.icons.CalendarDay, price: 119},\n // {code: '3', description: 'Meenemen', icon: this.icons.Truck},\n // ];\n public deliveryOptionList: DeliveryOption[] = [];\n public deliveryOptions: DeliveryOption[] = [];\n public deliveryOptionFields: TextValueContainer = {text: \"description\", value: \"code\"};\n public deliveryMethods: DeliveryMethod[] = [];\n public deliveryMethodFields: TextValueContainer = {text: \"description\", value: \"code\"};\n public deliveryTypeIdx: number = 0;\n\n public changeLocationPopup: boolean = false;\n public newAddress: Address;\n public preferredDateOptions: TextValueContainer[] = [\n {text: \"NOT_AFTER\", value: \">\"},\n {text: \"NOT_BEFORE\", value: \"<\"},\n {text: \"ON_DATE\", value: \"=\"},\n ];\n public addressToEdit: Address;\n public preferredDate: Date = new Date();\n public gender: GenderType;\n public marketing: Marketing[] = [];\n public marketingFields: Object = {text: \"description\", value: \"code\"};\n public marketingCode: string;\n public assemblyCosts: number;\n public deliveryCosts: number;\n\n // TODO: Deze velden nog opnemen in Transaction!!\n public deliveryDateFinal: boolean = false;\n public assemblyDate: Date = new Date();\n public totalAssemblyTime: string = \"\";\n public dropshipment: boolean = false;\n\n public get deliveryDate(): Date {\n if (this.transaction.transactionInfo.deliveryDate === undefined) {\n this.transaction.transactionInfo.deliveryDate = new Date();\n }\n return this.transaction.transactionInfo.deliveryDate;\n }\n\n public set deliveryDate(value: Date) {\n this.transaction.transactionInfo.deliveryDate = value;\n }\n\n public get preferredDeliveryDate(): Date {\n if (this.transaction.transactionInfo.preferredDeliveryDate === undefined) {\n this.transaction.transactionInfo.preferredDeliveryDate = new Date();\n }\n return this.transaction.transactionInfo.preferredDeliveryDate;\n }\n\n public set preferredDeliveryDate(value: Date) {\n this.transaction.transactionInfo.preferredDeliveryDate = value;\n }\n\n constructor(\n private _dictionaryService: DictionaryService,\n private _formMasterService: FormMasterService,\n private _boFactory: BusinessObjectFactory,\n public service: TransactionService,\n public iconService: IconCacheService\n ) {\n }\n\n public async ngOnInit(): Promise<void> {\n this.deliveryCosts = this.calculateDeliveryCosts();\n this.assemblyCosts = this.calculateAssemblyCosts();\n this.service.getDeliveryMethods().then((methods: DeliveryMethod[]) => {\n this.deliveryMethods = methods.filter(m => m.webshop);\n });\n this.service.getDeliveryOptions().then((options: DeliveryOption[]) => {\n this.deliveryOptionList = options;\n });\n this.service.getMarketingCodes().then((marketingCodes: Marketing[]) => {\n this.marketing = marketingCodes;\n });\n }\n\n public submit(): boolean {\n return this._formMasterService.submitSlaves();\n }\n\n public async handleDeliveryMethodChange(deliveryMethod: DeliveryMethod): Promise<void> {\n this.transaction.transactionLines.forEach((tl: TransactionLineInfo) => {\n tl.deliveryMethodCode = deliveryMethod.code;\n })\n if (deliveryMethod) {\n this.deliveryOptions = this.selectDeliveryOptionsByDeliveryMethod(deliveryMethod);\n }\n }\n\n public setIndexDeliveryType(idx: number): void {\n this.deliveryTypeIdx = idx;\n // this.selectAddress(this.relation.addresses[idx]);\n }\n\n public selectDeliveryOptionsByDeliveryMethod(deliveryMethod: DeliveryMethod): DeliveryOption[] {\n return this.deliveryOptionList.filter(deliveryOption => deliveryMethod.deliveryOptions.indexOf(deliveryOption.code) !== -1);\n }\n\n public selectDeliveryMethodById(deliveryMethodId: string): DeliveryMethod {\n return this.deliveryMethods.find(delivery => delivery.code === deliveryMethodId);\n }\n\n public isDeliveryOptionChecked(deliveryOptionItem: DeliveryOption): boolean {\n return (this.transaction.transactionInfo.deliveryOptions.indexOf(deliveryOptionItem.code, 0) === 0);\n }\n\n public changePreferredDeliveryDate2(preferredDateOption: string): void {\n this.transaction.transactionInfo.preferredDeliveryDate2 = preferredDateOption;\n }\n\n public onMarketingCodeChange(marketingCode: string): void {\n this.transaction.transactionInfo.marketingCode = marketingCode;\n }\n\n public onChangeLocationCancelClick(): void {\n this.changeLocationPopup = false;\n }\n\n private calculateDeliveryCosts(): number {\n return 0;\n }\n\n private calculateAssemblyCosts(): number {\n return 0;\n }\n}\n","import {Component, EventEmitter, Input, Output} from \"@angular/core\";\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\nimport {TransactionService} from \"../../../service/transaction.service\";\n\n@Component({\n selector: \"checkout-overview-delivery-address\",\n template: `\n <div>\n <div>\n <label [textContent]=\"label | localize\"\n class=\"checkout-label-h3\"\n ></label>\n </div>\n\n <div (click)=\"onClick()\">\n <div>\n {{ address?.streetName }} {{ address?.houseNo}} {{ address?.houseNoAddition}}\n </div>\n <div>\n {{ address?.postalCode }} {{ address?.city}}\n </div>\n <div>\n {{ address?.countryName }}\n </div>\n </div>\n </div>\n `,\n styleUrls: [\n \"./checkout-overview-delivery-address.component.scss\"\n ]\n})\nexport class CheckoutOverviewDeliveryAddressComponent {\n\n @Input()\n public label: string;\n\n @Input()\n public address: Address;\n\n @Output()\n public editRequest: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n public service: TransactionService\n ) {}\n\n public onClick(): void {\n this.editRequest.emit();\n }\n}\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\n\n@Component({\n selector: \"co-checkout-relation-suggestions-list\",\n template: `\n <div class=\"flex-column items-wrapper\">\n <co-checkout-relation-suggestions-list-item *ngFor=\"let suggestion of suggestions\" [suggestion]=\"suggestion\"\n (selectionSelected)=\"suggestionSelected.emit($event)\"></co-checkout-relation-suggestions-list-item>\n <span *ngIf=\"suggestions?.length === 0\" class=\"no-results\" localize=\"NO_RESULTS_FOUND\"></span>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class CheckOutRelationSuggestionsListComponent {\n @Input()\n public suggestions: RelationListObject[] = [];\n\n // Emits the clicked relation list object.\n @Output()\n public suggestionSelected: EventEmitter<RelationListObject> = new EventEmitter<RelationListObject>();\n\n @HostBinding('class.co-checkout-relation-suggestions-list')\n public showClass() {\n return true;\n }\n}\n","import {Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\n\n@Component({\n selector: \"co-checkout-relation-suggestions-list-item\",\n template: `\n <div class=\"name medium-big-font\" *ngIf=\"suggestion.displayName as displayName\" [textContent]=\"displayName\"></div>\n <div class=\"email\" *ngIf=\"suggestion.email\" [textContent]=\"suggestion.email\"></div>\n <div class=\"address\" *ngIf=\"suggestion.displayAddress as address\" [textContent]=\"address\"></div>\n <div class=\"phone\" *ngIf=\"suggestion.tel1\" [textContent]=\"suggestion.tel1\"></div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class CheckOutRelationSuggestionsListItemComponent {\n @Input()\n public suggestion: RelationListObject;\n\n @Output()\n public selectionSelected: EventEmitter<RelationListObject> = new EventEmitter<RelationListObject>();\n\n @HostBinding(\"class.co-checkout-relation-suggestions-list-item\")\n public showClass() {\n return true;\n }\n\n @HostListener(\"click\", [\"$event\"])\n public handleClick(event: MouseEvent) {\n this.selectionSelected.next(this.suggestion);\n }\n}\n","import {Component, EventEmitter, OnInit, Output, ViewChild} from \"@angular/core\";\nimport {FormComponent} from \"@colijnit/corecomponents_v12\";\n\n@Component({\n selector: \"checkout-login\",\n template: `\n <h1>{{ \"LOGIN\" | localize}}</h1>\n <div class=\"users\">\n <co-form #loginForm (validSubmit)=\"login()\">\n <div class=\"existing-user\">\n <p><strong>{{ \"EXISTING_CUSTOMERS\" | localize }}</strong></p>\n <co-input-text\n [(model)]=\"userEmailAddress\"\n [placeholder]=\"'EMAIL_ADDRESS' | localize \"\n [type]=\"'email'\"\n required\n ></co-input-text>\n\n <co-input-text\n [(model)]=\"userPassword\"\n [placeholder]=\"'PASSWORD' | localize \"\n [type]=\"'password'\"\n required\n ></co-input-text>\n <div class=\"login-button\">\n <co-button\n [label]=\"'LOGIN' | localize\" (click)=\"submit()\"\n ></co-button>\n </div>\n </div>\n </co-form>\n\n <co-form #accountForm (validSubmit)=\"accountLogin()\">\n <div class=\"new-user\">\n <p class=\"boxedbottom\">\n <strong>{{ \"NEW_AT\" | localize}}{{company}}</strong>\n <br/>{{ \"CREATE_ACCOUNT_IN_2_MIN\" | localize }}\n </p>\n <div class=\"new-user-e-mail\">\n <co-input-text\n [(model)]=\"userNewEmailAddress\"\n [placeholder]=\"'EMAIL_ADDRESS' | localize \"\n [type]=\"'email'\"\n required\n ></co-input-text>\n </div>\n <div class=\"login-button\">\n <co-button\n [label]=\"'CREATE_ACCOUNT' | localize\"\n (click)=\"createAccountSubmit()\"\n ></co-button>\n <co-button\n [label]=\"'CONTINUE_WITHOUT_ACCOUNT' | localize\"\n (click)=\"continueSubmit()\"\n ></co-button>\n </div>\n </div>\n </co-form>\n </div>\n `,\n styleUrls: [\"./checkout-login.component.scss\"]\n})\nexport class CheckoutLoginComponent implements OnInit {\n @ViewChild(\"loginForm\")\n public loginForm: FormComponent;\n\n @ViewChild(\"accountForm\")\n public accountForm: FormComponent;\n\n @Output()\n public createNewAccountSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public continueWithoutSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public loginSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n public userEmailAddress: string = \"\";\n public userNewEmailAddress: string = \"\";\n public userPassword: string = \"\";\n public continueWithoutAccount: boolean = false;\n\n public company: string = \"<bedrijf>\";\n constructor(\n ) { }\n\n ngOnInit(): void {\n }\n\n public login(): void {\n this.loginSubmit.emit();\n }\n\n public submit(): void {\n this.loginForm.submit();\n }\n\n public createAccountSubmit(): void {\n this.accountForm.submit();\n }\n\n public continueSubmit(): void {\n this.continueWithoutAccount = true;\n this.accountForm.submit();\n }\n\n public accountLogin(): void {\n if (this.continueWithoutAccount) {\n this.continueWithoutSubmit.emit();\n } else {\n this.createNewAccountSubmit.emit();\n }\n }\n}\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\n\n@Component({\n selector: \"co-image-display\",\n template: `\n <img class=\"image\" *ngIf=\"!!model\" [src]=\"model\">\n <div class=\"no-image\" *ngIf=\"!model\">\n <div class=\"img\"></div>\n <div class=\"no-image-label\" [textContent]=\"label | localize\"></div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class ImageDisplayComponent {\n // Image data URI string. Meant for direct use in [src] attribute of an <img> tag.\n @Input()\n public model: string;\n\n // The (localized) text to show when there is no image. Defaults to 'NO_IMAGE'.\n @Input()\n public label: string = \"NO_IMAGE\";\n\n @HostBinding('class.co-image-display')\n public showClass() {\n return true;\n }\n}\n","import {Component, HostBinding, Input, OnDestroy} from \"@angular/core\";\nimport {SafeHtml} from \"@angular/platform-browser\";\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\nimport {Icon} from \"../../../enum/icon.enum\";\n\n@Component({\n selector: \"icon\",\n template: \"\",\n styleUrls: [\n \"./icon.component.scss\"\n ]\n})\nexport class IconComponent implements OnDestroy {\n\n @Input()\n public set icon(icon: Icon) {\n this._setSvg(icon);\n }\n\n @HostBinding(\"innerHtml\")\n public svg?: SafeHtml;\n\n constructor(private _iconCacheService: IconCacheService) {\n }\n\n ngOnDestroy(): void {\n this.svg = undefined;\n }\n\n private _setSvg(icon: Icon): void {\n this.svg = this._iconCacheService.getIcon(icon);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\r\nimport {IOneConnectorAdapterService} from \"../../../service/ione-connector-adapter.service\";\r\nimport {CustomerGroup} from \"@colijnit/transactionapi/build/model/customer-group.bo\";\r\n\r\n@Component({\r\n selector: \"relation-customer-groups\",\r\n template: `\r\n <co-input-combo-box [model]=\"model\"\r\n (modelChange)=\"modelChange.emit($event)\"\r\n [collection]=\"customerGroups\"\r\n [fields]=\"fields\"\r\n [placeholder]=\"'CUSTOMER_GROUP' | localize\"\r\n [required]=\"required\"\r\n ></co-input-combo-box>\r\n `,\r\n styleUrls: [\r\n './relation-customer-groups.component.scss'\r\n ]\r\n})\r\nexport class CustomerGroupsComponent implements OnInit {\r\n\r\n @Input()\r\n public required: boolean = false;\r\n\r\n @Input()\r\n public model: string;\r\n\r\n @Output()\r\n public modelChange: EventEmitter<CustomerGroup> = new EventEmitter<CustomerGroup>()\r\n\r\n public customerGroups: CustomerGroup[] = [];\r\n public fields: Object = { text: \"naam\", value: \"groepsnummer\" };\r\n\r\n public constructor(\r\n private _connector: IOneConnectorAdapterService\r\n ) {}\r\n\r\n async ngOnInit(): Promise<void> {\r\n this.customerGroups = await this._connector.getCustomerGroups();\r\n }\r\n\r\n}\r\n","import {Component, Input} from \"@angular/core\";\nimport {StockStatus} from \"@colijnit/transactionapi/build/enum/refcode/stock-status.enum\";\n\n@Component({\n selector: \"stock-status-indicator\",\n template: `\n <div [class]=\"stockClass\">\n <div class=\"square-1\"></div>\n <div class=\"square-2\"></div>\n <div class=\"square-3\"></div>\n </div>\n `,\n styleUrls: [\n \"./stock-status-indicator.component.scss\"\n ]\n})\n// Component that visually shows a stock status with three colored boxes.\nexport class StockStatusIndicatorComponent {\n @Input()\n public model: StockStatus;\n\n public get stockClass(): string {\n return this.model;\n }\n}\n","// A pipe for appending strings to other strings in view templates.\r\nimport {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\n@Pipe({name: \"append\"})\r\nexport class AppendPipe implements PipeTransform {\r\n transform(value: string, append?: string): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n\r\n if (!append) {\r\n return value;\r\n }\r\n\r\n return value + append;\r\n }\r\n}\r\n","// Time size types, as in 'days' or 'weeks' or 'months'.\r\nexport enum TimeSizeType {\r\n Hours = \"hours\",\r\n Days = \"days\",\r\n Weeks = \"weeks\",\r\n Months = \"months\",\r\n Years = \"years\"\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DictionaryService} from \"../service/dictionary.service\";\r\nimport {DateUtils} from \"@colijnit/transactionapi/build/utils/date-utils\";\r\nimport {TimeSizeType} from \"../enum/time-size.type\";\r\n\r\n@Pipe({name: \"dateDuration\", pure: false})\r\nexport class DateDurationPipe implements PipeTransform {\r\n\r\n constructor(protected _dictionary: DictionaryService) {\r\n }\r\n\r\n // Transforms some date in the future to a duration string, e.g. \"x days\" or \"x weeks\" (from now)\r\n transform(value: Date, timeSize: TimeSizeType = TimeSizeType.Days): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n const deltaDays: number = Math.round(DateUtils.GetDaysFromNow(value));\r\n\r\n if (deltaDays === 0) {\r\n return this._dictionary.get(\"NOW\");\r\n } else if (timeSize === TimeSizeType.Days) {\r\n return this.transformByDeltaDays(deltaDays);\r\n } else if (timeSize === TimeSizeType.Weeks) {\r\n return this.transformByDeltaWeeks(deltaDays);\r\n } else {\r\n return this.transformByDeltaDays(deltaDays);\r\n }\r\n }\r\n\r\n // @returns like \"1 day\" or \"5 days\"\r\n public transformByDeltaDays(deltaDays: number): string {\r\n let daySuffix: string;\r\n if (deltaDays === 1) {\r\n daySuffix = this._dictionary.get(\"DAY\", false);\r\n } else {\r\n daySuffix = this._dictionary.get(\"DAYS\", false);\r\n }\r\n return deltaDays + \" \" + daySuffix;\r\n }\r\n\r\n // @returns like \"1 week\" or \"5 weeks\"\r\n public transformByDeltaWeeks(deltaWeeks: number): string {\r\n let weeksSuffix: string;\r\n if (deltaWeeks === 1) {\r\n weeksSuffix = this._dictionary.get(\"WEEK\", false);\r\n } else {\r\n weeksSuffix = this._dictionary.get(\"WEEKS\", false);\r\n }\r\n return deltaWeeks + \" \" + weeksSuffix;\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DateDurationPipe} from \"./date-duration.pipe\";\r\nimport {DictionaryService} from \"../service/dictionary.service\";\r\nimport {TimeSizeType} from \"../enum/time-size.type\";\r\nimport {DateUtils} from \"@colijnit/transactionapi/build/utils/date-utils\";\r\n\r\n@Pipe({name: \"deliveryTime\", pure: false})\r\nexport class DeliveryTimePipe extends DateDurationPipe implements PipeTransform {\r\n\r\n constructor(_dictionaryService: DictionaryService) {\r\n super(_dictionaryService);\r\n }\r\n\r\n /**\r\n * Transforms some Date in the future to a duration string such as \"x days\" or \"x months\" (from now).\r\n * Outputs 'directly available' if 0 days diff.\r\n */\r\n transform(value: Date, timeSize: TimeSizeType = TimeSizeType.Days): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n if (typeof value === 'number') {\r\n value = new Date(value);\r\n }\r\n\r\n const deltaDays: number = Math.round(DateUtils.GetDaysFromNow(value));\r\n\r\n if (deltaDays <= 0) {\r\n return this._dictionary.get(\"DELIVERY_DIRECT\");\r\n } else {\r\n return super.transform(value, timeSize);\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DictionaryService} from \"../service/dictionary.service\";\r\n\r\n@Pipe({\r\n name: \"localize\"\r\n})\r\n// A pipe for localizing string values in view templates.\r\nexport class LocalizePipe implements PipeTransform {\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention, no-underscore-dangle, id-blacklist, id-match\r\n constructor(private _dictionaryService: DictionaryService) {}\r\n\r\n transform(value: string, upperCaseFirst: boolean = true, replace: string|string[] = []): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n replace = replace ? replace : [];\r\n if (!Array.isArray(replace)) {\r\n replace = [replace];\r\n }\r\n return this._dictionaryService.get(value, upperCaseFirst, ...replace);\r\n }\r\n}\r\n","/**\r\n * A pipe for transforming strings or numbers to currency formatted strings for display as a price text, e.g. the number 1300.82 to \"€ 1,300.82\"\r\n * or the string \"9000\" to \"€ 9000,-\"\r\n */\r\nimport {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {NumberUtils} from \"@colijnit/transactionapi/build/utils/number-utils\";\r\n\r\n@Pipe({name: \"coCurrency\"})\r\nexport class CoCurrencyPipe implements PipeTransform {\r\n private static readonly _CurrencySymbol: string = \"€\";\r\n private static readonly _WholeNumberedPriceSuffix: string = \",-\";\r\n\r\n transform(value: any, allowZero: boolean = false): string {\r\n if (value === null || value === undefined) {\r\n if (allowZero) {\r\n value = 0;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n if (value === 0 && !allowZero) {\r\n return \"\";\r\n }\r\n let suffix: string = \"\";\r\n const valueAsFloat: number = NumberUtils.ParseFloat(value, 2);\r\n if (NumberUtils.IsNaN(valueAsFloat)) {\r\n return \"\";\r\n }\r\n // append ,- if integer\r\n if (NumberUtils.IsInteger(valueAsFloat)) {\r\n suffix = CoCurrencyPipe._WholeNumberedPriceSuffix;\r\n }\r\n let valueAsString: string = valueAsFloat.toString();\r\n // add extra zero if price has only one decimal, something like '100.2'\r\n if (valueAsString.indexOf(\".\") > -1 && valueAsString.split(\".\")[1].length === 1) {\r\n valueAsString += \"0\";\r\n }\r\n valueAsString = NumberUtils.AddThousandsCommasTo(valueAsString);\r\n // switch '.' and ',' characters (Dutch number view .. hard coded format for now)\r\n valueAsString = valueAsString.replace(\",\", \"#\");\r\n valueAsString = valueAsString.replace(\".\", \",\");\r\n valueAsString = valueAsString.replace(\"#\", \".\");\r\n return CoCurrencyPipe._CurrencySymbol + \" \" + valueAsString + suffix;\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DomSanitizer, SafeStyle} from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: \"safeStyle\"\r\n})\r\nexport class SafeStylePipe implements PipeTransform {\r\n\r\n constructor(private _sanitizer: DomSanitizer) {}\r\n\r\n transform(value: string): SafeStyle | any {\r\n return this._sanitizer.bypassSecurityTrustStyle(value);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DomSanitizer, SafeStyle} from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: \"safeHtml\"\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private _sanitizer: DomSanitizer) {}\r\n\r\n transform(value: string): SafeStyle | any {\r\n return this._sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AppendPipe} from \"./append.pipe\";\r\nimport {DeliveryTimePipe} from \"./delivery-time.pipe\";\r\nimport {DateDurationPipe} from \"./date-duration.pipe\";\r\nimport {LocalizePipe} from \"./localize.pipe\";\r\nimport {CoCurrencyPipe} from \"./co-currency.pipe\";\r\nimport {SafeStylePipe} from \"./safe-style.pipe\";\r\nimport {SafeHtmlPipe} from \"./safe-html.pipe\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n AppendPipe,\r\n DeliveryTimePipe,\r\n DateDurationPipe,\r\n LocalizePipe,\r\n CoCurrencyPipe,\r\n SafeStylePipe,\r\n SafeHtmlPipe\r\n ],\r\n exports: [\r\n LocalizePipe,\r\n CoCurrencyPipe,\r\n AppendPipe,\r\n DeliveryTimePipe,\r\n SafeStylePipe,\r\n SafeHtmlPipe,\r\n CoCurrencyPipe\r\n ]\r\n})\r\nexport class PipeModule { }\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ConfirmationDialogComponent} from \"./confirmation-dialog.component\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n ButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ConfirmationDialogComponent\r\n ],\r\n exports: [\r\n ConfirmationDialogComponent\r\n ]\r\n})\r\nexport class ConfirmationDialogModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {ButtonComponent} from \"@colijnit/corecomponents_v12\";\r\n\r\n@Component({\r\n selector: \"co-default-ok-cancel-buttons\",\r\n template: `\r\n <co-button *ngIf=\"!hideOk\" [label]=\"okLabel\" [disabled]=\"okDisabled\" class=\"ok\" #okButton (click)=\"onOkClick($event)\"></co-button>\r\n <co-button *ngIf=\"!hideCancel\" label=\"CANCEL\" (click)=\"cancelClick.emit($event)\"></co-button>\r\n <ng-content></ng-content>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DefaultOkCancelButtonsComponent {\r\n @ViewChild(\"okButton\")\r\n public okButtonComp: ButtonComponent;\r\n\r\n @Input()\r\n public okDisabled: boolean;\r\n\r\n @Input()\r\n public hideCancel: boolean = false;\r\n\r\n @Input()\r\n public hideOk: boolean = false;\r\n\r\n @Input()\r\n public okLabel: string = \"OK\";\r\n\r\n // only emits when ok button was not disabled when it was clicked\r\n @Output()\r\n public okClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding('class.co-default-ok-cancel-buttons')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public onOkClick(event: MouseEvent): void {\r\n if (this.okButtonComp && !this.okButtonComp.disabled) {\r\n this.okClick.emit(event);\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {ImageDisplayComponent} from \"./image-display/image-display.component\";\nimport {IconComponent} from \"./icon/icon.component\";\nimport {CustomerGroupsComponent} from \"./relation/customer-groups.component\";\nimport {ButtonModule, CoDialogModule, InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\nimport {StockStatusIndicatorComponent} from \"./stock-status-indicator/stock-status-indicator.component\";\nimport {ConfirmationDialogModule} from \"../confirmation-dialog/confirmation-dialog.module\";\nimport {PipeModule} from \"../../pipe/pipe.module\";\nimport {DefaultOkCancelButtonsComponent} from \"./base/default-ok-cancel-buttons.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n InputComboBoxModule,\n CoDialogModule,\n ButtonModule,\n ConfirmationDialogModule,\n PipeModule\n ],\n declarations: [\n ImageDisplayComponent,\n IconComponent,\n CustomerGroupsComponent,\n StockStatusIndicatorComponent,\n DefaultOkCancelButtonsComponent\n ],\n exports: [\n ImageDisplayComponent,\n IconComponent,\n CustomerGroupsComponent,\n StockStatusIndicatorComponent,\n DefaultOkCancelButtonsComponent\n ]\n})\nexport class CoreModule { }\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\r\nimport {BusinessObjectFactory} from \"../../factory/business-object-factory\";\r\nimport {AddressType} from \"@colijnit/transactionapi/build/enum/address-type.enum\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\n@Component({\r\n selector: \"co-relation-address-select\",\r\n template: `\r\n <div class=\"relation-address-content\" #scrollContainer>\r\n <co-relation-address-tile *ngFor=\"let address of collection; let index = index\"\r\n [address]=\"address\"\r\n [selected]=\"index === selectedIdx\"\r\n (click)=\"selectedIdx = index\">\r\n </co-relation-address-tile>\r\n <co-relation-address-tile *ngIf=\"showAdd\" [actAsAddTile]=\"true\" (addAddressClicked)=\"createAddress()\"></co-relation-address-tile>\r\n <div class=\"relation-address-navigate left\" *ngIf=\"showNavigateLeft\" @showHideNavigationButton>\r\n <icon [icon]=\"icons.ArrowPointLeft\"></icon>\r\n </div>\r\n <div class=\"relation-address-navigate right\" *ngIf=\"showNavigateRight\" @showHideNavigationButton>\r\n <icon [icon]=\"icons.ArrowPointRight\"></icon>\r\n </div>\r\n </div>\r\n <div class=\"relation-address-change\">\r\n <icon class=\"relation-address-icon\" [icon]=\"icons.ArrowPointRight\"></icon>\r\n <div [textContent]=\"'Wijzig adres'\" (click)=\"editAddress()\"></div>\r\n </div>\r\n <div class=\"relation-address-select-button-wrapper\">\r\n <co-button [label]=\"'SAVE' | localize\" (click)=\"selectAddress()\"></co-button>\r\n <co-button [label]=\"'CANCEL' | localize\" (click)=\"cancelClick.emit()\"></co-button>\r\n </div>\r\n <co-dialog *ngIf=\"showDialog\">\r\n <co-relation-address\r\n [address]=\"addressToEdit\"\r\n (saveClick)=\"saveAddress($event)\"\r\n (cancelClick)=\"showDialog = false\"\r\n ></co-relation-address>\r\n </co-dialog>\r\n `,\r\n providers: [\r\n FormMasterService\r\n ],\r\n animations: [\r\n trigger(\"showHideNavigationButton\", [\r\n state(\"void\", style({opacity: 0})),\r\n state(\"*\", style({opacity: 1})),\r\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\r\n transition(\"* => void\", animate(\"200ms ease-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelationAddressSelectComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild('scrollContainer', { read: ElementRef }) set content(content) {\r\n if (content) {\r\n this.scrollContainer = content;\r\n this._initObserver();\r\n }\r\n }\r\n\r\n @HostBinding(\"class.co-relation-address-select\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @Input()\r\n public collection: Address[] = [];\r\n\r\n @Input()\r\n public showAdd: boolean = true;\r\n\r\n @Output()\r\n public addressAdded: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n @Output()\r\n public addressUpdated: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n @Output()\r\n public addressSelected: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public selectedIdx: number = 0;\r\n\r\n public addressToEdit: Address;\r\n public showDialog: boolean = false;\r\n public scrollContainer: ElementRef;\r\n public observer: IntersectionObserver;\r\n public showNavigateLeft: boolean = true;\r\n public showNavigateRight: boolean = true;\r\n\r\n constructor(\r\n private _formMasterService: FormMasterService,\r\n private _boFactory: BusinessObjectFactory\r\n ) {\r\n }\r\n\r\n public selectAddress(): void {\r\n this.addressSelected.next(this.collection[this.selectedIdx]);\r\n }\r\n\r\n public createAddress(): void {\r\n this.addressToEdit = new Address();\r\n this.addressToEdit.addressType = AddressType.DeliveryAddress;\r\n this.showDialog = true;\r\n }\r\n\r\n public saveAddress(address: Address): void {\r\n if (this._formMasterService.submitSlaves()) {\r\n if (address.getId()) {\r\n this.collection[this.selectedIdx] = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, address);\r\n } else {\r\n this.collection.push(address);\r\n }\r\n this.showDialog = false;\r\n }\r\n }\r\n\r\n public editAddress(): void {\r\n const address: Address = this.collection[this.selectedIdx];\r\n if (address) {\r\n this.addressToEdit = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, address);\r\n this.showDialog = true;\r\n }\r\n }\r\n\r\n private _initObserver(): void {\r\n if (this.scrollContainer && this.scrollContainer.nativeElement) {\r\n const intersectionOptions = {\r\n root: null,\r\n rootMargin: '0px',\r\n threshold: 1.0\r\n };\r\n this.observer = new IntersectionObserver(this._intersectionCallback, intersectionOptions);\r\n this.observer.observe(this.scrollContainer.nativeElement);\r\n }\r\n }\r\n\r\n private _intersectionCallback = (entries, observer) => {\r\n const entry = entries[0];\r\n if (entry.intersectionRatio < 1) {\r\n this.showNavigateRight = true;\r\n } else {\r\n this._hideButtons();\r\n }\r\n }\r\n\r\n private _hideButtons(): void {\r\n this.showNavigateLeft = false;\r\n this.showNavigateRight = false;\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\nimport {isNill} from \"@colijnit/transactionapi/build/utils/function/is-nill.function\";\nimport {IOneConnectorAdapterService} from \"../../service/ione-connector-adapter.service\";\nimport {GetPostalCodeRetrievalOutputParams} from \"@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params\";\nimport {StringUtils} from \"../../utils/string-utils\";\nimport {DictionaryService} from \"../../service/dictionary.service\";\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\n\n@Component({\n selector: \"co-relation-address\",\n template: `\n <label *ngIf=label [textContent]=\"label | localize\"\n class=\"checkout-label-h3\"\n ></label>\n <co-form>\n <div class=\"relation-address-data-row default\">\n <co-input-combo-box [(model)]=\"address.countryId\"\n [collection]=\"countries\"\n [fields]=\"fields\"\n [placeholder]=\"'COUNTRY'| localize\"\n [required]=\"true\"\n ></co-input-combo-box>\n </div>\n <div class=\"relation-address-data-row default\">\n <co-input-text [(model)]=\"address.postalCode\"\n [placeholder]=\"'POSTAL_CODE' | localize\"\n (blur)=\"checkForPostalCodeCheckError()\"\n required\n ></co-input-text>\n <co-input-text class=\"default-width\"\n [(model)]=\"address.houseNo\"\n [placeholder]=\"'HOUSE_NO' | localize\"\n (blur)=\"checkForPostalCodeCheckError()\"\n (modelChange)=\"changeHouseNo()\"\n required\n ></co-input-text>\n <co-input-text [(model)]=\"address.houseNoAddition\"\n [placeholder]=\"'HOUSE_NO_ADDITION' | localize\"\n ></co-input-text>\n </div>\n <div class=\"relation-address-data-row default\">\n <co-input-text [(model)]=\"address.streetName\" [placeholder]=\"'STREET' | localize\" required></co-input-text>\n </div>\n <div class=\"relation-address-data-row default\">\n <co-input-text [(model)]=\"address.city\" [placeholder]=\"'CITY' | localize\" required></co-input-text>\n </div>\n <div class=\"relation-address-button-wrapper\" *ngIf=\"showButtons\">\n <co-button [label]=\"'SAVE' | localize\" (click)=\"submitForm()\"></co-button>\n <co-button [label]=\"'CANCEL' | localize\" (click)=\"cancelClick.emit()\"></co-button>\n </div>\n </co-form>\n `,\n providers: [\n FormMasterService\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class RelationAddressComponent implements OnInit {\n\n @Input()\n public label: string;\n\n @Input()\n public address: Address = new Address();\n\n @Input()\n public showButtons: boolean = true;\n\n @Output()\n public saveClick: EventEmitter<Address> = new EventEmitter<Address>();\n\n @Output()\n public cancelClick: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding(\"class.co-relation-address\")\n public showClass(): boolean {\n return true;\n }\n\n public countries: Country[] = [];\n public fields: Object = {text: \"description\", value: \"code\"};\n\n public constructor(\n private _dictionary: DictionaryService,\n private _connector: IOneConnectorAdapterService,\n private _formMasterService: FormMasterService\n ) {\n }\n\n public postalCodeCheckErrorMessage: string = \"\";\n\n private _prevPostalCodeForCheck: string = \"\";\n private _prevHouseNoForCheck: number;\n private _address: Address;\n\n async ngOnInit(): Promise<void> {\n this.countries = await this._connector.getCountries();\n }\n\n public submitForm(): void {\n if (this._formMasterService.submitSlaves()) {\n this.saveClick.next(this.address);\n }\n }\n\n public async checkForPostalCodeCheckError(): Promise<void> {\n if (!this.address.postalCode || isNill(this.address.houseNo)) {\n this.postalCodeCheckErrorMessage = \"\";\n return;\n }\n\n if (this._prevPostalCodeForCheck !== this.address.postalCode || this._prevHouseNoForCheck !== this.address.houseNo) {\n this._prevPostalCodeForCheck = this.address.postalCode;\n this._prevHouseNoForCheck = this.address.houseNo;\n const postalCodeResponse: GetPostalCodeRetrievalOutputParams = await this._connector.getPostalCodeRetrieval((this.address.postalCode ? this.address.postalCode : \"\"),\n StringUtils.ParseString(this.address.houseNo));\n if (postalCodeResponse && postalCodeResponse.isBadAddress) {\n this.postalCodeCheckErrorMessage = this._dictionary.get(\"UNKNOWN_ADDRESS_CHECK_IT\");\n } else {\n this.postalCodeCheckErrorMessage = \"\";\n this.address.streetName = postalCodeResponse.street;\n this.address.city = postalCodeResponse.city;\n }\n }\n }\n\n public changeHouseNo(): void {\n this.address.houseNo = Number(this.address.houseNo);\n }\n}\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationAddressComponent} from \"./relation-address.component\";\r\nimport {ButtonModule, FormModule, InputComboBoxModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputComboBoxModule,\r\n InputTextModule,\r\n CoreModule,\r\n FormModule,\r\n ButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n RelationAddressComponent\r\n ],\r\n exports: [\r\n RelationAddressComponent\r\n ]\r\n})\r\nexport class RelationAddressModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-relation-address-tile\",\r\n template: `\r\n <ng-container *ngIf=\"!actAsAddTile\">\r\n <co-tile [selected]=\"selected\" (selectedChange)=\"selectedChange.emit($event)\">\r\n <div class=\"relation-content-wrapper\">\r\n <span class=\"relation-address-type\" [textContent]=\"address.displayType | localize\"></span>\r\n <span class=\"relation-address-name\" [textContent]=\"address.addressName\"></span>\r\n <span class=\"relation-address-address\" [textContent]=\"address.displayAddress\"></span>\r\n <span class=\"relation-address-postal\" [textContent]=\"address.displayPostal\"></span>\r\n <span class=\"relation-address-country\" [textContent]=\"address.displayCountry\"></span>\r\n </div>\r\n <div class=\"relation-address-edit\" (click)=\"handleEditAddressClick($event)\">\r\n <icon class=\"relation-address-edit-icon\" [icon]=\"icons.EditPencil\"></icon>\r\n </div>\r\n </co-tile>\r\n </ng-container>\r\n <ng-container *ngIf=\"actAsAddTile\">\r\n <co-tile (click)=\"addAddressClicked.emit()\">\r\n <div class=\"relation-content-wrapper\">\r\n <icon class=\"relation-address-icon\" [icon]=\"icons.PlusRound\"></icon>\r\n <span [textContent]=\"'ADDRESS_ADD' | localize\"></span>\r\n </div>\r\n </co-tile>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelationAddressTileComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding(\"class.co-relation-address-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @Input()\r\n public address: Address;\r\n\r\n @Input()\r\n public actAsAddTile: boolean = false;\r\n\r\n @Input()\r\n public selected: boolean = false;\r\n\r\n @Output()\r\n public selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Output()\r\n public addAddressClicked: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public editAddressClicked: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n public handleEditAddressClick(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n event.stopImmediatePropagation();\r\n this.editAddressClicked.next(this.address);\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-tile\",\r\n template: `\r\n <div class=\"co-tile-wrapper\" (click)=\"selectedChange.emit(selected)\">\r\n <div class=\"co-tile-select-wrapper\">\r\n <co-input-radio-button [checked]=\"selected\" (modelChange)=\"selectedChange.emit($event)\"></co-input-radio-button>\r\n </div>\r\n <div class=\"co-tile-content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TileComponent {\r\n\r\n @HostBinding('class.selected')\r\n @Input()\r\n public selected: boolean = false;\r\n\r\n @Output()\r\n public selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding(\"class.co-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {TileComponent} from \"./tile.component\";\r\nimport {InputRadioButtonModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n InputRadioButtonModule\r\n ],\r\n declarations: [\r\n TileComponent\r\n ],\r\n exports: [\r\n TileComponent\r\n ]\r\n})\r\nexport class TileModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationAddressTileComponent} from \"./relation-address-tile.component\";\r\nimport {ButtonModule, CoDialogModule, FormModule, InputRadioButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {RelationAddressModule} from \"../relation-address/relation-address.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TileModule} from \"../tile/tile.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputRadioButtonModule,\r\n CoreModule,\r\n CoDialogModule,\r\n RelationAddressModule,\r\n ButtonModule,\r\n FormModule,\r\n PipeModule,\r\n TileModule\r\n ],\r\n declarations: [\r\n RelationAddressTileComponent\r\n ],\r\n exports: [\r\n RelationAddressTileComponent\r\n ]\r\n})\r\nexport class RelationAddressTileModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationAddressSelectComponent} from \"./relation-address-select.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {ButtonModule, CoDialogModule, FormModule, IconModule, InputRadioButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {RelationAddressModule} from \"../relation-address/relation-address.module\";\r\nimport {RelationAddressTileModule} from \"../relation-address-tile/relation-address-tile.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n InputRadioButtonModule,\r\n IconModule,\r\n CoDialogModule,\r\n RelationAddressModule,\r\n FormModule,\r\n ButtonModule,\r\n RelationAddressTileModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n RelationAddressSelectComponent\r\n ],\r\n exports: [\r\n RelationAddressSelectComponent\r\n ]\r\n})\r\nexport class RelationAddressSelectModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-stepper-step\",\r\n template: `\r\n <ng-container *ngIf=\"show\">\r\n <ng-content></ng-content>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StepperStepComponent {\r\n\r\n @Input()\r\n public index: number = 0;\r\n\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public set completed(value: boolean) {\r\n this._completed = value;\r\n this.onComplete(this._completed);\r\n }\r\n\r\n public get completed(): boolean {\r\n return this._completed;\r\n }\r\n\r\n @HostBinding('class.show')\r\n @Input()\r\n public show: boolean = false;\r\n\r\n @Output()\r\n public validateStep: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-stepper-step\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n private _completed: boolean = false;\r\n\r\n public onComplete = (complete: boolean) => {}\r\n}\r\n","import {Component, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {StepperStepComponent} from \"./component/stepper-step.component\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\n\r\nexport interface steps {\r\n index: number;\r\n description: string;\r\n complete: boolean;\r\n}\r\n\r\n@Component({\r\n selector: \"co-stepper\",\r\n template: `\r\n <ng-container [ngTemplateOutlet]=\"buttonTemplate\"></ng-container>\r\n <div class=\"co-stepper-content\">\r\n <div class=\"stepper-step\" [class.last]=\"index === stepChildren.length - 1\" *ngFor=\"let step of stepChildren; let index = index\"\r\n [class.active]=\"index === activeStep\"\r\n [class.complete]=\"step.completed\"\r\n (click)=\"goto(index)\">\r\n <div class=\"description\" [textContent]=\"step.label\"></div>\r\n <div class=\"index\"></div>\r\n </div>\r\n <icon #deliveryTruck *ngIf=\"activeStep !== lastStep\" class=\"delivery-truck\" [icon]=\"icons.DeliveryTruck\" [style.left.%]=\"truckPosition\"></icon>\r\n </div>\r\n <div class=\"co-stepper-content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n <ng-container [ngTemplateOutlet]=\"buttonTemplate\"></ng-container>\r\n <ng-template #buttonTemplate>\r\n <div class=\"stepper-button-wrapper\">\r\n <co-button [label]=\"'BACK' | localize\" *ngIf=\"canPrevious\" (click)=\"gotoPrevious()\"></co-button>\r\n <co-button [label]=\"'CONTINUE' | localize\" *ngIf=\"canNext\" (click)=\"gotoNext()\"></co-button>\r\n <co-button [label]=\"finishButtonLabel\" *ngIf=\"finished\" (click)=\"finishStep.emit()\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StepperComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ContentChildren(StepperStepComponent) set content(children) {\r\n this.stepChildren = children.toArray();\r\n if (this.stepChildren) {\r\n setTimeout(() => {\r\n this._setActive(0);\r\n });\r\n }\r\n }\r\n\r\n @ViewChild('deliveryTruck', { read: ElementRef}) set child(child) {\r\n if (child && child.nativeElement) {\r\n this._deliveryTruckClientRect = child.nativeElement.getBoundingClientRect();\r\n }\r\n }\r\n\r\n @Input()\r\n public finishButtonLabel: string;\r\n\r\n @Output()\r\n public finishStep: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-stepper\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public set stepChildren(value: StepperStepComponent[]) {\r\n this._stepChildren = value;\r\n this._prepareSteps();\r\n }\r\n\r\n public get stepChildren(): StepperStepComponent[] {\r\n return this._stepChildren;\r\n }\r\n\r\n public get canPrevious(): boolean {\r\n return this.activeStep > this.firstStep;\r\n }\r\n\r\n public get canNext(): boolean {\r\n return this.activeStep < this.lastStep;\r\n }\r\n\r\n public get finished(): boolean {\r\n return this.activeStep === this.lastStep;\r\n }\r\n\r\n public set activeStep(value: number) {\r\n this._activeStep = value;\r\n this.truckPosition = (100 / this.stepChildren.length) * (this._activeStep + 1);\r\n }\r\n\r\n public get activeStep(): number {\r\n return this._activeStep;\r\n }\r\n\r\n public firstStep: number = 0;\r\n public lastStep: number;\r\n public truckPosition: number = 0;\r\n\r\n private _stepChildren: StepperStepComponent[];\r\n private _activeStep: number = 0;\r\n private _deliveryTruckClientRect: ClientRect;\r\n\r\n public goto(idx: number): void {\r\n if (idx > this.activeStep) {\r\n this._validateCurrentStep(idx);\r\n } else {\r\n this._setActive(idx);\r\n }\r\n }\r\n\r\n public gotoPrevious(): void {\r\n this._setActive(this.activeStep - 1);\r\n }\r\n\r\n public gotoNext(): void {\r\n this._validateCurrentStep();\r\n }\r\n\r\n private _validateCurrentStep(nextStep?: number): void {\r\n this.stepChildren[this.activeStep].onComplete = (complete: boolean) => {\r\n if (complete) {\r\n this._setActive(nextStep === undefined ? this.activeStep + 1 : nextStep);\r\n }\r\n };\r\n this.stepChildren[this.activeStep].validateStep.next();\r\n }\r\n\r\n private _setActive(idx: number): void {\r\n const prevStep: StepperStepComponent = this.stepChildren[idx - 1];\r\n if (!prevStep || prevStep.completed) {\r\n if (this.stepChildren) {\r\n this.stepChildren.map(s => s.show = false);\r\n this.stepChildren[idx].show = true;\r\n this.activeStep = idx;\r\n }\r\n }\r\n }\r\n\r\n private _prepareSteps(): void {\r\n this.lastStep = this.stepChildren.length - 1;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {StepperComponent} from \"./stepper.component\";\r\nimport {StepperStepComponent} from \"./component/stepper-step.component\";\r\nimport {ButtonModule, IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {CoreModule} from \"../core/core.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ButtonModule,\r\n PipeModule,\r\n IconModule,\r\n CoreModule\r\n ],\r\n declarations: [\r\n StepperComponent,\r\n StepperStepComponent\r\n ],\r\n exports: [\r\n StepperComponent,\r\n StepperStepComponent\r\n ]\r\n})\r\nexport class StepperModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionTotal} from \"@colijnit/transactionapi/build/model/transaction-total.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-totals\",\r\n template: `\r\n <div class=\"transaction-totals-wrapper\">\r\n <span class=\"totals-gross label\" [textContent]=\"'ORDER_GROSS' | localize\"></span>\r\n <span class=\"totals-gross value\" [textContent]=\"totals?.grossAmount | coCurrency: true\"></span>\r\n <ng-container *ngIf=\"totals?.discountAmount\">\r\n <span class=\"totals-discount-amount label\" [textContent]=\"'DISCOUNT_AMOUNT' | localize\"></span>\r\n <span class=\"totals-discount-amount value\" [textContent]=\"totals?.discountAmount | coCurrency: true\"></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"totals?.transactionDiscountAmount\">\r\n <span class=\"totals-discount label\" [textContent]=\"'TRANSACTION_DISCOUNT' | localize\"></span>\r\n <span class=\"totals-discount value\" [textContent]=\"totals?.transactionDiscountAmount | coCurrency: true\"></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"totals?.transactionDiscountPercentage\">\r\n <span class=\"totals-discount-percentage label\" [textContent]=\"'TRANSACTION_DISCOUNT_PERC' | localize\"></span>\r\n <span class=\"totals-discount-percentage value\" [textContent]=\"totals?.transactionDiscountPercentage.toString() | append:' %'\"></span>\r\n </ng-container>\r\n <span class=\"totals-net label\" [textContent]=\"'ORDER_NET'| localize\"></span>\r\n <span class=\"totals-net value\" [textContent]=\"totals?.netAmount | coCurrency: true\"></span>\r\n <a *ngIf=\"showDiscount\" class=\"add-discount label\" (click)=\"discountClick.emit($event)\" [textContent]=\"'ADD_DISCOUNTS' | localize\"></a>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionTotalsComponent {\r\n @Input()\r\n public totals: TransactionTotal;\r\n\r\n @Input()\r\n public showDiscount: boolean = false;\r\n\r\n @Output()\r\n public discountClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-transaction-totals\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public header: string;\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionTotalsComponent} from \"./transaction-totals.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionTotalsComponent\r\n ],\r\n exports: [\r\n TransactionTotalsComponent\r\n ]\r\n})\r\nexport class TransactionTotalsModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {StandardText} from \"../../../model/standard-text\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-article-text\",\r\n template: `\r\n <co-dialog (closeClick)=\"closeClick.emit($event)\">\r\n <ng-container header><span [textContent]=\"header\"></span></ng-container>\r\n <ng-container content>\r\n <div class=\"article-text-content-wrapper\">\r\n <div class=\"editor-wrapper\">\r\n <textarea class=\"article-text\"\r\n [(ngModel)]=\"transactionAddTextLineRequest.text\"\r\n ></textarea>\r\n </div>\r\n <div class=\"option-wrapper\">\r\n <co-input-listbox\r\n [collection]=\"documents\"\r\n [fields]=\"fieldsDocuments\"\r\n [placeholder]=\"'FOR_DOCUMENTS' | localize\"\r\n [value]=\"transactionAddTextLineRequest.showOnDocuments\"\r\n [showCheckbox]=\"true\"\r\n (modelChange)=\"handleDocumentsChange($event)\"\r\n ></co-input-listbox>\r\n <co-drop-down-list\r\n [collection]=\"standardTexts\"\r\n [fields]=\"fields\"\r\n [placeholder]=\"'STANDARD_TEXTS' | localize\"\r\n (modelChange)=\"onSelectStandardText($event)\"\r\n ></co-drop-down-list>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container footer>\r\n <div class=\"button-wrapper\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"onOkClick($event)\"></co-button>\r\n <co-button [label]=\"'CANCEL' | localize \" (click)=\"onCancelClick($event)\"></co-button>\r\n </div>\r\n </ng-container>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionArticleTextComponent implements OnInit {\r\n\r\n @Input()\r\n public header: string;\r\n\r\n @Input()\r\n public set transactionLine(value: TransactionLineInfo) {\r\n if (value) {\r\n this.transactionAddTextLineRequest.transactionUuid = value.uuid;\r\n this.transactionAddTextLineRequest.text = value.text;\r\n }\r\n }\r\n\r\n @Input()\r\n public set articleRef(value: string) {\r\n if (value) {\r\n this._articleRef = value;\r\n }\r\n }\r\n\r\n public get articleRef(): string {\r\n return this._articleRef;\r\n }\r\n\r\n @Input()\r\n public set editText(value: string) {\r\n this.transactionAddTextLineRequest.text = value;\r\n }\r\n\r\n @Input()\r\n public set articleLineNr(value: number) {\r\n if (value) {\r\n this.transactionAddTextLineRequest.refArticleLineNr = value;\r\n }\r\n }\r\n\r\n @Output()\r\n public closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public saveClick: EventEmitter<TransactionAddTextLineRequest> = new EventEmitter<TransactionAddTextLineRequest>();\r\n\r\n @HostBinding(\"class.co-transaction-article-text\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public showOverviewDialog: boolean = false;\r\n public standardTexts: StandardText[] = [];\r\n public documents: any[] = [];\r\n public fields: Object = {text: \"description\", value: \"textId\"};\r\n public fieldsDocuments: Object = {text: \"description\", value: \"code\"};\r\n\r\n public transactionAddTextLineRequest: TransactionAddTextLineRequest = new TransactionAddTextLineRequest();\r\n\r\n private _articleRef: string;\r\n\r\n constructor(\r\n public service: TransactionService,\r\n ) {\r\n }\r\n\r\n async ngOnInit(): Promise<void> {\r\n this.standardTexts = await this.service.getStandardTexts(\"NL\");\r\n this.documents = await this.service.getTextTypes(\"NL\");\r\n }\r\n\r\n public onOkClick(event: MouseEvent): void {\r\n this.saveClick.next(this.transactionAddTextLineRequest);\r\n }\r\n\r\n public onCancelClick(event: MouseEvent): void {\r\n this.cancelClick.next(event);\r\n }\r\n\r\n public onSelectStandardText(value: any): void {\r\n this.transactionAddTextLineRequest.text = (this.standardTexts.find(x => x.textId === value)).text;\r\n }\r\n\r\n public handleDocumentsChange(docs: any): void {\r\n console.log(docs);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionArticleTextComponent} from \"./transaction-article-text.component\";\r\nimport {ButtonModule, CoDialogModule, DropDownModule, InputCheckboxModule, InputListboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {FormsModule} from \"@angular/forms\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n FormsModule,\r\n CoDialogModule,\r\n InputCheckboxModule,\r\n InputListboxModule,\r\n DropDownModule,\r\n ButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionArticleTextComponent\r\n ],\r\n exports: [\r\n TransactionArticleTextComponent\r\n ]\r\n})\r\nexport class TransactionArticleTextModule {}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {StockStatus} from \"@colijnit/transactionapi/build/enum/refcode/stock-status.enum\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {LineOperationResponse} from \"@colijnit/transactionapi/build/model/line-operation-response.bo\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\nimport {DialogService} from \"../../service/dialog.service\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {ResolveLinePendingReasonRequest} from \"@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line\",\r\n template: `\r\n <div class=\"transaction-line\">\r\n <ng-container *ngIf=\"line.isArticle\">\r\n <div class=\"transaction-line-wrapper\">\r\n <div class=\"transaction-line-image\" [class.preview]=\"preview\">\r\n <co-image-display [model]=\"image\"></co-image-display>\r\n </div>\r\n <div class=\"transaction-line-description\">\r\n <div class=\"description-wrapper\">\r\n <span [textContent]=\"line.goodDescription\" class=\"transaction-line-description-description\"></span>\r\n <span *ngIf=\"line.goodDescription && line.articleNumber\" class=\"transaction-line-description-divider\">|</span>\r\n <span [textContent]=\"line.articleNumber\" class=\"transaction-line-description-sku\"></span>\r\n </div>\r\n <div *ngIf=!preview class=\"article-text-wrapper\">\r\n <div class=\"article-text\" *ngFor=\"let text of line.articleTestAsArray\">\r\n <span [innerHTML]=\"text | safeHtml\" (dblclick)=\"handleOpenArticleText(text)\"></span>\r\n </div>\r\n </div>\r\n <div *ngIf=!preview class=\"configuration-text-wrapper\">\r\n <span [innerHTML]=\"line.configurationReadable\"></span>\r\n </div>\r\n </div>\r\n <div *ngIf=!preview class=\"transaction-line-stock\">\r\n <span [textContent]=\"'STOCK' | localize\" class=\"small-font\"></span>\r\n <stock-status-indicator [model]=\"stock\"></stock-status-indicator>\r\n <span [textContent]=\"'DELIVERY_TIME_PERIOD' | localize\" class=\"small-font\"></span>\r\n<!-- <span [textContent]=\"line.deliveryDate | deliveryTime\"></span>-->\r\n </div>\r\n <div *ngIf=!preview class=\"transaction-line-amount\">\r\n <co-input-number-picker class=\"amount-number-picker\"\r\n [(model)]=\"localAmount\" [min]=\"0\"\r\n [readonly]=\"true\"\r\n (modelChange)=\"changeLineAmount($event)\"></co-input-number-picker>\r\n </div>\r\n <div class=\"transaction-line-delete\" *ngIf=\"preview\">\r\n <div class=\"delete-wrapper\" (click)=\"deleteTransactionLineClick()\">\r\n <icon class=\"delete-icon\" [icon]=\"icons.Cancel\"></icon>\r\n <div class=\"delete-link\"\r\n [textContent]=\"'DELETE_TRANSACTION_LINE' | localize:false\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"transaction-line-totals\">\r\n <span [textContent]=\"line.displayNetLineTotal | coCurrency: true\"></span>\r\n </div>\r\n <div *ngIf=!preview class=\"transaction-line-buttons\">\r\n <co-button class=\"transaction-line-overview-button circle\" [iconData]=\"iconCacheService.getIcon(icons.Txt)\" (click)=\"handleTransactionArticleTextOverview($event)\"></co-button>\r\n <co-button class=\"transaction-line-add-text-button circle\" [iconData]=\"iconCacheService.getIcon(icons.Txt)\" (click)=\"handleTransactionArticleText($event)\"></co-button>\r\n <co-button class=\"transaction-line-show-sidebar-button circle\" [iconData]=\"iconCacheService.getIcon(icons.MasterDetail)\" (click)=\"handleShowSidePanel($event)\"></co-button>\r\n </div>\r\n </div>\r\n <div class=\"transaction-line-delete\" *ngIf=\"!preview\">\r\n <div class=\"delete-wrapper\" (click)=\"deleteTransactionLineClick()\">\r\n <icon class=\"delete-icon\" [icon]=\"icons.Cancel\"></icon>\r\n <div class=\"delete-link\"\r\n [textContent]=\"'DELETE_TRANSACTION_LINE' | localize:false\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"line.isText\">\r\n <div [textContent]=\"line.text\"></div>\r\n <div class=\"transaction-line-delete\" *ngIf=\"!preview\">\r\n <div class=\"delete-wrapper\" (click)=\"deleteTransactionLineClick()\">\r\n <icon class=\"delete-icon\" [icon]=\"icons.Cancel\"></icon>\r\n <div class=\"delete-link\"\r\n [textContent]=\"'DELETE_TRANSACTION_LINE' | localize:false\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <co-transaction-article-text-overview *ngIf=\"showTransactionArticleTextOverview\"\r\n [header]=\"articleTextHeader | localize\"\r\n [transactionLine]=\"line\"\r\n (saveClick)=\"saveTransactionArticleLineText($event)\"\r\n (closeClick)=\"closeTransactionArticleTextOverview($event)\"\r\n (cancelClick)=\"closeTransactionArticleTextOverview($event)\"\r\n ></co-transaction-article-text-overview>\r\n <co-transaction-article-text *ngIf=\"showTransactionArticleText\"\r\n [header]=\"articleTextHeader | localize\"\r\n [articleLineNr]=\"line.lineNr\"\r\n [articleRef]=\"line.articleNumber\"\r\n [transactionLine]=\"line\"\r\n [editText]=\"textToEdit\"\r\n (saveClick)=\"saveTransactionArticleLineText($event)\"\r\n (closeClick)=\"closeTransactionArticleText($event)\"\r\n (cancelClick)=\"closeTransactionArticleText($event)\"\r\n ></co-transaction-article-text>\r\n `,\r\n animations: [\r\n trigger(\"showHideSidePanel\", [\r\n state(\"void\", style({transform: 'translateX(100%)'})),\r\n state(\"*\", style({transform: 'translateX(0)'})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding(\"class.preview\")\r\n @Input()\r\n public preview: boolean = false;\r\n\r\n @Input()\r\n public set line(value: TransactionLineInfo) {\r\n this._line = value;\r\n this.localAmount = this._line.amount;\r\n this.isText = this._line.isText;\r\n this.isArticle = this._line.isArticle;\r\n this.isSelected = this._line.isSelected;\r\n this._loadLineImage();\r\n }\r\n\r\n public get line(): TransactionLineInfo {\r\n return this._line;\r\n }\r\n\r\n @Output()\r\n public waitingForUserAction: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Output()\r\n public showSidePanelClicked: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding(\"class.is-text\")\r\n public isText: boolean;\r\n\r\n @HostBinding(\"class.is-article\")\r\n public isArticle: boolean;\r\n\r\n @HostBinding(\"class.is-selected\")\r\n public isSelected: boolean;\r\n\r\n @HostBinding(\"class.co-transaction-line\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public localAmount: number;\r\n public image: string;\r\n public stock: StockStatus = StockStatus.Low;\r\n public currentReason: ResolveLinePendingReasonRequest;\r\n public showTransactionArticleText: boolean = false;\r\n public showTransactionArticleTextOverview: boolean = false;\r\n public articleTextHeader: string;\r\n public textToEdit: string;\r\n public showSidePanel: boolean = false;\r\n\r\n private _line: TransactionLineInfo;\r\n\r\n constructor(\r\n public service: TransactionService,\r\n public iconCacheService: IconCacheService,\r\n private _dialogService: DialogService,\r\n private _dictionaryService: DictionaryService) {\r\n }\r\n\r\n public changeLineAmount(amount: number): void {\r\n this.service.changeTransactionLineQuantity(this.line.uuid, amount).then((value: LineOperationResponse) => {\r\n if (!value || !value.isSuccess) {\r\n this.localAmount = this._line.amount;\r\n return;\r\n }\r\n // this._handleLine(value).then();\r\n });\r\n }\r\n\r\n public async deleteTransactionLineClick(): Promise<void> {\r\n const deleteLine: boolean = await this._dialogService.showYesNo(\"\", this._dictionaryService.get(\"DELETE_TRANSACTION_LINE_QUESTION\"));\r\n if (deleteLine) {\r\n this.service.deleteTransactionLine(this.service.currentTransaction.transactionInfo.uuid, this.line.uuid).then((value: LineOperationResponse) => {\r\n // this._handleLine(value);\r\n });\r\n }\r\n }\r\n\r\n public handleTransactionArticleText(event: MouseEvent): void {\r\n this.articleTextHeader = this._dictionaryService.get(\"TEXT_ARTICLE_BOUND\", true, this.line.articleNumber);\r\n this.textToEdit = undefined;\r\n this._showArticleTextDialog();\r\n }\r\n\r\n public handleTransactionArticleTextOverview(event: MouseEvent): void {\r\n this.articleTextHeader = this._dictionaryService.get(\"TEXT_ARTICLE_BOUND\", true, this.line.articleNumber);\r\n this.textToEdit = undefined;\r\n this._showArticleTextOverviewDialog();\r\n }\r\n\r\n public saveTransactionArticleLineText(transactionAddTextLineRequest: TransactionAddTextLineRequest): void {\r\n this.service.addTextLine(\r\n transactionAddTextLineRequest.showOnDocuments,\r\n transactionAddTextLineRequest.text,\r\n 0,\r\n true,\r\n transactionAddTextLineRequest.refArticleLineNr).then(() => {\r\n this._hideArticleTextDialog();\r\n });\r\n }\r\n\r\n public closeTransactionArticleText(event: MouseEvent): void {\r\n this._hideArticleTextDialog();\r\n }\r\n\r\n public closeTransactionArticleTextOverview(event: MouseEvent): void {\r\n this._hideArticleTextOverviewDialog();\r\n }\r\n\r\n public handleOpenArticleText(text: string): void {\r\n this.textToEdit = text;\r\n this._showArticleTextDialog();\r\n }\r\n\r\n private async _loadLineImage(): Promise<void> {\r\n if (this.line && this.line.isArticle) {\r\n this.service.retrieveLineImage(this.line).then((image: string) => {\r\n this.image = image;\r\n });\r\n }\r\n }\r\n\r\n // private async _confirmAction(lineOperationResponse: LineOperationResponse): Promise<void> {\r\n // this.currentReason.confirmation = await this._promptService.showYesNo(lineOperationResponse.pendingReason, \" \");\r\n // this.service.resolvePendingLineReason(this.currentReason)\r\n // .then((value: LineOperationResponse) => {\r\n // this._handleLine(value);\r\n // });\r\n // }\r\n\r\n // private async _showInformation(lineOperationResponse: LineOperationResponse): Promise<void> {\r\n // await this._promptService.showOkModal(lineOperationResponse.pendingReason, \" \");\r\n // this.service.resolvePendingLineReason(this.currentReason)\r\n // .then((value: LineOperationResponse) => {\r\n // this._handleLine(value);\r\n // });\r\n // }\r\n\r\n // private async _handleLine(lineOperationResponse: LineOperationResponse): Promise<void> {\r\n // if (lineOperationResponse === undefined) {\r\n // return;\r\n // }\r\n // this.currentReason = new ResolvePendingLineReasonRequest(lineOperationResponse.lineUuid,\r\n // lineOperationResponse.pendingReason, lineOperationResponse.pendingReasonType);\r\n //\r\n // switch (lineOperationResponse.pendingReasonType) {\r\n // case PendingReasonType.ABORTED:\r\n // case PendingReasonType.CANCELLED:\r\n // this.localAmount = this._line.amount;\r\n // if (lineOperationResponse.pendingReason !== \"USER_DECISION\") {\r\n // await this._promptService.showNotification(this._dictionaryService.get(lineOperationResponse.pendingReason), \" \");\r\n // }\r\n // break;\r\n // case PendingReasonType.CONFIRMATION_NEEDED:\r\n // await this._confirmAction(lineOperationResponse);\r\n // break;\r\n // case PendingReasonType.NON_CRITICAL_DISCONTINUATION:\r\n // await this._showInformation(lineOperationResponse);\r\n // break;\r\n // case PendingReasonType.INVALID_LOGISTICS:\r\n // this.localAmount = this._line.amount;\r\n // await this._promptService.showError(this._dictionaryService.get(lineOperationResponse.pendingReason), \" \");\r\n // break;\r\n // case PendingReasonType.NONE:\r\n // default:\r\n // break;\r\n // }\r\n // }\r\n\r\n private _showArticleTextDialog(): void {\r\n this.showTransactionArticleText = true;\r\n this.waitingForUserAction.next(true);\r\n }\r\n\r\n private _hideArticleTextDialog(): void {\r\n this.showTransactionArticleText = false;\r\n this.waitingForUserAction.next(false);\r\n }\r\n\r\n private _showArticleTextOverviewDialog(): void {\r\n this.showTransactionArticleTextOverview = true;\r\n this.waitingForUserAction.next(true);\r\n }\r\n\r\n private _hideArticleTextOverviewDialog(): void {\r\n this.showTransactionArticleTextOverview = false;\r\n this.waitingForUserAction.next(false);\r\n }\r\n\r\n public handleShowSidePanel(event: MouseEvent): void {\r\n this.showSidePanel = true;\r\n this.showSidePanelClicked.next(true);\r\n this.waitingForUserAction.next(true);\r\n }\r\n\r\n public handleCloseSidePanel(event: MouseEvent): void {\r\n this.showSidePanel = false;\r\n this.showSidePanelClicked.next(false);\r\n this.waitingForUserAction.next(false);\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\nimport {CdkDrag, CdkDragDrop, CdkDropList, moveItemInArray} from \"@angular/cdk/drag-drop\";\r\nimport {BusinessObjectFactory} from \"../../../factory/business-object-factory\";\r\n\r\n@Component({\r\n selector: \"co-transaction-article-text-overview\",\r\n template: `\r\n <co-dialog (closeClick)=\"closeClick.emit($event)\">\r\n <ng-container header><span [textContent]=\"header\"></span></ng-container>\r\n <ng-container content>\r\n <div class=\"article-text-content-wrapper\">\r\n <div #dropList cdkDropList cdkDropListOrientation=\"vertical\"\r\n class=\"article-text-drag-drop-list\"\r\n [cdkDropListData]=\"collection\"\r\n [cdkDropListEnterPredicate]=\"handleCanDragDrop\"\r\n (cdkDropListDropped)=\"handleDrop($event)\"\r\n >\r\n <div class=\"article-text-overview-article-text-wrapper\" *ngFor=\"let transLine of collection; let index = index\" cdkDrag (dblclick)=\"handleOpenArticleText(transLine)\">\r\n <div class=\"index\" [textContent]=\"index + 1\"></div>\r\n <div class=\"text\" [innerHTML]=\"transLine.text | safeHtml\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container footer>\r\n <div class=\"button-wrapper\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"onOkClick($event)\"></co-button>\r\n <co-button [label]=\"'CANCEL' | localize \" (click)=\"onCancelClick($event)\"></co-button>\r\n </div>\r\n </ng-container>\r\n </co-dialog>\r\n <co-transaction-article-text *ngIf=\"showTransactionArticleText\"\r\n [header]=\"header\"\r\n [articleLineNr]=\"editTransactionLine.lineNr\"\r\n [articleRef]=\"editTransactionLine.articleNumber\"\r\n [transactionLine]=\"editTransactionLine\"\r\n [editText]=\"textToEdit\"\r\n (saveClick)=\"saveTransactionArticleLineText($event)\"\r\n (closeClick)=\"closeTransactionArticleText($event)\"\r\n (cancelClick)=\"closeTransactionArticleText($event)\"\r\n ></co-transaction-article-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionArticleTextOverviewComponent {\r\n @Input()\r\n public header: string;\r\n\r\n @Input()\r\n public set transactionLine(value: TransactionLineInfo) {\r\n if (value) {\r\n this._getArticleTexts(value.uuid);\r\n }\r\n }\r\n\r\n @Output()\r\n public closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public saveClick: EventEmitter<TransactionAddTextLineRequest> = new EventEmitter<TransactionAddTextLineRequest>();\r\n\r\n @HostBinding(\"class.co-transaction-article-text-overview\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public collection: TransactionLineInfo[] = [];\r\n public showTransactionArticleText: boolean = false;\r\n public editTransactionLine: TransactionLineInfo;\r\n public textToEdit: string;\r\n\r\n constructor(\r\n public service: TransactionService,\r\n private _boFactory: BusinessObjectFactory\r\n ) {\r\n }\r\n\r\n public onOkClick(event: MouseEvent): void {\r\n this.saveClick.next();\r\n }\r\n\r\n public onCancelClick(event: MouseEvent): void {\r\n this.cancelClick.next(event);\r\n }\r\n\r\n public handleCanDragDrop(drag: CdkDrag, drop: CdkDropList): boolean {\r\n return drag.data instanceof TransactionLineInfo;\r\n }\r\n\r\n public handleDrop(event: CdkDragDrop<TransactionLineInfo[]>): void {\r\n try {\r\n const from: number = event.previousIndex;\r\n const to: number = event.currentIndex;\r\n if (from === to) {\r\n return;\r\n }\r\n const beingDropped: TransactionLineInfo = this.collection[from];\r\n const target: TransactionLineInfo = this.collection[to];\r\n // set items in correct order\r\n moveItemInArray(this.collection, from, to);\r\n // this.service.changeLineSequence(this.line.beingDropped.uuid, from > to ? target.lineNr : null, from < to ? target.lineNr : null).catch(() => {\r\n // // something went wrong, reset drop\r\n // moveItemInArray(this.transactionLines, to, from);\r\n // });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n public handleOpenArticleText(transLine: TransactionLineInfo): void {\r\n this.textToEdit = transLine.text;\r\n this.editTransactionLine = <TransactionLineInfo><unknown>this._boFactory.makeWithRawBackendData(TransactionLineInfo, transLine);\r\n this.showTransactionArticleText = true;\r\n }\r\n\r\n public closeTransactionArticleText(event: MouseEvent): void {\r\n this._hideArticleTextDialog();\r\n }\r\n\r\n public saveTransactionArticleLineText(transactionAddTextLineRequest: TransactionAddTextLineRequest): void {\r\n this.service.addTextLine(\r\n transactionAddTextLineRequest.showOnDocuments,\r\n transactionAddTextLineRequest.text,\r\n 0,\r\n true,\r\n transactionAddTextLineRequest.refArticleLineNr).then(() => {\r\n this._hideArticleTextDialog();\r\n });\r\n }\r\n\r\n private _hideArticleTextDialog(): void {\r\n this.showTransactionArticleText = false;\r\n }\r\n\r\n private _getArticleTexts(uuid: string): void {\r\n this.service.getArticleBoundTextLinesOfArticleLine(uuid).then((texts: TransactionLineInfo[]) => {\r\n this.collection = texts;\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionArticleTextOverviewComponent} from \"./transaction-article-text-overview.component\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {DragDropModule} from \"@angular/cdk/drag-drop\";\r\nimport {TransactionArticleTextModule} from \"../transaction-article-text/transaction-article-text.module\";\r\nimport {BusinessObjectFactory} from \"../../../factory/business-object-factory\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n CoDialogModule,\r\n DragDropModule,\r\n ButtonModule,\r\n TransactionArticleTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionArticleTextOverviewComponent\r\n ],\r\n exports: [\r\n TransactionArticleTextOverviewComponent\r\n ],\r\n providers: [\r\n BusinessObjectFactory\r\n ]\r\n})\r\nexport class TransactionArticleTextOverviewModule {}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineComponent} from \"./transaction-line.component\";\r\nimport {ButtonModule, InputNumberPickerModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionArticleTextModule} from \"../shared/transaction-article-text/transaction-article-text.module\";\r\nimport {TransactionArticleTextOverviewModule} from \"../shared/transaction-article-text-overview/transaction-article-text-overview.module\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n ButtonModule,\r\n InputNumberPickerModule,\r\n TransactionArticleTextModule,\r\n TransactionArticleTextOverviewModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineComponent\r\n ],\r\n exports: [\r\n TransactionLineComponent\r\n ]\r\n})\r\nexport class TransactionLineModule {}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {CdkDrag, CdkDragDrop, CdkDropList, moveItemInArray} from \"@angular/cdk/drag-drop\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionArticleTextComponent} from \"../shared/transaction-article-text/transaction-article-text.component\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-lines\",\r\n template: `\r\n <div cdkDropListGroup class=\"drop-list-group\">\r\n <div #dropList cdkDropList cdkDropListOrientation=\"vertical\"\r\n class=\"transaction-lines-drag-drop-list narrow-scrollbar\"\r\n [cdkDropListDisabled]=\"preview || userActionRequired\"\r\n [cdkDropListData]=\"transactionLines\"\r\n [cdkDropListEnterPredicate]=\"handleCanDragDrop\"\r\n (cdkDropListDropped)=\"handleDrop($event)\"\r\n >\r\n <div class=\"draggable-transaction-line\" *ngFor=\"let line of transactionLines; trackBy:trackByFn;\" cdkDrag>\r\n <co-transaction-line\r\n [preview]=\"preview\"\r\n [line]=\"line\"\r\n (dblclick)=\"handleTransactionLineDblClick(line)\"\r\n (showSidePanelClicked)=\"handleShowSidePanelClicked($event, line)\"\r\n (waitingForUserAction)=\"userActionRequired = $event\"></co-transaction-line>\r\n </div>\r\n </div>\r\n </div>\r\n <co-button *ngIf=!preview class=\"add-text-button circle\" [iconData]=\"iconCacheService.getIcon(icons.Txt)\" (click)=\"handleTransactionArticleText($event)\"></co-button>\r\n <co-transaction-article-text *ngIf=\"showTransactionArticleText\"\r\n [header]=\"'TEXT' | localize\"\r\n [transactionLine]=\"selectedArticleText\"\r\n [editText]=\"textToEdit\"\r\n (saveClick)=\"saveTransactionArticleLineText($event)\"\r\n (closeClick)=\"closeTransactionArticleText($event)\"\r\n (cancelClick)=\"closeTransactionArticleText($event)\"\r\n ></co-transaction-article-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLinesComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild(TransactionArticleTextComponent)\r\n public transactionArticleText: TransactionArticleTextComponent;\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo[] = [];\r\n\r\n @Input()\r\n public preview: boolean = false;\r\n\r\n @Output()\r\n public saveTransactionLine: EventEmitter<TransactionAddTextLineRequest> = new EventEmitter<TransactionAddTextLineRequest>();\r\n\r\n @Output()\r\n public showSidePanelClicked: EventEmitter<{show: boolean, line: TransactionLineInfo}> = new EventEmitter<{show: boolean, line: TransactionLineInfo}>();\r\n\r\n @HostBinding(\"class.co-transaction-lines\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public showTransactionArticleText: boolean = false;\r\n public selectedArticleText: TransactionLineInfo;\r\n public textToEdit: string;\r\n public userActionRequired: boolean = false;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private service: TransactionService\r\n ) {\r\n }\r\n\r\n public trackByFn(index: number, line: TransactionLineInfo): any {\r\n return line.lineNr;\r\n }\r\n\r\n public handleCanDragDrop(drag: CdkDrag, drop: CdkDropList): boolean {\r\n return drag.data instanceof TransactionLineInfo;\r\n }\r\n\r\n public handleDrop(event: CdkDragDrop<TransactionLineInfo[]>): void {\r\n try {\r\n const from: number = event.previousIndex;\r\n const to: number = event.currentIndex;\r\n if (from === to) {\r\n return;\r\n }\r\n const beingDropped: TransactionLineInfo = this.transactionLines[from];\r\n const target: TransactionLineInfo = this.transactionLines[to];\r\n // set items in correct order\r\n moveItemInArray(this.transactionLines, from, to);\r\n this.service.changeLineSequence(beingDropped.uuid, from > to ? target.lineNr : null, from < to ? target.lineNr : null).catch(() => {\r\n // something went wrong, reset drop\r\n moveItemInArray(this.transactionLines, to, from);\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n public handleTransactionLineDblClick(line: TransactionLineInfo): void {\r\n if (line.isText) {\r\n this.selectedArticleText = line;\r\n this.textToEdit = line.text;\r\n this._showArticleTextDialog();\r\n } else {\r\n this.textToEdit = undefined;\r\n this.selectedArticleText = undefined;\r\n }\r\n }\r\n\r\n public handleTransactionArticleText(event: MouseEvent): void {\r\n this.selectedArticleText = undefined;\r\n this._showArticleTextDialog();\r\n }\r\n\r\n public closeTransactionArticleText(event: MouseEvent): void {\r\n this._hideArticleTextDialog();\r\n }\r\n\r\n public saveTransactionArticleLineText(transactionLine: TransactionAddTextLineRequest): void {\r\n this.saveTransactionLine.next(transactionLine);\r\n this._hideArticleTextDialog();\r\n }\r\n\r\n public handleShowSidePanelClicked(event: boolean, line: TransactionLineInfo): void {\r\n this.showSidePanelClicked.next({show: event, line: line});\r\n }\r\n\r\n private _showArticleTextDialog(): void {\r\n this.showTransactionArticleText = true;\r\n }\r\n\r\n private _hideArticleTextDialog(): void {\r\n this.showTransactionArticleText = false;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DragDropModule} from \"@angular/cdk/drag-drop\";\r\nimport {ButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionArticleTextModule} from \"../shared/transaction-article-text/transaction-article-text.module\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionLineModule} from \"../transaction-line/transaction-line.module\";\r\nimport {TransactionLinesComponent} from \"./transaction-lines.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionLineModule,\r\n DragDropModule,\r\n ButtonModule,\r\n TransactionArticleTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLinesComponent\r\n ],\r\n exports: [\r\n TransactionLinesComponent\r\n ]\r\n})\r\nexport class TransactionLinesModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-shopping-cart-preview\",\r\n template: `\r\n <div class=\"cart-header\">\r\n <span class=\"cart-header-label\" [textContent]=\"'CART' | localize\"></span>\r\n </div>\r\n <div class=\"cart-lines\">\r\n <co-transaction-lines\r\n [transactionLines]=\"service.currentTransaction.transactionLines\"\r\n [preview]=\"true\"\r\n ></co-transaction-lines>\r\n </div>\r\n <div class=\"preview-totals-wrapper\">\r\n <co-transaction-totals [totals]=\"service.currentTransaction.transactionTotal\"></co-transaction-totals>\r\n </div>\r\n <div class=\"cart-buttons\">\r\n <a class=\"button-edit-cart\" [textContent]=\"'EDIT_CART' | localize\"\r\n (click)=\"editCartClick.emit()\"\r\n ></a>\r\n <co-button *ngIf=\"showCheckoutButton\" class=\"button-checkout\" [label]=\"'SHOPPING_CART_CHECKOUT' | localize\"\r\n [disabled]=\"!service.articleAmount\"\r\n (click)=\"checkout.emit()\"></co-button>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ShoppingCartPreviewComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public showCheckoutButton: boolean = true;\r\n\r\n @HostBinding(\"class.borderless\")\r\n @Input()\r\n public withoutBorder: boolean = false;\r\n\r\n @Output()\r\n public checkout: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public editCartClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-shopping-cart-preview\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public service: TransactionService\r\n ) {\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {ButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionTotalsModule} from \"../transaction-totals/transaction-totals.module\";\r\nimport {TransactionLinesModule} from \"../transaction-lines/transaction-lines.module\";\r\nimport {ShoppingCartPreviewComponent} from \"./shopping-cart-preview.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n ButtonModule,\r\n TransactionLinesModule,\r\n TransactionTotalsModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ShoppingCartPreviewComponent\r\n ],\r\n exports: [\r\n ShoppingCartPreviewComponent\r\n ]\r\n})\r\nexport class ShoppingCartPreviewModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\r\nimport {RelationRequest} from \"@colijnit/transactionapi/build/model/relation-request\";\r\n\r\n@Component({\r\n selector: \"co-seller-information\",\r\n template: `\r\n <co-image-display [model]=\"image\" *ngIf=\"image; else showInitials\"></co-image-display>\r\n <ng-template #showInitials>\r\n <svg viewBox=\"0 0 30 30\">\r\n <text x=\"50%\" y=\"50%\" dominant-baseline=\"middle\" text-anchor=\"middle\">{{ relation?.displayInitials }}</text>\r\n </svg>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SellerInformationComponent {\r\n\r\n @Input()\r\n public set relationId(value: number) {\r\n this._relationId = value;\r\n this._getRelation();\r\n }\r\n\r\n public get relationId(): number {\r\n return this._relationId;\r\n }\r\n\r\n @Input()\r\n public relation: RelationListObject;\r\n\r\n @HostBinding(\"class.co-seller-information\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public image: string;\r\n\r\n private _relationId: number;\r\n\r\n constructor(\r\n private _service: TransactionService\r\n ) {\r\n }\r\n\r\n private _getRelation(): void {\r\n if (!isNaN(this._relationId)) {\r\n const request: RelationRequest = new RelationRequest();\r\n request.relationId = this._relationId;\r\n this._service.getRelationListObjects(request).then((data) => {\r\n if (data && data.length > 0) {\r\n this.relation = data[0];\r\n if (this.relation && this.relation.image && this.relation.image.documentId) {\r\n this._service.getDocumentContent(this.relation.image.documentId)\r\n .then((content: string) => {\r\n this.image = content;\r\n })\r\n .catch((e) => {\r\n this.image = \"\";\r\n })\r\n }\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {SellerInformationComponent} from \"./seller-information.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule\r\n ],\r\n declarations: [\r\n SellerInformationComponent\r\n ],\r\n exports: [\r\n SellerInformationComponent\r\n ]\r\n})\r\nexport class SellerInformationModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\n\r\n@Component({\r\n selector: \"co-delivery-type-tile\",\r\n template: `\r\n <co-tile [selected]=\"selected\" (selectedChange)=\"selectedChange.emit(method)\">\r\n <div class=\"delivery-type-content-wrapper\">\r\n <div class=\"delivery-type-title\" [textContent]=\"method.description\"></div>\r\n <div class=\"delivery-type-icon\">\r\n<!--\r\n <icon [icon]=\"method.icon\"></icon>\r\n-->\r\n </div>\r\n <div *ngIf=\"method.factor\" class=\"delivery-type-price\" [textContent]=\"method.factor | priceDisplay\"></div>\r\n </div>\r\n </co-tile>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DeliveryTypeTileComponent {\r\n\r\n @Input()\r\n public method: DeliveryMethod = new DeliveryMethod();\r\n\r\n @Input()\r\n public selected: boolean = false;\r\n\r\n @Output()\r\n public selectedChange: EventEmitter<DeliveryMethod> = new EventEmitter<DeliveryMethod>();\r\n\r\n @HostBinding(\"class.co-delivery-type-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {DeliveryTypeTileComponent} from \"./delivery-type-tile.component\";\r\nimport {InputRadioButtonModule, PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TileModule} from \"../tile/tile.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n InputRadioButtonModule,\r\n PriceDisplayPipeModule,\r\n TileModule\r\n ],\r\n declarations: [\r\n DeliveryTypeTileComponent\r\n ],\r\n exports: [\r\n DeliveryTypeTileComponent\r\n ]\r\n})\r\nexport class DeliveryTypeTileModule {\r\n\r\n}\r\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {CashRegister} from \"@colijnit/transactionapi/build/model/cash-register\";\r\n\r\n@Component({\r\n selector: \"co-payment\",\r\n template: `\r\n <div class=\"payment-wrapper\">\r\n <div class=\"payment-methods-header\">\r\n <span class=\"payment-header-title\" [textContent]=\"'Selecteer een' | localize\"></span>\r\n <span class=\"payment-header-title extra\" [textContent]=\"'gratis' | localize:false\"></span>\r\n <span class=\"payment-header-title\" [textContent]=\"'betaalmethode' | localize:false\"></span>\r\n </div>\r\n <div class=\"payment-methods\">\r\n <co-payment-tile *ngFor=\"let paymentMethod of paymentMethods; let index = index\"\r\n [icon]=\"paymentMethod.icon\"\r\n [description]=\"paymentMethod.description\"\r\n [selected]=\"paymentMethodIdx === index\"\r\n (selectedChange)=\"paymentMethodIdx = index\"\r\n ></co-payment-tile>\r\n </div>\r\n <div class=\"payment-cash-register-header\">\r\n <span class=\"payment-header-title\" [textContent]=\"'Selecteer kassa' | localize\"></span>\r\n </div>\r\n <div class=\"payment-methods\">\r\n <co-payment-tile *ngFor=\"let cashRegister of cashRegisters\"\r\n [icon]=\"cashRegister.icon\"\r\n [description]=\"cashRegister.description\"\r\n ></co-payment-tile>\r\n </div>\r\n <div class=\"payment-to-pay\">\r\n <div [textContent]=\"'Te betalen' | localize\"></div>\r\n <div class=\"payment-amount\" [textContent]=\"amount | priceDisplay\"></div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PaymentComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public amount: number = 0;\r\n\r\n @HostBinding(\"class.co-payment\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public paymentMethodIdx: number = 0;\r\n public paymentMethods = [\r\n {icon: this.icons.Truck, description: 'Contant'},\r\n {icon: this.icons.IdealLogo, description: 'iDeal'},\r\n {icon: this.icons.Truck, description: 'Creditcard'},\r\n {icon: this.icons.Truck, description: 'Overschrijving'}\r\n ];\r\n public cashRegisters = [];\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._getCashRegisters();\r\n }\r\n\r\n private _getCashRegisters(): void {\r\n this._transactionService.getCashRegisters().then((cashRegisters: CashRegister[]) => {\r\n this.cashRegisters = cashRegisters;\r\n });\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-payment-tile\",\r\n template: `\r\n <co-tile [selected]=\"selected\" (selectedChange)=\"selectedChange.emit($event)\">\r\n <div class=\"payment-tile-wrapper\">\r\n <icon class=\"payment-tile-icon\" [icon]=\"icon\"></icon>\r\n <span class=\"payment-tile-description\" [textContent]=\"description | localize\"></span>\r\n </div>\r\n </co-tile>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PaymentTileComponent {\r\n\r\n @Input()\r\n public selected: boolean = false;\r\n\r\n @Input()\r\n public icon: Icon;\r\n\r\n @Input()\r\n public description: string;\r\n\r\n @Output()\r\n public selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding(\"class.co-payment-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PaymentTileComponent} from \"./payment-tile.component\";\r\nimport {TileModule} from \"../tile/tile.module\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TileModule,\r\n CoreModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n PaymentTileComponent\r\n ],\r\n exports: [\r\n PaymentTileComponent\r\n ]\r\n})\r\nexport class PaymentTileModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PaymentComponent} from \"./payment.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {PaymentTileModule} from \"../payment-tile/payment-tile.module\";\r\nimport {PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n PaymentTileModule,\r\n PriceDisplayPipeModule\r\n ],\r\n declarations: [\r\n PaymentComponent\r\n ],\r\n exports: [\r\n PaymentComponent\r\n ]\r\n})\r\nexport class PaymentModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {\r\n ButtonModule,\r\n Carousel3dModule,\r\n CoDialogModule,\r\n CoDialogPromptModule,\r\n CoGridModule,\r\n CollapsibleModule,\r\n CoRichTextEditorModule,\r\n CoSidebarModule,\r\n DropDownModule,\r\n FormModule,\r\n IconModule,\r\n InputCheckboxModule,\r\n InputComboBoxModule,\r\n InputDatePickerModule,\r\n InputListboxModule,\r\n InputNumberPickerModule,\r\n InputRadioButtonModule,\r\n InputTextareaModule,\r\n InputTextModule,\r\n MultiSelectListModule,\r\n PopupModule,\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {FlexModule} from \"@angular/flex-layout\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {CheckoutOverviewRelationEditComponent} from \"./checkout-overview-relation-edit/checkout-overview-relation-edit.component\";\r\nimport {CheckoutOverviewDeliveryEditComponent} from \"./checkout-overview-delivery-edit/checkout-overview-delivery-edit.component\";\r\nimport {CheckoutOverviewDeliveryAddressComponent} from \"./checkout-overview-delivery-address/checkout-overview-delivery-address.component\";\r\nimport {CheckOutRelationSuggestionsListComponent} from \"./checkout-relation-suggestions-list/checkout-relation-suggestions-list.component\";\r\nimport {CheckOutRelationSuggestionsListItemComponent} from \"./checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component\";\r\nimport {CheckoutLoginComponent} from \"./checkout-login/checkout-login.component\";\r\nimport {OptionsService} from \"../../service/options.service\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CheckoutComponent} from \"./checkout.component\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport {RelationAddressSelectModule} from \"../relation-address-select/relation-address-select.module\";\r\nimport {RelationAddressModule} from \"../relation-address/relation-address.module\";\r\nimport {RelationAddressTileModule} from \"../relation-address-tile/relation-address-tile.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {StepperModule} from \"../stepper/stepper.module\";\r\nimport {ShoppingCartPreviewModule} from \"../shopping-cart-preview/shopping-cart-preview.module\";\r\nimport {SellerInformationModule} from \"../seller-information/seller-information.module\";\r\nimport {DeliveryTypeTileModule} from \"../delivery-type-tile/delivery-type-tile.module\";\r\nimport {PaymentModule} from \"../payment/payment.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CoreModule,\r\n CommonModule,\r\n IconModule,\r\n InputTextModule,\r\n InputCheckboxModule,\r\n InputRadioButtonModule,\r\n FormModule,\r\n InputComboBoxModule,\r\n InputDatePickerModule,\r\n InputNumberPickerModule,\r\n CoDialogModule,\r\n CoDialogPromptModule,\r\n ButtonModule,\r\n FlexModule,\r\n MultiSelectListModule,\r\n DropDownModule,\r\n PopupModule.forRoot(),\r\n CoSidebarModule,\r\n CoGridModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n RelationAddressModule,\r\n RelationAddressSelectModule,\r\n RelationAddressTileModule,\r\n CoRichTextEditorModule,\r\n Carousel3dModule,\r\n InputTextareaModule,\r\n InputListboxModule,\r\n PipeModule,\r\n StepperModule,\r\n ShoppingCartPreviewModule,\r\n SellerInformationModule,\r\n DeliveryTypeTileModule,\r\n CollapsibleModule,\r\n PaymentModule,\r\n ],\r\n declarations: [\r\n CheckoutOverviewRelationEditComponent,\r\n CheckoutOverviewDeliveryEditComponent,\r\n CheckoutOverviewDeliveryAddressComponent,\r\n CheckOutRelationSuggestionsListComponent,\r\n CheckOutRelationSuggestionsListItemComponent,\r\n CheckoutLoginComponent,\r\n CheckoutComponent,\r\n ],\r\n providers: [\r\n DictionaryService,\r\n OptionsService\r\n ],\r\n entryComponents: [\r\n CheckoutComponent\r\n ],\r\n exports: [CheckoutComponent],\r\n bootstrap: [CheckoutComponent]\r\n})\r\nexport class CheckoutModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, OnDestroy, Output, ViewEncapsulation} from \"@angular/core\";\nimport {DictionaryService} from \"../../service/dictionary.service\";\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\nimport {TransactionService} from \"../../service/transaction.service\";\nimport {Subscription} from \"rxjs\";\n\n@Component({\n selector: \"co-shopping-cart\",\n template: `\n <div class=\"cart-header\">\n <span class=\"cart-header-label\" [textContent]=\"'SHOPPING_CART_OVERVIEW' | localize | append:'(' + service.articleAmount + ')'\"></span>\n </div>\n <div class=\"shopping-cart-transaction-wrapper\">\n <co-transaction [showHeader]=\"false\" [transaction]=\"transaction\"></co-transaction>\n </div>\n <div class=\"cart-buttons\">\n <a class=\"button-resume\" [textContent]=\"'SHOPPING_CART_RESUME' | localize\"\n (click)=\"closeCart.emit()\"\n ></a>\n <co-button class=\"button-checkout\" [label]=\"'SHOPPING_CART_CHECKOUT' | localize\"\n [disabled]=\"service.articleAmount === 0\"\n (click)=\"checkout.emit()\"></co-button>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class ShoppingCartComponent implements OnDestroy {\n\n @Output()\n public closeCart: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public checkout: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding(\"class.co-shopping-cart\")\n public showClass(): boolean {\n return true;\n }\n\n public transaction: TransactionInfoResponse = new TransactionInfoResponse();\n private _subs: Subscription[] = [];\n\n constructor(\n public service: TransactionService,\n private _dictionary: DictionaryService\n ) {\n this._subs.push(\n this.service.transactionUpdated.subscribe((transaction: TransactionInfoResponse) => {\n if (transaction) {\n this.transaction = transaction;\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n this._subs.forEach(s => s.unsubscribe());\n }\n}\n","// The different view modes for content, e.g. list, grid, ..\r\nexport enum ContentViewMode {\r\n List,\r\n Grid,\r\n GridExpanded,\r\n MasterDetail,\r\n Timeline,\r\n}\r\n","export enum TabCategory {\r\n Overview,\r\n OrderConfirmation,\r\n Transport,\r\n ReceivedGoods,\r\n InvoiceCheck,\r\n Menu\r\n}\r\n","import {Component, HostBinding, Input, OnDestroy, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {ContentViewMode} from \"../../enum/content-view-mode.enum\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\nimport {TabCategory} from \"../../enum/tab-category.enum\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction\",\r\n template: `\r\n <co-transaction-header *ngIf=\"showHeader\" [transaction]=\"transaction\"></co-transaction-header>\r\n\r\n <div class=\"transaction-lines-header\">\r\n <co-transaction-commit-bar\r\n [activeCategory]=\"activeTabCategory\"\r\n ></co-transaction-commit-bar>\r\n\r\n <co-transaction-nav-bar\r\n (tabClicked)=\"handleNavigationTabClicked($event)\"\r\n ></co-transaction-nav-bar>\r\n\r\n <div class=\"transaction-view-mode-buttons\">\r\n <co-button class=\"view-button white\"\r\n [class.selected]=\"this.activeViewMode === viewModes.List\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ThickLines)\"\r\n [title]=\"'LIST_VIEW' | localize\"\r\n (click)=\"this.activeViewMode = viewModes.List\"></co-button>\r\n <co-button class=\"view-button white\"\r\n [class.selected]=\"this.activeViewMode === viewModes.Grid\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ThinLines)\"\r\n [title]=\"'GRID_VIEW' | localize\"\r\n (click)=\"this.activeViewMode = viewModes.Grid\"></co-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"transaction-lines-wrapper\" *ngIf=\"activeViewMode === viewModes.List\">\r\n <co-transaction-lines\r\n [transactionLines]=\"transaction.transactionLines\"\r\n (showSidePanelClicked)=\"handleShowSidePanel($event)\"\r\n (saveTransactionLine)=\"saveTransactionLine($event)\"\r\n ></co-transaction-lines>\r\n </div>\r\n <div class=\"transaction-lines-grid-wrapper\" *ngIf=\"activeViewMode === viewModes.Grid\">\r\n <co-transaction-lines-grid\r\n *ngIf=\"activeTabCategory === 0\"\r\n [transactionLines]=\"transaction.transactionLines\"\r\n ></co-transaction-lines-grid>\r\n <co-order-confirmation-grid\r\n *ngIf=\"activeTabCategory === 1\"\r\n [orderLines]=\"transaction.transactionLines\"\r\n (sidePanelClicked)=\"openSidePanel()\"\r\n ></co-order-confirmation-grid>\r\n </div>\r\n <div class=\"transaction-footer-wrapper\">\r\n <co-transaction-totals [totals]=\"transaction.transactionTotal\" [showDiscount]=\"true\" (discountClick)=\"addDiscount()\"></co-transaction-totals>\r\n </div>\r\n <co-discount *ngIf=\"showDiscountsSidebar\">\r\n </co-discount>\r\n\r\n <co-transaction-line-side-panel *ngIf=\"showSidePanel\" @showHideSidePanel\r\n [activeTabCategory]=\"activeTabCategory\"\r\n [transactionLine]=\"sidePanelTransactionLine\"\r\n (cancelClick)=\"handleCloseSidePanel($event)\"\r\n ></co-transaction-line-side-panel>\r\n `,\r\n animations: [\r\n trigger(\"showHideSidePanel\", [\r\n state(\"void\", style({transform: 'translateX(100%)'})),\r\n state(\"*\", style({transform: 'translateX(0)'})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionComponent implements OnDestroy {\r\n public readonly viewModes: typeof ContentViewMode = ContentViewMode;\r\n public readonly tabCategory: typeof TabCategory = TabCategory;\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set transaction(value: TransactionInfoResponse) {\r\n if (value) {\r\n this._transaction = value;\r\n }\r\n }\r\n\r\n public get transaction(): TransactionInfoResponse {\r\n return this._transaction;\r\n }\r\n\r\n @Input()\r\n public set transactionId(value: number) {\r\n if (value) {\r\n this._service.getTransactionById(value).catch(() => {});\r\n }\r\n }\r\n\r\n @Input()\r\n public showHeader: boolean = true;\r\n\r\n @HostBinding(\"class.co-transaction\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public activeViewMode: ContentViewMode = ContentViewMode.List;\r\n public activeTabCategory: TabCategory = TabCategory.Overview;\r\n public showDiscountsSidebar: boolean = false;\r\n public showSidePanel: boolean = false;\r\n public sidePanelTransactionLine: TransactionLineInfo;\r\n\r\n private _subs: Subscription[] = [];\r\n private _transaction: TransactionInfoResponse = new TransactionInfoResponse();\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _service: TransactionService\r\n ) {\r\n this._subs.push(\r\n this._service.transactionUpdated.subscribe(async transaction => {\r\n this.transaction = transaction;\r\n })\r\n )\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subs.forEach(s => s.unsubscribe());\r\n }\r\n\r\n public addDiscount(): void {\r\n this.showDiscountsSidebar = true;\r\n\r\n // TODO\r\n // this.transactionDiscountPercentage = this.service.currentTransaction.transactionDiscountPercentage;\r\n // this.transactionDiscountAmount = this.service.currentTransaction.transactionDiscountAmount;\r\n // this.transactionTotal = undefined;\r\n }\r\n\r\n public saveTransactionLine(transactionAddTextLineRequest: TransactionAddTextLineRequest): void {\r\n if (transactionAddTextLineRequest.transactionUuid) { //update\r\n\r\n } else { // new transactionLine (transactionArticleText)\r\n this._service.addTextLine(\r\n transactionAddTextLineRequest.showOnDocuments,\r\n transactionAddTextLineRequest.text,\r\n 0,\r\n transactionAddTextLineRequest.articleBound,\r\n 0,\r\n 0,\r\n 0);\r\n }\r\n }\r\n\r\n public handleNavigationTabClicked(tab: TabCategory): void {\r\n this.activeTabCategory = tab;\r\n }\r\n\r\n public handleShowSidePanel(event: {show: boolean, line: TransactionLineInfo}): void {\r\n this.showSidePanel = event.show;\r\n this.sidePanelTransactionLine = event.line;\r\n }\r\n\r\n public handleCloseSidePanel(event: MouseEvent): void {\r\n this.showSidePanel = false;\r\n }\r\n\r\n public openSidePanel(): void {\r\n this.showSidePanel = true;\r\n }\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header\",\r\n template: `\r\n <div class=\"transaction-header-wrapper\">\r\n <div class=\"collapse-handle\" [class.expanded]=\"expanded\" (click)=\"handleExpandClick($event)\">\r\n <icon class=\"collapse-icon\" [icon]=\"icons.ArrowPointDown\"></icon>\r\n </div>\r\n <co-transaction-header-relation [relationId]=\"relationId\" [expanded]=\"expanded\"></co-transaction-header-relation>\r\n <co-transaction-header-contact [relationId]=\"relationId\" [expanded]=\"expanded\"></co-transaction-header-contact>\r\n <co-transaction-header-delivery [transaction]=\"transaction\" [expanded]=\"expanded\"></co-transaction-header-delivery>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set transaction(value: TransactionInfoResponse) {\r\n if (value) {\r\n this._transaction = value;\r\n this.relationId = this.transaction.transactionInfo && this.transaction.transactionInfo.relation ? this.transaction.transactionInfo.relation.relationId : undefined;\r\n }\r\n }\r\n\r\n public get transaction(): TransactionInfoResponse {\r\n return this._transaction;\r\n }\r\n\r\n @HostBinding(\"class.co-transaction-header\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public expanded: boolean = true;\r\n public relationId: number;\r\n\r\n private _transaction: TransactionInfoResponse = new TransactionInfoResponse()\r\n\r\n public handleExpandClick(event: MouseEvent): void {\r\n this.expanded = !this.expanded;\r\n }\r\n}\r\n","import {Directive, Input} from \"@angular/core\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionTotal} from \"@colijnit/transactionapi/build/model/transaction-total.bo\";\r\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\r\nimport {NULL_CUSTOMER_FULL_OBJECT, NULL_RELATION_LIST_OBJECT} from \"@colijnit/transactionapi/build/model/nul-relation-object\";\r\nimport {RelationRequest} from \"@colijnit/transactionapi/build/model/relation-request\";\r\nimport {LineOperationStatus} from \"@colijnit/transactionapi/build/model/line-operation-status.bo\";\r\nimport {CustomerFullObject} from \"@colijnit/transactionapi/build/model/customer-full-object.bo\";\r\n\r\n@Directive()\r\nexport abstract class TransactionBaseComponent {\r\n @Input()\r\n public set transaction(value: TransactionInfoResponse) {\r\n this._transaction = value;\r\n if (this._transaction) {\r\n if (this._transaction.transactionInfo) {\r\n this.transactionInfo = this._transaction.transactionInfo;\r\n this.isService = this._transaction.transactionInfo.transactionKind === TransactionKind.ServiceOrder;\r\n }\r\n if (this._transaction.transactionLines) {\r\n this.transactionLines = this._transaction.transactionLines;\r\n }\r\n if (this._transaction.transactionTotal) {\r\n this.transactionTotal = this._transaction.transactionTotal;\r\n }\r\n if (this._transaction.lineOperationStatuses) {\r\n this.lineOperationStatuses = this._transaction.lineOperationStatuses;\r\n }\r\n this.transactionSet();\r\n }\r\n }\r\n\r\n public get transaction(): TransactionInfoResponse {\r\n return this._transaction;\r\n }\r\n\r\n @Input()\r\n public set relationId(value: number) {\r\n if (value !== undefined) {\r\n this._relationId = value;\r\n this._retrieveRelation();\r\n }\r\n }\r\n\r\n public get relationId(): number {\r\n return this._relationId;\r\n }\r\n\r\n @Input()\r\n public set customerId(value: number) {\r\n if (value !== undefined) {\r\n this._customerId = value;\r\n this._retrieveCustomer();\r\n }\r\n }\r\n\r\n public get customerId(): number {\r\n return this._customerId;\r\n }\r\n\r\n @Input()\r\n public relation: RelationListObject = NULL_RELATION_LIST_OBJECT;\r\n\r\n @Input()\r\n public customer: CustomerFullObject = NULL_CUSTOMER_FULL_OBJECT;\r\n\r\n @Input()\r\n public expanded: boolean = true;\r\n\r\n public isService: boolean = false;\r\n public transactionInfo: TransactionInfo;\r\n public lineOperationStatuses: LineOperationStatus[] = [];\r\n public transactionLines: TransactionLineInfo[] = [];\r\n public transactionTotal: TransactionTotal;\r\n\r\n private _relationId: number;\r\n private _customerId: number;\r\n private _transaction: TransactionInfoResponse;\r\n\r\n constructor (\r\n protected readonly service: TransactionService\r\n ) {}\r\n\r\n public transactionSet(): void {\r\n // overridden by descendents\r\n }\r\n\r\n private async _retrieveCustomer(): Promise<void> {\r\n this.service.getCustomerFullObjectByRelationId(this._customerId).then((customer: CustomerFullObject) => {\r\n this.customer = customer;\r\n });\r\n }\r\n\r\n private async _retrieveRelation(): Promise<void> {\r\n const relationRequest: RelationRequest = new RelationRequest();\r\n relationRequest.relationId = this.relationId;\r\n\r\n this.service.getRelationListObjects(relationRequest).then((relations: RelationListObject[]) => {\r\n const relationList: RelationListObject[] = relations;\r\n if (relations && relations.length) {\r\n this.relation = relations[0];\r\n }\r\n });\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../core/base/transaction-base.component\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-relation\",\r\n template: `\r\n <div class=\"transaction-header-first-section\">\r\n <div class=\"header-relation-name\" [textContent]=\"relation.displayName\"></div>\r\n </div>\r\n <div class=\"transaction-header-content\" *ngIf=\"expanded\" @showHideContent>\r\n <div class=\"header-relation-address\" [textContent]=\"relation.displayAddress\"></div>\r\n <div class=\"header-relation-postal\" [textContent]=\"relation.displayPostalcodeCity\"></div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHideContent\", [\r\n state(\"void\", style({height: 0, opacity: 0})),\r\n state(\"*\", style({height: \"*\", opacity: 1})),\r\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\r\n transition(\"* => void\", animate(\"200ms ease-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderRelationComponent extends TransactionBaseComponent {\r\n\r\n @HostBinding('class.co-transaction-header-relation')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderRelationComponent} from \"./transaction-header-relation.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n TransactionHeaderRelationComponent\r\n ],\r\n exports: [\r\n TransactionHeaderRelationComponent\r\n ]\r\n})\r\nexport class TransactionHeaderRelationModule {}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../core/base/transaction-base.component\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-contact\",\r\n template: `\r\n <div class=\"transaction-header-first-section\">\r\n <div class=\"header-contact-email\" [textContent]=\"relation.email\"></div>\r\n </div>\r\n <div class=\"transaction-header-content\" *ngIf=\"expanded\" @showHideContent>\r\n <div class=\"header-contact-tel\" [textContent]=\"relation.tel1\"></div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHideContent\", [\r\n state(\"void\", style({height: 0, opacity: 0})),\r\n state(\"*\", style({height: \"*\", opacity: 1})),\r\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\r\n transition(\"* => void\", animate(\"200ms ease-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderContactComponent extends TransactionBaseComponent {\r\n\r\n @HostBinding('class.co-transaction-header-contact')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderContactComponent} from \"./transaction-header-contact.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n TransactionHeaderContactComponent\r\n ],\r\n exports: [\r\n TransactionHeaderContactComponent\r\n ]\r\n})\r\nexport class TransactionHeaderContactModule {}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../core/base/transaction-base.component\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-delivery\",\r\n template: `\r\n <div class=\"transaction-header-first-section\">\r\n <icon class=\"transaction-header-delivery-icon\" [icon]=\"icons.DeliveryTruck\"></icon>\r\n <div class=\"transaction-header-delivery-date\" [textContent]=\"transactionInfo.deliveryDate | date:'dd MMM yyyy'\"></div>\r\n </div>\r\n <div class=\"transaction-header-content\" *ngIf=\"expanded\" @showHideContent>\r\n <div class=\"transaction-header-delivery-method\" [textContent]=\"deliveryMethod.description\"></div>\r\n <div class=\"transaction-header-planning-request-icon-wrapper\">\r\n <icon class=\"transaction-header-planning-request-icon\" [icon]=\"icons.CalendarDay\"></icon>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHideContent\", [\r\n state(\"void\", style({height: 0, opacity: 0})),\r\n state(\"*\", style({height: \"*\", opacity: 1})),\r\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\r\n transition(\"* => void\", animate(\"200ms ease-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderDeliveryComponent extends TransactionBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding(\"class.co-transaction-header-delivery\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public deliveryMethod: DeliveryMethod = new DeliveryMethod();\r\n public deliveryMethods: DeliveryMethod[] = [];\r\n\r\n constructor(\r\n protected service: TransactionService\r\n ) {\r\n super(service);\r\n }\r\n\r\n public transactionSet(): void {\r\n this.service.getDeliveryMethods().then((methods: DeliveryMethod[]) => {\r\n this.deliveryMethods = methods;\r\n const dm = this.deliveryMethods.find(m => m.code === this.transactionInfo.deliveryMethod);\r\n if (dm) {\r\n this.deliveryMethod = dm;\r\n }\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderDeliveryComponent} from \"./transaction-header-delivery.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule\r\n ],\r\n declarations: [\r\n TransactionHeaderDeliveryComponent\r\n ],\r\n exports: [\r\n TransactionHeaderDeliveryComponent\r\n ]\r\n})\r\nexport class TransactionHeaderDeliveryModule {}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderComponent} from \"./transaction-header.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionHeaderRelationModule} from \"../transaction-header-relation/transaction-header-relation.module\";\r\nimport {TransactionHeaderContactModule} from \"../transaction-header-contact/transaction-header-contact.module\";\r\nimport {TransactionHeaderDeliveryModule} from \"../transaction-header-delivery/transaction-header-delivery.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionHeaderRelationModule,\r\n TransactionHeaderContactModule,\r\n TransactionHeaderDeliveryModule\r\n ],\r\n declarations: [\r\n TransactionHeaderComponent\r\n ],\r\n exports: [\r\n TransactionHeaderComponent\r\n ]\r\n})\r\nexport class TransactionHeaderModule {}\r\n","import {Component, ContentChildren, HostBinding, Input, QueryList, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {LineOperationResponse} from \"@colijnit/transactionapi/build/model/line-operation-response.bo\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {ColumnAlign, SimpleGridColumnDirective} from \"@colijnit/corecomponents_v12\";\r\n\r\n@Component({\r\n selector: \"co-transaction-lines-grid\",\r\n template: `\r\n <co-simple-grid [data]=\"transactionLines\" [extraColumns]=\"extraColumns\" [dragDropEnabled]=\"true\" [emitDragDrop]=\"true\" (onDrop)=\"handleDrop($event)\">\r\n <co-simple-grid-column [field]=\"'text'\" [singleColumn]=\"true\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ARTICLE_NR' | localize\" [field]=\"'articleNumber'\" [order]=\"10\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'GOOD_DESCRIPTION' | localize\" [field]=\"'goodDescription'\" [order]=\"20\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PRICE' | localize\" [field]=\"'price'\" [textAlign]=\"align.Right\" [order]=\"30\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [textAlign]=\"align.Right\" [width]=\"100\" [resizable]=\"false\" [order]=\"40\">\r\n <ng-template let-row = \"row\">\r\n <co-input-number-picker class=\"transaction-lines-grid-amount\"\r\n [model]=\"row.amount\" [min]=\"0\" [readonly]=\"true\" (modelChange)=\"changeLineAmount(row, $event)\"></co-input-number-picker>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PRICE_LIST' | localize\" [field]=\"'priceListCode'\" [textAlign]=\"align.Right\" [order]=\"80\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ASSEMBLY_COSTS' | localize\" [field]=\"'assemblyCost'\" [textAlign]=\"align.Right\" [order]=\"90\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNumber'\" [textAlign]=\"align.Right\" [order]=\"100\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLinesGridComponent {\r\n @ContentChildren(SimpleGridColumnDirective) set content(columnComponents: QueryList<SimpleGridColumnDirective>) {\r\n this.extraColumns = columnComponents.toArray();\r\n }\r\n\r\n public readonly align: typeof ColumnAlign = ColumnAlign;\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo[] = [];\r\n\r\n @HostBinding(\"class.co-transaction-lines-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public extraColumns: SimpleGridColumnDirective[] = [];\r\n\r\n constructor(\r\n private _dictionary: DictionaryService,\r\n private _service: TransactionService\r\n ) {\r\n }\r\n\r\n public changeLineAmount(row: TransactionLineInfo, amount: number): void {\r\n this._service.changeTransactionLineQuantity(row.uuid, amount).then((value: LineOperationResponse) => {\r\n if (!value || !value.isSuccess) {\r\n return;\r\n } else {\r\n row.amount = amount;\r\n }\r\n });\r\n }\r\n\r\n public handleDrop(data: {from: number, to: number}): void {\r\n\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionLinesGridComponent} from \"./transaction-lines-grid.component\";\r\nimport {ButtonModule, InputNumberPickerModule, SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n SimpleGridModule,\r\n InputNumberPickerModule,\r\n PipeModule,\r\n ButtonModule\r\n ],\r\n declarations: [\r\n TransactionLinesGridComponent\r\n ],\r\n exports: [\r\n TransactionLinesGridComponent\r\n ]\r\n})\r\nexport class TransactionLinesGridModule {\r\n}\r\n","export enum OrderDiscountType {\r\n DiscountAmount = \"DISCOUNT_AMOUNT\",\r\n DiscountPercentage = \"DISCOUNT_PERCENTAGE\",\r\n OrderTotal = \"ORDER_TOTAL\"\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {OrderDiscountType} from \"../../enum/order-discount-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-discount\",\r\n template: `\r\n <co-sidebar #discountsSidebar isOpen=\"false\">\r\n <div fxLayout=\"column\" fxLayoutGap=\"10px\">\r\n <co-button class=\"rectangular\" [label]=\"'TRANSACTION_DISCOUNT_PERC' | localize\"\r\n (click)=\"onStartDiscountInput(orderDiscountType.DiscountPercentage, 'TRANSACTION_DISCOUNT_PERC')\"></co-button>\r\n <co-button class=\"rectangular\" [label]=\"'TRANSACTION_DISCOUNT'| localize\"\r\n (click)=\"onStartDiscountInput(orderDiscountType.DiscountAmount, 'TRANSACTION_DISCOUNT')\"></co-button>\r\n <co-button class=\"rectangular\" [label]=\"'TRANSACTION_TOTAL'| localize\"\r\n (click)=\"onStartDiscountInput(orderDiscountType.OrderTotal, 'TRANSACTION_TOTAL')\"></co-button>\r\n\r\n </div>\r\n </co-sidebar>\r\n <co-dialog *ngIf=\"inputDiscounts\">\r\n <ng-container header>{{ discountHeader | localize }}</ng-container>\r\n <co-form>\r\n <co-input-text\r\n *ngIf=\"discountType === orderDiscountType.DiscountPercentage\"\r\n [type]=\"'number'\"\r\n [(model)]=\"transactionDiscountPercentage\"\r\n [placeholder]=\"'TRANSACTION_DISCOUNT_PERC' | localize\"\r\n ></co-input-text>\r\n <co-input-text\r\n *ngIf=\"discountType === orderDiscountType.DiscountAmount\"\r\n [type]=\"'number'\"\r\n [(model)]=\"transactionDiscountAmount\"\r\n [placeholder]=\"'TRANSACTION_DISCOUNT' | localize\"\r\n ></co-input-text>\r\n <co-input-text\r\n *ngIf=\"discountType === orderDiscountType.OrderTotal\"\r\n [type]=\"'number'\"\r\n [(model)]=\"transactionTotal\"\r\n [placeholder]=\"'TRANSACTION_TOTAL' | localize\"\r\n ></co-input-text>\r\n\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"end\">\r\n <co-button [label]=\"'CANCEL' | localize\" (click)=\"inputDiscounts = false\"></co-button>\r\n <co-button [label]=\"'OK' | localize\" (click)=\"onInputDiscountsOkClick()\"></co-button>\r\n </div>\r\n </co-form>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DiscountComponent {\r\n public readonly orderDiscountType: typeof OrderDiscountType = OrderDiscountType;\r\n\r\n @HostBinding(\"class.co-discount\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public discountHeader: string;\r\n public inputDiscounts: boolean;\r\n public transactionDiscountAmount: number;\r\n public transactionDiscountPercentage: number;\r\n public transactionTotal: number;\r\n public discountType: OrderDiscountType;\r\n\r\n public showDiscountsSidebar: boolean = false;\r\n\r\n constructor(\r\n private _dictionary: DictionaryService\r\n ) {\r\n }\r\n\r\n public addDiscount(): void {\r\n\r\n // TODO\r\n // this.transactionDiscountPercentage = this.service.currentTransaction.transactionDiscountPercentage;\r\n // this.transactionDiscountAmount = this.service.currentTransaction.transactionDiscountAmount;\r\n // this.transactionTotal = undefined;\r\n }\r\n\r\n public onStartDiscountInput(discountType: OrderDiscountType, header: string): void {\r\n this.discountType = discountType;\r\n this.discountHeader = header;\r\n this.inputDiscounts = true;\r\n }\r\n\r\n public setDiscountHeader(discountType: OrderDiscountType): void {\r\n switch (this.discountType) {\r\n case OrderDiscountType.DiscountPercentage:\r\n this.discountHeader = this._dictionary.get(\"DISCOUNT_PERCENTAGE\", true);\r\n break;\r\n case OrderDiscountType.DiscountAmount:\r\n this.discountHeader = this._dictionary.get(\"DISCOUNT_AMOUNT\", true);\r\n break;\r\n case OrderDiscountType.OrderTotal:\r\n this.discountHeader = this._dictionary.get(\"ORDER_TOTAL\", true);\r\n break;\r\n }\r\n }\r\n\r\n public onInputDiscountsOkClick(): void {\r\n let valueToUse: number;\r\n switch (this.discountType) {\r\n case OrderDiscountType.DiscountPercentage:\r\n valueToUse = this.transactionDiscountPercentage;\r\n break;\r\n case OrderDiscountType.DiscountAmount:\r\n valueToUse = this.transactionDiscountAmount;\r\n break;\r\n case OrderDiscountType.OrderTotal:\r\n valueToUse = this.transactionTotal;\r\n break;\r\n }\r\n //TODO this.service.setTransactionDiscounts(this.service.currentTransaction.uuid, this.discountType, valueToUse);\r\n this.inputDiscounts = false;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {DiscountComponent} from \"./discount.component\";\r\nimport {ButtonModule, CoDialogModule, CoSidebarModule, FormModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n CoDialogModule,\r\n FormModule,\r\n InputTextModule,\r\n ButtonModule,\r\n CoSidebarModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n DiscountComponent\r\n ],\r\n exports: [\r\n DiscountComponent\r\n ]\r\n})\r\nexport class DiscountModule {}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TabCategory} from \"../../enum/tab-category.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-commit-bar\",\r\n template: `\r\n <div class=\"commit-bar-wrapper\">\r\n <co-input-date class=\"commit-bar-item\"\r\n [placeholder]=\"'CONFIRMED_DATE' | localize\"\r\n [(model)]=\"this.commitDate\"\r\n ></co-input-date>\r\n <co-input-text *ngIf=\"activeCategory === tabCategory.OrderConfirmation\" class=\"commit-bar-item\"\r\n [placeholder]=\"'REFERENCE' | localize\"\r\n [(model)]=\"this.commitReferenceId\"\r\n ></co-input-text>\r\n <co-input-text *ngIf=\"activeCategory === tabCategory.ReceivedGoods\" class=\"commit-bar-item\"\r\n [placeholder]=\"'PACKING_SLIP' | localize\"\r\n [(model)]=\"this.commitReferenceId\"\r\n ></co-input-text>\r\n <co-input-checkbox\r\n (modelChange)=\"checkboxValueChanged.next($event)\"\r\n ></co-input-checkbox>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionCommitBarComponent {\r\n public readonly tabCategory: typeof TabCategory = TabCategory;\r\n\r\n @Input()\r\n public activeCategory: TabCategory;\r\n\r\n @Input()\r\n public commitDate: Date = new Date();\r\n\r\n @Input()\r\n public commitReferenceId: number;\r\n\r\n @Input()\r\n public packingSlipId: number;\r\n\r\n @Output()\r\n public checkboxValueChanged: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding(\"class.co-transaction-commit-bar\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionCommitBarComponent} from \"./transaction-commit-bar.component\";\r\nimport {InputCheckboxModule, InputDatePickerModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n InputTextModule,\r\n InputDatePickerModule,\r\n PipeModule,\r\n InputCheckboxModule,\r\n ],\r\n declarations: [\r\n TransactionCommitBarComponent\r\n ],\r\n exports: [\r\n TransactionCommitBarComponent\r\n ]\r\n})\r\nexport class TransactionCommitBarModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {TabCategory} from \"../../enum/tab-category.enum\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-nav-bar\",\r\n template: `\r\n <div class=\"nav-bar-wrapper\">\r\n <div class=\"custom-button-wrapper\" *ngFor=\"let tab of tabs\">\r\n <co-transaction-nav-bar-button\r\n [tabData]=\"tab\"\r\n [selectedCategory]=\"selectedTab\"\r\n (click)=\"handleTabClick(tab.category)\"\r\n ></co-transaction-nav-bar-button>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionNavBarComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public selectedTab: TabCategory = TabCategory.Overview;\r\n\r\n @Output()\r\n public tabClicked: EventEmitter<TabCategory> = new EventEmitter<TabCategory>();\r\n\r\n @HostBinding(\"class.co-transaction-nav-bar\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public tabs: {category: TabCategory, title: string, iconName: Icon}[] = [\r\n { category: TabCategory.Overview,\r\n title: this._dictionaryService.get('OVERVIEW'),\r\n iconName: this.icons.Tag },\r\n { category: TabCategory.OrderConfirmation,\r\n title: this._dictionaryService.get('CONFIRMATION'),\r\n iconName: this.icons.DeliveryTruck },\r\n { category: TabCategory.Transport,\r\n title: this._dictionaryService.get('TRANSPORT'),\r\n iconName: this.icons.Txt },\r\n { category: TabCategory.ReceivedGoods,\r\n title: this._dictionaryService.get('RECEIVED'),\r\n iconName: this.icons.ThinLines },\r\n { category: TabCategory.InvoiceCheck,\r\n title: this._dictionaryService.get('INVOICE_CHECK'),\r\n iconName: this.icons.ThickLines },\r\n { category: TabCategory.Menu,\r\n title: this._dictionaryService.get('MENU'),\r\n iconName: this.icons.CalendarDay }\r\n ]\r\n\r\n constructor(\r\n private _dictionaryService: DictionaryService\r\n ) { }\r\n\r\n public handleTabClick(category: TabCategory): void {\r\n this.selectedTab = category;\r\n this.tabClicked.next(category);\r\n }\r\n}\r\n","import {Component, Input} from \"@angular/core\";\r\nimport { Icon } from \"../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {TabCategory} from \"../../../enum/tab-category.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-nav-bar-button\",\r\n template: `\r\n <div class=\"button-wrapper\" [class.selected]=\"tabData.category === selectedCategory\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(tabData.iconName)\"></co-icon>\r\n <span class=\"button-title\" [textContent]=\"tabData.title\"></span>\r\n </div>\r\n `,\r\n styleUrls: [\"./transaction-nav-bar-button.component.scss\"]\r\n})\r\nexport class TransactionNavBarButtonComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public tabData: {category: TabCategory, title: string, iconName: Icon};\r\n\r\n @Input()\r\n public selectedCategory: TabCategory;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) { }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionNavBarComponent} from \"./transaction-nav-bar.component\";\r\nimport {TransactionNavBarButtonComponent} from \"./transaction-nav-bar-button/transaction-nav-bar-button.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n IconModule,\r\n ],\r\n declarations: [\r\n TransactionNavBarComponent,\r\n TransactionNavBarButtonComponent\r\n ],\r\n exports: [\r\n TransactionNavBarComponent,\r\n TransactionNavBarButtonComponent\r\n ]\r\n})\r\nexport class TransactionNavBarModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TabCategory} from \"../../enum/tab-category.enum\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-side-panel\",\r\n template: `\r\n <div class=\"transaction-line-side-panel-header\">\r\n <div class=\"transaction-line-side-panel-header-item\">\r\n <span class=\"side-panel-header-label\" [textContent]=\"'ARTICLE_NR'| localize\"></span>\r\n <span class=\"side-panel-header-field\" [textContent]=\"transactionLine.articleNumber\"></span>\r\n </div>\r\n <div class=\"side-panel-header-divider\"></div>\r\n <div class=\"transaction-line-side-panel-header-item\">\r\n <span class=\"side-panel-header-label\" [textContent]=\"'DESCRIPTION'| localize\"></span>\r\n <span class=\"side-panel-header-field\" [textContent]=\"transactionLine.goodDescription\"></span>\r\n </div>\r\n <div class=\"side-panel-header-divider\"></div>\r\n <div class=\"transaction-line-side-panel-header-item\">\r\n <span class=\"side-panel-header-label\" [textContent]=\"'AMOUNT'| localize\"></span>\r\n <span class=\"side-panel-header-field\" [textContent]=\"transactionLine.amount\"></span>\r\n </div>\r\n <div class=\"side-panel-header-divider\"></div>\r\n <div class=\"transaction-line-side-panel-header-item\">\r\n <span class=\"side-panel-header-label\" [textContent]=\"'PRICE'| localize\"></span>\r\n <span class=\"side-panel-header-field\" [textContent]=\"transactionLine.price | priceDisplay\"></span>\r\n </div>\r\n <icon (click)=\"handleCancelClick($event)\" [icon]=\"icons.Cancel\" class=\"close-button\"></icon>\r\n </div>\r\n <div class=\"transaction-line-side-panel-nav-bar\">\r\n <co-transaction-nav-bar\r\n [selectedTab]=\"activeTabCategory\"\r\n (tabClicked)=\"activeTabCategory = $event\"\r\n ></co-transaction-nav-bar>\r\n </div>\r\n <div class=\"transaction-line-side-panel-content\">\r\n <ng-container [ngSwitch]=\"activeTabCategory\">\r\n <ng-container *ngSwitchCase=\"tabCategory.OrderConfirmation\">\r\n <co-transaction-confirmation-history></co-transaction-confirmation-history>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"tabCategory.ReceivedGoods\">\r\n <co-transaction-receiving-goods-details></co-transaction-receiving-goods-details>\r\n <div class=\"save-cancel-wrapper\">\r\n <co-button class=\"button-wrapper\" [label]=\"'SAVE' | localize\" (click)=\"handleSaveDetailsEdit()\"></co-button>\r\n <co-button class=\"button-wrapper\" [label]=\"'CANCEL' | localize\" (click)=\"handleCancelDetailsEdit()\"></co-button>\r\n </div>\r\n <co-transaction-receiving-goods-history></co-transaction-receiving-goods-history>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <co-transaction-line-side-panel-default\r\n [transactionLine]=\"transactionLine\"\r\n (cancelClick)=\"handleCancelClick($event)\"\r\n ></co-transaction-line-side-panel-default>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSidePanelComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly tabCategory: typeof TabCategory = TabCategory;\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo;\r\n\r\n @Input()\r\n public activeTabCategory: TabCategory;\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-transaction-line-side-panel\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(public iconService: IconCacheService) {\r\n }\r\n\r\n public handleCancelClick(event: MouseEvent): void {\r\n this.cancelClick.next(event);\r\n }\r\n\r\n public handleSaveDetailsEdit(): void {\r\n\r\n }\r\n\r\n public handleCancelDetailsEdit(): void {\r\n\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-side-panel-default\",\r\n template: `\r\n <co-collapsible\r\n [iconData]=\"iconService.getIcon(icons.TriangleUp)\"\r\n [headerTitle]=\"'PRICING' | localize\"\r\n [expandButtonLast]=\"true\"\r\n [expanded]=\"true\"\r\n >\r\n <div class=\"collapsible-content-wrapper\">\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'NET_LINE_TOTAL' | localize\" [model]=\"transactionLine.netLineTotal\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-quantity class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-quantity>\r\n <co-transaction-line-price class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-price>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-vat class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-vat>\r\n <co-transaction-line-price-list class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-price-list>\r\n </div>\r\n </div>\r\n </co-collapsible>\r\n <co-collapsible\r\n [iconData]=\"iconService.getIcon(icons.TriangleUp)\"\r\n [headerTitle]=\"'DISCOUNTS' | localize\"\r\n [expandButtonLast]=\"true\"\r\n [expanded]=\"true\"\r\n >\r\n <div class=\"collapsible-content-wrapper\">\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-line-discount class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-line-discount>\r\n <co-transaction-line-discount-amount class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-discount-amount>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-quantum-discount class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-quantum-discount>\r\n <co-transaction-line-special-discount class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-special-discount>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'SURCHARGE_AMOUNT' | localize\" [model]=\"transactionLine.surchargeAmount\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'BUSINESS_RULE_DISCOUNT' | localize\" [model]=\"'NIET_GEIMPLEMENTEERD'\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n </div>\r\n </co-collapsible>\r\n <co-collapsible\r\n [iconData]=\"iconService.getIcon(icons.TriangleUp)\"\r\n [headerTitle]=\"'LOGISTICS_AND_PLANNING' | localize\"\r\n [expandButtonLast]=\"true\"\r\n [expanded]=\"true\"\r\n >\r\n <div class=\"collapsible-content-wrapper\">\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-commission-code class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-commission-code>\r\n <co-transaction-line-warehouse class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-warehouse>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-delivery-method class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-delivery-method>\r\n <co-transaction-line-delivery-date class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-delivery-date>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'ASSEMBLY_TIME' | localize\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'ASSEMBLY_COSTS' | localize\" [type]=\"'number'\" [model]=\"transactionLine.assemblyCost\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'MODIFICATION_TIME' | localize\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-combo-box class=\"side-panel-input\" [collection]=\"data\" [placeholder]=\"'SUPPLIER' | localize\"></co-input-combo-box>\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'ARTICLE_NR_SUPPLIER' | localize\" [model]=\"transactionLine.articleNumber\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'IN_OUT_COLLECTION' | localize\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n </div>\r\n </co-collapsible>\r\n\r\n <co-collapsible\r\n [iconData]=\"iconService.getIcon(icons.TriangleUp)\"\r\n [headerTitle]=\"'OTHER' | localize\"\r\n [expandButtonLast]=\"true\"\r\n [expanded]=\"true\"\r\n >\r\n <div class=\"collapsible-content-wrapper\">\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-reference class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-reference>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'ORDER_RULESET' | localize\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'LAST_EDITED_DATE' | localize\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'LAST_EDITED_USER' | localize\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n <co-input-text [placeholder]=\"'FABRICATION_COST' | localize\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text [placeholder]=\"'TRANSPORT_COST' | localize\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text [placeholder]=\"'FABRICATION_COST_LINE_TOTAL' | localize\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text [placeholder]=\"'TRANSPORT_COST_LINE_TOTAL' | localize\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text [placeholder]=\"'CUSTOMER' | localize\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n </co-collapsible>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSidePanelDefaultComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo;\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-transaction-line-side-panel-default\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public data = [];\r\n\r\n constructor(\r\n public iconService: IconCacheService,\r\n private _transactionService: TransactionService\r\n ) {\r\n }\r\n\r\n public handleCancelClick(event: MouseEvent): void {\r\n this.cancelClick.next(event);\r\n }\r\n}\r\n","import {Directive, Input} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\n@Directive()\r\nexport abstract class TransactionLineFieldsBaseComponent {\r\n\r\n @Input()\r\n public set transactionLine(value: TransactionLineInfo) {\r\n if (value) {\r\n this._transactionLine = value;\r\n }\r\n }\r\n\r\n public get transactionLine(): TransactionLineInfo {\r\n return this._transactionLine;\r\n }\r\n\r\n private _transactionLine: TransactionLineInfo = new TransactionLineInfo();\r\n\r\n}\r\n","import {Component, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-quantity\",\r\n template: `\r\n <co-input-number-picker [label]=\"'AMOUNT' | localize\" [(model)]=\"transactionLine.amount\"></co-input-number-picker>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineQuantityComponent extends TransactionLineFieldsBaseComponent {\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitQuantity(quantity: number): Promise<boolean> {\r\n if (this.transactionLine.amount !== quantity) {\r\n const oldAmount = this.transactionLine.amount;\r\n const success = await this._transactionService.updateQuantityTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, quantity);\r\n if (!success) {\r\n this.transactionLine.amount = oldAmount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineQuantityComponent} from \"./transaction-line-quantity.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {InputNumberPickerModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputNumberPickerModule\r\n ],\r\n declarations: [\r\n TransactionLineQuantityComponent\r\n ],\r\n exports: [\r\n TransactionLineQuantityComponent\r\n ]\r\n})\r\nexport class TransactionLineQuantityModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-line-discount\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'DISCOUNT_PERCENTAGE' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"true\"\r\n [model]=\"transactionLine.lineDiscount\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineLineDiscountComponent extends TransactionLineFieldsBaseComponent {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n this.input = content;\r\n this.input.commit = (discount) => this.commitDiscount(discount);\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitDiscount(discount: number): Promise<boolean> {\r\n if (this.transactionLine.lineDiscount !== discount) {\r\n const oldDiscount = this.transactionLine.lineDiscount;\r\n const success = await this._transactionService.updateDiscountTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, DiscountType.TransactionLineDiscountPercentage, discount);\r\n if (!success) {\r\n this.input.model = oldDiscount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineLineDiscountComponent} from \"./transaction-line-line-discount.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineLineDiscountComponent\r\n ],\r\n exports: [\r\n TransactionLineLineDiscountComponent\r\n ]\r\n})\r\nexport class TransactionLineLineDiscountModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-price\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'PRICE' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"true\"\r\n [model]=\"transactionLine.price\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLinePriceComponent extends TransactionLineFieldsBaseComponent {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n this.input = content;\r\n this.input.commit = (price) => this.commitPrice(price);\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitPrice(price: number): Promise<boolean> {\r\n if (this.transactionLine.price !== price) {\r\n const oldPrice = this.transactionLine.price;\r\n const success = await this._transactionService.updatePriceTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, price);\r\n if (!success) {\r\n this.input.model = oldPrice;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLinePriceComponent} from \"./transaction-line-price.component\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLinePriceComponent\r\n ],\r\n exports: [\r\n TransactionLinePriceComponent\r\n ]\r\n})\r\nexport class TransactionLinePriceModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {Vat} from \"@colijnit/transactionapi/build/model/vat\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-vat\",\r\n template: `\r\n <co-input-combo-box\r\n [collection]=\"data\"\r\n [placeholder]=\"'VAT' | localize\"\r\n [fields]=\"fields\"\r\n [model]=\"transactionLine.vatId\"\r\n (modelChange)=\"commitVat($event)\"\r\n ></co-input-combo-box>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineVatComponent extends TransactionLineFieldsBaseComponent implements OnInit {\r\n\r\n public data: Vat[] = [];\r\n public fields: Object = { text: \"description\", value: \"vatId\" };\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._transactionService.getVatLists().then((vatList: Vat[]) => {\r\n this.data = vatList.slice();\r\n })\r\n }\r\n\r\n public async commitVat(id: number): Promise<boolean> {\r\n if (this.transactionLine.vatId !== id) {\r\n const oldId = this.transactionLine.vatId;\r\n const success = await this._transactionService.updateVatTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, id);\r\n if (!success) {\r\n this.transactionLine.vatId = oldId;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineVatComponent} from \"./transaction-line-vat.component\";\r\nimport {InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputComboBoxModule\r\n ],\r\n declarations: [\r\n TransactionLineVatComponent\r\n ],\r\n exports: [\r\n TransactionLineVatComponent\r\n ]\r\n})\r\nexport class TransactionLineVatModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {PriceList} from \"@colijnit/transactionapi/build/model/price-list\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-price-list\",\r\n template: `\r\n <co-input-combo-box\r\n [collection]=\"data\"\r\n [placeholder]=\"'PRICE_LIST' | localize\"\r\n [fields]=\"fields\"\r\n [model]=\"transactionLine.priceListCode\"\r\n (modelChange)=\"commitPriceList($event)\"\r\n ></co-input-combo-box>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLinePriceListComponent extends TransactionLineFieldsBaseComponent implements OnInit {\r\n\r\n public data: PriceList[] = [];\r\n public fields: Object = { text: \"description\", value: \"code\" };\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._transactionService.getPriceLists().then((list: PriceList[]) => {\r\n this.data = list.slice();\r\n })\r\n }\r\n\r\n public async commitPriceList(priceList: string): Promise<boolean> {\r\n if (this.transactionLine.priceListCode !== priceList) {\r\n const oldPriceList = this.transactionLine.priceListCode;\r\n const success = await this._transactionService.updatePriceListTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, priceList);\r\n if (!success) {\r\n this.transactionLine.priceListCode = oldPriceList;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLinePriceListComponent} from \"./transaction-line-price-list.component\";\r\nimport {InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputComboBoxModule\r\n ],\r\n declarations: [\r\n TransactionLinePriceListComponent\r\n ],\r\n exports: [\r\n TransactionLinePriceListComponent\r\n ]\r\n})\r\nexport class TransactionLinePriceListModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-delivery-method\",\r\n template: `\r\n <co-input-combo-box\r\n [collection]=\"data\"\r\n [placeholder]=\"'DELIVERY_METHOD' | localize\"\r\n [fields]=\"fields\"\r\n (modelChange)=\"commitDeliveryMethod($event)\"\r\n ></co-input-combo-box>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineDeliveryMethodComponent extends TransactionLineFieldsBaseComponent implements OnInit {\r\n\r\n public data: DeliveryMethod[] = [];\r\n public fields: Object = { text: \"description\", value: \"code\" };\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._transactionService.getDeliveryMethods().then((methods: DeliveryMethod[]) => {\r\n this.data = methods.slice();\r\n })\r\n }\r\n\r\n public async commitDeliveryMethod(method: string): Promise<boolean> {\r\n if (this.transactionLine.deliveryMethodCode !== method) {\r\n const oldMethod = this.transactionLine.deliveryMethodCode;\r\n const success = await this._transactionService.updateDeliveryMethodTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, method);\r\n if (!success) {\r\n this.transactionLine.deliveryMethodCode = oldMethod;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineDeliveryMethodComponent} from \"./transaction-line-delivery-method.component\";\r\nimport {InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputComboBoxModule\r\n ],\r\n declarations: [\r\n TransactionLineDeliveryMethodComponent\r\n ],\r\n exports: [\r\n TransactionLineDeliveryMethodComponent\r\n ]\r\n})\r\nexport class TransactionLineDeliveryMethodModule {\r\n}\r\n","import {Component, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-delivery-date\",\r\n template: `\r\n <co-input-date\r\n [placeholder]=\"'DELIVERY_DATE' | localize\"\r\n [model]=\"transactionLine.deliveryDate\"\r\n (modelChange)=\"commitDeliveryDate($event)\"\r\n ></co-input-date>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineDeliveryDateComponent extends TransactionLineFieldsBaseComponent {\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitDeliveryDate(date: Date): Promise<boolean> {\r\n if (this.transactionLine.deliveryDate !== date) {\r\n const oldDate = this.transactionLine.deliveryDate;\r\n const success = await this._transactionService.updateDeliveryDateTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, date);\r\n if (!success) {\r\n this.transactionLine.deliveryDate = oldDate;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineDeliveryDateComponent} from \"./transaction-line-delivery-date.component\";\r\nimport {InputDatePickerModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputDatePickerModule\r\n ],\r\n declarations: [\r\n TransactionLineDeliveryDateComponent\r\n ],\r\n exports: [\r\n TransactionLineDeliveryDateComponent\r\n ]\r\n})\r\nexport class TransactionLineDeliveryDateModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-reference\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'REFERENCE' | localize\"\r\n [type]=\"'text'\"\r\n [showSaveCancel]=\"true\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineReferenceComponent extends TransactionLineFieldsBaseComponent {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n this.input = content;\r\n this.input.commit = (reference) => this.commitReference(reference);\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitReference(reference: string): Promise<boolean> {\r\n if (this.transactionLine.reference !== reference) {\r\n const oldRef = this.transactionLine.reference;\r\n const success = await this._transactionService.updateReferenceTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, reference);\r\n if (!success) {\r\n this.input.model = oldRef;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineReferenceComponent} from \"./transaction-line-reference.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineReferenceComponent\r\n ],\r\n exports: [\r\n TransactionLineReferenceComponent\r\n ]\r\n})\r\nexport class TransactionLineReferenceModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {CoDomainValue} from \"@colijnit/transactionapi/build/model/co-domain-value.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-commission-code\",\r\n template: `\r\n <co-input-combo-box\r\n [collection]=\"data\"\r\n [placeholder]=\"'COMMISSION_CODE' | localize\"\r\n [fields]=\"fields\"\r\n [model]=\"transactionLine.commissionCode\"\r\n (modelChange)=\"commitCommissionCode($event)\"\r\n ></co-input-combo-box>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineCommissionCodeComponent extends TransactionLineFieldsBaseComponent implements OnInit {\r\n\r\n public data: CoDomainValue[] = [];\r\n public fields: Object = { text: \"description\", value: \"code\" };\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._transactionService.getCommissionCodes(\"NL\").then((codes: CoDomainValue[]) => {\r\n this.data = codes.slice();\r\n })\r\n }\r\n\r\n public async commitCommissionCode(code: string): Promise<boolean> {\r\n if (this.transactionLine.commissionCode !== code) {\r\n const oldCode = this.transactionLine.commissionCode;\r\n const success = await this._transactionService.updateCommissionCodeTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, code);\r\n if (!success) {\r\n // this.transactionLine.commissionCode = code;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineCommissionCodeComponent} from \"./transaction-line-commission-code.component\";\r\nimport {InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputComboBoxModule\r\n ],\r\n declarations: [\r\n TransactionLineCommissionCodeComponent\r\n ],\r\n exports: [\r\n TransactionLineCommissionCodeComponent\r\n ]\r\n})\r\nexport class TransactionLineCommissionCodeModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {CoDomainValue} from \"@colijnit/transactionapi/build/model/co-domain-value.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-warehouse\",\r\n template: `\r\n <co-input-combo-box\r\n [collection]=\"data\"\r\n [placeholder]=\"'WAREHOUSE' | localize\"\r\n [fields]=\"fields\"\r\n [model]=\"transactionLine.warehouseNumber\"\r\n (modelChange)=\"commitWarehouse($event)\"\r\n ></co-input-combo-box>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineWarehouseComponent extends TransactionLineFieldsBaseComponent implements OnInit {\r\n\r\n public data: CoDomainValue[] = [];\r\n public fields: Object = { text: \"description\", value: \"code\" };\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n // this._transactionService.getWCommissionCodes(\"NL\").then((codes: CoDomainValue[]) => {\r\n // this.data = codes.slice();\r\n // })\r\n }\r\n\r\n public async commitWarehouse(warehouse: number): Promise<boolean> {\r\n if (this.transactionLine.warehouseNumber !== warehouse) {\r\n const oldWarehouse = this.transactionLine.warehouseNumber;\r\n const success = await this._transactionService.updateWarehouseTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, warehouse);\r\n if (!success) {\r\n this.transactionLine.warehouseNumber = warehouse;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputComboBoxModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineWarehouseComponent} from \"./transaction-line-warehouse.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule,\r\n InputComboBoxModule\r\n ],\r\n declarations: [\r\n TransactionLineWarehouseComponent\r\n ],\r\n exports: [\r\n TransactionLineWarehouseComponent\r\n ]\r\n})\r\nexport class TransactionLineWarehouseModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-discount-amount\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'DISCOUNT_AMOUNT' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"true\"\r\n [model]=\"transactionLine.discountAmount\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineDiscountAmountComponent extends TransactionLineFieldsBaseComponent {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n this.input = content;\r\n this.input.commit = (discount) => this.commitDiscount(discount);\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitDiscount(discount: number): Promise<boolean> {\r\n if (this.transactionLine.discountAmount !== discount) {\r\n const oldDiscount = this.transactionLine.discountAmount;\r\n const success = await this._transactionService.updateDiscountTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, DiscountType.TransactionLineDiscountAmount, discount);\r\n if (!success) {\r\n this.input.model = oldDiscount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineDiscountAmountComponent} from \"./transaction-line-discount-amount.component\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputTextModule\r\n ],\r\n declarations: [\r\n TransactionLineDiscountAmountComponent\r\n ],\r\n exports: [\r\n TransactionLineDiscountAmountComponent\r\n ]\r\n})\r\nexport class TransactionLineDiscountAmountModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-quantum-discount\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'QUANTUM_DISCOUNT' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"true\"\r\n [model]=\"transactionLine.quantumDiscount\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineQuantumDiscountComponent extends TransactionLineFieldsBaseComponent {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n this.input = content;\r\n this.input.commit = (discount) => this.commitDiscount(discount);\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitDiscount(discount: number): Promise<boolean> {\r\n if (this.transactionLine.quantumDiscount !== discount) {\r\n const oldDiscount = this.transactionLine.quantumDiscount;\r\n const success = await this._transactionService.updateDiscountTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, DiscountType.TransactionLineQuantumDiscountPercentage, discount);\r\n if (!success) {\r\n this.input.model = oldDiscount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineQuantumDiscountComponent} from \"./transaction-line-quantum-discount.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineQuantumDiscountComponent\r\n ],\r\n exports: [\r\n TransactionLineQuantumDiscountComponent\r\n ]\r\n})\r\nexport class TransactionLineQuantumDiscountModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-special-discount\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'SPECIAL_DISCOUNT' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"true\"\r\n [model]=\"transactionLine.specialDiscount\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSpecialDiscountComponent extends TransactionLineFieldsBaseComponent {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n this.input = content;\r\n this.input.commit = (discount) => this.commitDiscount(discount);\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitDiscount(discount: number): Promise<boolean> {\r\n if (this.transactionLine.specialDiscount !== discount) {\r\n const oldDiscount = this.transactionLine.specialDiscount;\r\n const success = await this._transactionService.updateDiscountTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, DiscountType.TransactionLineSpecialDiscountPercentage, discount);\r\n if (!success) {\r\n this.input.model = oldDiscount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineSpecialDiscountComponent} from \"./transaction-line-special-discount.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineSpecialDiscountComponent\r\n ],\r\n exports: [\r\n TransactionLineSpecialDiscountComponent\r\n ]\r\n})\r\nexport class TransactionLineSpecialDiscountModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineSidePanelDefaultComponent} from \"./transaction-line-side-panel-default.component\";\r\nimport {ButtonModule, CollapsibleModule, InputComboBoxModule, InputDatePickerModule, InputNumberPickerModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineQuantityModule} from \"../transaction-line-fields/transaction-line-quantity.module\";\r\nimport {TransactionLineLineDiscountModule} from \"../transaction-line-fields/transaction-line-line-discount.module\";\r\nimport {TransactionLinePriceModule} from \"../transaction-line-fields/transaction-line-price.module\";\r\nimport {TransactionLineVatModule} from \"../transaction-line-fields/transaction-line-vat.module\";\r\nimport {TransactionLinePriceListModule} from \"../transaction-line-fields/transaction-line-price-list.module\";\r\nimport {TransactionLineDeliveryMethodModule} from \"../transaction-line-fields/transaction-line-delivery-method.module\";\r\nimport {TransactionLineDeliveryDateModule} from \"../transaction-line-fields/transaction-line-delivery-date.module\";\r\nimport {TransactionLineReferenceModule} from \"../transaction-line-fields/transaction-line-reference.module\";\r\nimport {TransactionLineCommissionCodeModule} from \"../transaction-line-fields/transaction-line-commission-code.module\";\r\nimport {TransactionLineWarehouseModule} from \"../transaction-line-fields/transaction-line-warehouse.module\";\r\nimport {TransactionLineDiscountAmountModule} from \"../transaction-line-fields/transaction-line-discount-amount.module\";\r\nimport {TransactionLineQuantumDiscountModule} from \"../transaction-line-fields/transaction-line-quantum-discount.module\";\r\nimport {TransactionLineSpecialDiscountModule} from \"../transaction-line-fields/transaction-line-special-discount.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n ButtonModule,\r\n CollapsibleModule,\r\n InputTextModule,\r\n InputComboBoxModule,\r\n InputDatePickerModule,\r\n InputNumberPickerModule,\r\n TransactionLinePriceModule,\r\n TransactionLinePriceListModule,\r\n TransactionLineVatModule,\r\n TransactionLineQuantityModule,\r\n TransactionLineLineDiscountModule,\r\n TransactionLineDeliveryMethodModule,\r\n TransactionLineDeliveryDateModule,\r\n TransactionLineReferenceModule,\r\n TransactionLineCommissionCodeModule,\r\n TransactionLineWarehouseModule,\r\n TransactionLineDiscountAmountModule,\r\n TransactionLineQuantumDiscountModule,\r\n TransactionLineSpecialDiscountModule\r\n ],\r\n declarations: [\r\n TransactionLineSidePanelDefaultComponent\r\n ],\r\n exports: [\r\n TransactionLineSidePanelDefaultComponent\r\n ]\r\n})\r\nexport class TransactionLineSidePanelDefaultModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-receiving-goods-history\",\r\n template: `\r\n <div class=\"history-grid-wrapper\">\r\n <co-transaction-history-grid [transactionLines]=\"transactionLines\">\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNumber'\" [order]=\"40\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'warehouseLocation'\" [order]=\"60\"></co-simple-grid-column>\r\n </co-transaction-history-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionReceivingGoodsHistoryComponent {\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo[] = [];\r\n\r\n @HostBinding(\"class.co-transaction-receiving-goods-history\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n}\r\n","export enum StatusType {\r\n Unknown = \"UNKNOWN\",\r\n}\r\n","import {Component, ContentChildren, HostBinding, Input, QueryList, ViewEncapsulation} from \"@angular/core\";\r\nimport {TabCategory} from \"../../enum/tab-category.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {SimpleGridColumnDirective} from \"@colijnit/corecomponents_v12\";\r\nimport {StatusType} from \"../../enum/status-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-history-grid\",\r\n template: `\r\n <div class=\"history-grid-wrapper\">\r\n <co-simple-grid [data]=\"transactionLines\" [extraColumns]=\"extraColumns\" (selectRow)=\"handleSelectRow($event)\">\r\n <co-simple-grid-column [headerText]=\"'STATE' | localize\" [field]=\"'status'\" [order]=\"10\">\r\n <ng-template #template let-row=\"row\">\r\n <co-transaction-history-grid-status [statusType]=\"statusType.Unknown\"></co-transaction-history-grid-status>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\" [field]=\"'deliveryDate'\" [order]=\"20\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\" [order]=\"30\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'REFERENCE' | localize\" [field]=\"'referenceNumber'\" [order]=\"50\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\" [order]=\"70\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHistoryGridComponent {\r\n public readonly tabCategory: typeof TabCategory = TabCategory;\r\n public readonly statusType: typeof StatusType = StatusType;\r\n\r\n @ContentChildren(SimpleGridColumnDirective) set content(columnComponents: QueryList<SimpleGridColumnDirective>) {\r\n this.extraColumns = columnComponents.toArray();\r\n }\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo[];\r\n\r\n @HostBinding(\"class.co-transaction-history-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public extraColumns: SimpleGridColumnDirective[] = [];\r\n\r\n public handleSelectRow(row: any): void {\r\n //\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, ElementRef, HostBinding, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {StatusType} from \"../../enum/status-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-history-grid-status\",\r\n template: `\r\n <div class=\"transaction-status-indication\">\r\n <div #statusIndicator class=\"status-color-circle\"></div>\r\n <span class=\"status-text\" [textContent]=\"statusType | localize\"></span>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHistoryGridStatusComponent implements AfterViewInit {\r\n\r\n @Input()\r\n public statusType: StatusType;\r\n\r\n @ViewChild(\"statusIndicator\", {read: ElementRef})\r\n public statusIndicator: ElementRef;\r\n\r\n @HostBinding(\"class.co-transaction-history-grid-status\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n private _getStatusIndicatorColor(): string {\r\n switch (this.statusType) {\r\n case StatusType.Unknown:\r\n return '#dce4ea';\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.statusIndicator) {\r\n this.statusIndicator.nativeElement.style.background = this._getStatusIndicatorColor();\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionHistoryGridStatusComponent} from \"./transaction-history-grid-status.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionHistoryGridStatusComponent\r\n ],\r\n exports: [\r\n TransactionHistoryGridStatusComponent\r\n ]\r\n})\r\nexport class TransactionHistoryGridStatusModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionHistoryGridComponent} from \"./transaction-history-grid.component\";\r\nimport {SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {\r\n TransactionHistoryGridStatusModule\r\n} from \"../transaction-history-grid-status/transaction-history-grid-status.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n SimpleGridModule,\r\n PipeModule,\r\n TransactionHistoryGridStatusModule\r\n ],\r\n declarations: [\r\n TransactionHistoryGridComponent\r\n ],\r\n exports: [\r\n TransactionHistoryGridComponent\r\n ]\r\n})\r\nexport class TransactionHistoryGridModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionReceivingGoodsHistoryComponent} from \"./transaction-receiving-goods-history.component\";\r\nimport {SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionHistoryGridModule} from \"../transaction-history-grid/transaction-history-grid.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n TransactionHistoryGridModule\r\n ],\r\n declarations: [\r\n TransactionReceivingGoodsHistoryComponent\r\n ],\r\n exports: [\r\n TransactionReceivingGoodsHistoryComponent\r\n ]\r\n})\r\nexport class TransactionReceivingGoodsHistoryModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from '@angular/core';\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\n\n@Component({\n selector: 'co-transaction-receiving-goods-details',\n template: `\n <div class=\"receipt-details-wrapper\">\n <span class=\"details-header\" [textContent]=\"'RECEIPT_DETAILS' | localize | uppercase\"></span>\n <div class=\"columns-wrapper\">\n <div class=\"details-column\">\n <co-input-text class=\"details-input\" [(model)]=\"transactionLineInfo.amount\" [placeholder]=\"'AMOUNT' | localize\"></co-input-text>\n <co-input-text class=\"details-input\" [(model)]=\"transactionLineInfo.warehouseNumber\" [placeholder]=\"'WAREHOUSE' | localize\"></co-input-text>\n <co-input-text class=\"details-input\" [(model)]=\"valuePlaceholder\" [placeholder]=\"'LOCATION' | localize\"></co-input-text>\n </div>\n <div class=\"divider-wrapper\"><div class=\"divider\"></div></div>\n <div class=\"details-column\">\n <co-input-text class=\"details-input\" [(model)]=\"valuePlaceholder\" [placeholder]=\"'BATCH_NUMBER' | localize\"></co-input-text>\n <co-input-text class=\"details-input\" [(model)]=\"valuePlaceholder\" [placeholder]=\"'SERIAL_NUMBER' | localize\"></co-input-text>\n <co-input-text class=\"details-input\" [(model)]=\"transactionLineInfo.refLineNr\" [placeholder]=\"'REFERENCE_ID' | localize\"></co-input-text>\n </div>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class TransactionReceivingGoodsDetailsComponent {\n\n @Input()\n public transactionLineInfo: TransactionLineInfo = new TransactionLineInfo();\n\n @HostBinding(\"class.co-transaction-receiving-goods-details\")\n public showClass(): boolean {\n return true;\n }\n\n public valuePlaceholder: any;\n\n}\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionReceivingGoodsDetailsComponent} from \"./transaction-receiving-goods-details.component\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n InputTextModule,\r\n ],\r\n declarations: [\r\n TransactionReceivingGoodsDetailsComponent\r\n ],\r\n exports: [\r\n TransactionReceivingGoodsDetailsComponent\r\n ]\r\n})\r\nexport class TransactionReceivingGoodsDetailsModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-confirmation-history\",\r\n template: `\r\n <div class=\"history-grid-wrapper\">\r\n <co-transaction-history-grid [transactionLines]=\"transactionLines\">\r\n <co-simple-grid-column [headerText]=\"'PRICE' | localize\" [field]=\"'price'\" [order]=\"40\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE' | localize\" [field]=\"'date'\" [order]=\"60\"></co-simple-grid-column>\r\n </co-transaction-history-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionConfirmationHistoryComponent {\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo[] = [];\r\n\r\n @HostBinding(\"class.co-transaction-confirmation-history\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionConfirmationHistoryComponent} from \"./transaction-confirmation-history.component\";\r\nimport {SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionHistoryGridModule} from \"../transaction-history-grid/transaction-history-grid.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n TransactionHistoryGridModule\r\n ],\r\n declarations: [\r\n TransactionConfirmationHistoryComponent\r\n ],\r\n exports: [\r\n TransactionConfirmationHistoryComponent\r\n ]\r\n})\r\nexport class TransactionConfirmationHistoryModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionLineSidePanelComponent} from \"./transaction-line-side-panel.component\";\r\nimport {TransactionLineSidePanelDefaultModule} from \"../transaction-line-side-panel-default/transaction-line-side-panel-default.module\";\r\nimport {TransactionReceivingGoodsHistoryModule} from \"../transaction-receiving-goods-history/transaction-receiving-goods-history.module\";\r\nimport {TransactionReceivingGoodsDetailsModule} from \"../transaction-receiving-goods-details/transaction-receiving-goods-details.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {ButtonModule, PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionNavBarModule} from \"../transaction-nav-bar/transaction-nav-bar.module\";\r\nimport {TransactionConfirmationHistoryModule} from \"../transaction-confirmation-history/transaction-confirmation-history.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionLineSidePanelDefaultModule,\r\n TransactionReceivingGoodsHistoryModule,\r\n TransactionReceivingGoodsDetailsModule,\r\n PipeModule,\r\n ButtonModule,\r\n TransactionNavBarModule,\r\n PriceDisplayPipeModule,\r\n TransactionConfirmationHistoryModule\r\n ],\r\n declarations: [\r\n TransactionLineSidePanelComponent\r\n ],\r\n exports: [\r\n TransactionLineSidePanelComponent\r\n ]\r\n})\r\nexport class TransactionLineSidePanelModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-order-confirmation-grid\",\r\n template: `\r\n <div>\r\n <co-order-grid [orderLines]=\"orderGridData\" (sidePanelClicked)=\"openSidePanel()\">\r\n <co-simple-grid-column [headerText]=\"'GROSS_PRICE' | localize\" [field]=\"'grossPrice'\" [order]=\"51\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DISCOUNT' | localize\" [field]=\"'discount'\" [order]=\"52\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'NETTO_PRICE' | localize\" [field]=\"'nettoPrice'\" [order]=\"53\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'CONFIRMED' | localize\" [field]=\"'confirmed'\" [order]=\"54\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'Commit button'\" [field]=\"'commitButton'\" [order]=\"55\">\r\n <ng-template #template let-row = \"row\">\r\n <co-input-checkbox></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\" [field]=\"'deliveryDate'\" [order]=\"56\"></co-simple-grid-column>\r\n </co-order-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OrderConfirmationGridComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public orderLines: TransactionLineInfo[] = [];\r\n\r\n @Output()\r\n public sidePanelClicked: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding(\"class.co-payment\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public orderGridData: any[] = [];\r\n\r\n constructor(\r\n private _transactionService: TransactionService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const data: any[] = [\r\n [\"Een omschrijving voor een prachtig product. Deze omschrijving is redelijk lang om te checken wat er gebeurd \" +\r\n \"wanneer een omschrijving redelijk lang is.\", \"123456789\", \"142\", \"420\", \"10\", \"\"],\r\n [\"Een omschrijving voor een prachtig product.\", \"123456789\", \"142\", \"420\", \"10\", \"\"],\r\n [\"Een omschrijving voor een prachtig product.\", \"123456789\", \"\", \"142\", \"420\", \"10\", \"360\", \"111\", \"\", \"12-12-2012\", \"\"],\r\n [\"Een omschrijving voor een prachtig product.\", \"123456789\", \"\", \"142\", \"420\", \"10\", \"360\", \"111\", \"\", \"12-12-2012\", \"\"],\r\n [\"Een omschrijving voor een prachtig product.\", \"123456789\", \"\", \"142\", \"420\", \"10\", \"360\", \"111\", \"\", \"12-12-2012\", \"\"],\r\n ];\r\n\r\n data.forEach((d: string[]) => {\r\n const row: {} = {\r\n description: d[0],\r\n articleImage: d[1],\r\n articleNumber: d[2],\r\n location: d[3],\r\n inOrder: d[4],\r\n sideMenuButton: d[5]\r\n }\r\n this.orderGridData.push(row);\r\n })\r\n }\r\n\r\n public openSidePanel(): void {\r\n this.sidePanelClicked.emit();\r\n }\r\n\r\n}\r\n","import {Component, ContentChildren, EventEmitter, HostBinding, Input, OnInit, Output, QueryList, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {ColumnAlign, SimpleGridColumnDirective} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-order-grid\",\r\n template: `\r\n <div>\r\n <co-simple-grid [data]=\"gridData\" [extraColumns]=\"extraColumns\" [dragDropEnabled]=\"true\" [emitDragDrop]=\"true\" (onDrop)=\"handleDrop($event)\">\r\n <co-simple-grid-column [headerText]=\"'GOOD_DESCRIPTION' | localize\" [width]=\"300\" [field]=\"'description'\" [order]=\"10\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ARTICLE_IMAGE' | localize\" [field]=\"'articleImage'\" [order]=\"20\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ARTICLE_NR' | localize\" [field]=\"'articleNumber'\" [order]=\"30\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [width]=\"100\" [field]=\"'location'\" [textAlign]=\"align.Center\" [order]=\"40\">\r\n <ng-template #template let-row = \"row\">\r\n <div class=\"co-order-grid-location-icon-wrapper\">\r\n <icon class=\"co-order-grid-menu-icon\" [icon]=\"icons.Warehouse\"></icon>\r\n <span [textContent]=\"'98'\"></span>\r\n </div>\r\n <div class=\"co-order-grid-location-icon-wrapper\">\r\n <icon class=\"co-order-grid-menu-icon\" [icon]=\"icons.MapMarker\"></icon>\r\n <span [textContent]=\"'A01'\"></span>\r\n </div>\r\n <div class=\"co-order-grid-location-icon-wrapper\">\r\n <icon class=\"co-order-grid-menu-icon\" [icon]=\"icons.Truck\"></icon>\r\n <span [textContent]=\"'Black'\"></span>\r\n </div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'IN_ORDER' | localize\" [field]=\"'inOrder'\" [order]=\"50\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"''\" [width]=\"40\" [field]=\"'sideMenuButton'\" [order]=\"60\">\r\n <ng-template #template let-row = \"row\">\r\n <icon class=\"sidepanel-icon\" [icon]=\"icons.Menu\" (click)=\"openSidePanel()\"></icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OrderGridComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly align: typeof ColumnAlign = ColumnAlign;\r\n\r\n @ContentChildren(SimpleGridColumnDirective) set content(columnComponents: QueryList<SimpleGridColumnDirective>) {\r\n this.extraColumns = columnComponents.toArray();\r\n }\r\n\r\n @HostBinding(\"class.co-order-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @Output()\r\n public sidePanelClicked: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Input()\r\n public orderLines: TransactionLineInfo[] = [];\r\n\r\n public gridData: any[] = [];\r\n public extraColumns: SimpleGridColumnDirective[] = [];\r\n\r\n constructor(\r\n private _transactionService: TransactionService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const data: any[] = [\r\n [\"Een omschrijving voor een prachtig product. Deze omschrijving is redelijk lang om te checken wat er gebeurd \" +\r\n \"wanneer een omschrijving redelijk lang is.\", \"123456789\", \"142\", \"420\", \"10\", \"\"],\r\n [\"Een omschrijving voor een prachtig product.\", \"123456789\", \"142\", \"420\", \"10\", \"\"],\r\n [\"Een omschrijving voor een prachtig product.\", \"123456789\", \"\", \"142\", \"420\", \"10\", \"360\", \"111\", \"\", \"12-12-2012\", \"\"],\r\n [\"Een omschrijving voor een prachtig product.\", \"123456789\", \"\", \"142\", \"420\", \"10\", \"360\", \"111\", \"\", \"12-12-2012\", \"\"],\r\n [\"Een omschrijving voor een prachtig product.\", \"123456789\", \"\", \"142\", \"420\", \"10\", \"360\", \"111\", \"\", \"12-12-2012\", \"\"],\r\n ];\r\n\r\n data.forEach((d: string[]) => {\r\n const row: {} = {\r\n description: d[0],\r\n articleImage: d[1],\r\n articleNumber: d[2],\r\n location: d[3],\r\n inOrder: d[4],\r\n grossPrice: d[5],\r\n discount: d[6],\r\n nettoPrice: d[7],\r\n confirmed: d[8],\r\n deliveryDate: d[9],\r\n sideMenuButton: d[10]\r\n }\r\n this.gridData.push(row);\r\n })\r\n }\r\n\r\n public handleDrop(data: {from: number, to: number}): void {\r\n\r\n }\r\n\r\n public openSidePanel(): void {\r\n this.sidePanelClicked.emit(true);\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {OrderGridComponent} from \"./order-grid.component\";\r\nimport {ButtonModule, SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineSidePanelModule} from \"../transaction-line-side-panel/transaction-line-side-panel.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n ButtonModule,\r\n TransactionLineSidePanelModule,\r\n ],\r\n declarations: [\r\n OrderGridComponent\r\n ],\r\n exports: [\r\n OrderGridComponent\r\n ]\r\n})\r\nexport class OrderGridModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {ButtonModule, InputCheckboxModule, SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {OrderConfirmationGridComponent} from \"./order-confirmation-grid.component\";\r\nimport {OrderGridModule} from \"../order-grid/order-grid.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n ButtonModule,\r\n OrderGridModule,\r\n InputCheckboxModule\r\n ],\r\n declarations: [\r\n OrderConfirmationGridComponent\r\n ],\r\n exports: [\r\n OrderConfirmationGridComponent\r\n ]\r\n})\r\nexport class OrderConfirmationGridModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionComponent} from \"./transaction.component\";\r\nimport {TransactionLinesModule} from \"../transaction-lines/transaction-lines.module\";\r\nimport {TransactionTotalsModule} from \"../transaction-totals/transaction-totals.module\";\r\nimport {TransactionHeaderModule} from \"../transaction-header/transaction-header.module\";\r\nimport {ButtonModule, CoDialogModule, CoSidebarModule, FormModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLinesGridModule} from \"../transaction-lines-grid/transaction-lines-grid.module\";\r\nimport {DiscountModule} from \"../discount/discount.module\";\r\nimport {TransactionCommitBarModule} from \"../transaction-commit-bar/transaction-commit-bar.module\";\r\nimport {TransactionNavBarModule} from \"../transaction-nav-bar/transaction-nav-bar.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineSidePanelModule} from \"../transaction-line-side-panel/transaction-line-side-panel.module\";\r\nimport {OrderConfirmationGridModule} from \"../order-confirmation-grid/order-confirmation-grid.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionHeaderModule,\r\n TransactionLinesModule,\r\n TransactionTotalsModule,\r\n ButtonModule,\r\n TransactionLinesGridModule,\r\n CoDialogModule,\r\n FormModule,\r\n InputTextModule,\r\n CoSidebarModule,\r\n DiscountModule,\r\n TransactionCommitBarModule,\r\n TransactionNavBarModule,\r\n PipeModule,\r\n TransactionLineSidePanelModule,\r\n OrderConfirmationGridModule\r\n ],\r\n declarations: [\r\n TransactionComponent\r\n ],\r\n exports: [\r\n TransactionComponent\r\n ]\r\n})\r\nexport class TransactionModule {}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {ButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {ShoppingCartComponent} from \"./shopping-cart.component\";\r\nimport {TransactionModule} from \"../transaction/transaction.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n ButtonModule,\r\n TransactionModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ShoppingCartComponent\r\n ],\r\n exports: [\r\n ShoppingCartComponent\r\n ]\r\n})\r\nexport class ShoppingCartModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-grid\",\r\n template: `\r\n\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineGridComponent {\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo[] = [];\r\n\r\n @HostBinding(\"class.co-transaction-line-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionLineGridComponent} from \"./transaction-line-grid.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule\r\n ],\r\n declarations: [\r\n TransactionLineGridComponent\r\n ],\r\n exports: [\r\n TransactionLineGridComponent\r\n ]\r\n})\r\nexport class TransactionLineGridModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {CheckoutLoginComponent as ɵca} from './lib/component/checkout/checkout-login/checkout-login.component';\nexport {CheckoutOverviewDeliveryAddressComponent as ɵbx} from './lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component';\nexport {CheckoutOverviewDeliveryEditComponent as ɵbw} from './lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component';\nexport {CheckoutOverviewRelationEditComponent as ɵbv} from './lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component';\nexport {CheckOutRelationSuggestionsListItemComponent as ɵbz} from './lib/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component';\nexport {CheckOutRelationSuggestionsListComponent as ɵby} from './lib/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component';\nexport {ConfirmationDialogComponent as ɵp} from './lib/component/confirmation-dialog/confirmation-dialog.component';\nexport {ConfirmationDialogModule as ɵg} from './lib/component/confirmation-dialog/confirmation-dialog.module';\nexport {DefaultOkCancelButtonsComponent as ɵw} from './lib/component/core/base/default-ok-cancel-buttons.component';\nexport {DialogBaseComponent as ɵq} from './lib/component/core/base/dialog-base.component';\nexport {TransactionBaseComponent as ɵcb} from './lib/component/core/base/transaction-base.component';\nexport {CoreModule as ɵf} from './lib/component/core/core.module';\nexport {IconComponent as ɵs} from './lib/component/core/icon/icon.component';\nexport {ImageDisplayComponent as ɵr} from './lib/component/core/image-display/image-display.component';\nexport {CustomerGroupsComponent as ɵu} from './lib/component/core/relation/customer-groups.component';\nexport {StockStatusIndicatorComponent as ɵv} from './lib/component/core/stock-status-indicator/stock-status-indicator.component';\nexport {DeliveryTypeTileComponent as ɵbq} from './lib/component/delivery-type-tile/delivery-type-tile.component';\nexport {DeliveryTypeTileModule as ɵbp} from './lib/component/delivery-type-tile/delivery-type-tile.module';\nexport {DiscountComponent as ɵcd} from './lib/component/discount/discount.component';\nexport {DiscountModule as ɵcc} from './lib/component/discount/discount.module';\nexport {OrderConfirmationGridComponent as ɵeb} from './lib/component/order-confirmation-grid/order-confirmation-grid.component';\nexport {OrderConfirmationGridModule as ɵdy} from './lib/component/order-confirmation-grid/order-confirmation-grid.module';\nexport {OrderGridComponent as ɵea} from './lib/component/order-grid/order-grid.component';\nexport {OrderGridModule as ɵdz} from './lib/component/order-grid/order-grid.module';\nexport {PaymentTileComponent as ɵbt} from './lib/component/payment-tile/payment-tile.component';\nexport {PaymentTileModule as ɵbs} from './lib/component/payment-tile/payment-tile.module';\nexport {PaymentComponent as ɵbu} from './lib/component/payment/payment.component';\nexport {PaymentModule as ɵbr} from './lib/component/payment/payment.module';\nexport {RelationAddressSelectComponent as ɵbe} from './lib/component/relation-address-select/relation-address-select.component';\nexport {RelationAddressSelectModule as ɵz} from './lib/component/relation-address-select/relation-address-select.module';\nexport {RelationAddressTileComponent as ɵbd} from './lib/component/relation-address-tile/relation-address-tile.component';\nexport {RelationAddressTileModule as ɵba} from './lib/component/relation-address-tile/relation-address-tile.module';\nexport {RelationAddressComponent as ɵy} from './lib/component/relation-address/relation-address.component';\nexport {RelationAddressModule as ɵx} from './lib/component/relation-address/relation-address.module';\nexport {SellerInformationComponent as ɵbo} from './lib/component/seller-information/seller-information.component';\nexport {SellerInformationModule as ɵbn} from './lib/component/seller-information/seller-information.module';\nexport {TransactionArticleTextOverviewComponent as ɵbm} from './lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component';\nexport {TransactionArticleTextOverviewModule as ɵbl} from './lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module';\nexport {TransactionArticleTextComponent as ɵbk} from './lib/component/shared/transaction-article-text/transaction-article-text.component';\nexport {TransactionArticleTextModule as ɵbj} from './lib/component/shared/transaction-article-text/transaction-article-text.module';\nexport {StepperStepComponent as ɵbi} from './lib/component/stepper/component/stepper-step.component';\nexport {StepperComponent as ɵbh} from './lib/component/stepper/stepper.component';\nexport {StepperModule as ɵbg} from './lib/component/stepper/stepper.module';\nexport {TileComponent as ɵbc} from './lib/component/tile/tile.component';\nexport {TileModule as ɵbb} from './lib/component/tile/tile.module';\nexport {TransactionCommitBarComponent as ɵcf} from './lib/component/transaction-commit-bar/transaction-commit-bar.component';\nexport {TransactionCommitBarModule as ɵce} from './lib/component/transaction-commit-bar/transaction-commit-bar.module';\nexport {TransactionConfirmationHistoryComponent as ɵdw} from './lib/component/transaction-confirmation-history/transaction-confirmation-history.component';\nexport {TransactionConfirmationHistoryModule as ɵdv} from './lib/component/transaction-confirmation-history/transaction-confirmation-history.module';\nexport {TransactionHistoryGridStatusComponent as ɵdq} from './lib/component/transaction-history-grid-status/transaction-history-grid-status.component';\nexport {TransactionHistoryGridStatusModule as ɵdp} from './lib/component/transaction-history-grid-status/transaction-history-grid-status.module';\nexport {TransactionHistoryGridComponent as ɵdr} from './lib/component/transaction-history-grid/transaction-history-grid.component';\nexport {TransactionHistoryGridModule as ɵdo} from './lib/component/transaction-history-grid/transaction-history-grid.module';\nexport {TransactionLineCommissionCodeComponent as ɵdd} from './lib/component/transaction-line-fields/transaction-line-commission-code.component';\nexport {TransactionLineCommissionCodeModule as ɵdc} from './lib/component/transaction-line-fields/transaction-line-commission-code.module';\nexport {TransactionLineDeliveryDateComponent as ɵcz} from './lib/component/transaction-line-fields/transaction-line-delivery-date.component';\nexport {TransactionLineDeliveryDateModule as ɵcy} from './lib/component/transaction-line-fields/transaction-line-delivery-date.module';\nexport {TransactionLineDeliveryMethodComponent as ɵcx} from './lib/component/transaction-line-fields/transaction-line-delivery-method.component';\nexport {TransactionLineDeliveryMethodModule as ɵcw} from './lib/component/transaction-line-fields/transaction-line-delivery-method.module';\nexport {TransactionLineDiscountAmountComponent as ɵdh} from './lib/component/transaction-line-fields/transaction-line-discount-amount.component';\nexport {TransactionLineDiscountAmountModule as ɵdg} from './lib/component/transaction-line-fields/transaction-line-discount-amount.module';\nexport {TransactionLineFieldsBaseComponent as ɵcn} from './lib/component/transaction-line-fields/transaction-line-fields-base.component';\nexport {TransactionLineLineDiscountComponent as ɵcv} from './lib/component/transaction-line-fields/transaction-line-line-discount.component';\nexport {TransactionLineLineDiscountModule as ɵcu} from './lib/component/transaction-line-fields/transaction-line-line-discount.module';\nexport {TransactionLinePriceListComponent as ɵcp} from './lib/component/transaction-line-fields/transaction-line-price-list.component';\nexport {TransactionLinePriceListModule as ɵco} from './lib/component/transaction-line-fields/transaction-line-price-list.module';\nexport {TransactionLinePriceComponent as ɵcm} from './lib/component/transaction-line-fields/transaction-line-price.component';\nexport {TransactionLinePriceModule as ɵcl} from './lib/component/transaction-line-fields/transaction-line-price.module';\nexport {TransactionLineQuantityComponent as ɵct} from './lib/component/transaction-line-fields/transaction-line-quantity.component';\nexport {TransactionLineQuantityModule as ɵcs} from './lib/component/transaction-line-fields/transaction-line-quantity.module';\nexport {TransactionLineQuantumDiscountComponent as ɵdj} from './lib/component/transaction-line-fields/transaction-line-quantum-discount.component';\nexport {TransactionLineQuantumDiscountModule as ɵdi} from './lib/component/transaction-line-fields/transaction-line-quantum-discount.module';\nexport {TransactionLineReferenceComponent as ɵdb} from './lib/component/transaction-line-fields/transaction-line-reference.component';\nexport {TransactionLineReferenceModule as ɵda} from './lib/component/transaction-line-fields/transaction-line-reference.module';\nexport {TransactionLineSpecialDiscountComponent as ɵdl} from './lib/component/transaction-line-fields/transaction-line-special-discount.component';\nexport {TransactionLineSpecialDiscountModule as ɵdk} from './lib/component/transaction-line-fields/transaction-line-special-discount.module';\nexport {TransactionLineVatComponent as ɵcr} from './lib/component/transaction-line-fields/transaction-line-vat.component';\nexport {TransactionLineVatModule as ɵcq} from './lib/component/transaction-line-fields/transaction-line-vat.module';\nexport {TransactionLineWarehouseComponent as ɵdf} from './lib/component/transaction-line-fields/transaction-line-warehouse.component';\nexport {TransactionLineWarehouseModule as ɵde} from './lib/component/transaction-line-fields/transaction-line-warehouse.module';\nexport {TransactionLineSidePanelDefaultComponent as ɵdm} from './lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component';\nexport {TransactionLineSidePanelDefaultModule as ɵck} from './lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module';\nexport {TransactionLineSidePanelComponent as ɵdx} from './lib/component/transaction-line-side-panel/transaction-line-side-panel.component';\nexport {TransactionLineSidePanelModule as ɵcj} from './lib/component/transaction-line-side-panel/transaction-line-side-panel.module';\nexport {TransactionNavBarButtonComponent as ɵci} from './lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component';\nexport {TransactionNavBarComponent as ɵch} from './lib/component/transaction-nav-bar/transaction-nav-bar.component';\nexport {TransactionNavBarModule as ɵcg} from './lib/component/transaction-nav-bar/transaction-nav-bar.module';\nexport {TransactionReceivingGoodsDetailsComponent as ɵdu} from './lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component';\nexport {TransactionReceivingGoodsDetailsModule as ɵdt} from './lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module';\nexport {TransactionReceivingGoodsHistoryComponent as ɵds} from './lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component';\nexport {TransactionReceivingGoodsHistoryModule as ɵdn} from './lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module';\nexport {BusinessObjectFactory as ɵbf} from './lib/factory/business-object-factory';\nexport {AppendPipe as ɵi} from './lib/pipe/append.pipe';\nexport {CoCurrencyPipe as ɵm} from './lib/pipe/co-currency.pipe';\nexport {DateDurationPipe as ɵk} from './lib/pipe/date-duration.pipe';\nexport {DeliveryTimePipe as ɵj} from './lib/pipe/delivery-time.pipe';\nexport {LocalizePipe as ɵl} from './lib/pipe/localize.pipe';\nexport {PipeModule as ɵh} from './lib/pipe/pipe.module';\nexport {SafeHtmlPipe as ɵo} from './lib/pipe/safe-html.pipe';\nexport {SafeStylePipe as ɵn} from './lib/pipe/safe-style.pipe';\nexport {DialogService as ɵb} from './lib/service/dialog.service';\nexport {DictionaryService as ɵd} from './lib/service/dictionary.service';\nexport {IconCacheService as ɵt} from './lib/service/icon-cache.service';\nexport {IOneConnectorAdapterService as ɵe} from './lib/service/ione-connector-adapter.service';\nexport {OptionsService as ɵc} from './lib/service/options.service';\nexport {PendingReasonService as ɵa} from './lib/service/pending-reason.service';"],"names":["Injectable","BehaviorSubject","PROP_META_KEY","ObjectUtils","notNill","GetLogicalBooleanValue","GetYesNoDbBooleanValue","GetTrueFalseDbBooleanValue","GetOneZeroDbBooleanValue","DateUtils","NumberUtils","isNill","MapPropertyDecorator","BooleanTextDecorator","JsonFieldFieldDecorator","ComplexArrayDecorator","Transaction","ArticleFullObject","ImageUtils","RelationPrivacySetting","TransactionInfoResponse","TransactionLineInfo","CustomerFullObject","CashRegister","PriceList","Vat","DeliveryMethod","GetPostalCodeRetrievalOutputParams","RelationListObject","CoDomainValue","Component","ViewEncapsulation","Input","HostBinding","ComponentFactoryResolver","ApplicationRef","Injector","PendingReasonType","ResolveLinePendingReasonRequest","TransactionLineType","RelationStatus","SequenceName","TransactionKind","NULL_CUSTOMER_FULL_OBJECT","AddressType","throwError","EventEmitter","ViewChild","Output","GenderType","ContactOption","RelationNameKind","NULL_RELATION_OBJECT","FunctionUtils","Address","CommunicationType","BusinessObjectUtils","FormMasterService","trigger","state","style","transition","animate","FormComponent","DomSanitizer","HostListener","Pipe","NgModule","CommonModule","CoDialogModule","ButtonModule","InputComboBoxModule","ElementRef","InputTextModule","FormModule","InputRadioButtonModule","IconModule","ContentChildren","TransactionAddTextLineRequest","FormsModule","InputCheckboxModule","InputListboxModule","DropDownModule","StockStatus","moveItemInArray","DragDropModule","InputNumberPickerModule","RelationRequest","PriceDisplayPipeModule","InputDatePickerModule","CoDialogPromptModule","FlexModule","MultiSelectListModule","PopupModule","CoSidebarModule","CoGridModule","ReactiveFormsModule","CoRichTextEditorModule","Carousel3dModule","InputTextareaModule","CollapsibleModule","NULL_RELATION_LIST_OBJECT","relationRequest","Directive","ColumnAlign","SimpleGridColumnDirective","SimpleGridModule","DiscountType","InputTextComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"colijnit-transaction.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/transaction/src/lib/enum/language-code.enum.ts","../../../projects/transaction/src/lib/utils/string-utils.ts","../../../projects/transaction/src/lib/assets/dictionary/text.properties.ts","../../../projects/transaction/src/lib/service/dictionary.service.ts","../../../projects/transaction/src/lib/service/options.service.ts","../../../projects/transaction/src/lib/factory/decorators/complex-field.decorator.ts","../../../projects/transaction/src/lib/factory/decorators/complex-array.decorator.ts","../../../projects/transaction/src/lib/factory/decorators/boolean.decorator.ts","../../../projects/transaction/src/lib/factory/decorators/date-field.decorator.ts","../../../projects/transaction/src/lib/factory/decorators/string-number.decorator.ts","../../../projects/transaction/src/lib/utils/is-nill.function.ts","../../../projects/transaction/src/lib/utils/array-utils.ts","../../../projects/transaction/src/lib/model/business-object.ts","../../../projects/transaction/src/lib/factory/business-object-factory.ts","../../../projects/transaction/src/lib/model/standard-text.ts","../../../projects/transaction/src/lib/service/collection-cache.service.ts","../../../projects/transaction/src/lib/service/transaction-connector.service.ts","../../../projects/transaction/src/lib/component/core/enum/app-popup-button-type.enum.ts","../../../projects/transaction/src/lib/component/core/base/dialog-base.component.ts","../../../projects/transaction/src/lib/component/core/enum/app-popup-type.enum.ts","../../../projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.component.ts","../../../projects/transaction/src/lib/service/dialog.service.ts","../../../projects/transaction/src/lib/service/pending-reason.service.ts","../../../projects/transaction/src/lib/service/transaction.service.ts","../../../projects/transaction/src/lib/component/checkout/checkout.component.ts","../../../projects/transaction/src/lib/enum/icon.enum.ts","../../../projects/transaction/src/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.ts","../../../projects/transaction/src/lib/model/icon-svg.ts","../../../projects/transaction/src/lib/service/icon-cache.service.ts","../../../projects/transaction/src/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.ts","../../../projects/transaction/src/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.ts","../../../projects/transaction/src/lib/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.ts","../../../projects/transaction/src/lib/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.ts","../../../projects/transaction/src/lib/component/checkout/checkout-login/checkout-login.component.ts","../../../projects/transaction/src/lib/component/core/image-display/image-display.component.ts","../../../projects/transaction/src/lib/component/core/icon/icon.component.ts","../../../projects/transaction/src/lib/component/core/relation/customer-groups.component.ts","../../../projects/transaction/src/lib/component/core/stock-status-indicator/stock-status-indicator.component.ts","../../../projects/transaction/src/lib/pipe/append.pipe.ts","../../../projects/transaction/src/lib/enum/time-size.type.ts","../../../projects/transaction/src/lib/pipe/date-duration.pipe.ts","../../../projects/transaction/src/lib/pipe/delivery-time.pipe.ts","../../../projects/transaction/src/lib/pipe/localize.pipe.ts","../../../projects/transaction/src/lib/pipe/co-currency.pipe.ts","../../../projects/transaction/src/lib/pipe/safe-style.pipe.ts","../../../projects/transaction/src/lib/pipe/safe-html.pipe.ts","../../../projects/transaction/src/lib/pipe/pipe.module.ts","../../../projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.module.ts","../../../projects/transaction/src/lib/component/core/core.module.ts","../../../projects/transaction/src/lib/component/relation-address-select/relation-address-select.component.ts","../../../projects/transaction/src/lib/component/relation-address/relation-address.component.ts","../../../projects/transaction/src/lib/component/relation-address/relation-address.module.ts","../../../projects/transaction/src/lib/component/relation-address-tile/relation-address-tile.component.ts","../../../projects/transaction/src/lib/component/tile/tile.component.ts","../../../projects/transaction/src/lib/component/tile/tile.module.ts","../../../projects/transaction/src/lib/component/relation-address-tile/relation-address-tile.module.ts","../../../projects/transaction/src/lib/component/relation-address-select/relation-address-select.module.ts","../../../projects/transaction/src/lib/component/stepper/component/stepper-step.component.ts","../../../projects/transaction/src/lib/component/stepper/stepper.component.ts","../../../projects/transaction/src/lib/component/stepper/stepper.module.ts","../../../projects/transaction/src/lib/component/transaction-totals/transaction-totals.component.ts","../../../projects/transaction/src/lib/component/transaction-totals/transaction-totals.module.ts","../../../projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.component.ts","../../../projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.module.ts","../../../projects/transaction/src/lib/service/transaction-image.service.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-line.component.ts","../../../projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.ts","../../../projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-line.module.ts","../../../projects/transaction/src/lib/component/transaction-lines/transaction-lines.component.ts","../../../projects/transaction/src/lib/component/transaction-lines/transaction-lines.module.ts","../../../projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.component.ts","../../../projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.module.ts","../../../projects/transaction/src/lib/service/shared-connector.service.ts","../../../projects/transaction/src/lib/service/shared.service.ts","../../../projects/transaction/src/lib/component/avatar/avatar.component.ts","../../../projects/transaction/src/lib/component/avatar/avatar.module.ts","../../../projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.component.ts","../../../projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.module.ts","../../../projects/transaction/src/lib/service/ione-connector-adapter.service.ts","../../../projects/transaction/src/lib/service/payment.service.ts","../../../projects/transaction/src/lib/model/payment.viewmodel.ts","../../../projects/transaction/src/lib/component/payment/payment.component.ts","../../../projects/transaction/src/lib/component/payment-tile/payment-tile.component.ts","../../../projects/transaction/src/lib/component/payment-tile/payment-tile.module.ts","../../../projects/transaction/src/lib/component/payment/payment.module.ts","../../../projects/transaction/src/lib/component/checkout/checkout.module.ts","../../../projects/transaction/src/lib/component/shopping-cart/shopping-cart.component.ts","../../../projects/transaction/src/lib/enum/content-view-mode.enum.ts","../../../projects/transaction/src/lib/component/transaction/transaction.component.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header/transaction-header.component.ts","../../../projects/transaction/src/lib/component/core/base/transaction-base.component.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.ts","../../../projects/transaction/src/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.ts","../../../projects/transaction/src/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header/transaction-header.module.ts","../../../projects/transaction/src/lib/component/core/base/transaction-grid-base.component.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.ts","../../../projects/transaction/src/lib/enum/transaction-type-category.enum.ts","../../../projects/transaction/src/lib/service/transaction-event.service.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-fields-base.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.module.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.ts","../../../projects/transaction/src/lib/enum/status-type.enum.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.ts","../../../projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.ts","../../../projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.ts","../../../projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.ts","../../../projects/transaction/src/lib/service/article-connector.service.ts","../../../projects/transaction/src/lib/service/article.service.ts","../../../projects/transaction/src/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.ts","../../../projects/transaction/src/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.ts","../../../projects/transaction/src/lib/model/received-goods-view-model.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.ts","../../../projects/transaction/src/lib/service/transaction-mapping.service.ts","../../../projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar.component.ts","../../../projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.ts","../../../projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar.module.ts","../../../projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.ts","../../../projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.ts","../../../projects/transaction/src/lib/enum/order-discount-type.enum.ts","../../../projects/transaction/src/lib/component/discount/discount.component.ts","../../../projects/transaction/src/lib/component/discount/discount.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.ts","../../../projects/transaction/src/lib/component/view-mode-buttons/view-mode-buttons.component.ts","../../../projects/transaction/src/lib/component/view-mode-buttons/view-mode-buttons.module.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-grid/transaction-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-grid/transaction-grid.module.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.ts","../../../projects/transaction/src/lib/component/transaction/transaction.module.ts","../../../projects/transaction/src/lib/component/shopping-cart/shopping-cart.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search.component.ts","../../../projects/transaction/src/lib/component/transaction-search-grid/transaction-search-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-search-grid/transaction-search-grid.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-tile/transaction-tile.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-tile/transaction-tile.module.ts","../../../projects/transaction/src/lib/component/transaction-search/service/transaction-search.service.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.ts","../../../projects/transaction/src/lib/model/filter-item.viewmodel.ts","../../../projects/transaction/src/lib/model/filter-viewmodel.ts","../../../projects/transaction/src/lib/component/transaction-search/service/filter-request.service.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search.module.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header.component.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header.module.ts","../../../projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.module.ts","../../../projects/transaction/src/colijnit-transaction.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export enum LanguageCode {\r\n Dutch = \"nl-NL\",\r\n English = \"en-GB\",\r\n German = \"de-DE\",\r\n French = \"fr-FR\",\r\n}\r\n","// Static utility functions holder related to strings.\r\nexport class StringUtils {\r\n\r\n /**\r\n * Returns a new string where given placeholder in given source string are replaced by given replacement texts.\r\n *\r\n * Example usage:\r\n *\r\n * source = \"ABCDABCD\"\r\n * placeholder = \"BC\"\r\n * replacementTexts = \"Z\", \"Z\" (REST arguments)\r\n * OUTPUT = \"AZDAZD\"\r\n *\r\n * @param {string} source\r\n * @param {string} placeholder\r\n * @param {string} replacementTexts If only one is given, this function replaces all placeholders with that single replacementText.\r\n * If more are given, placeholders without a corresponding replacementText will remain their original placeholder characters.\r\n */\r\n public static ReplaceOccurrencesIn(source: string, placeholder: string, ...replacementTexts: string[]): string {\r\n // parameter guards\r\n if (!(source)) {\r\n return undefined;\r\n }\r\n if (!placeholder || replacementTexts.length === 0) {\r\n return source;\r\n }\r\n let outString: string = source;\r\n // one replacementText means replace for all\r\n if (replacementTexts.length === 1) {\r\n // \"g\" is the g flag to replace globally\r\n outString = outString.replace(placeholder, replacementTexts[0]);\r\n } else {\r\n // replace occurence i by replacementTexts[i], one at a time in loop (there might be a faster way..)\r\n for (let i: number = 0, len: number = replacementTexts.length; i < len; i++) {\r\n outString = outString.replace(placeholder, replacementTexts[i]);\r\n }\r\n }\r\n return outString;\r\n }\r\n\r\n // Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.\r\n public static ParseString(arg: any, defaultValue: string = \"\"): string {\r\n if (!StringUtils.IsString(arg)) {\r\n if (arg && typeof arg.toString === \"function\") {\r\n arg = arg.toString();\r\n } else {\r\n arg = defaultValue;\r\n }\r\n }\r\n return arg;\r\n }\r\n\r\n public static IsString(str: any): boolean {\r\n return typeof str === 'string';\r\n }\r\n\r\n // Returns whether given str is a string and has a length > 0.\r\n public static IsStringWithLength(str: string): boolean {\r\n return str && StringUtils.IsString(str) && str.length > 0;\r\n }\r\n\r\n // Returns given string, escaped for use as string literal in regular expressions.\r\n private static _escapeRegExp(str: string): string {\r\n return str;// .replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^$\\|]/g, \"\\\\$&\");\r\n }\r\n\r\n}\r\n","export class Dictionary {\r\n public strings: {} = {\r\n \"nl\": {\r\n \"ACCOUNT_DETAILS\": \"Accountgegevens\",\r\n \"ACCOUNT_EXPLANATION\": \"Het e-mailadres en wachtwoord zijn nodig om toegang te krijgen tot de gegevens. \" +\r\n \"Ook zullen we je via dit e-mailadres op de hoogte houden van de status van bestellingen.\",\r\n \"ACTIVE\": \"Actief\",\r\n \"ADD_ARTICLE_LINE_UP\": \"Artikelregel boven toevoegen\",\r\n \"ADD_ARTICLE_LINE_DOWN\": \"Artikelregel onder toevoegen\",\r\n \"ADD_ARTICLE_TEXT_LINE_UP\": \"Tekstregel boven toevoegen\",\r\n \"ADD_ARTICLE_TEXT_LINE_DOWN\": \"Tekstregel onder toevoegen\",\r\n \"ADD_DELIVERY_OPTION\": \"Voeg een leveroptie toe\",\r\n \"ADD_DISCOUNTS\": \"Korting toevoegen\",\r\n \"ADD_REFERENCE\": \"Voeg referentie toe\",\r\n \"ADD_REMARK\": \"Voeg een opmerking toe\",\r\n \"ADDRESS\": \"Adres\",\r\n \"ADDRESSES\": \"Adressen\",\r\n \"ADDRESS_ADD\": \"Adres toevoegen\",\r\n \"ADDRESS_CHANGE\": \"Adres wijzigen\",\r\n \"ADMINISTRATIVE_MANAGER\": \"Administratief verantwoordelijke\",\r\n \"ALLOCATED\": \"Toegewezen\",\r\n \"ALWAYS_SHOW_LOGISTICS_POPUP\": \"Controleer magazijn en commissiecode\",\r\n \"ARRIVAL_DATE\": \"Aankomstdatum\",\r\n \"ARTICLE\": \"Artikel\",\r\n \"ARTICLE_DESCRIPTION\": \"Artikelomschrijving\",\r\n \"ARTICLE_IMAGE\": \"Artikel afbeelding\",\r\n \"ARTICLE_IN_OUT_COLLECTION\": \"Status van artikel is '|~'. Weet u zeker dat u door wilt gaan?\",\r\n \"ARTICLE_NR\": \"Artikelnummer\",\r\n \"ARTICLE_NR_SUPPLIER\": \"Artikelnr leverancier\",\r\n \"ARTICLE_UNKNOWN\": \"Onbekend artikel\",\r\n \"ASSEMBLY_COSTS\": \"Montagekosten\",\r\n \"ASSEMBLY_DATE\": \"Montagedatum\",\r\n \"ASSEMBLY_TIME\": \"Montagetijd\",\r\n \"AMOUNT\": \"Aantal\",\r\n \"AVAILABLE_STOCK\": \"Bechikbaar\",\r\n \"BACK\": \"Terug\",\r\n \"BACK_TO_STOCK_LINES\": \"Terug naar voorraadregels\",\r\n \"BALANCE\": \"Saldo\",\r\n \"BATCH_NUMBER\": \"Batchnummer\",\r\n \"BRANCH\": \"Filiaal\",\r\n \"BRANCH_NUMBER\": \"Filiaalnummer\",\r\n \"BUSINESS_RULE_DISCOUNT\": \"Business rule korting\",\r\n \"CANCEL\": \"Annuleren\",\r\n \"CANNOT_CHANGE_NEGATIVE_QUANTITY\": \"Een negatieve voorraad kan niet gewijzigd worden.\",\r\n \"CART\": \"Winkelwagen\",\r\n \"CHARACTERISTIC_QUESTION\": \"Kenmerkvraag\",\r\n \"CHECK_WAREHOUSE_AND_COMMISSIONCODE\": \"Controleer magazijn en commissiecode.\",\r\n \"CHECKOUT_FINISH\": \"Bestelling afronden\",\r\n \"CITY\": \"Stad\",\r\n \"COMPANY\": \"Bedrijf\",\r\n \"COMPANY_NAME\": \"Bedrijfsnaam\",\r\n \"COMMISSION_CODE\": \"Commisiecode\",\r\n \"CONFIRMED\": \"Bevestigd\",\r\n \"CONFIRMATION\": \"Bevestiging\",\r\n \"CONFIRMED_DATE\": \"Bevestigde datum\",\r\n \"CONFIRMED_DELIVERY_DATE\": \"Bevestigde leverdatum\",\r\n \"CONTACT_DETAILS\": \"Contactgegevens\",\r\n \"CONTINUE\": \"Volgende\",\r\n \"CONTINUE_ORDER_WHILE_STOCK_AVAILABLE_PLEASE_CONFIRM\": \"U heeft gekozen voor het bestellen van artikelen terwijl er nog voorraad aanwezig is. Wilt u verdergaan?\",\r\n \"CONTINUE_WITHOUT_ACCOUNT\": \"Ga door zonder account\",\r\n \"COSTS\": \"Kosten\",\r\n \"COUNTRY\": \"Land\",\r\n \"CREATE_ACCOUNT\": \"Maak een account aan\",\r\n \"CREATE_ACCOUNT_IN_2_MIN\": \"Maak binnen 2 minuten een account aan.\",\r\n \"CUSTOMER\": \"Klant\",\r\n \"CUSTOMER_GROUP\": \"Klantgroep\",\r\n \"CUSTOMER_NAME\": \"Klantnaam\",\r\n \"DATE\": \"Datum\",\r\n \"DATE_OF_BIRTH\": \"Geboortedatum\",\r\n \"DEFINITIVE\": \"Definitief\",\r\n \"DELETE_TRANSACTION_LINE\": \"verwijderen\",\r\n \"DELETE_TRANSACTION_LINE_HINT\": \"Verwijderen transactieregel\",\r\n \"DELETE_TRANSACTION_LINE_FAILED\": \"Het verwijderen van de transactieregel is mislukt\",\r\n \"DELETE_TRANSACTION_LINE_QUESTION\": \"Weet u zeker dat u deze regel wilt verwijderen?\",\r\n \"DELIVERED\": \"Geleverd\",\r\n \"DELIVERY\": \"Bezorging\",\r\n \"DELIVERY_ADDRESS\": \"Afleveradres\",\r\n \"DELIVERY_ADDRESS_ADD\": \"Bezorgadres toevoegen\",\r\n \"DELIVERY_ADDRESS_CHANGE\": \"Bezorgadres wijzigen\",\r\n \"DELIVERY_COSTS\": \"Bezorgkosten\",\r\n \"DELIVERY_DATA\": \"Levergegevens\",\r\n \"DELIVERY_DATE\": \"Leverdatum\",\r\n \"DELIVERY_DATE_DEFINITIVE\": \"Leverdatum definitief\",\r\n \"DELIVERY_DATE_FINAL\": \"Definitieve leverdatum\",\r\n \"DELIVERY_DIRECT\": \"Direct leverbaar\",\r\n \"DELIVERY_LOCATION\": \"Bezorgingslocatie\",\r\n \"DELIVERY_NOTE\": \"Afleverbon\",\r\n \"DELIVERY_OPTIONS\": \"Leveropties\",\r\n \"DELIVERY_METHOD\": \"Levermethode\",\r\n \"DELIVERY_MOMENT\": \"Levermoment\",\r\n \"DELIVERY_OPTARTICLE_NRIONS\": \"Bezorgopties\",\r\n \"DELIVERY_TIME_PERIOD\": \"Levertijd\",\r\n \"DESCRIPTION\": \"Omschrijving\",\r\n \"DETAILS\": \"Details\",\r\n \"DISCOUNT\": \"Korting\",\r\n \"DISCOUNTS\": \"Kortingen\",\r\n \"DISCOUNT_AMOUNT\": \"Kortingsbedrag\",\r\n \"DISCOUNT_PERCENTAGE\": \"Kortings %\",\r\n \"DOWNPAYMENT\": \"Aanbetaling\",\r\n \"DOWNPAYMENT_PERCENTAGE\": \"Aan te betalen %\",\r\n \"DOWNPAYMENT_AMOUNT\": \"Aan te betalen bedrag\",\r\n \"DOWNPAYMENT_BY_BR\": \"Berekend door BR\",\r\n \"DOWNPAYMENT_ON_DELIVERY\": \"Rembours\",\r\n \"DROPSHIPMENT\": \"Dropshipment\",\r\n \"ECONOMICAL_STOCK\": \"Later beschikbaar\",\r\n \"EDIT_CART\": \"Wijzig winkelwagen\",\r\n \"EMAIL_ADDRESS\": \"E-mailadres\",\r\n \"EXCEEDENCE_CODE\": \"Uitloopcode\",\r\n \"EXISTING_CUSTOMERS\": \"Bestaande klanten\",\r\n \"EXPECTED_DELIVERY_DATE\": \"Verwachte bezorgdatum\",\r\n \"EXPECTED_DELIVERY_WEEK\": \"Verwachte leverweek\",\r\n \"FABRICATION_COST\": \"Fabricageprijs\",\r\n \"FABRICATION_COST_LINE_TOTAL\": \"Fabricageprijs regeltotaal\",\r\n \"FEMALE\": \"Vrouw\",\r\n \"FIRST_NAME\": \"Voornaam\",\r\n \"FREE\": \"Gratis\",\r\n \"GROSS_PRICE\": \"Bruto prijs\",\r\n \"GOOD_DESCRIPTION\": \"Artikelomschrijving\",\r\n \"HANDLED_BY\": \"Verkoper\",\r\n \"HOUSE_NO\": \"Huisnummer\",\r\n \"HOUSE_NO_ADDITION\": \"Huisnummer toevoeging\",\r\n \"INACTIVE_TRANSACTIONS\": \"Inactieve transacties\",\r\n \"INCLUDING_RETURNS\": \"Inclusief retouren\",\r\n \"IN_ORDER\": \"In bestelling\",\r\n \"IN_OUT_COLLECTION\": \"In-uit-collectie\",\r\n \"INVITE_TO_ACCOUNT\": \"Uitnodigen voor account\",\r\n \"INVOICED\": \"Gefactureerd\",\r\n \"INVOICE\": \"Factureren\",\r\n \"INVOICE_ADDRESS\": \"Factuuradres\",\r\n \"INVOICE_ADDRESS_ADD\": \"Factuuradres toevoegen\",\r\n \"INVOICE_ADDRESS_CHANGE\": \"Factuuradres wijzigen\",\r\n \"INVOICE_CHECK\": \"Factuurcontrole\",\r\n \"LAST_EDITED_DATE\": \"Datum laatste wijziging\",\r\n \"LAST_EDITED_USER\": \"Gebruiker laatste wijziging\",\r\n \"LAST_NAME\": \"Achternaam\",\r\n \"LINE_NEEDS_COMMISSION_CODE\": \"De commisiecode ontbreekt. Vul de commissiecode in.\",\r\n \"LOCATION\": \"Locatie\",\r\n \"LOGIN\": \"Inloggen\",\r\n \"LOGIN_DETAILS\": \"Inloggegevens\",\r\n \"LOGISTICS\": \"Logistiek\",\r\n \"LOGISTICS_AND_PLANNING\": \"Logistiek & planning\",\r\n \"MAIN_ARTICLE\": \"Hoofd artikel\",\r\n \"MALE\": \"Man\",\r\n \"MARKETING\": \"Marketing\",\r\n \"MENU\": \"Menu\",\r\n \"MODIFICATION_TIME\": \"Bewerkingstijd\",\r\n \"NAME\": \"Naam\",\r\n \"NET_LINE_TOTAL\": \"Regeltotaal\",\r\n \"NETT\": \"Netto\",\r\n \"NETTO_PRICE\": \"Netto prijs\",\r\n \"NEW_AT\": \"Nieuw bij \",\r\n \"NEW_LOCATION\": \"Nieuwe locatie\",\r\n \"NO_IMAGE\": \"Geen afbeelding\",\r\n \"NOT_AFTER\": \"Niet later dan\",\r\n \"NOT_BEFORE\": \"Niet eerder dan\",\r\n \"NR\": \"Nummer\",\r\n \"NUMBER\": \"Aantal\",\r\n \"ON_DATE\": \"Op datum\",\r\n \"ON_HOLD\": \"Gepauzeerd\",\r\n \"OPEN_SHOPPING_CART\": \"Open winkelwagen\",\r\n \"ORDER_DATE\": \"Orderdatum\",\r\n \"ORDER_DATA\": \"Ordergegevens\",\r\n \"ORDER_DEFINITIVE\": \"Order definitief\",\r\n \"ORDER_GROSS\": \"Ordertotaal bruto\",\r\n \"ORDER_LINES\": \"Orderregels\",\r\n \"ORDER_NET\": \"Ordertotaal netto\",\r\n \"ORDER_NUMBER\": \"Ordernummer\",\r\n \"ORDER_RULE\": \"Orderregel\",\r\n \"ORDER_RULESET\": \"Orderregelset\",\r\n \"ORDER_TOTAL\": \"Ordertotaal\",\r\n \"ORDER_TYPE\": \"Type bestelling\",\r\n \"ORDERED\": \"Besteld\",\r\n \"OTHER\": \"Overig\",\r\n \"OVERVIEW\": \"Overzicht\",\r\n \"OWN_REFERENCE\": \"Eigen referentie\",\r\n \"PACKING_SLIP\": \"Pakbon\",\r\n \"PAID_DOWN2\": \"Aanbetaald\",\r\n \"PART_DELIVERY\": \"Deellevering\",\r\n \"PART_DELIVERIES\": \"Deelleveringen\",\r\n \"PASSWORD\": \"Wachtwoord\",\r\n \"PAY\": \"Betalen\",\r\n \"PAYMENT\": \"Betaling\",\r\n \"PAYMENT_METHOD\": \"Betaalmethode\",\r\n \"PERSONAL_DATA\": \"Basisgegevens\",\r\n \"PICKED\": \"Gepickt\",\r\n \"PHONE_NO\": \"Telefoonnummer\",\r\n \"PHYSICAL_STOCK\": \"Fysieke voorraad\",\r\n \"PLANNING\": \"Planning\",\r\n \"POSTAL_CODE\": \"Postcode\",\r\n \"PREFERRED_DATE\": \"Voorkeursdatum\",\r\n \"PREFIX\": \"Tussenvoegsel\",\r\n \"PRICE\": \"Prijs\",\r\n \"PRICE_LIST\": \"Prijslijst\",\r\n \"PRICING\": \"Prijzen\",\r\n \"PRIVACY_PREFERENCES\": \"Privacyvoorkeuren\",\r\n \"PRIVATE_PERSON\": \"Particulier\",\r\n \"PRODUCT\": \"Product\",\r\n \"PRODUCT_TYPE\": \"Productsoort\",\r\n \"PURCHASE\": \"Inkoop\",\r\n \"QUANTITY_CANNOT_BE_ZERO_OR_EMPTY\": \"Het aantal mag geen 0 zijn.\",\r\n \"QUANTITY_CANNOT_BE_LESS_THAN_DELIVERED\": \"Het aantal moet gelijk zijn aan het geleverde aantal\",\r\n \"QUANTITY_CANNOT_BE_MORE_THAN_DELIVERED\": \"Het aantal moet gelijk zijn aan het geleverde aantal\",\r\n \"QUANTITY_CANNOT_BE_LESS_THAN_INVOICED\": \"Het aantal moet gelijk zijn aan de bestelde voorraad\",\r\n \"QUANTITY_CANNOT_BE_MORE_THAN_INVOICED\": \"Het aantal moet gelijk zijn aan de bestelde voorraad\",\r\n \"QUANTITY_CANNOT_BE_LESS_THAN_ALLOCATED\": \"Het aantal moet gelijk zijn aan dde toegewezen voorraad\",\r\n \"QUANTITY_CANNOT_BE_MORE_THAN_ALLOCATED\": \"Het aantal moet gelijk zijn aan dde toegewezen voorraad\",\r\n \"QUANTITY_CANNOT_BE_LESS_THAN_RECEIVED\": \"Het aantal moet gelijk zijn aan het aantal ontvangen.\",\r\n \"QUANTITY_CANNOT_BE_MORE_THAN_RECEIVED\": \"Het aantal moet gelijk zijn aan het aantal ontvangen\",\r\n \"QUANTUM_DISCOUNT\": \"Kwantumkorting\",\r\n \"RECEIPT_DETAILS\": \"Ontvangst details\",\r\n \"RECEIVED\": \"Ontvangst\",\r\n \"RECEIVED_DATE\": \"Ontvangst datum\",\r\n \"REFERENCE\": \"Referentie\",\r\n \"REFERENCE_RELATION\": \"Ref. relatie\",\r\n \"RELATION_NUMBER\": \"Relatienummer\",\r\n \"REMARKS\": \"Opmerkingen\",\r\n \"SALUTATION\": \"Aanhef\",\r\n \"SAME_AS_DELIVERY\": \"Hetzelfde als bezorgadres\",\r\n \"SAVE\": \"Opslaan\",\r\n \"SEARCH_IN_COLLECTION\": \"Zoek binnen collectie...\",\r\n \"SEARCH_ADD_ARTICLE\": \"Zoeken en toevoegen artikel\",\r\n \"SELECT\": \"Selecteren\",\r\n \"SELECT_A\": \"Selecteer een\",\r\n \"SELECT_CASH_REGISTER\": \"Selecteer kassa\",\r\n \"SELECT_DATE\": \"Selecteer een start- en einddatum\",\r\n \"SERIAL_NUMBER\": \"Serienummer\",\r\n \"SERVICE_NUMBER\": \"Servicenummer\",\r\n \"SERVICE_REQUEST_DATE\": \"Datum aanvraag\",\r\n \"SERVICE_STATE\": \"Service status\",\r\n \"SHOPPING_CART\": \"Winkelwagen\",\r\n \"SHOPPING_CART_CHECKOUT\": \"Bestellen\",\r\n \"SHOPPING_CART_OVERVIEW\": \"Overzicht van uw bestelling\",\r\n \"SHOPPING_CART_RESUME\": \"Verder winkelen\",\r\n \"SHOW_MORE\": \"Toon meer\",\r\n \"SHOW_LESS\": \"Toon minder\",\r\n \"SPECIAL_DISCOUNT\": \"Speciale korting\",\r\n \"SOURCE_WAREHOUSE\": \"Bron magazijn\",\r\n \"STOCK\": \"Voorraad\",\r\n \"STOCK_NOTIFICATION\": \"Voorraadmelding\",\r\n \"STOCK_AVAILABLE_CHANGE_WAREHOUSE_OR_COMMISSIONCODE\": \"Er is voldoende voorraad. Verander magazijn en/of commissiecode\",\r\n \"SUBTOTAL\": \"Subtotaal\",\r\n \"SUGGESTIONS\": \"Suggesties\",\r\n \"SUPPLIER\": \"Leverancier\",\r\n \"SURCHARGE_AMOUNT\": \"Toeslag\",\r\n \"STATE\": \"Status\",\r\n \"STREET\": \"Straatnaam\",\r\n \"TAGS\": \"Tags\",\r\n \"TEXT_ARTICLE_BOUND\": \"Text bij artikel |~\",\r\n \"TO_REPORT_IN\": 'Binnen te melden',\r\n \"TO_BE_PICKED\": \"Te picken\",\r\n \"TO_DELIVER\": \"Te leveren\",\r\n \"TO_PAY\": \"Te betalen\",\r\n \"TOTAL_AMOUNT\": \"Totaalbedrag\",\r\n \"TOTAL_ASSEMBLY_TIME\": \"Totale montagetijd\",\r\n \"TOTAL_GROSS\": \"Totaal bruto\",\r\n \"TOTAL_LINE_DISCOUNT\": \"Totale regelkorting\",\r\n \"TRANSACTION_DATE\": \"Orderdatum\",\r\n \"TRANSACTION_DISCOUNT\": \"Totale transactie korting\",\r\n \"TRANSACTION_DISCOUNT_PERC\": \"% Trans. korting\",\r\n \"TRANSACTION_PRICE_DECLARATION\": \"Order prijsverklaring\",\r\n \"TRANSACTION_SUM_I\": \"Ordertotaal incl. BTW\",\r\n \"TRANSACTION_TOTAL\": \"Transactie totaal\",\r\n \"TRANSPORT\": \"Transport\",\r\n \"TRANSPORT_COST\": \"Transportkosten\",\r\n \"TRANSPORT_COST_LINE_TOTAL\": \"Transportkosten regeltotaal\",\r\n \"TURNOVER_GROUP\": \"Omzetgroep\",\r\n \"TYPE\": \"Soort\",\r\n \"UNKNOWN\": \"Onbekend\",\r\n \"UNKNOWN_ADDRESS_CHECK_IT\": \"Onbekend adres\",\r\n \"USER\": \"Gebruiker\",\r\n \"VAT\": \"Btw\",\r\n \"VAT_AMOUNT\": \"BTW-bedrag\",\r\n \"VALUE\": \"Waarde\",\r\n \"WHERE_ARE_YOU_LOOKING_FOR\": \"Waar ben je naar op zoek?\",\r\n \"WAREHOUSE\": \"Magazijn\",\r\n \"YOUR_DATA\": \"Gegevens\",\r\n \"STANDARD_TEXTS\":\"Standaardteksten\",\r\n \"ARTICLE_BOUND_TEXT\": \"Artikelgebonden tekst\",\r\n \"FOR_DOCUMENTS\": \"Bestemd voor documenten\",\r\n \"CHANGE_ARTICLE_TEXT\": \"Wijzigen artikeltekst\",\r\n },\r\n \"de\": {},\r\n \"fr\": {},\r\n \"en\": {\r\n \"ACCOUNT_DETAILS\": \"Account details\",\r\n \"ACCOUNT_EXPLANATION\": \"E-mailaddress and password are needed to gain access to the data. We also notify you on this e-mailaddress about the order status\",\r\n \"ACTIVE\": \"Active\",\r\n \"ADD_ARTICLE_LINE_UP\": \"Add article line up\",\r\n \"ADD_ARTICLE_LINE_DOWN\": \"Add article line down\",\r\n \"ADD_ARTICLE_TEXT_LINE_UP\": \"Add text line up\",\r\n \"ADD_ARTICLE_TEXT_LINE_DOWN\": \"Add text line down\",\r\n \"ADD_DELIVERY_OPTION\": \"Add delivery option\",\r\n \"ADD_DISCOUNTS\": \"Add discount\",\r\n \"ADD_REFERENCE\": \"Add reference\",\r\n \"ADD_REMARK\": \"Add remark\",\r\n \"ADDRESS\": \"Address\",\r\n \"ADDRESSES\": \"Addresses\",\r\n \"ADDRESS_ADD\": \"Add address\",\r\n \"ADDRESS_CHANGE\": \"Change address\",\r\n \"ADMINISTRATIVE_MANAGER\": \"Administrative manager\",\r\n \"ALLOCATED\": \"Allocated\",\r\n \"ALWAYS_SHOW_LOGISTICS_POPUP\": \"Check warehouse and commissioncode\",\r\n \"ARRIVAL_DATE\": \"Arrival date\",\r\n \"ARTICLE\": \"Article\",\r\n \"ARTICLE_DESCRIPTION\": \"Article description\",\r\n \"ARTICLE_IMAGE\": \"Article image\",\r\n \"ARTICLE_IN_OUT_COLLECTION\": \"Status of article is '|~'. Are you sure to proceed?\",\r\n \"ARTICLE_NR\": \"Article number\",\r\n \"ARTICLE_NR_SUPPLIER\": \"Artikelnr supplier\",\r\n \"ARTICLE_UNKNOWN\": \"Article unknown\",\r\n \"ASSEMBLY_COSTS\": \"Assembly costs\",\r\n \"ASSEMBLY_DATE\": \"Assembly date\",\r\n \"ASSEMBLY_TIME\": \"Assembly time\",\r\n \"AMOUNT\": \"Amount\",\r\n \"BACK\": \"Back\",\r\n \"BALANCE\": \"Balance\",\r\n \"BATCH_NUMBER\": \"Batchnumber\",\r\n \"BRANCH\": \"Branch\",\r\n \"BRANCH_NUMBER\": \"Branch number\",\r\n \"BUSINESS_RULE_DISCOUNT\": \"Business rule discount\",\r\n \"CANCEL\": \"Cancel\",\r\n \"CANNOT_CHANGE_NEGATIVE_QUANTITY\": \"A negative supply cannot be changed.\",\r\n \"CART\": \"Cart\",\r\n \"CHARACTERISTIC_QUESTION\": \"Characteristic question\",\r\n \"CHECK_WAREHOUSE_AND_COMMISSIONCODE\": \"Check warehouse and commissioncode\",\r\n \"CHECKOUT_FINISH\": \"Finish checkout\",\r\n \"CITY\": \"City\",\r\n \"COMPANY\": \"Company\",\r\n \"COMPANY_NAME\": \"Company name\",\r\n \"COMMISSION_CODE\": \"Commission code\",\r\n \"CONFIRMATION\": \"Confirmation\",\r\n \"CONFIRMED_DATE\": \"Confirmed date\",\r\n \"CONFIRMED_DELIVERY_DATE\": \"Confirmed delivery date\",\r\n \"CONTACT_DETAILS\": \"Contactdetails\",\r\n \"CONTINUE\": \"Next\",\r\n \"CONFIRMED\": \"Confirmed\",\r\n \"CONTINUE_ORDER_WHILE_STOCK_AVAILABLE_PLEASE_CONFIRM\": \"You have chosen to order articles while stock is still available. Do you wish to proceed?\",\r\n \"CONTINUE_WITHOUT_ACCOUNT\": \"Continue without an account\",\r\n \"COSTS\": \"Costs\",\r\n \"COUNTRY\": \"Country\",\r\n \"CREATE_ACCOUNT\": \"Create an account\",\r\n \"CREATE_ACCOUNT_IN_2_MIN\": \"Create an account in 2 minutes.\",\r\n \"CUSTOMER\": \"Customer\",\r\n \"CUSTOMER_GROUP\": \"Customergroup\",\r\n \"CUSTOMER_NAME\": \"Customer name\",\r\n \"DATE\": \"Date\",\r\n \"DATE_OF_BIRTH\": \"Date of birth\",\r\n \"DEFINITIVE\": \"Definitive\",\r\n \"DELETE_TRANSACTION_LINE\": \"Delete transaction line verwijderen?\",\r\n \"DELETE_TRANSACTION_LINE_HINT\": \"Delete transaction line\",\r\n \"DELETE_TRANSACTION_LINE_FAILED\": \"Deletion of transaction line has failed\",\r\n \"DELIVERED\": \"Delivered\",\r\n \"DELIVERY\": \"Delivery\",\r\n \"DELIVERY_ADDRESS\": \"Delivery address\",\r\n \"DELIVERY_ADDRESS_ADD\": \"Add delivery address\",\r\n \"DELIVERY_ADDRESS_CHANGE\": \"Change delivery address\",\r\n \"DELIVERY_COSTS\": \"Delivery costs\",\r\n \"DELIVERY_DATA\": \"Deliverydata\",\r\n \"DELIVERY_DATE\": \"Delivery date\",\r\n \"DELIVERY_DATE_DEFINITIVE\": \"Delivery date definitive\",\r\n \"DELIVERY_DATE_FINAL\": \"Final delivery date\",\r\n \"DELIVERY_DIRECT\": \"Direct delivery\",\r\n \"DELIVERY_LOCATION\": \"Delivery location\",\r\n \"DELIVERY_NOTE\": \"Delivery note\",\r\n \"DELIVERY_OPTIONS\": \"Delivery options\",\r\n \"DELIVERY_METHOD\": \"Delivery method\",\r\n \"DELIVERY_MOMENT\": \"Delivery moment\",\r\n \"DELIVERY_OPTARTICLE_NRIONS\": \"Delivery options\",\r\n \"DELIVERY_TIME_PERIOD\": \"Delivery time period\",\r\n \"DESCRIPTION\": \"Description\",\r\n \"DETAILS\": \"Details\",\r\n \"DISCOUNT\": \"Discount\",\r\n \"DISCOUNTS\": \"Discounts\",\r\n \"DISCOUNT_AMOUNT\": \"Discount amount\",\r\n \"DISCOUNT_PERCENTAGE\": \"Discount %\",\r\n \"DOWNPAYMENT\": \"Downpayment\",\r\n \"DOWNPAYMENT_PERCENTAGE\": \"Percentage to be paid\",\r\n \"DOWNPAYMENT_AMOUNT\": \"Amount to be paid\",\r\n \"DOWNPAYMENT_BY_BR\": \"Calculated by BR\",\r\n \"DOWNPAYMENT_ON_DELIVERY\": \"On delivery\",\r\n \"DROPSHIPMENT\": \"Dropshipment\",\r\n \"EDIT_CART\": \"Edit cart\",\r\n \"EMAIL_ADDRESS\": \"E-mailadres\",\r\n \"EXCEEDENCE_CODE\": \"Exceedence code\",\r\n \"EXISTING_CUSTOMERS\": \"Existing customers\",\r\n \"EXPECTED_DELIVERY_DATE\": \"Expected delivery date\",\r\n \"EXPECTED_DELIVERY_WEEK\": \"Expected delivery week\",\r\n \"FABRICATION_COST\": \"Fabricationcost\",\r\n \"FABRICATION_COST_LINE_TOTAL\": \"Fabricationcost linetotal\",\r\n \"FEMALE\": \"Female\",\r\n \"FIRST_NAME\": \"First name\",\r\n \"FREE\": \"Free\",\r\n \"GOOD_DESCRIPTION\": \"Article description\",\r\n \"GROSS_PRICE\": \"Gross price\",\r\n \"HANDLED_BY\": \"Handled by\",\r\n \"HOUSE_NO\": \"Housenumber\",\r\n \"HOUSE_NO_ADDITION\": \"Housenumber addition\",\r\n \"INACTIVE_TRANSACTIONS\": \"Inactieve transacties\",\r\n \"INCLUDING_RETURNS\": \"Including returns\",\r\n \"IN_ORDER\": \"In order\",\r\n \"IN_OUT_COLLECTION\": \"In-out-collection\",\r\n \"INVITE_TO_ACCOUNT\": \"Invite account\",\r\n \"INVOICED\": \"Invoiced\",\r\n \"INVOICE\": \"Invoice\",\r\n \"INVOICE_ADDRESS\": \"Invoice address\",\r\n \"INVOICE_ADDRESS_ADD\": \"Add invoice address\",\r\n \"INVOICE_ADDRESS_CHANGE\": \"Change invoice address\",\r\n \"INVOICE_CHECK\": \"Invoice check\",\r\n \"LAST_EDITED_DATE\": \"Date last mutation\",\r\n \"LAST_EDITED_USER\": \"User last mutation\",\r\n \"LAST_NAME\": \"Last name\",\r\n \"LINE_NEEDS_COMMISSION_CODE\": \"Line needs a commission code\",\r\n \"LOCATION\": \"Location\",\r\n \"LOGIN\": \"Login\",\r\n \"LOGIN_DETAILS\": \"Login details\",\r\n \"LOGISTICS\": \"Logistics\",\r\n \"LOGISTICS_AND_PLANNING\": \"Logistics & planning\",\r\n \"MAIN_ARTICLE\": \"Main article\",\r\n \"MALE\": \"Male\",\r\n \"MARKETING\": \"Marketing\",\r\n \"MENU\": \"Menu\",\r\n \"MODIFICATION_TIME\": \"Modification time\",\r\n \"NAME\": \"Name\",\r\n \"NET_LINE_TOTAL\": \"Linetotal\",\r\n \"NETT\": \"Net\",\r\n \"NETTO_PRICE\": \"Netto price\",\r\n \"NEW_AT\": \"New at \",\r\n \"NEW_LOCATION\": \"New location\",\r\n \"NO_IMAGE\": \"No image available\",\r\n \"NOT_AFTER\": \"Not after\",\r\n \"NOT_BEFORE\": \"Not before\",\r\n \"NR\": \"Number\",\r\n \"NUMBER\": \"Amount\",\r\n \"ON_DATE\": \"On date\",\r\n \"ON_HOLD\": \"On hold\",\r\n \"OPEN_SHOPPING_CART\": \"Open shopping cart\",\r\n \"ORDER_DATE\": \"Order date\",\r\n \"ORDER_DATA\": \"Orderdata\",\r\n \"ORDER_DEFINITIVE\": \"Order definitive\",\r\n \"ORDER_GROSS\": \"Total gross amount\",\r\n \"ORDER_LINES\": \"Orderlines\",\r\n \"ORDER_NET\": \"Total net amount\",\r\n \"ORDER_NUMBER\": \"Order number\",\r\n \"ORDER_RULE\": \"Order rule\",\r\n \"ORDER_RULESET\": \"Orderruleset\",\r\n \"ORDER_TOTAAL\": \"Order total\",\r\n \"ORDER_TYPE\": \"Order type\",\r\n \"ORDERED\": \"Ordered\",\r\n \"OTHER\": \"Other\",\r\n \"OVERVIEW\": \"Overview\",\r\n \"OWN_REFERENCE\": \"Own reference\",\r\n \"PACKING_SLIP\": \"Packing slip\",\r\n \"PAID_DOWN2\": \"Prepaid\",\r\n \"PART_DELIVERY\": \"Partial delivery\",\r\n \"PART_DELIVERIES\": \"Partial deliveries\",\r\n \"PASSWORD\": \"Password\",\r\n \"PAY\": \"Pay\",\r\n \"PAYMENT\": \"Payment\",\r\n \"PAYMENT_METHOD\": \"Payment method\",\r\n \"PERSONAL_DATA\": \"Personal data\",\r\n \"PHONE_NO\": \"Telephone number\",\r\n \"PLANNING\": \"Planning\",\r\n \"PICKED\": \"Picked\",\r\n \"POSTAL_CODE\": \"postal code\",\r\n \"PREFERRED_DATE\": \"Preferred date\",\r\n \"PREFIX\": \"Prefix\",\r\n \"PRICE\": \"Price\",\r\n \"PRICE_LIST\": \"Pricelist\",\r\n \"PRICING\": \"Pricing\",\r\n \"PRIVACY_PREFERENCES\": \"Privacy preferences\",\r\n \"PRIVATE_PERSON\": \"Private\",\r\n \"PRODUCT\": \"Product\",\r\n \"PRODUCT_TYPE\": \"Product type\",\r\n \"PURCHASE\": \"Purchase\",\r\n \"QUANTITY_CANNOT_BE_ZERO_OR_EMPTY\": \"Quantity cannot be zero or empty\",\r\n \"QUANTUM_DISCOUNT\": \"Quantum discount\",\r\n \"RECEIPT_DETAILS\": \"Receipt details\",\r\n \"RECEIVED\": \"Received\",\r\n \"RECEIVED_DATE\": \"Received date\",\r\n \"REFERENCE\": \"Reference\",\r\n \"REFERENCE_RELATION\": \"Ref. relation\",\r\n \"RELATION_NUMBER\": \"Relation number\",\r\n \"REMARKS\": \"Remarks\",\r\n \"SALUTATION\": \"Salutation\",\r\n \"SAME_AS_DELIVERY\": \"Same as delivery address\",\r\n \"SAVE\": \"Save\",\r\n \"SEARCH_ADD_ARTICLE\": \"Search and add article\",\r\n \"SEARCH_IN_COLLECTION\": \"Search in collection...\",\r\n \"SELECT\": \"Select\",\r\n \"SELECT_A\": \"Select a\",\r\n \"SELECT_CASH_REGISTER\": \"Select cash register\",\r\n \"SELECT_DATE_RANGE\": \"Select a date range\",\r\n \"SERIAL_NUMBER\": \"Serial number\",\r\n \"SERVICE_NUMBER\": \"Service number\",\r\n \"SERVICE_REQUEST_DATE\": \"Service request data\",\r\n \"SERVICE_STATE\": \"Service state\",\r\n \"SHOPPING_CART\": \"Shopping cart\",\r\n \"SHOPPING_CART_CHECKOUT\": \"Checkout\",\r\n \"SHOPPING_CART_OVERVIEW\": \"Order overview\",\r\n \"SHOPPING_CART_RESUME\": \"Resume shopping\",\r\n \"SHOW_MORE\": \"Show more\",\r\n \"SHOW_LESS\": \"Show less\",\r\n \"SPECIAL_DISCOUNT\": \"Special discount\",\r\n \"SOURCE_WAREHOUSE\": \"Source warehouse\",\r\n \"STOCK\": \"Stock\",\r\n \"STOCK_NOTIFICATION\": \"Stock notification\",\r\n \"STOCK_AVAILABLE_CHANGE_WAREHOUSE_OR_COMMISSIONCODE\": \"Not enough supply. Change warehouse and/or commissioncode\",\r\n \"SUBTOTAL\": \"Subtotal\",\r\n \"SUGGESTIONS\": \"Suggestions\",\r\n \"SUPPLIER\": \"Supplier\",\r\n \"SURCHARGE_AMOUNT\": \"Surcharge\",\r\n \"STATE\": \"STATUS\",\r\n \"STREET\": \"Streetname\",\r\n \"TAGS\": \"Tags\",\r\n \"TO_REPORT_IN\": 'To report in',\r\n \"TO_BE_PICKED\": \"Te be picked\",\r\n \"TO_DELIVER\": \"To deliver\",\r\n \"TO_PAY\": \"To pay\",\r\n \"TOTAL_AMOUNT\": \"Total amount\",\r\n \"TOTAL_ASSEMBLY_TIME\": \"Total assembly time\",\r\n \"TOTAL_GROSS\": \"Gross total\",\r\n \"TOTAL_LINE_DISCOUNT\": \"Total linediscount\",\r\n \"TRANSACTION_DATE\": \"Transaction date\",\r\n \"TRANSACTION_DISCOUNT\": \"Total transaction discount\",\r\n \"TRANSACTION_DISCOUNT_PERC\": \"% Trans. discount\",\r\n \"TRANSACTION_PRICE_DECLARATION\": \"Transaction price declaration\",\r\n \"TRANSACTION_SUM_I\": \"Ordertotal incl VAT\",\r\n \"TRANSACTION_TOTAL\": \"Transaction total\",\r\n \"TRANSPORT\": \"Transport\",\r\n \"TRANSPORT_COST\": \"Transportcosts\",\r\n \"TRANSPORT_COST_LINE_TOTAL\": \"Transportcosts linetotal\",\r\n \"TURNOVER_GROUP\": \"Turnover group\",\r\n \"TYPE\": \"Type\",\r\n \"UNKNOWN\": \"unknown\",\r\n \"UNKNOWN_ADDRESS_CHECK_IT\": \"Unknown address\",\r\n \"USER\": \"User\",\r\n \"VALUE\": \"Value\",\r\n \"VAT\": \"VAT\",\r\n \"VAT_AMOUNT\": \"VAT amount\",\r\n \"WAREHOUSE\": \"Warehouse\",\r\n \"WHERE_ARE_YOU_LOOKING_FOR\": \"Where are you looking for?\",\r\n \"YOUR_DATA\": \"Your data\",\r\n \"STANDARD_TEXTS\":\"Standard texts\",\r\n \"ARTICLE_BOUND_TEXT\": \"Article bound text\",\r\n \"FOR_DOCUMENTS\": \"Used at documents\",\r\n \"CHANGE_ARTICLE_TEXT\": \"Change article text\",\r\n },\r\n };\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {LanguageCode} from \"../enum/language-code.enum\";\r\nimport {StringUtils} from \"../utils/string-utils\";\r\nimport {Dictionary} from \"../assets/dictionary/text.properties\";\r\n\r\n// The localization service, providing peers with text translation functionality.\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DictionaryService {\r\n private readonly dictionaryUrl: string = \"js/browser/res/dictionary/\";\r\n\r\n public get language(): string {\r\n return this._language;\r\n }\r\n\r\n public set rootUrl(value: string) {\r\n this._rootUrl = value;\r\n this._dictBasePath = this._rootUrl + \"/\" + this.dictionaryUrl;\r\n }\r\n\r\n // public dictionaryLoaded: Subject<void> = new Subject();\r\n\r\n private _dictBasePath: string;\r\n private _rootUrl: string;\r\n // private _dictionaryPromise: Map<LanguageCode, Promise<{ [key: string]: string }>> = new Map<LanguageCode, Promise<{ [key: string]: string }>>();\r\n private _dictionaries: Map<string, { [key: string]: string }> = new Map<string, { [key: string]: string }>();\r\n private _language: string;\r\n\r\n // Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.\r\n private readonly _placeholder: string = \"|~\";\r\n\r\n constructor(\r\n ) {\r\n }\r\n\r\n // Loads the dictionary for given language in memory.\r\n public async setDictionary(language: string): Promise<void> {\r\n this._language = language || LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n private _loadDictionary() {\r\n if (!this._dictionaries.has(this._language)) {\r\n const dictionary: Dictionary = new Dictionary();\r\n // eslint-disable-next-line no-magic-numbers\r\n if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {\r\n // eslint-disable-next-line no-magic-numbers\r\n this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the localized text for the given dictionary key.\r\n * @param {string} key\r\n * @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val\r\n * @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value\r\n * @returns {string} The translated text for given dictionary key\r\n */\r\n public get(key: string, upperCaseFirst: boolean = true, ...replacementTexts: string[]): string {\r\n if (!StringUtils.IsStringWithLength(key)) {\r\n return key || \"\";\r\n }\r\n\r\n if (this.language === undefined) {\r\n this._language = LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n let text: string = this._dictionaries.get(this.language)[key];\r\n text = StringUtils.IsStringWithLength(text) ? text : key;\r\n\r\n if (upperCaseFirst) {\r\n text = text.charAt(0).toUpperCase() + text.slice(1);\r\n } else {\r\n text = text.charAt(0).toLowerCase() + text.slice(1);\r\n }\r\n\r\n if (replacementTexts.length > 0) {\r\n text = StringUtils.ReplaceOccurrencesIn(text, this._placeholder, ...replacementTexts);\r\n }\r\n\r\n return text;\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {BehaviorSubject} from \"rxjs\";\r\nimport {DictionaryService} from \"./dictionary.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class OptionsService {\r\n\r\n public optionsInitialized: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n\r\n public set options(value: any) {\r\n this._options = value;\r\n }\r\n\r\n public get options(): any {\r\n return this._options;\r\n }\r\n\r\n public optionsLoaded: BehaviorSubject<boolean> = new BehaviorSubject(false);\r\n\r\n private _options: any;\r\n\r\n constructor(private _dictionary: DictionaryService) {\r\n }\r\n\r\n public async createSettingsFromObject(obj: any): Promise<void> {\r\n this.options = new Object();\r\n if (obj.hasOwnProperty(\"url\")) {\r\n this.options.url = obj[\"url\"];\r\n }\r\n if (obj.hasOwnProperty(\"schema\")) {\r\n this.options.schema = obj[\"schema\"];\r\n }\r\n if (obj.hasOwnProperty(\"version\")) {\r\n this.options.version = obj[\"version\"];\r\n }\r\n if (obj.hasOwnProperty(\"languageCode\")) {\r\n this.options.languageCode = obj[\"languageCode\"];\r\n } else {\r\n this.options.languageCode = \"NL\";\r\n }\r\n if (obj.hasOwnProperty(\"username\")) {\r\n this.options.username = obj[\"username\"];\r\n }\r\n if (obj.hasOwnProperty(\"password\")) {\r\n this.options.password = obj[\"password\"];\r\n }\r\n if (obj.hasOwnProperty(\"session\")) {\r\n this.options.session = obj[\"session\"];\r\n }\r\n if (obj.hasOwnProperty(\"useLoginEncryption\")) {\r\n this.options.useLoginEncryption = obj[\"useLoginEncryption\"];\r\n }\r\n\r\n this.optionsLoaded.next(true);\r\n }\r\n\r\n public async initialize(options: any): Promise<void> {\r\n if (options) {\r\n await this.createSettingsFromObject(options);\r\n await this._dictionary.setDictionary(this.options.languageCode);\r\n this.optionsInitialized.next(true);\r\n }\r\n }\r\n}\r\n","import {notNill} from \"@colijnit/transactionapi/build/utils/function/not-nill.function\";\r\nimport {ObjectUtils} from \"@colijnit/transactionapi/build/utils/object-utils\";\r\n\r\nconst PROP_META_KEY: string = \"complexField\";\r\n\r\n/**\r\n * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.\r\n */\r\n\r\n/**\r\n * Property decorator for properties of businessobject classes that are other strongly typed businessobjects.\r\n * Ensures that the BusinessObjectFactoryService makes properly typed objects from incoming raw persistence data. Otherwise we couldn't add methods\r\n * to our own businessobjects and use them, since all fields would be flat data without methods after BusinessObjectFactoryService creation.\r\n *\r\n * Usage:\r\n *\r\n * @ComplexField(Transaction)\r\n * public transaction: Transaction\r\n *\r\n * Also keeps track of a \"complexFieldProps\" metadata on the class-level, as a reflect-metadata workaround to be able to\r\n * retrieve all properties that have the @ComplexField(..) decorator (impossible with current Reflect API).\r\n */\r\nexport function ComplexField(type: any): PropertyDecorator {\r\n return function (target: any, propertyKey: string): void {\r\n if (!target || !propertyKey) {\r\n return;\r\n }\r\n\r\n // warn the programmer if given type was undefined; it's probably an import order glitch that caused this, because decorators seem\r\n // to be immediately processed when a class is first imported\r\n if (!type) {\r\n // eslint-disable-next-line no-console\r\n console.warn(`@ComplexField(type): type was UNDEFINED. Called on prop (${ObjectUtils.GetClassName(target)}, ${propertyKey}). ` +\r\n `Class will not properly serialize and deserialize now. We've always been able to fix this by CHANGING IMPORT ORDERS ` +\r\n `where both classes and their dependencies are used, e.g. factory, repository or models..`);\r\n return;\r\n }\r\n Reflect.defineMetadata(PROP_META_KEY, type, target, propertyKey);\r\n };\r\n}\r\n\r\n// Utility function holder of the ComplexFieldDecorator decorator.\r\nexport class ComplexFieldDecorator {\r\n\r\n /**\r\n * Returns whether given property (as a string) on given object is a complex field. A complex field is a field that is decorated\r\n * with the @ComplexField decorator.\r\n */\r\n public static IsComplexField(target: Object, propertyKey: string): boolean {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return false;\r\n }\r\n return (notNill(Reflect.getMetadata(PROP_META_KEY, target, propertyKey)));\r\n }\r\n\r\n // Returns the VALUE of the @ComplexField(VALUE) property decorator on the given propertyKey on the given modelObject.\r\n public static GetComplexFieldType(target: Object, propertyKey: string): any {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return undefined;\r\n }\r\n return Reflect.getMetadata(PROP_META_KEY, target, propertyKey);\r\n }\r\n}\r\n","import {notNill} from \"@colijnit/transactionapi/build/utils/function/not-nill.function\";\r\nimport {ObjectUtils} from \"@colijnit/transactionapi/build/utils/object-utils\";\r\n\r\nconst PROP_META_KEY: string = \"complexArray\";\r\n\r\n/**\r\n * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.\r\n */\r\n\r\n/**\r\n * Property decorator for properties of businessobject classes that are an array of other strongly typed businessobjects.\r\n * Ensures that the BusinessObjectFactoryService makes properly typed objects from incoming raw persistence data. Otherwise we couldn't add methods\r\n * to our own businessobjects and use them, since all fields would be flat data without methods after BusinessObjectFactoryService creation.\r\n *\r\n * Usage:\r\n *\r\n * @ComplexArray(TransactionLine)\r\n * public transactionLines: TransactionLine[]\r\n */\r\nexport function ComplexArray(type: any): PropertyDecorator {\r\n return function (target: any, propertyKey: string): void {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return;\r\n }\r\n // warn the programmer if given type was undefined; it's probably an import order glitch that caused this, because decorators seem\r\n // to be immediately processed when a class is first imported\r\n if (!type) {\r\n console.warn(`@ComplexArray(type): type was UNDEFINED. Called on prop (${ObjectUtils.GetClassName(target)}, ${propertyKey}). ` +\r\n `Class will not properly serialize and deserialize now. We've always been able to fix this by CHANGING IMPORT ORDERS ` +\r\n `where both classes and their dependencies are used, e.g. factory, repository or models..`);\r\n return;\r\n }\r\n Reflect.defineMetadata(PROP_META_KEY, type, target, propertyKey);\r\n };\r\n}\r\n\r\n// Utility function holder of the ComplexArrayDecorator decorator.\r\nexport class ComplexArrayDecorator {\r\n /**\r\n * Returns whether given property (as a string) on given object is a complex array. A complex array is an array field that is decorated\r\n * with the @ComplexArray decorator.\r\n */\r\n public static IsComplexArray(target: Object, propertyKey: string): boolean {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return false;\r\n }\r\n\r\n return (notNill(Reflect.getMetadata(PROP_META_KEY, target, propertyKey)));\r\n }\r\n\r\n /**\r\n * Returns the VALUE of the @ComplexArray(VALUE) property decorator on the given propertyKey on the given modelobject.\r\n */\r\n public static GetComplexArrayType(target: Object, propertyKey: string): any {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return undefined;\r\n }\r\n\r\n return Reflect.getMetadata(PROP_META_KEY, target, propertyKey);\r\n }\r\n}\r\n","import {GetYesNoDbBooleanValue} from \"@colijnit/transactionapi/build/enum/yes-no-db-type.enum\";\r\nimport {GetTrueFalseDbBooleanValue} from \"@colijnit/transactionapi/build/enum/true-false-db-type.enum\";\r\nimport {GetOneZeroDbBooleanValue} from \"@colijnit/transactionapi/build/enum/one-zero-bool-db-type.enum\";\r\nimport {DbBooleanValueType, GetLogicalBooleanValue} from \"@colijnit/transactionapi/build/enum/db-boolean-value-type.enum\";\r\n\r\nconst PROP_META_KEY_JN: string = \"booleanTextJN\";\r\nconst PROP_META_KEY_TF: string = \"booleanTextTF\";\r\nconst PROP_META_KEY_10: string = \"booleanText10\";\r\n\r\n/**\r\n * There are 'J', 'T', 'N', 'F', 0 and 1 'boolean values' in the database. These should be translated to true and false boolean values in\r\n * our client application.\r\n *\r\n * The values 'J' and 'N' seem to be most commonly used. This is the default setting when using this decorator.\r\n * You can pass 'T' or 1 for the other variants as follows:\r\n *\r\n * Usage:\r\n *\r\n * @BooleanText() or @BooleanText(\"J\") (the default, uses YesNoDbType char values)\r\n * public foo: boolean // 'J' and 'N' become true and false after BusinessObjectFactoryService and -SerializerService processing\r\n *\r\n * @BooleanText('T') (uses TrueFalseDbType char values)\r\n * public bar: boolean // 'T' and 'F' become true and false after BusinessObjectFactoryService and -SerializerService processing\r\n *\r\n * @BooleanText(1)\r\n * public baz: boolean // 1 and 0 become true and false after BusinessObjectFactoryService and -SerializerService processing\r\n */\r\nexport function BooleanText(type?: \"J\" | \"T\" | 1): PropertyDecorator {\r\n return function (target: any, propertyKey: string): void {\r\n if (!target || !propertyKey) {\r\n return;\r\n }\r\n // by default, it's a J N boolean text\r\n if (!type || type === \"J\") {\r\n Reflect.defineMetadata(PROP_META_KEY_JN, true, target, propertyKey);\r\n } else if (type === \"T\") {\r\n Reflect.defineMetadata(PROP_META_KEY_TF, true, target, propertyKey);\r\n } else if (type === 1) {\r\n Reflect.defineMetadata(PROP_META_KEY_10, true, target, propertyKey);\r\n }\r\n };\r\n}\r\n\r\n// Utility function holder of the BooleanTextDecorator decorator.\r\nexport class BooleanTextDecorator {\r\n\r\n /**\r\n * Returns whether given property (as a string) on given object is a boolean text field. That is, it's a field that is decorated\r\n * with the @BooleanText decorator.\r\n */\r\n public static IsBooleanTextField(target: Object, propertyKey: string): boolean {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return false;\r\n }\r\n return (\r\n Reflect.getMetadata(PROP_META_KEY_JN, target, propertyKey) === true\r\n ||\r\n Reflect.getMetadata(PROP_META_KEY_TF, target, propertyKey) === true\r\n ||\r\n Reflect.getMetadata(PROP_META_KEY_10, target, propertyKey) === true\r\n );\r\n }\r\n\r\n /**\r\n * Returns the logical true or false value of given character ('J', 'N', 'T' or 'F') or number (0 or 1).\r\n * Returns UNDEFINED if given boolChar was not recognised as a boolean text.\r\n */\r\n public static GetLogicalBooleanValue(dbBoolChar: DbBooleanValueType | string): boolean {\r\n return GetLogicalBooleanValue(dbBoolChar);\r\n }\r\n\r\n /**\r\n * Returns the boolean character / number of given logical bool property on target object. Uses its @BooleanText() annotation to decide\r\n * what character / number to return.\r\n * Used in BusinessObjectSerializerServiceService to convert logical bools to their original boolean character.\r\n * @returns {string|number} The original, reverse-engineered boolean character (or number) of given object property, or undefined.\r\n */\r\n public static GetDbBooleanValue(target: Object, propertyKey: string): DbBooleanValueType {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return undefined;\r\n }\r\n\r\n let dbBoolVal: any = undefined;\r\n\r\n const curBoolVal: boolean = target[propertyKey];\r\n\r\n if (BooleanTextDecorator._IsJaNeeProp(target, propertyKey)) {\r\n dbBoolVal = GetYesNoDbBooleanValue(curBoolVal);\r\n } else if (BooleanTextDecorator._IsTrueFalseProp(target, propertyKey)) {\r\n dbBoolVal = GetTrueFalseDbBooleanValue(curBoolVal);\r\n } else if (BooleanTextDecorator._IsZeroOneProp(target, propertyKey)) {\r\n dbBoolVal = GetOneZeroDbBooleanValue(curBoolVal);\r\n }\r\n\r\n return dbBoolVal as any as DbBooleanValueType;\r\n }\r\n\r\n private static _IsJaNeeProp(target: Object, propertyKey: string): boolean {\r\n return BooleanTextDecorator._IsProp(PROP_META_KEY_JN, target, propertyKey);\r\n }\r\n\r\n private static _IsTrueFalseProp(target: Object, propertyKey: string): boolean {\r\n return BooleanTextDecorator._IsProp(PROP_META_KEY_TF, target, propertyKey);\r\n }\r\n\r\n private static _IsZeroOneProp(target: Object, propertyKey: string): boolean {\r\n return BooleanTextDecorator._IsProp(PROP_META_KEY_10, target, propertyKey);\r\n }\r\n\r\n private static _IsProp(prop: string, target: Object, propertyKey: string): boolean {\r\n return !!target && !!propertyKey && typeof target === \"object\" && Reflect.hasMetadata(prop, target, propertyKey);\r\n }\r\n}\r\n","import {DateUtils} from \"@colijnit/transactionapi/build/utils/date-utils\";\r\n\r\nconst PROP_META_KEY: string = \"dateField\";\r\n\r\n/**\r\n * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.\r\n */\r\n\r\n/**\r\n * Property decorator for properties of businessobject classes that are of type Date, but are sent to us as strings.\r\n * Ensures that the BusinessObjectFactory makes proper JavaScript Date objects from incoming strings for @DateField() decorated properties.\r\n *\r\n * Usage:\r\n *\r\n * @DateField()\r\n * public expectedDeliveryDate: Date\r\n */\r\nexport function DateField(): PropertyDecorator {\r\n return function (target: any, propertyKey: string): void {\r\n if (!target || !propertyKey) {\r\n return;\r\n }\r\n Reflect.defineMetadata(PROP_META_KEY, undefined, target, propertyKey);\r\n };\r\n}\r\n\r\n// Utility function holder of the @DateField() decorator.\r\nexport class DateFieldFieldDecorator {\r\n\r\n // Returns whether given property (as a string) on given object is decorated with @DateField().\r\n public static IsDateField(target: Object, propertyKey: string): boolean {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return false;\r\n }\r\n return Reflect.hasMetadata(PROP_META_KEY, target, propertyKey);\r\n }\r\n\r\n public static StringAsDate(str: string): Date {\r\n return DateUtils.StringAsDate(str);\r\n }\r\n}\r\n","import {NumberUtils} from \"@colijnit/transactionapi/build/utils/number-utils\";\r\n\r\nconst PROP_META_KEY: string = \"stringNumber\";\r\n/**\r\n * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.\r\n */\r\n\r\n/**\r\n * Decorator for properties of businessobjects that are sent to us as strings from the database, but which we want to use as a number in the client.\r\n *\r\n * Can be handy for incongruent backend api cases, where id data types are communicated wrongly via strings instead of numbers\r\n * (e.g. on EmployeeFullObject.district, points to a District which has a number id, but in employee it's a string representation of that number...)\r\n *\r\n * Used by business object factory and -serializer.\r\n *\r\n * Usage:\r\n *\r\n * @StringNumber()\r\n * public rights: UserRightType\r\n */\r\nexport function StringNumber(): PropertyDecorator {\r\n return function (target: any, propertyKey: string): void {\r\n if (!target || !propertyKey) {\r\n return;\r\n }\r\n Reflect.defineMetadata(PROP_META_KEY, undefined, target, propertyKey);\r\n };\r\n}\r\n\r\n// Utility function holder of the @StringNumber() decorator.\r\nexport class StringNumberDecorator {\r\n\r\n // Returns whether given property (as a string) on given object is decorated with @StringNumber().\r\n public static IsStringNumber(target: Object, propertyKey: string): boolean {\r\n if (!target || !propertyKey || typeof target !== \"object\") {\r\n return false;\r\n }\r\n return Reflect.hasMetadata(PROP_META_KEY, target, propertyKey);\r\n }\r\n\r\n public static StringAsNumber(str: string): number {\r\n return NumberUtils.ParseFloatKeepPrecision(str);\r\n }\r\n\r\n public static NumberAsString(nr: number): string {\r\n return \"\" + nr;\r\n }\r\n}\r\n","// @returns true iff given value equals null or equals undefined\r\nexport function isNill(value: any): boolean {\r\n return value === null || value === undefined;\r\n}","import {ObjectUtils} from \"@colijnit/transactionapi/build/utils/object-utils\";\r\nimport {NumberUtils} from \"@colijnit/transactionapi/build/utils/number-utils\";\r\nimport {isNill} from \"@colijnit/transactionapi/build/utils/function/is-nill.function\";\r\nimport {notNill} from \"@colijnit/transactionapi/build/utils/function/not-nill.function\";\r\n\r\nexport class ArrayUtils {\r\n /**\r\n * Returns whether at least one element in given array could be found by given finder function.\r\n *\r\n * @param {T[]} array\r\n * @param {(element: T) => boolean} finder A finder function that takes an element of the array and returns a boolean that represents\r\n * the 'found status' for that element; whether it should have been found or not.\r\n */\r\n public static ContainsAnElementFoundBy<T>(array: T[], finder: (element: T) => boolean): boolean {\r\n if (!array || !finder) {\r\n return false;\r\n }\r\n\r\n return notNill(this.Find<T>(array, finder));\r\n }\r\n\r\n /**\r\n * Cross-browser Array.find() function. Returns the first item in given array for which the foundBy function returns true. Returns\r\n * undefined when none was found.\r\n *\r\n * Example usage:\r\n * const foundItem: BusinessObject = ArrayUtils.Find<BusinessObject>(modelArray, (modelItem: BusinessObject) => <br>\r\n * (return modelItem.getId() === '1')\r\n * * });\r\n *\r\n * @param array The array with items to search in.\r\n * @param foundBy The finder function applied on each items of the array, when that returns true, the item is considered found.\r\n */\r\n public static Find<T>(array: T[], foundBy: (item: T) => boolean): T {\r\n if (!array || !foundBy) {\r\n return undefined;\r\n }\r\n\r\n for (let i: number = 0, len: number = array.length; i < len; i++) {\r\n const itemCur: T = array[i];\r\n if (foundBy(itemCur) ) {\r\n return itemCur;\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n // @returns empty array when nothing found, otherwise array with found items\r\n public static FindAll<T>(array: T[], foundBy: (item: T) => boolean): T[] {\r\n const answer: T[] = [];\r\n if (!array || !foundBy) {\r\n return answer;\r\n }\r\n\r\n for (let i: number = 0, len: number = array.length; i < len; i++) {\r\n const itemCur: T = array[i];\r\n if (foundBy(itemCur)) {\r\n answer.push(itemCur);\r\n }\r\n }\r\n return answer;\r\n }\r\n\r\n // returns a simple clone of given array, using array.slice(0)\r\n public static CloneArray<T>(array: T[]): T[] {\r\n let answer: T[] = [];\r\n\r\n if (array) {\r\n answer = array.slice(0);\r\n }\r\n\r\n return answer;\r\n }\r\n\r\n /**\r\n * Returns a 'semi deep clone' of given array. Its first-level members are object-shallow-cloned (optionally with a strongly typed constructor),\r\n * or just as plain object (see param arrayItemsClass).\r\n * @param array\r\n * @param arrayItemsClass If provided, the cloned array's first-level items will be strongly typed to / constructed as this class. Otherwise\r\n * it'll be a plain object.\r\n * @param deepClone Set to true if array items contain FUNCTIONS that need to be cloned..\r\n * @returns {Array} semi-deep clone of given array\r\n */\r\n public static CloneArrayAndItsItems<T>(array: T[], arrayItemsClass?: any, deepClone: boolean = false): T[] {\r\n const cloneArray: T[] = [];\r\n\r\n if (array) {\r\n for (let i: number = 0, len: number = array.length; i < len; i++) {\r\n if (deepClone) {\r\n cloneArray.push(ObjectUtils.GetDeepClone(array[i]));\r\n } else {\r\n cloneArray.push(ObjectUtils.GetShallowClone(array[i], arrayItemsClass));\r\n }\r\n }\r\n } else {\r\n return [];\r\n }\r\n\r\n return cloneArray;\r\n }\r\n\r\n /**\r\n * Removes element at given index from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really\r\n * removes the element using splice().\r\n *\r\n * @param {number} index\r\n * @param {any[]} array in-out\r\n * @returns {boolean} True if and only if the element on given index is succesfully removed from given array.\r\n */\r\n public static RemoveElementAtIndex(index: number, array: any[]): boolean {\r\n if (NumberUtils.IsNaN(index) || index < 0 || !Array.isArray(array) || array.length === 0) {\r\n return false;\r\n }\r\n\r\n if (index in array) {\r\n array.splice(index, 1);\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Removes given element from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really removes the\r\n * element using splice(). Also works on associative arrays.\r\n *\r\n * @param {T} element The element to remove.\r\n * @param {T[]} array The array to remove the element from.\r\n * @returns {boolean} True iff given element was truly successfully removed from given array.\r\n */\r\n public static RemoveElement<T>(element: T, array: T[]): boolean {\r\n if (!Array.isArray(array)) {\r\n return false;\r\n }\r\n\r\n const index: number = array.indexOf(element);\r\n return ArrayUtils.RemoveElementAtIndex(index, array);\r\n }\r\n\r\n // Checks if given array is defined, and is an array, and has length > 0, and, optionally checks that the first element is of type given clazz.\r\n public static IsArrayWithElements<T>(arrayToCheck: T[], classItemsMustBeInstanceOf?: any): boolean {\r\n if (isNill(arrayToCheck)) {\r\n return false;\r\n }\r\n\r\n if (Array.isArray(arrayToCheck) && arrayToCheck.length > 0) {\r\n if (classItemsMustBeInstanceOf) {\r\n return arrayToCheck[0] instanceof classItemsMustBeInstanceOf;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n // Removes all elements from given array for which given filter function holds true. Returns true if at least one removed, else false.\r\n public static RemoveElementsByFilter(array: any[], filterFunction: (item: any) => boolean): boolean {\r\n if (!ArrayUtils.IsArrayWithElements(array) || !filterFunction) {\r\n return false;\r\n }\r\n\r\n let atLeastOneRemoved: boolean = false;\r\n\r\n const len: number = array.length;\r\n for (let i: number = len - 1; i >= 0; i--) {\r\n const item: any = array[i];\r\n if (filterFunction.call(this, item) === true) {\r\n array.splice(i, 1);\r\n atLeastOneRemoved = true;\r\n }\r\n }\r\n\r\n return atLeastOneRemoved;\r\n }\r\n\r\n public static MoveElement<T>(element: T, toIndex: number, array: T[]): boolean {\r\n if (!Array.isArray(array) || isNill(toIndex)) {\r\n return false;\r\n }\r\n\r\n const fromIndex: number = array.indexOf(element);\r\n const toIndexCorrected: number = NumberUtils.GetNearestNumberWithinBounds(toIndex, 0, array.length - 1);\r\n if (fromIndex === -1 || array[toIndexCorrected] === element) {\r\n // element did not exist in given array, or already existed on given toIndex\r\n return false;\r\n }\r\n array.splice(toIndexCorrected, 0, array.splice(fromIndex, 1)[0]);\r\n return true;\r\n }\r\n\r\n // PRE: elements exists in given array. POST: given elementToPlace has a lower index than given afterThisElement. Array is in-out manipulated.\r\n public static PlaceElementAfterOther(array: any[], elementToPlace: any, afterThisElement: any): void {\r\n if (array) {\r\n const afterThisElIdx: number = array.indexOf(afterThisElement);\r\n const elToPlaceIdx: number = array.indexOf(elementToPlace);\r\n if (afterThisElIdx >= elToPlaceIdx) {\r\n ArrayUtils.MoveElement(elementToPlace, afterThisElIdx + 1, array);\r\n }\r\n }\r\n }\r\n}\r\n","/**\r\n * This type represents the concept of a business object ID type. ID's of business objects can be a primary number, a simple string or a\r\n * object for a composite key.\r\n *\r\n * Simply to prevent type declarations of 'number | string | Object' for BO ID data all over the application.\r\n */\r\nimport {MapPropertyDecorator} from \"@colijnit/transactionapi/build/factory/decorators/map-property.decorator\";\r\nimport {BooleanTextDecorator} from \"@colijnit/transactionapi/build/factory/decorators/boolean.decorator\";\r\nimport {JsonFieldFieldDecorator} from \"@colijnit/transactionapi/build/factory/decorators/json.decorator\";\r\nimport {ComplexArrayDecorator} from \"@colijnit/transactionapi/build/factory/decorators/complex-array.decorator\";\r\n\r\nexport type BusinessObjectIDType = number | string | Object;\r\n\r\nexport abstract class BusinessObject {\r\n // The ID of the model.\r\n public id: BusinessObjectIDType;\r\n\r\n // Overridable. Returns the ID of the model. Concrete model classes often override this method to provide their specific ID getter.\r\n public getId(): BusinessObjectIDType {\r\n return this.id;\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n protected setOwnMappedPropsFromRawData(rawData: any = {}): void {\r\n if (!rawData) {\r\n return;\r\n }\r\n Object.keys(this).forEach((key) => {\r\n // check if property needs to be mapped\r\n if (MapPropertyDecorator.IsMapProperty(this, key)) {\r\n const mapKeys: string[] = MapPropertyDecorator.GetMapProperty(this, key).split(\",\");\r\n const len: number = mapKeys.length;\r\n for (let i: number = 0; i < len; i++) {\r\n // eslint-disable-next-line \r\n const mapKey = mapKeys[i].trim();\r\n const objProp: any = rawData[mapKey];\r\n let decorated: boolean = false;\r\n if (rawData.hasOwnProperty(mapKey)) {\r\n if (BooleanTextDecorator.IsBooleanTextField(this, key)) {\r\n this[key] = BooleanTextDecorator.GetLogicalBooleanValue(objProp);\r\n decorated = true;\r\n }\r\n if (JsonFieldFieldDecorator.IsJsonField(this, key)) {\r\n this[key] = JsonFieldFieldDecorator.StringAsJson(objProp);\r\n decorated = true;\r\n }\r\n if (ComplexArrayDecorator.IsComplexArray(this, key)) {\r\n const arrayClass: any = ComplexArrayDecorator.GetComplexArrayType(this, key);\r\n // eslint-disable-next-line \r\n const origArray = this[key];\r\n // eslint-disable-next-line \r\n const newArray = [];\r\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\r\n for (let j = 0; j < origArray.length; j++) {\r\n // eslint-disable-next-line\r\n const item = new arrayClass(origArray[j]);\r\n newArray.push(item);\r\n }\r\n this[key] = newArray;\r\n } else {\r\n if (!decorated) {\r\n this[key] = objProp;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n } else {\r\n if (rawData.hasOwnProperty(key)) {\r\n const objProp: any = rawData[key];\r\n if (BooleanTextDecorator.IsBooleanTextField(this, key)) {\r\n this[key] = BooleanTextDecorator.GetLogicalBooleanValue(objProp);\r\n } else if (JsonFieldFieldDecorator.IsJsonField(this, key)) {\r\n this[key] = JsonFieldFieldDecorator.StringAsJson(objProp);\r\n } else {\r\n this[key] = objProp;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import {ComplexFieldDecorator} from \"./decorators/complex-field.decorator\";\r\nimport {ComplexArrayDecorator} from \"./decorators/complex-array.decorator\";\r\nimport {BooleanTextDecorator} from \"./decorators/boolean.decorator\";\r\nimport {DateFieldFieldDecorator} from \"./decorators/date-field.decorator\";\r\nimport {StringNumberDecorator} from \"./decorators/string-number.decorator\";\r\nimport {isNill} from \"../utils/is-nill.function\";\r\nimport {ArrayUtils} from \"../utils/array-utils\";\r\nimport {BusinessObject} from \"../model/business-object\";\r\n\r\n// Factory service creates businessobjects, using their decorators in the process.\r\nexport class BusinessObjectFactory {\r\n constructor() {\r\n }\r\n\r\n /**\r\n * Creates and returns a new business data object instance of given class, with all given data properties applied to it in a\r\n * complex-aware style. That is, all properties on given class that are decorated with @ComplexField(..) or @ComplexArray(..) decorators\r\n * become strongly typed business objects, with methods that are usable and such.\r\n *\r\n * @param modelClass\r\n * @param {Object} rawData The object with all (possibly raw/flat/not alive) data to be applied to the created model object\r\n */\r\n public makeWithRawBackendData(modelClass: any, rawData: Object): BusinessObject {\r\n if (!modelClass) {\r\n return undefined;\r\n }\r\n if (typeof modelClass !== typeof BusinessObject) {\r\n return undefined;\r\n }\r\n\r\n const model: BusinessObject = new modelClass();\r\n this._copyAllPropertiesDecoratorProcessedFrom(rawData, model);\r\n return model;\r\n }\r\n\r\n // see makeWithRawBackendData, this is a loop-wrapper around that method\r\n public makeBOArrayFromRawBackendDataArray(modelClass: any, arrayOfRawDatas: Object[]): BusinessObject[] {\r\n if (!modelClass) {\r\n return undefined;\r\n }\r\n\r\n const trueClientBos: BusinessObject[] = [];\r\n if (arrayOfRawDatas) {\r\n for (let i: number = 0, len: number = arrayOfRawDatas.length; i < len; i++) {\r\n trueClientBos.push(this.makeWithRawBackendData(modelClass, arrayOfRawDatas[i]));\r\n }\r\n }\r\n return trueClientBos;\r\n }\r\n\r\n public instantiateNewBo(modelClass: any): BusinessObject {\r\n return this.makeWithRawBackendData(modelClass, {});\r\n }\r\n\r\n /**\r\n * Applies all properties of given 'source' object to the given 'destination' businessobject, if destination has that property.\r\n * Works with the @ComplexField(), @ComplexArray, @BooleanText, @CoInject and @DateField annotations of given destination model.\r\n *\r\n * @param sourceData Raw data to copy to destination model\r\n * @param {BusinessObject} destinationModel InOut: The annotated businessobject to apply source properties to\r\n */\r\n private _copyAllPropertiesDecoratorProcessedFrom(sourceData: any, destinationModel: BusinessObject): void {\r\n if (!sourceData || !destinationModel) {\r\n return;\r\n }\r\n\r\n // process all source data into destinationModel\r\n for (const srcPropKey in sourceData) {\r\n if (!sourceData.hasOwnProperty(srcPropKey)) {\r\n continue;\r\n }\r\n\r\n const srcPropVal: any = sourceData[srcPropKey];\r\n\r\n if (ComplexFieldDecorator.IsComplexField(destinationModel, srcPropKey)) {\r\n const classOfField: any = ComplexFieldDecorator.GetComplexFieldType(destinationModel, srcPropKey);\r\n destinationModel[srcPropKey] = this.makeWithRawBackendData(classOfField, srcPropVal);\r\n } else if (ComplexArrayDecorator.IsComplexArray(destinationModel, srcPropKey)) {\r\n const sourceArray: any[] = srcPropVal;\r\n if (!sourceArray) {\r\n continue;\r\n }\r\n const classOfArrayItems: any = ComplexArrayDecorator.GetComplexArrayType(destinationModel, srcPropKey);\r\n const tempArray: any[] = [];\r\n for (let i: number = 0, len: number = sourceArray.length; i < len; i++) {\r\n tempArray.push(this.makeWithRawBackendData(classOfArrayItems, sourceArray[i]));\r\n }\r\n destinationModel[srcPropKey] = tempArray;\r\n } else if (BooleanTextDecorator.IsBooleanTextField(destinationModel, srcPropKey)) {\r\n // logical 'true' and 'false' also allowed as incoming values for @BooleanText() properties: then just copy their value\r\n if (typeof srcPropVal === \"boolean\") {\r\n destinationModel[srcPropKey] = srcPropVal;\r\n // here, it should be a 'J' or 'N' (or 'T' or 'F'): assign the associated boolean value\r\n } else {\r\n destinationModel[srcPropKey] = BooleanTextDecorator.GetLogicalBooleanValue(srcPropVal);\r\n }\r\n } else if (DateFieldFieldDecorator.IsDateField(destinationModel, srcPropKey)) {\r\n destinationModel[srcPropKey] = DateFieldFieldDecorator.StringAsDate(srcPropVal);\r\n } else if (StringNumberDecorator.IsStringNumber(destinationModel, srcPropKey)) {\r\n destinationModel[srcPropKey] = StringNumberDecorator.StringAsNumber(srcPropVal);\r\n }\r\n // non-decorated prop\r\n else {\r\n if (isNill(srcPropVal)) {\r\n destinationModel[srcPropKey] = undefined;\r\n } else if (Array.isArray(srcPropVal)) {\r\n destinationModel[srcPropKey] = ArrayUtils.CloneArray(srcPropVal);\r\n } else if (typeof srcPropVal === \"object\") {\r\n if (srcPropVal instanceof Map) { //just copy the value in case of maps\r\n destinationModel[srcPropKey] = srcPropVal;\r\n } else {\r\n destinationModel[srcPropKey] = Object.assign({}, srcPropVal);\r\n }\r\n } else {\r\n destinationModel[srcPropKey] = srcPropVal;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","export class StandardText {\r\n public textId: number;\r\n public description: string;\r\n public text: string;\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class CollectionCacheService {\r\n\r\n private _collectionCacheMap: Map<string, any[]> = new Map<string, any[]>();\r\n private _collectionCacheParameterizedMap: Map<string, Map<string, any[]>> = new Map<string, Map<string, any[]>>();\r\n\r\n public getCollection(clazz: string, params?: any[]): any[] {\r\n const coll = this._collectionCacheMap.get(clazz);\r\n if (params && params.length > 0) {\r\n const collParam = this._collectionCacheParameterizedMap.get(clazz);\r\n if (collParam) {\r\n return collParam.get(params.join('_'));\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n return coll;\r\n }\r\n\r\n public cacheCollection(clazz: string, collection: any[], params?: any[]): void {\r\n if (params && params.length > 0) {\r\n const paramMap = new Map()\r\n paramMap.set(params.join('_'), collection);\r\n this._collectionCacheParameterizedMap.set(clazz, paramMap);\r\n } else {\r\n this._collectionCacheMap.set(clazz, collection);\r\n }\r\n\r\n }\r\n\r\n}\r\n","import {Injectable} from \"@angular/core\";\nimport {Marketing} from \"@colijnit/transactionapi/build/model/marketing.bo\";\nimport {CustomerFullObject} from \"@colijnit/transactionapi/build/model/customer-full-object.bo\";\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\nimport {PrivacySetting } from \"@colijnit/transactionapi/build/model/privacy-setting.bo\";\nimport {RelationPrivacySetting} from \"@colijnit/transactionapi/build/model/relation-privacy-setting.bo\";\nimport {SequenceName} from \"@colijnit/transactionapi/build/enum/sequence-name.enum\";\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\nimport {DeliveryOption} from \"@colijnit/transactionapi/build/model/delivery-option.bo\";\nimport {SetTransactionDeliveryOptionsRequest} from \"@colijnit/transactionapi/build/model/set-transaction-delivery-options-request.bo\";\nimport {GetPostalCodeRetrievalOutputParams} from \"@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params\";\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\nimport {RelationRequest} from \"@colijnit/transactionapi/build/model/relation-request\";\nimport {TransactionLineType} from \"@colijnit/transactionapi/build/enum/transaction-line-type.enum\";\nimport {CoDomainValue} from \"@colijnit/transactionapi/build/model/co-domain-value.bo\";\nimport {TransactionArticleWarehouse} from \"@colijnit/transactionapi/build/model/transaction-article-warehouse.bo\";\nimport {ArticleFullObject} from \"@colijnit/transactionapi/build/model/article-full-object\";\nimport {TransactionResponseBase} from \"@colijnit/transactionapi/build/model/transaction-response-base.bo\";\nimport {Transaction} from \"@colijnit/transactionapi/build/transaction\";\nimport {DataServiceResponseData} from \"@colijnit/transactionapi/build/model/data-service-response-data\";\nimport {BusinessObjectFactory} from \"../factory/business-object-factory\";\nimport {ImageUtils} from \"@colijnit/transactionapi/build/utils/image-utils\";\nimport {StandardText} from \"../model/standard-text\";\nimport {CustomerGroup} from \"@colijnit/transactionapi/build/model/customer-group.bo\";\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\nimport {OptionsService} from \"./options.service\";\nimport {CashRegister} from \"@colijnit/transactionapi/build/model/cash-register\";\nimport {ChangeLineSequenceRequest} from \"@colijnit/transactionapi/build/model/change-line-sequence-request\";\nimport {ResolveLinePendingReasonRequest} from \"@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo\";\nimport {PriceList} from \"@colijnit/transactionapi/build/model/price-list\";\nimport {Vat} from \"@colijnit/transactionapi/build/model/vat\";\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\nimport {TransactionSearchViewRequest} from \"@colijnit/transactionapi/build/model/transaction-search-view-request\";\nimport {TransactionSearchView} from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\nimport {BranchLov} from \"@colijnit/transactionapi/build/model/branch-lov.bo\";\nimport {SalesPerson} from \"@colijnit/transactionapi/build/model/sales-person.bo\";\nimport {Tag} from \"@colijnit/transactionapi/build/model/tag\";\nimport {OnHoldCode} from \"@colijnit/transactionapi/build/model/on-hold-code.bo\";\nimport {Warehouse} from \"@colijnit/transactionapi/build/model/warehouse.bo\";\nimport {CodeDescription} from \"@colijnit/transactionapi/build/model/code-description\";\nimport {CollectionCacheService} from \"./collection-cache.service\";\nimport {\n ReceiveGoodsForPurchaseOrderRequest\n} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-request.bo\";\nimport {GoodsReceiptStatusWithHistory} from \"@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo\";\nimport {\n ReceiveGoodsForPurchaseOrderCorrectionRequest\n} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-correction-request.bo\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class TransactionConnectorService {\n public connector: Transaction;\n\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\n private _countryList: Country[] = [];\n\n constructor(\n private _optionsService: OptionsService,\n private _collectionService: CollectionCacheService\n ) {}\n\n public async connect(): Promise<void> {\n this.connector = new Transaction(this._optionsService.options);\n }\n\n public async getArticleFullObject(goodId: number): Promise<ArticleFullObject> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getArticleFullObject(goodId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObject) {\n resolve(this._boFactory.makeWithRawBackendData(ArticleFullObject, result.resultObject));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getGoodIdFromArticleNr(articleNr: string): Promise<number> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getGoodIdFromArticleNr(articleNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.resultObject);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getSingleImage(nodeId: number | string, publication: number, includeMimetype: boolean, thumb: boolean): Promise<string> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getSingleImage(nodeId, publication, includeMimetype, thumb).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObject && result.resultObject.filePath !== null && result.resultObject.filePath !== undefined && result.resultObject.filePath !== \"\") {\n return resolve(ImageUtils.getFixedImageFilepathUrl(result.resultObject.filePath));\n } else {\n if (result.resultObject) {\n if (includeMimetype) {\n return resolve(ImageUtils.getDocBodyWithMimeTypeDefinition(result.resultObject.fileName,\n thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody));\n }\n return resolve(thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody);\n }\n else { // no image\n resolve(\"\");\n }\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getDocumentContent(id: number, thumbnail: boolean = true): Promise<string> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getDocumentContent(id, thumbnail).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.resultObject.documentContent);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getCountries(): Promise<Country[]> {\n if (this._countryList.length > 0) {\n return new Promise((resolve: Function) => {\n resolve(this._countryList);\n });\n }\n\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getCountries().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n this._countryList = result.resultObjects;\n resolve(result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getCustomerGroups(): Promise<CustomerGroup[]> {\n const response: DataServiceResponseData = await this.connector.getCustomerGroups();\n if (response && response.validationResult && response.validationResult.success) {\n return response.resultObjects;\n } else {\n return [];\n }\n }\n\n public async getCountry(countryCode: string): Promise<Country> {\n await this.getCountries();\n return this._countryList.find(country => country.code === countryCode);\n }\n\n public getPrivacySettings(): Promise<PrivacySetting[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getPrivacySettings().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<PrivacySetting[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getRelationPrivacySettings(): Promise<RelationPrivacySetting[]> {\n const privacySettings: RelationPrivacySetting[] = [];\n\n const basePrivacySettings: PrivacySetting[] = await this.getPrivacySettings();\n for (let i: number = 0, len: number = basePrivacySettings.length; i < len; i++) {\n const basePrivSetting: PrivacySetting = basePrivacySettings[i];\n const newRelPrivSet: RelationPrivacySetting = <RelationPrivacySetting><unknown>this._boFactory.instantiateNewBo(RelationPrivacySetting);\n newRelPrivSet.applyBasePrivacySettingValues(basePrivSetting);\n privacySettings.push(newRelPrivSet);\n }\n return privacySettings;\n }\n\n public getMarketingCodes(): Promise<Marketing[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getMarketingCodes().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<CoDomainValue[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public createTransaction(kind: TransactionKind, branchNr: string): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.createTransaction(kind, branchNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getArticleBoundTextLinesOfArticleLine(articleLineUuid: string): Promise<TransactionLineInfo[]> {\n const result: DataServiceResponseData = await this.connector.getArticleBoundTextLinesOfArticleLine(articleLineUuid);\n if (result.validationResult && result.validationResult.success) {\n return <TransactionLineInfo[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(TransactionLineInfo, result.resultObject);\n } else {\n return [];\n }\n }\n\n public getTransactionByNrAndKind(kind: TransactionKind, transactionNo: number): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getTransactionByNrAndKind(kind, transactionNo).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getTransactionById(transactionId: number): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getTransactionById(transactionId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public commit(): Promise<DataServiceResponseData> {\n return this.connector.commit();\n }\n\n public saveTransaction(uuid: string): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.saveTransaction(uuid).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getCustomerFullObject(relationNo: number): Promise<CustomerFullObject> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getCustomerFullObject(relationNo).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getCashRegisters(branch?: string, group?: number): Promise<CashRegister[]> {\n const response: DataServiceResponseData = await this.connector.getCashRegister(branch, group);\n if (response.validationResult && response.validationResult.success) {\n return <CashRegister[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(CashRegister, response.resultObjects);\n } else {\n return [];\n }\n }\n\n public async getRelationNumber(relationId: number): Promise<string> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getRelationNumber(relationId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.resultObject);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getPriceLists(code?: string): Promise<PriceList[]> {\n const response = await this.connector.getPriceLists(code);\n if (response.validationResult && response.validationResult.success) {\n return <unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(PriceList, response.resultObjects) as PriceList[];\n } else {\n return []; // todo: handle error messages in a good way\n }\n }\n\n public async getVatList(onlyValid: boolean = false): Promise<Vat[]> {\n const response = await this.connector.getVatList(onlyValid);\n if (response.validationResult && response.validationResult.success) {\n return <unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(Vat, response.resultObjects) as Vat[];\n } else {\n return []; // todo: handle error messages in a good way\n }\n }\n\n public async searchTransactions(request: TransactionSearchViewRequest): Promise<TransactionSearchView[]> {\n const response = await this.connector.searchTransactions(request);\n if (response.validationResult && response.validationResult.success) {\n return <unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(TransactionSearchView, response.resultObjects) as TransactionSearchView[];\n } else {\n return []; // todo: handle error messages in a good way\n }\n }\n\n public async getSequenceValue(sequenceName: SequenceName): Promise<number> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getSequenceValue(sequenceName).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.resultObject);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async insertCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.insertCustomer(relation).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async updateCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.updateCustomer(relation).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getDeliveryMethods(): Promise<DeliveryMethod[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getDeliveryMethods().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryMethod, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getDeliveryOptions(): Promise<DeliveryOption[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getDeliveryOptions().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryMethod, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async addRelationToTransaction(uuid: string, relationId: number): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.addRelationToTransaction(uuid, relationId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async setTransactionDeliveryOptions(transactionDeliveryOptionsRequest: SetTransactionDeliveryOptionsRequest): Promise<TransactionResponseBase> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.setTransactionDeliveryOptions(transactionDeliveryOptionsRequest).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getPostalCodeRetrieval(postcalCode: string, houseNo: string): Promise<GetPostalCodeRetrievalOutputParams> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getPostalCodeRetrieval(postcalCode, houseNo).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n const outputParams: GetPostalCodeRetrievalOutputParams = new GetPostalCodeRetrievalOutputParams();\n outputParams.city = result.resultObject.city;\n outputParams.street = result.resultObject.street;\n outputParams.status = result.resultObject.status;\n outputParams.netNumber = result.resultObject.netNumber;\n resolve(outputParams);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getRelationListObjects(relationRequest: RelationRequest): Promise<RelationListObject[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getRelationListObjects(relationRequest).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(RelationListObject, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async addTransactionLine(\n uuid: string,\n articleLine: TransactionLineType,\n articleNo: string,\n amount: number,\n warehouseNo: number,\n commissionCode: string,\n isReturn: boolean,\n aboveLineNr: number,\n belowLineNr: number\n ):\n Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.addTransactionLine(uuid, articleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async addTextLineToTransaction(uuid: string, showOnDocuments: number, text: string, amount: number, articleBound: boolean, refArticleLineNr: number, aboveLineNr?: number, belowLineNr?: number):\n Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.addTextLineToTransaction(uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async changeLineSequence(uuid: string, lineUuid: string, aboveLineNr?: number, belowLineNr?: number):\n Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n const request: ChangeLineSequenceRequest = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n aboveLineNr: aboveLineNr,\n belowLineNr: belowLineNr\n }\n return this.connector.changeLineSequence(request).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async cancelAddTransactionLine(lineUuid: string): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.cancelAddTransactionLine(lineUuid).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n\n }\n\n public async deleteTransactionLine(uuid: string, lineUuid: string): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.deleteTransactionLine(uuid, lineUuid).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n\n public async changeTransactionLineQuantity(uuid: string, lineUuid: string, newQuantity: number): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newQuantity: newQuantity\n }\n return this.connector.changeTransactionLineQuantity(request).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async resolvePendingLineReason(pendingLineValues: ResolveLinePendingReasonRequest): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.resolvePendingLineReason(pendingLineValues).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getCommissionCodes(languageCode: string): Promise<CoDomainValue[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getCommissionCodes(languageCode).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<CoDomainValue[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n\n }\n\n public async getInOutCollection(languageCode: string): Promise<CoDomainValue[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getInOutCollection(languageCode).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<CoDomainValue[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getTransactionArticleWarehouses(goodId: number): Promise<TransactionArticleWarehouse[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getTransactionArticleWarehouses(goodId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<TransactionArticleWarehouse[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async setRelationByUser(uuid: string, username: string, password: string): Promise<boolean> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.setRelationByUser(uuid, username, password).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.validationResult.success);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getTextTypes(languageCode: string): Promise<CoDomainValue[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getTextTypes(languageCode).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n const texts: CoDomainValue[] = <CoDomainValue[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);\n texts.sort((a, b) => a.sequence > b.sequence ? 1 : -1);\n resolve(texts);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getStandardTexts(languageCode: string): Promise<StandardText[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getStandardTexts(languageCode).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StandardText, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getBranches(branchNr?: string): Promise<BranchLov[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getBranches(branchNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(BranchLov, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getSalesPersons(date?: Date): Promise<SalesPerson[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getSalesPersons(date).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(SalesPerson, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getTags(category: number): Promise<Tag[]> {\n return new Promise((resolve: Function, reject: Function) => {\n const collection = this._collectionService.getCollection(Tag.name, [category]);\n if (collection) {\n return resolve(collection);\n }\n return this.connector.getTags(category).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n const collection: Tag[] = this._boFactory.makeBOArrayFromRawBackendDataArray(Tag, result.resultObjects) as unknown as Tag[];\n this._collectionService.cacheCollection(Tag.name, collection, [category]);\n resolve(collection);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getOnHoldCodes(): Promise<OnHoldCode[]> {\n return new Promise((resolve: Function, reject: Function) => {\n const collection = this._collectionService.getCollection(OnHoldCode.name);\n if (collection) {\n return resolve(collection);\n }\n return this.connector.getOnHoldCodes().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n const collection: OnHoldCode[] = this._boFactory.makeBOArrayFromRawBackendDataArray(OnHoldCode, result.resultObjects) as unknown as OnHoldCode[];\n this._collectionService.cacheCollection(OnHoldCode.name, collection);\n resolve(collection);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getWarehouses(branchNr?: string): Promise<Warehouse[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getWarehouses(branchNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Warehouse, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getHistoricStateValues(): Promise<CodeDescription[]> {\n return new Promise((resolve: Function, reject: Function) => {\n const result: DataServiceResponseData = this.connector.getHistoricStateValues();\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(CodeDescription, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n }\n\n public async changeTransactionLineCommissionCode(uuid: string, lineUuid: string, code: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newCommissionCode: code\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineCommissionCode(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineWarehouse(uuid: string, lineUuid: string, warehouseNumber: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newWarehouseNumber: warehouseNumber\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineWarehouse(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLinePrice(uuid: string, lineUuid: string, price: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newPrice: price\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLinePrice(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLinePriceList(uuid: string, lineUuid: string, priceList: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newPriceListCode: priceList\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLinePriceList(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineVat(uuid: string, lineUuid: string, id: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newVatId: id\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineVat(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineLineDiscount(uuid: string, lineUuid: string, type: DiscountType, discount: number, reason: string, code: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n discountType: type,\n newDiscount: discount,\n newDiscountReason: reason,\n newDiscountCode: code\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineDiscount(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineDeliveryMethod(uuid: string, lineUuid: string, method: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newDeliveryMethodCode: method\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineDeliveryMethod(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineDeliveryDate(uuid: string, lineUuid: string, date: Date): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newDeliveryDate: date\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineDeliveryDate(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineAssemblyTime(uuid: string, lineUuid: string, time: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newAssemblyTime: time\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineAssemblyTime(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineEditTime(uuid: string, lineUuid: string, time: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newEditTime: time\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineEditTime(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineSupplierArticleNumber(uuid: string, lineUuid: string, articleNumber: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newSupplierArticleNumber: articleNumber\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineSupplierArticleNumber(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineReference(uuid: string, lineUuid: string, reference: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newReference: reference\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineReference(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeHeaderTransactionDefinitive(uuid: string, definitive: boolean): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n newTransactionDefinitive: definitive\n };\n const response: DataServiceResponseData = await this.connector.changeHeaderTransactionDefinitive(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineCollectionCode(uuid: string, lineUuid: string, code: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newCollectionCode: code\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineCollectionCode(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async getGoodsReceiptStatus(transId: number, lineNr: number): Promise<GoodsReceiptStatusWithHistory> {\n const response: DataServiceResponseData = await this.connector.getGoodsReceiptStatus(transId, lineNr);\n if (response && response.validationResult && response.validationResult.success) {\n return <GoodsReceiptStatusWithHistory><unknown>this._boFactory.makeWithRawBackendData(GoodsReceiptStatusWithHistory, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async getGoodsReceiptStatusWithHistory(transId: number, lineNr: number): Promise<GoodsReceiptStatusWithHistory> {\n const response: DataServiceResponseData = await this.connector.getGoodsReceiptStatusWithHistory(transId, lineNr);\n if (response && response.validationResult && response.validationResult.success) {\n return <GoodsReceiptStatusWithHistory><unknown>this._boFactory.makeWithRawBackendData(GoodsReceiptStatusWithHistory, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async receiveGoodsForPurchaseOrder(request: ReceiveGoodsForPurchaseOrderRequest): Promise<TransactionInfoResponse> {\n const response: DataServiceResponseData = await this.connector.receiveGoodsForPurchaseOrder(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async receiveGoodsForPurchaseOrderCorrection(request: ReceiveGoodsForPurchaseOrderCorrectionRequest): Promise<TransactionInfoResponse> {\n const response: DataServiceResponseData = await this.connector.receiveGoodsForPurchaseOrderCorrection(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n}\n","export enum AppPopupButtonType {\r\n Ok,\r\n Open,\r\n Save,\r\n Cancel,\r\n Yes,\r\n No,\r\n NoButton\r\n}\r\n","import {AppPopupButtonType} from \"../enum/app-popup-button-type.enum\";\r\n\r\nexport abstract class DialogBaseComponent {\r\n\r\n onClose(eventType: AppPopupButtonType, output?: any): void {\r\n return;\r\n }\r\n}\r\n","export enum AppPopupType {\r\n Error,\r\n Warning,\r\n Information,\r\n Confirmation\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogBaseComponent} from \"../core/base/dialog-base.component\";\r\nimport {AppPopupButtonType} from \"../core/enum/app-popup-button-type.enum\";\r\nimport {AppPopupType} from \"../core/enum/app-popup-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-confirmation-dialog\",\r\n template: `\r\n <co-dialog [showCloseIcon]=\"false\">\r\n <div class=\"confirmation-dialog-wrapper\">\r\n <div class=\"title\" [textContent]=\"title | localize\"></div>\r\n <div class=\"text\" [textContent]=\"text\"></div>\r\n <div class=\"button-wrapper\">\r\n <ng-container *ngIf=\"type === ptype.Confirmation\">\r\n <co-button [label]=\"'YES' | localize\" (click)=\"handleYesClick($event)\"></co-button>\r\n <co-button [label]=\"'NO' | localize\" (click)=\"handleNoClick($event)\"></co-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"type === ptype.Information\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick($event)\"></co-button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ConfirmationDialogComponent extends DialogBaseComponent {\r\n public readonly ptype: typeof AppPopupType = AppPopupType;\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public text: string;\r\n\r\n @Input()\r\n public type: AppPopupType\r\n\r\n @HostBinding(\"class.co-confirmation-dialog\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public handleYesClick(event: MouseEvent): void {\r\n this.onClose(AppPopupButtonType.Yes);\r\n }\r\n\r\n public handleNoClick(event: MouseEvent): void {\r\n this.onClose(AppPopupButtonType.No);\r\n }\r\n\r\n public handleOkClick(event: MouseEvent): void {\r\n this.onClose(AppPopupButtonType.Ok);\r\n }\r\n}\r\n","import {ApplicationRef, ComponentFactoryResolver, EmbeddedViewRef, Injectable, Injector} from \"@angular/core\";\r\nimport {AppPopupButtonType} from \"../component/core/enum/app-popup-button-type.enum\";\r\nimport {ConfirmationDialogComponent} from \"../component/confirmation-dialog/confirmation-dialog.component\";\r\nimport {AppPopupType} from \"../component/core/enum/app-popup-type.enum\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DialogService {\r\n\r\n private _componentRef: any;\r\n\r\n constructor(\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector\r\n ) {\r\n }\r\n\r\n public async showYesNo(title: string, text: string): Promise<any> {\r\n const data: {} = {\r\n title: title,\r\n text: text,\r\n type: AppPopupType.Confirmation\r\n };\r\n const response = await this._createComponent(ConfirmationDialogComponent, data);\r\n return response === AppPopupButtonType.Yes;\r\n }\r\n\r\n public showError(message: string): Promise<any> {\r\n const data: {} = {\r\n title: 'ERROR',\r\n text: message,\r\n type: AppPopupType.Error\r\n };\r\n return this._createComponent(ConfirmationDialogComponent, data);\r\n }\r\n\r\n public showInformation(message: string): Promise<any> {\r\n const data: {} = {\r\n title: 'INFORMATION',\r\n text: message,\r\n type: AppPopupType.Information\r\n };\r\n return this._createComponent(ConfirmationDialogComponent, data);\r\n }\r\n\r\n private _createComponent(componentClass: any, data: any): Promise<any> {\r\n return new Promise((resolve: Function) => {\r\n this._componentRef = this._compFactoryResolver\r\n .resolveComponentFactory(componentClass)\r\n .create(this.injector);\r\n for (let key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n this._componentRef.instance[key] = data[key];\r\n }\r\n }\r\n\r\n this.appRef.attachView(this._componentRef.hostView);\r\n\r\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n document.body.appendChild(domElem);\r\n this._componentRef.onDestroy(() => {\r\n this.appRef.detachView(this._componentRef.hostView);\r\n });\r\n\r\n this._componentRef.instance.onClose = (output: any) => {\r\n this.appRef.detachView(this._componentRef.hostView);\r\n this._componentRef = undefined;\r\n resolve(output);\r\n }\r\n })\r\n }\r\n\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {LineOperationStatus} from \"@colijnit/transactionapi/build/model/line-operation-status.bo\";\r\nimport {PendingReasonType} from \"@colijnit/transactionapi/build/enum/pending-reason-type.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {ValidationResult} from \"@colijnit/transactionapi/build/model/validation-result\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {TransactionConnectorService} from \"./transaction-connector.service\";\r\nimport {BehaviorSubject} from \"rxjs\";\r\nimport {CustomerFullObject} from \"@colijnit/transactionapi/build/model/customer-full-object.bo\";\r\nimport {TransactionLineType} from \"@colijnit/transactionapi/build/enum/transaction-line-type.enum\";\r\nimport {RelationStatus} from \"@colijnit/transactionapi/build/enum/relation-status.enum\";\r\nimport {DialogService} from \"./dialog.service\";\r\nimport {ResolveLinePendingReasonRequest} from \"@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class PendingReasonService {\r\n public transactionUpdated: BehaviorSubject<TransactionInfoResponse> = new BehaviorSubject<TransactionInfoResponse>(undefined);\r\n\r\n public applicationUser: boolean = false;\r\n public currentTransaction: TransactionInfoResponse = new TransactionInfoResponse();\r\n public relation: CustomerFullObject = new CustomerFullObject();\r\n\r\n public articleAmount: number = 0;\r\n\r\n constructor(\r\n protected dialogService: DialogService,\r\n protected options: OptionsService,\r\n protected connector: TransactionConnectorService\r\n ) {\r\n }\r\n\r\n public async init(options: any): Promise<void> {\r\n await this.options.initialize(options);\r\n this.connector.connect();\r\n }\r\n\r\n public async cancelAddTransactionLine(lineUuid: string, remember: boolean = true): Promise<TransactionInfoResponse> {\r\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\r\n this.connector.cancelAddTransactionLine(lineUuid)\r\n .then(async (response: TransactionInfoResponse) => {\r\n if (remember) {\r\n this._rememberCurrentTransaction(response);\r\n }\r\n if (response.isSuccess) {\r\n resolve(response);\r\n } else {\r\n reject(response);\r\n }\r\n })\r\n .catch((reason: ValidationResult) => {\r\n resolve(null);\r\n });\r\n });\r\n }\r\n\r\n protected async handleLineOperationStatuses(response: TransactionInfoResponse): Promise<boolean> {\r\n if (!response.lineOperationStatuses || response.lineOperationStatuses.length === 0) {\r\n return true;\r\n }\r\n let success: boolean = true;\r\n for (let i: number = 0; i < response.lineOperationStatuses.length; i++) {\r\n const status: LineOperationStatus = response.lineOperationStatuses[i];\r\n const transLine: TransactionLineInfo = response.transactionLines.find(t => t.lineNr === status.lineNr);\r\n success = success && await this._handleLineOperationStatus(status, transLine);\r\n }\r\n return success;\r\n }\r\n\r\n protected async _rememberCurrentTransaction(value: TransactionInfoResponse): Promise<void> {\r\n this.currentTransaction = value;\r\n this._setAmount();\r\n this._initializeTransaction();\r\n this.transactionUpdated.next(this.currentTransaction);\r\n }\r\n\r\n private async _handleLineOperationStatus(operationStatus: LineOperationStatus, transactionLine: TransactionLineInfo): Promise<boolean> {\r\n switch (operationStatus.pendingReasonType) {\r\n case PendingReasonType.ABORTED:\r\n case PendingReasonType.CANCELLED:\r\n if (operationStatus.pendingReason === 'USER_DECISION') {\r\n await this._cancelArticle(operationStatus.uuid);\r\n } else {\r\n this._showReasonDialog(operationStatus.pendingReason);\r\n }\r\n return false;\r\n case PendingReasonType.CONFIRMATION_NEEDED:\r\n await this._confirmAction(transactionLine.uuid, operationStatus.pendingReason, operationStatus.pendingReasonType);\r\n return false;\r\n // case PendingReasonType.INVALID_LOGISTICS:\r\n // await this.showStockManager(this.currentPendingLine);\r\n // break;\r\n // case PendingReasonType.NON_CRITICAL_DISCONTINUATION:\r\n // await this._showInformation();\r\n // break;\r\n // case PendingReasonType.CHARACTERISTICS_ANSWER_NEEDED:\r\n // this.CharacteristicsAnswerNeeded();\r\n // break;\r\n case PendingReasonType.NONE:\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n public async resolvePendingLineReason(pendingLineValues: ResolveLinePendingReasonRequest): Promise<void> {\r\n const response: TransactionInfoResponse = await this.connector.resolvePendingLineReason(pendingLineValues);\r\n this._rememberCurrentTransaction(response);\r\n this.handleLineOperationStatuses(response);\r\n }\r\n\r\n private async _confirmAction(uuid: string, reason: string, type: PendingReasonType): Promise<void> {\r\n const reasonRequest = new ResolveLinePendingReasonRequest(uuid, reason, type);\r\n // const pendingReasonText: string = await this._getPendingReasonText(this.currentOperationStatus.pendingReason);\r\n reasonRequest.confirmation = await this.dialogService.showYesNo('Action', reason);\r\n await this.resolvePendingLineReason(reasonRequest);\r\n // this._handleLineOperationStatus()\r\n }\r\n\r\n private async _showReasonDialog(reason: string): Promise<void> {\r\n this.dialogService.showInformation(reason);\r\n }\r\n\r\n private _setAmount(): void {\r\n if (this.currentTransaction && this.currentTransaction.transactionLines) {\r\n this.articleAmount = this.currentTransaction.transactionLines.filter(t => t.lineType === TransactionLineType.ArticleLine).length;\r\n }\r\n }\r\n\r\n private _initializeTransaction(): void {\r\n if (!this.relation) {\r\n this.relation = new CustomerFullObject();\r\n this.relation.relationStatus = RelationStatus.RegularCustomer;\r\n this.relation.startDate = new Date();\r\n }\r\n if (this.currentTransaction.transactionInfo.preferredDeliveryDate2 === undefined) {\r\n this.currentTransaction.transactionInfo.preferredDeliveryDate2 = \"=\";\r\n }\r\n }\r\n\r\n private async _cancelArticle(uuid: string): Promise<void> {\r\n await this.cancelAddTransactionLine(uuid, false)\r\n .then((response: TransactionInfoResponse) => {\r\n this._rememberCurrentTransaction(response);\r\n }\r\n );\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\nimport {AddressType} from \"@colijnit/transactionapi/build/enum/address-type.enum\";\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\nimport {PendingReasonType} from \"@colijnit/transactionapi/build/enum/pending-reason-type.enum\";\nimport {SequenceName} from \"@colijnit/transactionapi/build/enum/sequence-name.enum\";\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\nimport {TransactionLineType} from \"@colijnit/transactionapi/build/enum/transaction-line-type.enum\";\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\nimport {ArticleFullObject} from \"@colijnit/transactionapi/build/model/article-full-object\";\nimport {BranchLov} from \"@colijnit/transactionapi/build/model/branch-lov.bo\";\nimport {CashRegister} from \"@colijnit/transactionapi/build/model/cash-register\";\nimport {CoDomainValue} from \"@colijnit/transactionapi/build/model/co-domain-value.bo\";\nimport {CodeDescription} from \"@colijnit/transactionapi/build/model/code-description\";\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\nimport {CustomerFullObject} from \"@colijnit/transactionapi/build/model/customer-full-object.bo\";\nimport {CustomerGroup} from \"@colijnit/transactionapi/build/model/customer-group.bo\";\nimport {DataServiceResponseData} from \"@colijnit/transactionapi/build/model/data-service-response-data\";\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\nimport {DeliveryOption} from \"@colijnit/transactionapi/build/model/delivery-option.bo\";\nimport {LineOperationStatus} from \"@colijnit/transactionapi/build/model/line-operation-status.bo\";\nimport {Marketing} from \"@colijnit/transactionapi/build/model/marketing.bo\";\nimport {NULL_CUSTOMER_FULL_OBJECT} from \"@colijnit/transactionapi/build/model/nul-relation-object\";\nimport {OnHoldCode} from \"@colijnit/transactionapi/build/model/on-hold-code.bo\";\nimport {PriceList} from \"@colijnit/transactionapi/build/model/price-list\";\nimport {RelationAnyType} from \"@colijnit/transactionapi/build/model/relation-any-type\";\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\nimport {RelationPrivacySetting} from \"@colijnit/transactionapi/build/model/relation-privacy-setting.bo\";\nimport {RelationRequest} from \"@colijnit/transactionapi/build/model/relation-request\";\nimport {SalesPerson} from \"@colijnit/transactionapi/build/model/sales-person.bo\";\nimport {Tag} from \"@colijnit/transactionapi/build/model/tag\";\nimport {TransactionArticleWarehouse} from \"@colijnit/transactionapi/build/model/transaction-article-warehouse.bo\";\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\nimport {TransactionSearchViewRequest} from \"@colijnit/transactionapi/build/model/transaction-search-view-request\";\nimport {TransactionSearchView} from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\nimport {ValidationResult} from \"@colijnit/transactionapi/build/model/validation-result\";\nimport {Vat} from \"@colijnit/transactionapi/build/model/vat\";\nimport {Warehouse} from \"@colijnit/transactionapi/build/model/warehouse.bo\";\nimport {throwError} from \"rxjs\";\nimport {StandardText} from \"../model/standard-text\";\nimport {PendingReasonService} from \"./pending-reason.service\";\nimport {\n ReceiveGoodsForPurchaseOrderRequest\n} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-request.bo\";\nimport {GoodsReceiptStatusWithHistory} from \"@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo\";\nimport {\n ReceiveGoodsForPurchaseOrderCorrectionRequest\n} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-correction-request.bo\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class TransactionService extends PendingReasonService {\n\n public pendingLineOperationStatus(lineOperationStatuses: LineOperationStatus[]): LineOperationStatus | undefined {\n const status: LineOperationStatus = lineOperationStatuses.find(line => line.pendingReasonType !== PendingReasonType.NONE\n && line.pendingReasonType !== PendingReasonType.NON_CRITICAL_DISCONTINUATION);\n return status;\n }\n\n public async updatePriceTransactionLine(uuid: string, lineUuid: string, price: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLinePrice(uuid, lineUuid, price)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateReferenceTransactionLine(uuid: string, lineUuid: string, reference: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineReference(uuid, lineUuid, reference)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateHeaderTransactionDefinitive(uuid: string, definitive: boolean): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionDefinitive(uuid, definitive)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateQuantityTransactionLine(uuid: string, lineUuid: string, quantity: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineQuantity(uuid, lineUuid, quantity)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateDeliveryDateTransactionLine(uuid: string, lineUuid: string, date: Date): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineDeliveryDate(uuid, lineUuid, date)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updatePriceListTransactionLine(uuid: string, lineUuid: string, priceList: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLinePriceList(uuid, lineUuid, priceList)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateVatTransactionLine(uuid: string, lineUuid: string, id: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineVat(uuid, lineUuid, id)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateCommissionCodeTransactionLine(uuid: string, lineUuid: string, code: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineCommissionCode(uuid, lineUuid, code)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateWarehouseTransactionLine(uuid: string, lineUuid: string, warehouseNumber: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineWarehouse(uuid, lineUuid, warehouseNumber)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateDeliveryMethodTransactionLine(uuid: string, lineUuid: string, method: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineDeliveryMethod(uuid, lineUuid, method)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public async updateDiscountTransactionLine(uuid: string, lineUuid: string, type: DiscountType, discount: number, reason: string = \"\", code: string = \"\"): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineLineDiscount(uuid, lineUuid, type, discount, reason, code)\n .catch((error) => {\n // todo: do something with the error\n return false;\n });\n if (response) {\n const success: boolean = await this.handleLineOperationStatuses(response);\n this._rememberCurrentTransaction(response);\n return success;\n }\n return false;\n }\n\n public searchTransactions(request: TransactionSearchViewRequest): Promise<TransactionSearchView[]> {\n return this.connector.searchTransactions(request);\n }\n\n public async saveRelation(): Promise<boolean> {\n // this._cleanRelationBeforeSave();\n if (!this.relation.relationId) {\n this.relation = await this.connector.insertCustomer(this.relation);\n } else {\n this.relation = await this.connector.updateCustomer(this.relation);\n }\n return await this.addRelationToTransaction(this.relation.relationId);\n }\n\n public getSequenceValue(): Promise<number> {\n return this.connector.getSequenceValue(SequenceName.RelationId);\n }\n\n public getRelationPrivacySettings(): Promise<RelationPrivacySetting[]> {\n return this.connector.getRelationPrivacySettings();\n }\n\n public getArticleBoundTextLinesOfArticleLine(articleLineUuid: string): Promise<TransactionLineInfo[]> {\n return this.connector.getArticleBoundTextLinesOfArticleLine(articleLineUuid);\n }\n\n public async createTransaction(): Promise<boolean> {\n return new Promise<boolean>((resolve: Function, reject: Function) => {\n this.connector.createTransaction(TransactionKind.SalesOrder, \"1\").then((response: TransactionInfoResponse) => {\n this._rememberCurrentTransaction(response);\n resolve(true);\n }, (error) => {\n reject(error);\n }).catch((reason: ValidationResult) => {\n reject(false);\n });\n });\n }\n\n public getTransaction(transactionNo: number): Promise<boolean> {\n return this.openExistingTransaction(TransactionKind.SalesOrder, transactionNo);\n }\n\n public openExistingTransaction(kind: TransactionKind, transactionNr: number): Promise<boolean> {\n return new Promise<boolean>((resolve: Function, reject: Function) => {\n this.connector.getTransactionByNrAndKind(kind, transactionNr)\n .then(async (response: TransactionInfoResponse) => {\n if (response.isSuccess) {\n this.transactionUpdated.next(response);\n resolve(true);\n } else {\n reject(false);\n }\n })\n .catch((reason: ValidationResult) => {\n reject(false);\n });\n });\n }\n\n\n public getTransactionById(transactionId: number): Promise<boolean> {\n return new Promise<boolean>((resolve: Function, reject: Function) => {\n this.connector.getTransactionById(transactionId)\n .then((response: TransactionInfoResponse) => {\n if (response.isSuccess) {\n this._rememberCurrentTransaction(response);\n this.transactionUpdated.next(response);\n resolve(true);\n } else {\n reject(false);\n }\n })\n .catch((reason: ValidationResult) => {\n reject(false);\n });\n });\n }\n\n public commit(): Promise<DataServiceResponseData> {\n return this.connector.commit();\n }\n\n public async saveTransaction(close: boolean = false): Promise<TransactionInfoResponse> {\n const response: TransactionInfoResponse = await this.connector.saveTransaction(this.currentTransaction.transactionInfo.uuid);\n if (response.isSuccess) {\n this._rememberCurrentTransaction(response);\n }\n return response;\n }\n\n public async saveTransactionByUuid(transactionUuid: string): Promise<boolean> {\n return new Promise<boolean>((resolve: Function, reject: Function) => {\n this.connector.saveTransaction(transactionUuid)\n .then(async (response: TransactionInfoResponse) => {\n if (response.isSuccess) {\n this.transactionUpdated.next(response);\n resolve(true);\n } else {\n reject(false);\n }\n })\n .catch((reason: ValidationResult) => {\n if (reason) {\n this.dialogService.showError(reason.getFullErrorString());\n }\n reject(false);\n });\n });\n }\n\n public async addRelationToTransaction(relationId: number): Promise<boolean> {\n await this._checkAndCreateTransaction();\n const result: TransactionInfoResponse = await this.connector.addRelationToTransaction(this.currentTransaction.transactionInfo.uuid, relationId);\n if (result.isSuccess) {\n this._rememberCurrentTransaction(result);\n return true;\n } else {\n return false;\n }\n }\n\n public getCommissionCodes(languageCode: string): Promise<CoDomainValue[]> {\n return this.connector.getCommissionCodes(languageCode);\n }\n\n public getInOutCollection(languageCode: string): Promise<CoDomainValue[]> {\n return this.connector.getInOutCollection(languageCode);\n }\n\n public getTransactionArticleWarehouses(goodId: number): Promise<TransactionArticleWarehouse[]> {\n return this.connector.getTransactionArticleWarehouses(goodId);\n }\n\n public getMarketingCodes(): Promise<Marketing[]> {\n return this.connector.getMarketingCodes();\n }\n\n public insertCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\n return this.connector.insertCustomer(relation);\n }\n\n public async updateCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\n return new Promise<CustomerFullObject>((resolve, reject) => {\n this.connector.updateCustomer(relation).then(async (response: CustomerFullObject) => {\n // this.currentTransaction.transactionInfo.relation = relation;\n resolve(response);\n })\n .catch((response: CustomerFullObject) => {\n resolve(response);\n });\n });\n }\n\n public getDeliveryMethods(): Promise<DeliveryMethod[]> {\n return this.connector.getDeliveryMethods();\n }\n\n public getDeliveryOptions(): Promise<DeliveryOption[]> {\n return this.connector.getDeliveryOptions();\n }\n\n public getRelationListObjects(relationRequest: RelationRequest): Promise<RelationListObject[]> {\n return this.connector.getRelationListObjects(relationRequest);\n }\n\n public async addArticle(\n articleNo: string,\n amount: number = 1,\n warehouseNo: number = 1,\n commissionCode: string = \"2\",\n isReturn: boolean = false,\n aboveLineNr: number = 0,\n belowLineNr: number = 0\n ): Promise<boolean> {\n await this._checkAndCreateTransaction();\n const response: TransactionInfoResponse = await this.connector.addTransactionLine(\n this.currentTransaction.transactionInfo.uuid, TransactionLineType.ArticleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr);\n if (await this.handleLineOperationStatuses(response)) {\n this._rememberCurrentTransaction(response);\n }\n return true;\n }\n\n // public async addArticleToTransaction(transactionUuid: string, articleNo: string, amount: number = 1, warehouseNo: number = 1, commissionCode: string = \"2\", isReturn: boolean = false, aboveLineNr: number = 0, belowLineNr: number = 0): Promise<LineOperationResponse> {\n // await this._checkAndCreateTransaction();\n // return new Promise<LineOperationResponse>((resolve, reject) => {\n // this.connector.addTransactionLine(transactionUuid, TransactionLineType.ArticleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr)\n // .then(async( response: LineOperationResponse) => {\n // resolve(response);\n // }, (error) => {\n // this._prompt.showError(error);\n // reject(error);\n // })\n // .catch((reason: ValidationResult) => {\n // this._prompt.showError(reason.getFullErrorString());\n // resolve(null);\n // });\n // });\n // }\n\n public async addTransactionLine(lineType: TransactionLineType,\n articleNo: string,\n amount: number,\n warehouseNo?: number,\n commissionCode?: string,\n isReturn?: boolean,\n aboveLineNr?: number,\n belowLineNr?: number,\n remember: boolean = true): Promise<TransactionInfoResponse> {\n await this._checkAndCreateTransaction();\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.addTransactionLine(this.currentTransaction.transactionInfo.uuid, lineType, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr)\n .then(async (response: TransactionInfoResponse) => {\n this._rememberCurrentTransaction(response);\n resolve(response);\n }, (error) => {\n reject(error);\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async addTextLine(\n showOnDocuments: number,\n text: string,\n amount: number,\n articleBound: boolean,\n refArticleLineNr: number,\n aboveLineNr?: number,\n belowLineNr?: number,\n remember: boolean = true): Promise<TransactionInfoResponse> {\n await this._checkAndCreateTransaction();\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.addTextLineToTransaction(this.currentTransaction.transactionInfo.uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr)\n .then(async (response: TransactionInfoResponse) => {\n this._rememberCurrentTransaction(response);\n resolve(response);\n }, (error) => {\n reject(error);\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async addTextLineToTransaction(\n transactionUuid: string,\n showOnDocuments: number,\n text: string,\n amount: number,\n articleBound: boolean,\n refArticleLineNr: number,\n aboveLineNr?: number,\n belowLineNr?: number): Promise<TransactionInfoResponse> {\n await this._checkAndCreateTransaction();\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.addTextLineToTransaction(transactionUuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr)\n .then(async (response: TransactionInfoResponse) => {\n resolve(response);\n }, (error) => {\n reject(error);\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public changeLineSequence(\n lineUuid: string,\n aboveLineNr?: number,\n belowLineNr?: number,\n remember: boolean = true): Promise<TransactionInfoResponse> {\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.changeLineSequence(this.currentTransaction.transactionInfo.uuid, lineUuid, aboveLineNr, belowLineNr)\n .then(async (response: TransactionInfoResponse) => {\n this._rememberCurrentTransaction(response);\n resolve(response);\n }, (error) => {\n reject(error);\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async deleteTransactionLine(transactionUuid: string, TransactionLineUuid: string, remember: boolean = true): Promise<TransactionInfoResponse> {\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.deleteTransactionLine(transactionUuid, TransactionLineUuid)\n .then(async (response: TransactionInfoResponse) => {\n this._rememberCurrentTransaction(response);\n if (response.isSuccess) {\n resolve(response);\n } else {\n reject(response);\n }\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async changeTransactionLineQuantity(lineUuid: string, newQuantity: number, remember: boolean = true): Promise<TransactionInfoResponse> {\n return new Promise<TransactionInfoResponse>((resolve: Function) => {\n this.connector.changeTransactionLineQuantity(this.currentTransaction.transactionInfo.uuid, lineUuid, newQuantity)\n .then(async (response: TransactionInfoResponse) => {\n if (response.isSuccess) {\n this._rememberCurrentTransaction(response);\n }\n resolve(response);\n }).catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async setRelationByUser(username: string, password: string): Promise<boolean> {\n return new Promise<boolean>((resolve: Function) => {\n this.connector.setRelationByUser(this.currentTransaction.transactionInfo.uuid, username, password)\n .then(async (isSuccess: boolean) => {\n resolve(isSuccess);\n }).catch((reason: ValidationResult) => {\n resolve(false);\n });\n });\n }\n\n public async getCustomerFullObjectByRelationId(relationId: number): Promise<CustomerFullObject> {\n const relationNr: string = await this.connector.getRelationNumber(relationId);\n if (relationNr) {\n return await this.connector.getCustomerFullObject(Number(relationNr));\n }\n return NULL_CUSTOMER_FULL_OBJECT;\n }\n\n // public async setRelationByUser(username: string, password: string): Promise<boolean> {\n // const response: boolean = await this.connector.setRelationByUser(this.currentTransaction.uuid, username, password);\n // return response;\n // }\n\n public async getGoodsReceiptStatus(transId: number, lineNr: number): Promise<GoodsReceiptStatusWithHistory> {\n return await this.connector.getGoodsReceiptStatus(transId, lineNr);\n }\n\n public async getGoodsReceiptStatusWithHistory(transId: number, lineNr: number): Promise<GoodsReceiptStatusWithHistory> {\n return await this.connector.getGoodsReceiptStatusWithHistory(transId, lineNr);\n }\n\n public async receiveGoodsForPurchaseOrder(request: ReceiveGoodsForPurchaseOrderRequest): Promise<TransactionInfoResponse> {\n return await this.connector.receiveGoodsForPurchaseOrder(request);\n }\n\n public async receiveGoodsForPurchaseOrderCorrection(request: ReceiveGoodsForPurchaseOrderCorrectionRequest): Promise<TransactionInfoResponse> {\n return await this.connector.receiveGoodsForPurchaseOrderCorrection(request);\n }\n\n public getTextTypes(languageCode: string): Promise<CoDomainValue[]> {\n return this.connector.getTextTypes(languageCode);\n }\n\n public getStandardTexts(languageCode: string): Promise<StandardText[]> {\n return this.connector.getStandardTexts(languageCode);\n }\n\n public getArticleFullObject(goodId: number): Promise<ArticleFullObject> {\n return this.connector.getArticleFullObject(goodId);\n }\n\n public getGoodIdFromArticleNr(sku: string): Promise<number> {\n return this.connector.getGoodIdFromArticleNr(sku);\n }\n\n public getCountry(countryCode: string): Promise<Country> {\n return this.connector.getCountry(countryCode);\n }\n\n public getCashRegisters(branch?: string, group?: number): Promise<CashRegister[]> {\n return this.connector.getCashRegisters(branch, group);\n }\n\n public getRelationNumber(relationId: number): Promise<string> {\n return this.connector.getRelationNumber(relationId);\n }\n\n public getPriceLists(): Promise<PriceList[]> {\n return this.connector.getPriceLists();\n }\n\n public getVatLists(): Promise<Vat[]> {\n return this.connector.getVatList();\n }\n\n public getBranches(branchNr?: string): Promise<BranchLov[]> {\n return this.connector.getBranches(branchNr);\n }\n\n public getSalesPersons(date?: Date): Promise<SalesPerson[]> {\n return this.connector.getSalesPersons(date);\n }\n\n public getTags(category: number): Promise<Tag[]> {\n return this.connector.getTags(category);\n }\n\n public getOnHoldCodes(): Promise<OnHoldCode[]> {\n return this.connector.getOnHoldCodes();\n }\n\n public getWarehouses(branchNr?: string): Promise<Warehouse[]> {\n return this.connector.getWarehouses(branchNr);\n }\n\n public getHistoricStateValues(): Promise<CodeDescription[]> {\n return this.connector.getHistoricStateValues();\n }\n\n public getCustomerGroups(): Promise<CustomerGroup[]> {\n return this.connector.getCustomerGroups();\n }\n\n public getFirstAddress(relation: RelationAnyType): Address {\n if (!relation || !relation.addresses.length) {\n return;\n }\n\n return relation.getFirstAvailableAddress([\n AddressType.DeliveryAddress,\n AddressType.BillingAddress,\n AddressType.VisitingAddress,\n AddressType.MailingAddress,\n AddressType.NursingAddress\n ]);\n }\n\n // private _cleanRelationBeforeSave(): void {\n // ArrayUtils.RemoveElementsByFilter(this.currentTransaction.transactionInfo.relation.contactOptions, ((item: ContactOption) => {\n // return isNill(item.value);\n // }));\n // }\n\n private async _checkAndCreateTransaction(): Promise<void> {\n if (!this.currentTransaction || !this.currentTransaction.transactionInfo || !this.currentTransaction.transactionInfo.transactionNr) {\n if (!await this.createTransaction()) {\n throwError(\"Failed to create transaction\");\n }\n }\n }\n\n}\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\nimport {TransactionResponseBase} from \"@colijnit/transactionapi/build/model/transaction-response-base.bo\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {CheckoutOverviewRelationEditComponent} from \"./checkout-overview-relation-edit/checkout-overview-relation-edit.component\";\r\nimport {CheckoutOverviewDeliveryEditComponent} from \"./checkout-overview-delivery-edit/checkout-overview-delivery-edit.component\";\r\nimport {StepperStepComponent} from \"../stepper/component/stepper-step.component\";\r\nimport {DialogService} from \"../../service/dialog.service\";\r\nimport {PaymentComponent} from \"../payment/payment.component\";\r\n\r\n@Component({\r\n selector: \"co-checkout\",\r\n template: `\r\n <co-stepper [finishButtonLabel]=\"'CHECKOUT_FINISH' | localize\" (finishStep)=\"handleFinishStep()\">\r\n <co-stepper-step #stepRelation [index]=\"1\" [label]=\"'YOUR_DATA' | localize\" (validateStep)=\"handleRelationValidation()\">\r\n <co-checkout-overview-relation-edit #checkoutRelation *ngIf=\"stepRelation.show\" [(relation)]=\"service.relation\"\r\n (relationChange)=\"service.relation = $event\"\r\n ></co-checkout-overview-relation-edit>\r\n </co-stepper-step>\r\n <co-stepper-step #stepDelivery [index]=\"2\" [label]=\"'DELIVERY' | localize\" (validateStep)=\"handleDeliveryValidation()\">\r\n <co-checkout-overview-delivery-edit #checkoutDelivery *ngIf=\"stepDelivery.show\"\r\n [transaction]=\"service.currentTransaction\"\r\n ></co-checkout-overview-delivery-edit>\r\n </co-stepper-step>\r\n <co-stepper-step #stepOverview [index]=\"4\" [label]=\"'OVERVIEW' | localize\" (validateStep)=\"handleOverviewValidation()\">\r\n </co-stepper-step>\r\n <co-stepper-step #stepPayment [index]=\"3\" [label]=\"'PAYMENT' | localize\" (validateStep)=\"handlePaymentValidation()\">\r\n <co-payment #checkoutPayment *ngIf=\"stepPayment.show\"\r\n [transactionUuid]=\"service.currentTransaction.transactionInfo.uuid\"\r\n [amount]=\"service.currentTransaction.transactionTotal.netAmount\"\r\n ></co-payment>\r\n </co-stepper-step>\r\n <div class=\"co-checkout-right-panel\">\r\n <div class=\"co-checkout-right-panel-relation\">\r\n <co-avatar [relationId]=\"sellerId\"></co-avatar>\r\n </div>\r\n <co-shopping-cart-preview [showCheckoutButton]=\"false\" [withoutBorder]=\"true\"></co-shopping-cart-preview>\r\n </div>\r\n </co-stepper>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CheckoutComponent {\r\n @ViewChild(\"stepRelation\")\r\n public stepRelation: StepperStepComponent;\r\n\r\n @ViewChild(\"stepDelivery\")\r\n public stepDelivery: StepperStepComponent;\r\n\r\n @ViewChild(\"stepPayment\")\r\n public stepPayment: StepperStepComponent;\r\n\r\n @ViewChild(\"stepOverview\")\r\n public stepOverview: StepperStepComponent;\r\n\r\n @ViewChild(\"stepPay\")\r\n public stepPay: StepperStepComponent;\r\n\r\n @ViewChild(\"checkoutRelation\")\r\n public checkoutRelation: CheckoutOverviewRelationEditComponent;\r\n\r\n @ViewChild(\"checkoutDelivery\")\r\n public checkoutDelivery: CheckoutOverviewDeliveryEditComponent;\r\n\r\n @ViewChild(\"checkoutPayment\")\r\n public checkoutPayment: PaymentComponent;\r\n\r\n @Input()\r\n public sellerId: number;\r\n\r\n @Output()\r\n public transactionFinished: EventEmitter<TransactionInfo> = new EventEmitter<TransactionInfo>();\r\n\r\n @HostBinding(\"class.co-checkout\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public get userIsApplicationUser(): boolean {\r\n // TODO: return this.userService.isApplicationUser;\r\n return true;\r\n }\r\n\r\n public transaction: TransactionInfoResponse;\r\n\r\n constructor(\r\n public service: TransactionService,\r\n private _dictionary: DictionaryService,\r\n private _dialogService: DialogService\r\n ) {\r\n }\r\n\r\n // ngOnDestroy(): void {\r\n // this._subscriptions.forEach(subscription => subscription.unsubscribe());\r\n // }\r\n\r\n public async handleRelationValidation(): Promise<void> {\r\n if (this.checkoutRelation && this.stepRelation) {\r\n const valid = this.checkoutRelation.submit();\r\n this.stepRelation.completed = true; // await this.saveRelation();\r\n // if (valid) {\r\n // this.saveRelation();\r\n // }\r\n }\r\n }\r\n\r\n public async handleDeliveryValidation(): Promise<void> {\r\n if (this.checkoutDelivery && this.stepDelivery) {\r\n const valid = this.checkoutDelivery.submit();\r\n this.stepDelivery.completed = true; // await this.handleSaveDelivery();\r\n // if (valid) {\r\n // this.handleSaveDelivery();\r\n // }\r\n }\r\n }\r\n\r\n public handlePaymentValidation(): void {\r\n if (/*this.checkoutDelivery && */this.stepPayment) {\r\n this.stepPayment.completed = true;\r\n }\r\n }\r\n\r\n public handleOverviewValidation(): void {\r\n if (/*this.checkoutDelivery && */this.stepOverview) {\r\n this.stepOverview.completed = true;\r\n }\r\n }\r\n\r\n public async handleFinishStep(): Promise<void> {\r\n if (/*this.checkoutDelivery && */this.stepPay) {\r\n this.stepPay.completed = true;\r\n const response: TransactionResponseBase = await this.service.saveTransaction();\r\n if (response && response.isSuccess) {\r\n // const commitResponse: DataServiceResponseData = await this.service.commit();\r\n // if (commitResponse && commitResponse.validationResult && commitResponse.validationResult.success) {\r\n this.transactionFinished.next(this.service.currentTransaction.transactionInfo);\r\n // }\r\n } else {\r\n await this._dialogService.showError(\"Opslag bezorging mislukt\");\r\n }\r\n }\r\n }\r\n\r\n public saveRelation(): Promise<boolean> {\r\n return this.service.saveRelation();\r\n }\r\n\r\n public async handleSaveDelivery(): Promise<boolean> {\r\n return true;\r\n }\r\n\r\n // public async saveNewRelation(): Promise<void> {\r\n // if (isNill(this.service.currentRelation.relationId)) {\r\n // await this.service.saveNewRelation();\r\n // } else {\r\n // await this.service.saveRelation();\r\n // }\r\n // }\r\n\r\n // public async insertData(): Promise<void> {\r\n // await this.service.insertCustomer(this.relation);\r\n // }\r\n //\r\n // public async updateData(): Promise<void> {\r\n // const relation: RelationAnyType = this.relation;\r\n // await this.service.updateCustomer(relation);\r\n // }\r\n\r\n // private async _handleSettingsLoaded(loaded: boolean): Promise<void> {\r\n // if (loaded) {\r\n // await this._initConnection().then();\r\n // this.upAndLoaded = true;\r\n // }\r\n // }\r\n //\r\n // private async _initConnection(): Promise<void> {\r\n // await this._connector.connect(this._optionsService.options);\r\n //\r\n // if (this._optionsService.options.url) {\r\n // this._dictionary.rootUrl = this._optionsService.options.url.replace(\"/ajaxservice\", \"\");\r\n // }\r\n // await this._dictionary.setDictionary(this._optionsService.options.languageCode);\r\n // setTimeout(() => {\r\n // this._changeDetector.detectChanges();\r\n // });\r\n // }\r\n //\r\n // public loginSubmit(): void {\r\n // this.globalEvents.addUserRelationShoppingCartModule.next({user: this.checkoutLogin.userEmailAddress, pw: this.checkoutLogin.userPassword});\r\n // this.loggedIn = true;\r\n // }\r\n //\r\n // public continueWithoutAccount(): void {\r\n // this.closeLogin();\r\n // this.loggedIn = true;\r\n // this.transactionEvents.addNewUserToShoppingCartModule.next(this.checkoutLogin.userNewEmailAddress);\r\n // }\r\n //\r\n // public createNewAccount(): void {\r\n // this.closeLogin();\r\n // this.transactionEvents.addNewUserToShoppingCartModule.next(this.checkoutLogin.userNewEmailAddress);\r\n // }\r\n //\r\n // private closeLogin(): void {\r\n // this.loggedIn = true;\r\n // this.show = true;\r\n // }\r\n}\r\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\n\nexport enum Icon {\n ArrowPointDown = \"arrow_point_down\",\n ArrowPointLeft = \"arrow_point_left\",\n ArrowPointRight = \"arrow_point_right\",\n Article = \"article\",\n Barcode = \"barcode\",\n BarcodeSolid = \"barcode_solid\",\n BarsFilter = \"bars_filter\",\n CalendarDay = \"calendar_day\",\n Cancel = \"cancel\",\n CartFlatbedBoxesSolid = \"cart_flatbed_boxes_solid\",\n CartShoppingSolid = \"cart_shopping_solid\",\n CashRegister = \"cash_register\",\n DeliveryTruck = \"delivery_truck\",\n EditPencil = \"edit_pencil\",\n IdealLogo = \"ideal_logo\",\n ListView = \"list_view\",\n LocationDotSolid = \"location_dot_solid\",\n Lock = \"lock\",\n MapMarker = \"map_marker\",\n MasterDetail = \"master_detail\",\n MemoCircleCheckSolid = \"memo_circle_check_solid\",\n Menu = \"menu\",\n PalletBoxesSolid = \"pallet_boxes_solid\",\n PlusRound = \"plus_round\",\n Purchase = \"purchase\",\n ShelvesSolid = \"shelves_solid\",\n SidePanel = \"side_panel\",\n SyncAlt = \"sync_alt\",\n Tag = \"tag\",\n ThickLines = \"thick_lines\",\n ThinLines = \"thin_lines\",\n TrashBin = \"trash_bin\",\n TriangleDown = \"triangle_down\",\n TriangleUp = \"triangle_up\",\n Truck = \"truck\",\n TruckArrowRightSolid = \"truck_arrow_right_solid\",\n TruckContainerSolid = \"truck_container_solid\",\n Txt = \"txt\",\n Unlock = \"unlock\",\n Warehouse = \"warehouse\"\n}","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\nimport {RelationAnyType} from \"@colijnit/transactionapi/build/model/relation-any-type\";\nimport {NULL_RELATION_OBJECT} from \"@colijnit/transactionapi/build/model/nul-relation-object\";\nimport {CustomerFullObject} from \"@colijnit/transactionapi/build/model/customer-full-object.bo\";\nimport {CommunicationType} from \"@colijnit/transactionapi/build/enum/communication-type.enum\";\nimport {ContactOption} from \"@colijnit/transactionapi/build/model/contact-option.bo\";\nimport {isNill} from \"@colijnit/transactionapi/build/utils/function/is-nill.function\";\nimport {RelationNameKind} from \"@colijnit/transactionapi/build/enum/relation-name-kind.enum\";\nimport {AddressType} from \"@colijnit/transactionapi/build/enum/address-type.enum\";\nimport {RelationPrivacySetting} from \"@colijnit/transactionapi/build/model/relation-privacy-setting.bo\";\nimport {GenderType} from \"@colijnit/transactionapi/build/enum/gender-type.enum\";\nimport {TransactionService} from \"../../../service/transaction.service\";\nimport {BusinessObjectUtils} from \"@colijnit/transactionapi/build/utils/business-object-utils\";\nimport {FormComponent, FormMasterService} from \"@colijnit/corecomponents_v12\";\nimport {FunctionUtils} from \"@colijnit/transactionapi/build/utils/function-utils\";\nimport {ObjectUtils} from \"@colijnit/transactionapi/build/utils/object-utils\";\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\nimport {RelationRequest} from \"@colijnit/transactionapi/build/model/relation-request\";\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\nimport {FormGroup} from \"@angular/forms\";\nimport {BusinessObjectFactory} from \"../../../factory/business-object-factory\";\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\nimport {Icon} from \"../../../enum/icon.enum\";\n\n@Component({\n selector: \"co-checkout-overview-relation-edit\",\n template: `\n <div class=\"relation-edit-content\">\n <co-form>\n <div class=\"checkout-form-wrapper\">\n <div class=\"checkout-label-column\">\n <span>01</span>\n <span class=\"label\" [textContent]=\"'PERSONAL_DATA' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-input-radio-button class=\"default-width\"\n [name]=\"'type'\"\n [label]=\"'PRIVATE_PERSON' | localize\"\n [value]=\"relType.Private\"\n [checked]=\"relation.type === relType.Private\"\n (modelChange)=\"changeRelationType(relType.Private)\"\n ></co-input-radio-button>\n <co-input-radio-button class=\"default-width\"\n [name]=\"'type'\"\n [label]=\"'COMPANY' | localize\"\n [value]=\"relType.Company\"\n [(model)]=\"relation.type\"\n [checked]=\"relation.type === relType.Company\"\n (modelChange)=\"changeRelationType(relType.Company)\"\n ></co-input-radio-button>\n </div>\n <div class=\"checkout-data-row\">\n <relation-customer-groups [(model)]=\"relation.customerGroup\" required></relation-customer-groups>\n </div>\n <div *ngIf=\"relation.type === relType.Private\" class=\"collapseable\" @showHidePrivateRelationFields>\n <div class=\"checkout-data-row\">\n <co-input-text\n class=\"checkout-first-name\"\n [(model)]=\"relation.firstName\"\n [placeholder]=\"'FIRST_NAME' | localize\"\n (modelChange)=\"firstNameChange($event)\"\n (blur)=\"checkVisibilitySuggestions()\"\n [required]=\"true\"\n ></co-input-text>\n <co-input-text\n class=\"checkout-prefix-name default-width\"\n [(model)]=\"relation.prefix\"\n [placeholder]=\"'PREFIX' | localize\"\n ></co-input-text>\n <co-input-text\n class=\"checkout-last-name\"\n [(model)]=\"relation.familyName\"\n [placeholder]=\"'LAST_NAME' | localize\"\n (modelChange)=\"familyNameChange($event)\"\n (blur)=\"checkVisibilitySuggestions()\"\n [required]=\"true\"></co-input-text>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-radio-button class=\"default-width\"\n [name]=\"'gender'\"\n [label]=\"'MALE' | localize\"\n [value]=\"genderType.Male\"\n [checked]=\"relation.gender === genderType.Male\"\n (modelChange)=\"changeGenderType(genderType.Male)\"\n ></co-input-radio-button>\n <co-input-radio-button class=\"default-width\"\n [name]=\"'gender'\"\n [label]=\"'FEMALE' | localize \"\n [value]=\"genderType.Female\"\n [checked]=\"relation.gender === genderType.Female\"\n (modelChange)=\"changeGenderType(genderType.Female)\"\n ></co-input-radio-button>\n <co-input-radio-button class=\"default-width\"\n [name]=\"'gender'\"\n [label]=\"'UNKNOWN' | localize\"\n [value]=\"genderType.Unspecified\"\n [checked]=\"relation.gender === genderType.Unspecified\"\n (modelChange)=\"changeGenderType(genderType.Unspecified)\"\n ></co-input-radio-button>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-date [placeholder]=\"'DATE_OF_BIRTH' | localize \" [(model)]=\"dateOfBirth\" [required]=\"true\"></co-input-date>\n </div>\n </div>\n <div *ngIf=\"relation?.type === relType.Company\" class=\"checkout-data-row collapseable\" @showHideCompanyRelationFields>\n <co-input-text [(model)]=\"relation.familyName\" [placeholder]=\"'COMPANY_NAME' | localize\" [required]=\"true\"></co-input-text>\n </div>\n <co-relation-address [address]=\"editFirstAddress\" [showButtons]=\"false\"></co-relation-address>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-carousel-3d *ngIf=\"relation.addresses && relation.addresses.length > 1\"\n [tileWidth]=\"200\"\n [tileHeight]=\"100\"\n [selectedIndex]=\"deliveryAddressIdx\"\n (indexSelected)=\"setIndexDeliveryAddress($event)\">\n <co-relation-address-tile #carouselItem *ngFor=\"let address of relation.addresses; let index = index\"\n [address]=\"address\"\n [selected]=\"deliveryAddressIdx === index\"\n (editAddressClicked)=\"editAddress($event)\"\n ></co-relation-address-tile>\n </co-carousel-3d>\n </div>\n <div class=\"checkout-data-row\">\n <div class=\"relation-address-new\">\n <icon class=\"relation-address-icon\" [icon]=\"icons.ArrowPointRight\"></icon>\n <div [textContent]=\"'ADDRESS_ADD' | localize\" (click)=\"showNewAddressDialog()\"></div>\n </div>\n </div>\n </div>\n\n <div class=\"checkout-label-column\">\n <span>02</span>\n <span class=\"label\" [textContent]=\"'INVOICE_ADDRESS' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-input-checkbox [(model)]=\"invoiceAddressSameAsDeliveryAddress\" (modelChange)=\"checkSameAddress($event)\" [label]=\"'SAME_AS_DELIVERY' | localize\"></co-input-checkbox>\n </div>\n <div class=\"overview-delivery-invoice-address\" *ngIf=\"!invoiceAddressSameAsDeliveryAddress\" @showHideInvoiceAddress>\n <div class=\"checkout-data-row\">\n <co-carousel-3d *ngIf=\"relation.addresses && relation.addresses.length > 1\"\n [tileWidth]=\"200\"\n [tileHeight]=\"100\"\n [selectedIndex]=\"invoiceAddressIdx\"\n (indexSelected)=\"setIndexInvoiceAddress($event)\">\n <co-relation-address-tile #carouselItem *ngFor=\"let address of relation.addresses; let index = index\"\n [address]=\"address\"\n [selected]=\"invoiceAddressIdx === index\"\n (editAddressClicked)=\"editAddress($event)\"\n ></co-relation-address-tile>\n </co-carousel-3d>\n </div>\n <div class=\"checkout-data-row\">\n <div class=\"relation-address-new\">\n <icon class=\"relation-address-icon\" [icon]=\"icons.ArrowPointRight\"></icon>\n <div [textContent]=\"'ADDRESS_ADD' | localize\" (click)=\"showNewAddressDialog()\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"checkout-label-column\">\n <span>03</span>\n <span class=\"label\" [textContent]=\"'CONTACT_DETAILS' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-input-text [(model)]=\"phoneNumber.value\" [placeholder]=\"'PHONE_NO' | localize \" [required]=\"true\"></co-input-text>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-text [(model)]=\"emailAddress.value\" [placeholder]=\"'EMAIL_ADDRESS' | localize \" [type]=\"'email'\" [required]=\"true\"></co-input-text>\n </div>\n<!--\n </div>\n <div class=\"checkout-label-column\">\n <span>04</span>\n <span class=\"label\" [textContent]=\"'PASSWORD' | localize\"></span>\n <span class=\"label-description\" [textContent]=\"'ACCOUNT_EXPLANATION' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n-->\n <div class=\"checkout-data-row\">\n <co-input-checkbox [label]=\"'INVITE_TO_ACCOUNT' | localize\" [(model)]=\"inviteToAccount\"></co-input-checkbox>\n </div>\n </div>\n <div class=\"checkout-label-column\">\n <span>04</span>\n <span class=\"label\" [textContent]=\"'PRIVACY_PREFERENCES' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"two-column-grid\">\n <ng-container *ngFor=\"let privacySetting of privacySettings\">\n <co-input-checkbox class=\"first-column\"\n [label]=\"privacySetting.description\"\n [model]=\"isShared(privacySetting)\"\n (modelChange)=\"changePrivacySetting(privacySetting, $event)\"\n ></co-input-checkbox>\n <span class=\"second-column\" [textContent]=\"privacySetting.explanation\"></span>\n </ng-container>\n </div>\n </div>\n </div>\n </co-form>\n </div>\n <div class=\"suggestions-sidebar\" *ngIf=\"showRelationSidebar\" @showHideSidebar>\n <div class=\"relation-sidebar-header\">\n <label class=\"checkout-label-h3\" [textContent]=\"'SUGGESTIONS' | localize\"></label>\n </div>\n <co-checkout-relation-suggestions-list\n [suggestions]=\"relationSuggestions\"\n (suggestionSelected)=\"onRelationSuggestionClick($event)\"\n ></co-checkout-relation-suggestions-list>\n </div>\n <co-dialog *ngIf=\"showCreateAddressDialog\">\n <co-relation-address\n (saveClick)=\"saveNewAddress($event)\"\n (cancelClick)=\"showCreateAddressDialog = false\"\n ></co-relation-address>\n </co-dialog>\n <co-dialog *ngIf=\"showSelectAddressDialog && addressToEdit\">\n <co-relation-address\n [address]=\"addressToEdit\"\n (saveClick)=\"saveAddress($event)\"\n (cancelClick)=\"showSelectAddressDialog = false\"\n ></co-relation-address>\n </co-dialog>\n `,\n providers: [\n FormMasterService\n ],\n animations: [\n trigger(\"showHidePrivateRelationFields\", [\n state(\"void\", style({height: 0})),\n state(\"*\", style({height: \"*\"})),\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\n transition(\"* => void\", animate(\"200ms ease-out\"))\n ]),\n trigger(\"showHideCompanyRelationFields\", [\n state(\"void\", style({height: 0})),\n state(\"*\", style({height: \"*\"})),\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\n transition(\"* => void\", animate(\"200ms ease-out\"))\n ]),\n trigger(\"showHideSidebar\", [\n state(\"void\", style({transform: \"translateX(100%)\"})),\n state(\"*\", style({transform: \"translateX(0)\"})),\n transition(\"void <=> *\", animate(\"200ms ease-in-out\"))\n ]),\n trigger(\"showHideInvoiceAddress\", [\n state(\"void\", style({height: 0, opacity: 0})),\n state(\"*\", style({height: \"*\", opacity: 1})),\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\n transition(\"* => void\", animate(\"200ms ease-out\"))\n ])\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class CheckoutOverviewRelationEditComponent implements OnInit {\n public readonly icons: typeof Icon = Icon;\n\n @ViewChild(FormComponent, {static: true})\n public relationForm: FormComponent;\n\n @Input()\n public set relation(value: RelationAnyType) {\n this._relation = value;\n\n this.preparePrimaryEmail();\n this.preparePrimaryPhone();\n }\n\n @Output()\n public validSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public invalidSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public relationChange: EventEmitter<RelationAnyType> = new EventEmitter<RelationAnyType>();\n\n @HostBinding(\"class.co-checkout-overview-relation-edit\")\n public showClass() {\n return true;\n }\n\n public formRelation: FormGroup;\n\n public dateOfBirth: Date;\n public accountPassword: string = \"\";\n public hide: boolean = true;\n public gender: GenderType = GenderType.Unspecified;\n public emailAddress: ContactOption = new ContactOption();\n public phoneNumber: ContactOption = new ContactOption();\n public privacySettings: RelationPrivacySetting[];\n public relationSuggestions: RelationListObject[] = [];\n public showRelationSidebar: boolean = false;\n public inviteToAccount: boolean = false;\n\n public addresses: Address[] = [];\n public selectedAddress: Address;\n public deliveryAddress: Address;\n public invoiceAddress: Address;\n public deliveryAddressIdx: number = 0;\n public invoiceAddressIdx: number = 0;\n public invoiceAddressSameAsDeliveryAddress: boolean = true;\n public editAddressType: AddressType = AddressType.DeliveryAddress;\n public addressToEdit: Address;\n public showSelectAddressDialog: boolean = false;\n public showCreateAddressDialog: boolean = false;\n\n public readonly relType: typeof RelationNameKind = RelationNameKind;\n public readonly genderType: typeof GenderType = GenderType;\n\n public get relation(): RelationAnyType {\n return this._relation;\n }\n\n public get relationAsCustomer(): CustomerFullObject {\n return this._relation && this._relation as CustomerFullObject;\n }\n\n public get editFirstAddress(): Address {\n const firstAddress: Address = this._service.getFirstAddress(this.relation);\n if (firstAddress) {\n return firstAddress;\n } else if (this._relation) {\n const address: Address = new Address();\n address.addressType = AddressType.DeliveryAddress;\n address.startDate = new Date();\n address.sequence = this._relation.getNextAddressSequence();\n this._relation.addresses.push(address);\n return address;\n }\n }\n\n public get applicationUser(): boolean {\n return this._service.applicationUser;\n }\n\n private _relation: RelationAnyType = NULL_RELATION_OBJECT;\n\n constructor(\n private _service: TransactionService,\n private _formMaster: FormMasterService,\n private _boFactory: BusinessObjectFactory\n ) {\n }\n\n async ngOnInit(): Promise<void> {\n this._initForm();\n this._relation.type = this.relType.Private;\n this._relation.gender = this.gender;\n await this.loadPrivacySettings();\n }\n\n public submit(): boolean {\n // return this.relationForm.submit();\n return this._formMaster.submitSlaves();\n }\n\n public showNewAddressDialog(deliveryAddress: boolean = true): void {\n this.editAddressType = deliveryAddress ? AddressType.DeliveryAddress : AddressType.BillingAddress;\n this.showCreateAddressDialog = true;\n }\n\n public showEditAddressDialog(deliveryAddress: boolean = true): void {\n this.editAddressType = deliveryAddress ? AddressType.DeliveryAddress : AddressType.BillingAddress;\n this.showSelectAddressDialog = true;\n }\n\n public setIndexDeliveryAddress(idx: number): void {\n this.deliveryAddressIdx = idx;\n this.editAddressType = AddressType.DeliveryAddress;\n this.selectAddress(this.relation.addresses[idx]);\n }\n\n public setIndexInvoiceAddress(idx: number): void {\n this.invoiceAddressIdx = idx;\n this.editAddressType = AddressType.BillingAddress;\n this.selectAddress(this.relation.addresses[idx]);\n }\n\n public editAddress(addr: Address): void {\n this.addressToEdit = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, addr);\n this.showEditAddressDialog()\n }\n\n public checkSameAddress(checked: boolean): void {\n if (checked) {\n this.editAddressType = AddressType.DeliveryAddress;\n this.selectAddress(this.deliveryAddress);\n }\n }\n\n public saveNewAddress(address: Address): void {\n address.addressType = this.editAddressType;\n this.relation.addresses.push(address);\n this.selectAddress(address);\n this.showCreateAddressDialog = false;\n }\n\n public saveAddress(address: Address): void {\n const idx: number = this.relation.addresses.findIndex(a => a.nawNr === address.nawNr);\n if (idx > -1) {\n this.relation.addresses[idx] = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, address);\n }\n this.showSelectAddressDialog = false;\n }\n\n public selectAddress(address?: Address): void {\n // if (!this.deliveryOptionsRequest) {\n // return;\n // }\n // if (!address) {\n // address = this._service.getFirstAddress(this.relation);\n // }\n // if (!address) {\n // return;\n // }\n // this._setCountryNameToAddress(address);\n // if (this.editAddressType === AddressType.DeliveryAddress) {\n // this.deliveryOptionsRequest.transactionAddress = address.nawNr;\n // this.deliveryAddress = address;\n // this.deliveryAddressIdx = this.relation.addresses.findIndex(a => a.nawNr === this.deliveryAddress.nawNr);\n // }\n // if (this.invoiceAddressSameAsDeliveryAddress || this.editAddressType !== AddressType.DeliveryAddress) {\n // this.deliveryOptionsRequest.invoiceAddress = address.nawNr;\n // this.invoiceAddress = address;\n // this.invoiceAddressIdx = this.relation.addresses.findIndex(a => a.nawNr === this.invoiceAddress.nawNr);\n // }\n this.showSelectAddressDialog = false;\n }\n\n public preparePrimaryEmail(): void {\n if (this._relation) {\n this.emailAddress = this._relation.getLowestSequenceOfContactOptionsWithType(CommunicationType.Email);\n if (isNill(this.emailAddress)) {\n this.emailAddress = new ContactOption();\n this.emailAddress.type = CommunicationType.Email;\n this.emailAddress.sequence = 0;\n this._relation.addContactOption(this.emailAddress);\n }\n // if (this._transactionService.emailAddress) {\n // this.emailAddress.value = this._transactionService.emailAddress;\n // }\n }\n }\n\n public preparePrimaryPhone(): void {\n if (this._relation) {\n this.phoneNumber = this._relation.getLowestSequenceOfContactOptionsWithType(CommunicationType.Telephone);\n if (isNill(this.phoneNumber)) {\n this.phoneNumber = new ContactOption();\n this.phoneNumber.type = CommunicationType.Telephone;\n this.phoneNumber.sequence = 0;\n this._relation.addContactOption(this.phoneNumber);\n }\n }\n }\n\n public async loadPrivacySettings(): Promise<void> {\n this.privacySettings = await this._service.getRelationPrivacySettings();\n }\n\n public async loadMarketing(): Promise<void> {\n await this._service.getMarketingCodes();\n }\n\n public isShared(relationPrivacySetting: RelationPrivacySetting): boolean {\n const ownSetting: RelationPrivacySetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());\n if (ownSetting) {\n return ownSetting.allowToShare;\n }\n return false;\n }\n\n public changeRelationType(value: RelationNameKind): void {\n this.relation.type = value;\n }\n\n public changeGenderType(value: GenderType): void {\n this.relation.gender = value;\n }\n\n public firstNameChange(firstName: string): void {\n if (this._relation) {\n this._relation.firstName = firstName;\n }\n this._relationNameChangeHandler.call(this);\n }\n\n public familyNameChange(familyName: string): void {\n if (this._relation) {\n this._relation.familyName = familyName;\n }\n this._relationNameChangeHandler.call(this);\n }\n\n public checkVisibilitySuggestions(): void {\n if (this._relation.firstName && this._relation.familyName) {\n this.hideSidebar();\n }\n }\n\n public async onRelationSuggestionClick(relationSuggested: RelationListObject): Promise<void> {\n if (relationSuggested) {\n this.hideSidebar();\n // await this._service.addRelationToTransaction(relationSuggested.relationId);\n this.relation = await this._service.getCustomerFullObjectByRelationId(relationSuggested.relationId);\n this.relationChange.next(this.relation);\n }\n }\n\n public changePrivacySetting(relationPrivacySetting: RelationPrivacySetting, value: boolean): void {\n const ownSetting: RelationPrivacySetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());\n if (ownSetting) {\n ownSetting.allowToShare = value;\n } else {\n this.relationAsCustomer.relationPrivacySettings.push(relationPrivacySetting);\n }\n }\n\n public showSidebar(): void {\n this.showRelationSidebar = true;\n }\n\n // Hide sidebar with a little timeout to prevent missing the click\n public hideSidebar(): void {\n setTimeout(() => {\n this.showRelationSidebar = false;\n }, 200);\n }\n\n private _initForm(): void {\n if (this.relationForm) {\n this.formRelation = this.relationForm.formGroup;\n }\n }\n\n // fetches relation suggestions\n private _relationNameChangeHandler: Function = FunctionUtils.Throttle(() => {\n return this._relationNameChangedHandlerFn();\n // eslint-disable-next-line no-magic-numbers\n }, 600);\n\n // load suggestions\n private async _relationNameChangedHandlerFn(): Promise<any> {\n const firstName: string = ObjectUtils.ValueOrDefault(this._relation.firstName);\n const secondName: string = ObjectUtils.ValueOrDefault(this._relation.familyName);\n\n if (!firstName && !secondName) {\n this.relationSuggestions = [];\n this.hideSidebar();\n return;\n }\n\n const relationRequest: RelationRequest = {};\n relationRequest.relationType = this._relation.relationType;\n if (firstName) {\n relationRequest.firstName = firstName;\n }\n\n if (secondName) {\n relationRequest.familyName = secondName;\n }\n\n this.showSidebar();\n this.relationSuggestions = await this._service.getRelationListObjects(relationRequest);\n }\n\n private async _setCountryNameToAddress(address: Address): Promise<void> {\n if (address.countryId && !address.countryName) {\n const country: Country = await this._service.getCountry(address.countryId);\n address.countryName = country.description;\n }\n }\n\n}\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\n\nexport const IconSvg: {[iconName: string]: string} = {\n \"arrow_point_down\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-280 371 51 51\\\" enable-background=\\\"new -280 371 51 51\\\" ><path fill=\\\"#29363E\\\" d=\\\"M-248.3,392.2c0.3,0,0.6,0.1,0.8,0.3c0.5,0.5,0.5,1.2,0,1.6l-6.2,6.2c-0.2,0.2-0.5,0.3-0.8,0.3c-0.3,0-0.6-0.1-0.8-0.3l-6.2-6.2c-0.2-0.2-0.3-0.5-0.3-0.8c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3c0.3,0,0.6,0.1,0.8,0.3l5.4,5.4l5.4-5.4C-248.9,392.4-248.6,392.2-248.3,392.2z\\\"/></svg>\",\n \"arrow_point_left\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M31.9,36.7l-14.7-9.6C17.1,27,17,26.9,17,26.7v-2.4c0-0.2,0.1-0.3,0.2-0.4l14.7-9.6c0.2-0.2,0.5-0.1,0.7,0.1l1.4,2.1c0.2,0.2,0.1,0.5-0.1,0.7l-12,7.8c-0.3,0.2-0.3,0.6,0,0.8l12,7.8c0.2,0.2,0.3,0.5,0.1,0.7l-1.4,2.1C32.4,36.8,32.1,36.8,31.9,36.7z\\\"/></svg>\",\n \"arrow_point_right\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M19.1,14.3l14.7,9.6c0.1,0.1,0.2,0.2,0.2,0.4v2.4c0,0.2-0.1,0.3-0.2,0.4l-14.7,9.6c-0.2,0.2-0.5,0.1-0.7-0.1l-1.4-2.1c-0.2-0.2-0.1-0.5,0.1-0.7l12-7.8c0.3-0.2,0.3-0.6,0-0.8l-12-7.8c-0.2-0.2-0.3-0.5-0.1-0.7l1.4-2.1C18.6,14.2,18.9,14.2,19.1,14.3z\\\"/></svg>\",\n \"article\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M37.43,15.14H12.57A2.57,2.57,0,0,0,10,17.71V32.29a2.57,2.57,0,0,0,2.57,2.57H37.43A2.57,2.57,0,0,0,40,32.29V17.71A2.57,2.57,0,0,0,37.43,15.14ZM14.29,32.71H12.15V17.29h2.14Zm2,0H15V17.29h1.29Zm2.57,0H17.54V17.29h1.29Zm3.52,0H20.2V17.29h2.15Zm2,0H23.11V17.29H24.4Zm2.06,0H25.17V17.29h1.29Zm2.66,0H27.83V17.29h1.29Zm3.51,0H31.34V17.29h1.29Zm3.34,0H33.4V17.29H36Zm2.32,0H37V17.29h1.29Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"barcode\": \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M2,6H4V18H2V6M5,6H6V18H5V6M7,6H10V18H7V6M11,6H12V18H11V6M14,6H16V18H14V6M17,6H20V18H17V6M21,6H22V18H21V6Z\\\" /></svg>\",\n \"barcode_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M40 32C53.25 32 64 42.75 64 56V456C64 469.3 53.25 480 40 480H24C10.75 480 0 469.3 0 456V56C0 42.75 10.75 32 24 32H40zM128 48V464C128 472.8 120.8 480 112 480C103.2 480 96 472.8 96 464V48C96 39.16 103.2 32 112 32C120.8 32 128 39.16 128 48zM200 32C213.3 32 224 42.75 224 56V456C224 469.3 213.3 480 200 480H184C170.7 480 160 469.3 160 456V56C160 42.75 170.7 32 184 32H200zM296 32C309.3 32 320 42.75 320 56V456C320 469.3 309.3 480 296 480H280C266.7 480 256 469.3 256 456V56C256 42.75 266.7 32 280 32H296zM448 56C448 42.75 458.7 32 472 32H488C501.3 32 512 42.75 512 56V456C512 469.3 501.3 480 488 480H472C458.7 480 448 469.3 448 456V56zM384 48C384 39.16 391.2 32 400 32C408.8 32 416 39.16 416 48V464C416 472.8 408.8 480 400 480C391.2 480 384 472.8 384 464V48z\\\"/></svg>\",\n \"bars_filter\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M264 392H183.1C170.8 392 160 402.8 160 415.1C160 429.2 170.8 440 183.1 440h80C277.2 440 288 429.2 288 416C288 402.8 277.2 392 264 392zM424 72H23.1C10.8 72 0 82.8 0 95.1S10.8 120 23.1 120H424c13.2 0 24-10.8 24-23.1S437.2 72 424 72zM360 232H87.1C74.8 232 64 242.8 64 255.1C64 269.2 74.8 280 87.1 280h272C373.2 280 384 269.2 384 256C384 242.8 373.2 232 360 232z\\\"/></svg>\",\n \"calendar_day\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><path fill=\\\"#022D42\\\" d=\\\"M35.4,13.7H14.6c-0.6,0-1,0.5-1,1V20h22.9v-5.2C36.4,14.2,36,13.7,35.4,13.7z M19,18.8c-1,0-1.8-0.8-1.8-1.8c0-1,0.8-1.8,1.8-1.8c1,0,1.8,0.8,1.8,1.8C20.8,18,20,18.8,19,18.8z M31,18.8c-1,0-1.8-0.8-1.8-1.8c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8C32.7,18,32,18.8,31,18.8z\\\"/><path fill=\\\"#022D42\\\" d=\\\"M35.4,22.3v12.6L31.3,39H14.6c0,0,0,0,0,0V22.3H35.4 M36.4,21.3H13.6V39c0,0.6,0.5,1,1,1h17.2l4.7-4.7V21.3L36.4,21.3z\\\"/><rect x=\\\"18.2\\\" y=\\\"10\\\" fill=\\\"#022D42\\\" width=\\\"1.6\\\" height=\\\"5.2\\\"/><rect x=\\\"30.2\\\" y=\\\"10\\\" fill=\\\"#022D42\\\" width=\\\"1.6\\\" height=\\\"5.2\\\"/><rect x=\\\"18.6\\\" y=\\\"30.5\\\" fill=\\\"#022D42\\\" width=\\\"3.4\\\" height=\\\"3.4\\\"/><rect x=\\\"19.1\\\" y=\\\"24.8\\\" opacity=\\\"0.1\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"19.1\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"19.1\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"24.8\\\" opacity=\\\"0.1\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"24.8\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"31.6\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"31.6\\\" y=\\\"24.8\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"31.6\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"24.8\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"24.8\\\" opacity=\\\"0.1\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/></g></svg>\",\n \"cancel\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"36 35.16 30.45 35.16 14 14.84 19.55 14.84 36 35.16\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"14 35.16 19.55 35.16 36 14.84 30.45 14.84 14 35.16\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"cart_flatbed_boxes_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M448 160h64c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32h-64c-17.6 0-32 14.4-32 32v64C416 145.6 430.4 160 448 160zM448 320h128c17.6 0 32-14.4 32-32V224c0-17.6-14.4-32-32-32h-128c-17.6 0-32 14.4-32 32v64C416 305.6 430.4 320 448 320zM224 320h128c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32H224C206.4 32 192 46.4 192 64v224C192 305.6 206.4 320 224 320zM640 415.1c0 17.6-14.4 32-32 31.1l-66.88-.0011c1.787 5.027 2.907 10.36 2.907 16c0 26.51-21.5 48-48.01 48c-26.51 0-47.99-21.49-47.99-48c0-5.641 1.141-10.97 2.928-16H253.1C254.9 453 256 458.4 256 464C256 490.5 234.5 512 208 512S160 490.5 160 464c0-5.641 1.13-10.97 2.917-16l-66.92 .0011C78.4 448 64 433.6 64 415.1V80C64 71.16 56.84 64 48 64H31.1C14.4 64 0 49.6 0 32S14.4 0 31.1 0H64c35.2 0 64 28.8 64 64v320h480C625.6 384 640 398.4 640 415.1z\\\"/></svg>\",\n \"cart_shopping_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M96 0C107.5 0 117.4 8.19 119.6 19.51L121.1 32H541.8C562.1 32 578.3 52.25 572.6 72.66L518.6 264.7C514.7 278.5 502.1 288 487.8 288H170.7L179.9 336H488C501.3 336 512 346.7 512 360C512 373.3 501.3 384 488 384H159.1C148.5 384 138.6 375.8 136.4 364.5L76.14 48H24C10.75 48 0 37.25 0 24C0 10.75 10.75 0 24 0H96zM128 464C128 437.5 149.5 416 176 416C202.5 416 224 437.5 224 464C224 490.5 202.5 512 176 512C149.5 512 128 490.5 128 464zM512 464C512 490.5 490.5 512 464 512C437.5 512 416 490.5 416 464C416 437.5 437.5 416 464 416C490.5 416 512 437.5 512 464z\\\"/></svg>\",\n \"cash_register\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M35.39,18.12H14.62L10,29.66H40ZM23,19.29H27l.1,1.6H22.87Zm-.13,2h4.32l.12,1.81H22.72Zm-.15,2.3h4.62l.14,2.08h-4.9ZM17.9,19.29H22l-.16,1.6H17.54Zm-.46,2h4.32l-.18,1.81H17Zm-.53,2.3h4.62l-.2,2.08h-4.9Zm-1.16,5.06.55-2.42H27.49l.16,2.42ZM28,19.29H32.1l.36,1.6H28.2Zm.2,2h4.32L33,23.12H28.42Zm.23,2.3h4.62l.48,2.08h-4.9Zm.5,5.06-.24-2.42h5l.55,2.42Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M10,29.66v9.23H40V29.66Zm27.69,6.92H12.31V32H37.69Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M15.63,11.11v7.58H34.37V11.11Zm17.31,6.15H17.06V12.54H32.94Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"delivery_truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"15.35\\\" y=\\\"16.56\\\" width=\\\"15.14\\\" height=\\\"10.94\\\" transform=\\\"translate(-1.83 2.08) rotate(-5)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M38.5,18.1l-6.9.61L32.41,28l-7.63.67a3.76,3.76,0,0,1,1.43,2.25l7.25-.63A3.83,3.83,0,0,1,41,29.6l1-.1-.52-6Zm.29,5.84-3.91.34a.51.51,0,0,1-.55-.46L34,20.1a.49.49,0,0,1,.45-.54l2.27-.2a.5.5,0,0,1,.48.25l2,3.59A.5.5,0,0,1,38.79,23.94Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.66,29.09a3.8,3.8,0,0,0-1,2.46l-.74.07-1.82-.94L16,29.41Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.56,30.62a2.74,2.74,0,1,0,2.49-3A2.73,2.73,0,0,0,34.56,30.62Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.74,31.91a2.74,2.74,0,1,0,2.49-3A2.74,2.74,0,0,0,19.74,31.91Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"7.96\\\" y=\\\"17.63\\\" width=\\\"5\\\" height=\\\"1\\\" transform=\\\"translate(-1.54 0.98) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.02\\\" y=\\\"29.71\\\" width=\\\"3\\\" height=\\\"1\\\" transform=\\\"translate(-2.59 1.21) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"9.48\\\" y=\\\"23.53\\\" width=\\\"4\\\" height=\\\"1\\\" transform=\\\"matrix(1, -0.09, 0.09, 1, -2.05, 1.09)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"edit_pencil\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"12.54 38.16 12 37.62 14.85 29.64 20.52 35.31 12.54 38.16\\\" fill=\\\"#484f60\\\"/><rect x=\\\"16.33\\\" y=\\\"20.52\\\" width=\\\"17.99\\\" height=\\\"8.64\\\" transform=\\\"translate(-10.15 25.18) rotate(-45)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37.54,18.73,36,20.32l-6.11-6.1,1.59-1.59a1.55,1.55,0,0,1,2.2,0l3.91,3.9A1.55,1.55,0,0,1,37.54,18.73Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"ideal_logo\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 306.1 269.8\\\" style=\\\"enable-background:new 0 0 306.1 269.8;\\\" ><style type=\\\"text/css\\\">.st0{fill:#FFFFFF;}.st1{fill:#CC0066;}</style><g><g><path class=\\\"st0\\\" d=\\\"M0,20v229.8c0,11,9,20,20,20h137.3c103.8,0,148.8-58.1,148.8-135.2C306.1,57.9,261.1,0,157.3,0H20C9,0,0,9,0,20z\\\"/><path class=\\\"st1\\\" d=\\\"M91.9,56.4v169.8h73.9c67.1,0,96.2-37.9,96.2-91.5c0-51.3-29.1-91.1-96.2-91.1h-61.1C97.6,43.6,91.9,49.4,91.9,56.4z\\\"/><g><g><path d=\\\"M157.3,251.5H37.9c-10.6,0-19.2-8.6-19.2-19.2V37.6c0-10.6,8.6-19.2,19.2-19.2h119.4c113.3,0,130.2,72.9,130.2,116.3C287.5,210,241.2,251.5,157.3,251.5z M37.9,24.8c-7.1,0-12.8,5.7-12.8,12.8v194.7c0,7.1,5.7,12.8,12.8,12.8h119.4c79.8,0,123.8-39.2,123.8-110.4c0-95.6-77.6-109.9-123.8-109.9H37.9z\\\"/></g></g></g><g><path class=\\\"st0\\\" d=\\\"M117.9,111.8c2.6,0,5,0.4,7.3,1.2c2.3,0.8,4.2,2.1,5.9,3.7c1.6,1.7,2.9,3.8,3.9,6.2c0.9,2.5,1.4,5.4,1.4,8.8c0,3-0.4,5.7-1.1,8.2c-0.8,2.5-1.9,4.7-3.4,6.5c-1.5,1.8-3.4,3.2-5.7,4.3c-2.3,1-5,1.6-8.1,1.6h-17.5v-40.6H117.9z M117.3,144.9c1.3,0,2.5-0.2,3.8-0.6c1.2-0.4,2.3-1.1,3.2-2.1c0.9-1,1.7-2.2,2.3-3.8c0.6-1.6,0.9-3.4,0.9-5.7c0-2-0.2-3.9-0.6-5.5c-0.4-1.6-1.1-3.1-2-4.2s-2.1-2.1-3.6-2.7c-1.5-0.6-3.3-0.9-5.5-0.9h-6.4v25.6H117.3z\\\"/><path class=\\\"st0\\\" d=\\\"M172.5,111.8v7.5h-21.4v8.7h19.7v6.9h-19.7v9.9H173v7.5h-30.8v-40.6H172.5z\\\"/><path class=\\\"st0\\\" d=\\\"M203.1,111.8l15.2,40.6H209l-3.1-9h-15.2l-3.2,9h-9l15.3-40.6H203.1z M203.6,136.7l-5.1-14.9h-0.1l-5.3,14.9H203.6z\\\"/><path class=\\\"st0\\\" d=\\\"M232.8,111.8v33.1h19.8v7.5h-28.7v-40.6H232.8z\\\"/></g><g><circle cx=\\\"58.5\\\" cy=\\\"132.1\\\" r=\\\"18.7\\\"/></g><path d=\\\"M72.6,226.2L72.6,226.2c-15.7,0-28.3-12.7-28.3-28.3v-22.1c0-7.8,6.3-14.2,14.2-14.2h0c7.8,0,14.2,6.3,14.2,14.2V226.2z\\\"/></g></svg>\",\n \"list_view\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><rect x=\\\"26.5\\\" y=\\\"13\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"10.5\\\" y=\\\"13\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"10.5\\\" y=\\\"22\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"26.5\\\" y=\\\"22\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"10.5\\\" y=\\\"31\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"26.5\\\" y=\\\"31\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"location_dot_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M168.3 499.2C116.1 435 0 279.4 0 192C0 85.96 85.96 0 192 0C298 0 384 85.96 384 192C384 279.4 267 435 215.7 499.2C203.4 514.5 180.6 514.5 168.3 499.2H168.3zM192 256C227.3 256 256 227.3 256 192C256 156.7 227.3 128 192 128C156.7 128 128 156.7 128 192C128 227.3 156.7 256 192 256z\\\"/></svg>\",\n \"lock\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M32.65,21.67H17.35c-2.81,0-3.06,2.29-3.06,5.12v8.09c0,2.83.25,5.12,3.06,5.12h15.3c2.81,0,3.06-2.29,3.06-5.12V26.79C35.71,24,35.46,21.67,32.65,21.67ZM20.22,37.49l2.61-6.32a3.82,3.82,0,1,1,4.35,0l2.6,6.32Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.51,16.64c0-3.6-2-4.07-4.51-4.07h0c-2.49,0-4.51.47-4.51,4.07v3h-2.7v-3C17.79,11.62,21,10,25,10h0c4,0,7.21,1.62,7.21,6.64v3h-2.7Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"map_marker\": \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z\\\" /></svg>\",\n \"master_detail\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"22\\\" y=\\\"32.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 68.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22\\\" y=\\\"26.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 56.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22\\\" y=\\\"20.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 44.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22\\\" y=\\\"14.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 32.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"14.17\\\" width=\\\"10\\\" height=\\\"22\\\" transform=\\\"translate(30 50.33) rotate(180)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"memo_circle_check_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M288 368C288 288.5 352.5 224 432 224C511.5 224 576 288.5 576 368C576 447.5 511.5 512 432 512C352.5 512 288 447.5 288 368zM499.3 347.3C505.6 341.1 505.6 330.9 499.3 324.7C493.1 318.4 482.9 318.4 476.7 324.7L416 385.4L387.3 356.7C381.1 350.4 370.9 350.4 364.7 356.7C358.4 362.9 358.4 373.1 364.7 379.3L404.7 419.3C410.9 425.6 421.1 425.6 427.3 419.3L499.3 347.3zM320 0C355.3 0 384 28.65 384 64V198.6C310.1 219.5 256 287.4 256 368C256 427.1 285.1 479.3 329.7 511.3C326.6 511.7 323.3 512 320 512H64C28.65 512 0 483.3 0 448V64C0 28.65 28.65 0 64 0H320zM80 128C71.16 128 64 135.2 64 144C64 152.8 71.16 160 80 160H304C312.8 160 320 152.8 320 144C320 135.2 312.8 128 304 128H80zM80 256H240C248.8 256 256 248.8 256 240C256 231.2 248.8 224 240 224H80C71.16 224 64 231.2 64 240C64 248.8 71.16 256 80 256zM80 352H176C184.8 352 192 344.8 192 336C192 327.2 184.8 320 176 320H80C71.16 320 64 327.2 64 336C64 344.8 71.16 352 80 352z\\\"/></svg>\",\n \"menu\": \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\\\" /></svg>\",\n \"pallet_boxes_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M96 255.1L288 256c17.6 0 32-14.4 32-32V31.1c0-17.6-14.4-31.1-32-31.1L96 0c-17.6 0-32 14.4-32 32V224C64 241.6 78.4 255.1 96 255.1zM416 255.1h128c17.6 0 32-14.4 32-31.1v-128c0-17.6-14.4-32-32-32h-128c-17.6 0-32 14.4-32 32v128C384 241.6 398.4 255.1 416 255.1zM624 384c8.75 0 16-7.25 16-16v-32c0-8.75-7.25-16-16-16h-608C7.25 320 0 327.3 0 336v32C0 376.8 7.25 384 16 384H64v64H16C7.25 448 0 455.3 0 464v32C0 504.8 7.25 512 16 512h608c8.75 0 16-7.25 16-16v-32c0-8.75-7.25-16-16-16H576v-64H624zM288 448H128v-64h160V448zM512 448h-160v-64h160V448z\\\"/></svg>\",\n \"plus_round\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-288 379 35 35\\\" enable-background=\\\"new -288 379 35 35\\\" ><path fill=\\\"#29363E\\\" d=\\\"M-270.5,381.5c-8.3,0-15,6.7-15,15c0,8.3,6.7,15,15,15s15-6.7,15-15C-255.5,388.2-262.2,381.5-270.5,381.5z M-261.1,397.3c0,0.9-0.7,1.6-1.6,1.6h-5.5v5.5c0,0.9-0.7,1.6-1.6,1.6h-1.6c-0.9,0-1.6-0.7-1.6-1.6v-5.5h-5.5c-0.9,0-1.6-0.7-1.6-1.6v-1.6c0-0.9,0.7-1.6,1.6-1.6h5.5v-5.5c0-0.9,0.7-1.6,1.6-1.6h1.6c0.9,0,1.6,0.7,1.6,1.6v5.5h5.5c0.9,0,1.6,0.7,1.6,1.6V397.3z\\\"/></svg>\",\n \"purchase\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><g opacity=\\\"0.75\\\"><polygon points=\\\"33.34 25.04 27.34 28.52 33.35 31.97 39.34 28.49 33.34 25.04\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"33.99 33.08 39.99 29.6 40 36.53 34.01 40.01 33.99 33.08\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"26.72 36.55 26.71 29.63 32.71 33.08 32.72 40.01 26.72 36.55\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"12.78 28.54 18.79 32 24.78 28.52 18.77 25.07 12.78 28.54\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"19.43 33.1 25.42 29.63 25.44 36.56 19.44 40.03 19.43 33.1\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"12.15 36.58 12.14 29.65 18.15 33.11 18.16 40.04 12.15 36.58\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"32.04 15.89 26.03 12.44 22.09 14.73 27.52 14.73 24.03 18.21 26.05 19.37 32.04 15.89\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"32.68 17 26.69 20.48 26.7 27.41 32.7 23.93 32.68 17\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"23.1 19.15 19.41 22.83 19.41 23.95 25.42 27.41 25.41 20.48 23.1 19.15\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/></g><polygon points=\\\"19.03 16.34 19.03 10.3 14.61 10.3 14.61 16.34 14.61 16.34 10 16.34 16.82 23.16 23.64 16.34 19.03 16.34\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"shelves_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M608 0c-17.6 0-32 14.4-32 31.1V160H64V31.1C64 14.4 49.6 0 32 0S0 14.4 0 31.1v480h64v-32h512v32h64v-480C640 14.4 625.6 0 608 0zM576 416H64V224h512V416zM368 128h96C472.8 128 480 120.8 480 112v-96C480 7.25 472.8 0 464 0h-96C359.2 0 352 7.25 352 16v96C352 120.8 359.2 128 368 128zM112 384h96C216.8 384 224 376.8 224 368v-96C224 263.2 216.8 256 208 256h-96C103.2 256 96 263.2 96 272v96C96 376.8 103.2 384 112 384zM272 384h96c8.75 0 16-7.25 16-16v-96C384 263.2 376.8 256 368 256h-96C263.2 256 256 263.2 256 272v96C256 376.8 263.2 384 272 384z\\\"/></svg>\",\n \"side_panel\": \"<svg width=\\\"47px\\\" height=\\\"43px\\\" viewBox=\\\"0 0 47 43\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><defs><image width=\\\"47\\\" height=\\\"43\\\" xlink:href=\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAArCAYAAADottG6AAAABHNCSVQICAgIfAhkiAAAAHtJREFUWIXt18EJwCAQAEENKSNv60gVgVQYSBWpw3f6OHvQx3Kw8xcX0QNrRERJaqMDVhhPMZ5iPMV4ivEU4ynGU/bZhb3/5Xm/pc3v6yytHdPrq58RiPEUHywl9bUxnuKDpaS+NsZTUsennjapT95RSTGeYjzFeErq+AEBrixGEVJ5mAAAAABJRU5ErkJggg==\\\" /></defs><use xlink:href=\\\"#img_1\\\" fill=\\\"#FFFFFF\\\" stroke=\\\"none\\\" /></svg>\",\n \"sync_alt\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z\\\"/></svg>\",\n \"tag\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M40,29.15v-.68a5.28,5.28,0,0,0-1.34-3.25L24.78,11.34A5.34,5.34,0,0,0,21.53,10H11.9A1.91,1.91,0,0,0,10,11.9v9.63a5.28,5.28,0,0,0,1.34,3.25L25.22,38.66A5.28,5.28,0,0,0,28.47,40h.68a5.28,5.28,0,0,0,3.24-1.34l6.27-6.27A5.28,5.28,0,0,0,40,29.15ZM13.13,16.72a2.54,2.54,0,1,1,3.59,0A2.55,2.55,0,0,1,13.13,16.72Zm15.9,19L17.84,24.55l1.34-1.34L30.37,34.4Zm2.69-2.69L20.52,21.87l1.35-1.35,11.19,11.2Zm2.68-2.69L23.21,19.18l1.34-1.34L35.75,29Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"thick_lines\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"12.67\\\" width=\\\"30\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"21.67\\\" width=\\\"30\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"30.67\\\" width=\\\"30\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"thin_lines\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"14.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"20.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"26.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"32.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"trash_bin\": \"<svg preserveAspectRatio=\\\"none\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 50 50\\\" x=\\\"0px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" y=\\\"0px\\\"><g transform=\\\" translate(14 10)\\\"><path d=\\\"M 0 0 L 0 18.215 C 0 19.99 1.439 21.429 3.215 21.429 L 15 21.429 C 16.775 21.429 18.215 19.99 18.215 18.215 L 18.215 0 L 0 0 Z M 4.287 19.286 L 2.143 19.286 L 2.143 2.143 L 4.287 2.143 L 4.287 19.286 Z M 10.18 19.286 L 8.037 19.286 L 8.037 2.143 L 10.18 2.143 L 10.18 19.286 Z M 16.072 19.286 L 13.93 19.286 L 13.93 2.143 L 16.072 2.143 L 16.072 19.286 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(1.891 8.571)\\\" /><path d=\\\"M 18.213 2.143 L 10.713 2.143 C 11.305 2.143 11.785 1.664 11.785 1.071 C 11.785 0.479 11.305 0 10.713 0 L 9.643 0 C 9.051 0 8.57 0.479 8.57 1.071 C 8.57 1.664 9.051 2.143 9.643 2.143 L 2.143 2.143 C 0.959 2.143 0 3.103 0 4.286 L 0 5.357 C 0 6.541 0.959 6.429 2.143 6.429 L 18.213 6.429 C 19.397 6.429 20.357 6.541 20.357 5.357 L 20.357 4.286 C 20.357 3.103 19.397 2.143 18.213 2.143 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(0.821 0)\\\" /></g></svg>\",\n \"triangle_down\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"29.06 18.75 37.5 18.75 25 31.25 12.5 18.75 20.95 18.75 29.06 18.75\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"triangle_up\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"20.94 31.25 12.5 31.25 25 18.75 37.5 31.25 29.05 31.25 20.94 31.25\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"14.75\\\" width=\\\"17.47\\\" height=\\\"12.62\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37,18.11h-8V28.84H20.22a4.42,4.42,0,0,1,1.41,2.73H30a4.41,4.41,0,0,1,8.76,0H40V24.63Zm-.26,6.73H32.25a.57.57,0,0,1-.57-.57V20a.57.57,0,0,1,.57-.58h2.63a.58.58,0,0,1,.52.35L37.31,24A.58.58,0,0,1,36.78,24.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M14.28,28.84a4.39,4.39,0,0,0-1.42,2.73H12l-2-1.26V28.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.25,32.1a3.16,3.16,0,1,0,3.16-3.16A3.16,3.16,0,0,0,31.25,32.1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M14.09,32.1a3.16,3.16,0,1,0,3.16-3.16A3.15,3.15,0,0,0,14.09,32.1Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"truck_arrow_right_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M0 48C0 21.49 21.49 0 48 0H368C394.5 0 416 21.49 416 48V96H466.7C483.7 96 499.1 102.7 512 114.7L589.3 192C601.3 204 608 220.3 608 237.3V352C625.7 352 640 366.3 640 384C640 401.7 625.7 416 608 416H576C576 469 533 512 480 512C426.1 512 384 469 384 416H256C256 469 213 512 160 512C106.1 512 64 469 64 416H48C21.49 416 0 394.5 0 368V48zM544 256V237.3L466.7 160H416V256H544zM160 464C186.5 464 208 442.5 208 416C208 389.5 186.5 368 160 368C133.5 368 112 389.5 112 416C112 442.5 133.5 464 160 464zM480 368C453.5 368 432 389.5 432 416C432 442.5 453.5 464 480 464C506.5 464 528 442.5 528 416C528 389.5 506.5 368 480 368zM256.1 95.03C247.6 85.66 232.4 85.66 223 95.03C213.7 104.4 213.7 119.6 223 128.1L262.1 168H96C82.75 168 72 178.7 72 192C72 205.3 82.75 216 96 216H262.1L223 255C213.7 264.4 213.7 279.6 223 288.1C232.4 298.3 247.6 298.3 256.1 288.1L336.1 208.1C346.3 199.6 346.3 184.4 336.1 175L256.1 95.03z\\\"/></svg>\",\n \"truck_container_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M352 32C378.5 32 400 53.49 400 80V240C400 266.5 378.5 288 352 288H48C21.49 288 0 266.5 0 240V80C0 53.49 21.49 32 48 32H352zM80 80C71.16 80 64 87.16 64 96V224C64 232.8 71.16 240 80 240C88.84 240 96 232.8 96 224V96C96 87.16 88.84 80 80 80zM224 224C224 232.8 231.2 240 240 240C248.8 240 256 232.8 256 224V96C256 87.16 248.8 80 240 80C231.2 80 224 87.16 224 96V224zM160 80C151.2 80 144 87.16 144 96V224C144 232.8 151.2 240 160 240C168.8 240 176 232.8 176 224V96C176 87.16 168.8 80 160 80zM304 224C304 232.8 311.2 240 320 240C328.8 240 336 232.8 336 224V96C336 87.16 328.8 80 320 80C311.2 80 304 87.16 304 96V224zM432 168C432 154.7 442.7 144 456 144H528.8C545.6 144 561.5 151.5 572.2 164.5L630.1 236.4C636.8 243.5 640 252.5 640 261.7V352C640 369.7 625.7 384 608 384H606.4C607.4 389.2 608 394.5 608 400C608 444.2 572.2 480 528 480C483.8 480 448 444.2 448 400C448 394.5 448.6 389.2 449.6 384H286.4C287.4 389.2 288 394.5 288 400C288 444.2 252.2 480 208 480C181.8 480 158.6 467.4 144 448C129.4 467.4 106.2 480 80 480C35.82 480 0 444.2 0 400V352C0 334.3 14.33 320 32 320H432V168zM480 256H584.1L535 194.9C533.5 193.1 531.2 192 528.8 192H480V256zM528 368C510.3 368 496 382.3 496 400C496 417.7 510.3 432 528 432C545.7 432 560 417.7 560 400C560 382.3 545.7 368 528 368zM208 432C225.7 432 240 417.7 240 400C240 382.3 225.7 368 208 368C190.3 368 176 382.3 176 400C176 417.7 190.3 432 208 432zM80 368C62.33 368 48 382.3 48 400C48 417.7 62.33 432 80 432C97.67 432 112 417.7 112 400C112 382.3 97.67 368 80 368z\\\"/></svg>\",\n \"txt\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.42,40.17H13.87c-2.15,0-2.71-.56-2.71-2.72V12.88c0-2.15.56-2.71,2.71-2.71H25.48l8.66,8.88v3.43H32.8V19.6l-7.88-8.09H13.87c-1.37,0-1.37,0-1.37,1.37V37.45c0,1.37,0,1.37,1.37,1.37H31.42c1.38,0,1.38,0,1.38-1.37V35h1.34v2.43C34.14,39.61,33.58,40.17,31.42,40.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25.2,10.84v6.44c0,1.78.27,2,2,2h6.23Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.14,24.27v9h19.7v-9Zm6.68,2.36h-1.9V32h-1.3V26.63h-1.9V25.54h5.1ZM30.4,32,29,29.74,27.55,32H26l2.19-3.34-2-3.07h1.52L29,27.6l1.26-2.06h1.5l-2,3.12L32,32Zm6.86-5.32h-1.9V32H34.07V26.63H32.16V25.54h5.1Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"unlock\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M32.65,21.67H17.35c-2.81,0-3.06,2.29-3.06,5.12v8.09c0,2.83.25,5.12,3.06,5.12h15.3c2.81,0,3.06-2.29,3.06-5.12V26.79C35.71,24,35.46,21.67,32.65,21.67ZM20.22,37.49l2.61-6.32a3.82,3.82,0,1,1,4.35,0l2.6,6.32Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.51,16.64c0-3.6-2-4.07-4.51-4.07h0c-2.49,0-4.51.47-4.51,4.07v3h-2.7v-3C23.79,11.62,27,10,31,10h0c4,0,7.21,1.62,7.21,6.64Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"warehouse\": \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M6 19H8V21H6V19M12 3L2 8V21H4V13H20V21H22V8L12 3M8 11H4V9H8V11M14 11H10V9H14V11M20 11H16V9H20V11M6 15H8V17H6V15M10 15H12V17H10V15M10 19H12V21H10V19M14 19H16V21H14V19Z\\\" /></svg>\"\n};","import {Injectable} from \"@angular/core\";\r\nimport {DomSanitizer, SafeHtml} from \"@angular/platform-browser\";\r\nimport {Icon} from \"../enum/icon.enum\";\r\nimport {IconSvg} from \"../model/icon-svg\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class IconCacheService {\r\n /**\r\n * All the icons as a large JSON object, from the all-icons.json file.\r\n * The object has property keys that are the icon names, and property values with the data string of the actual svg icon.\r\n */\r\n public get iconCache(): { [iconName: string]: SafeHtml } {\r\n return this._iconCache;\r\n }\r\n\r\n private _iconCache: { [iconName: string]: SafeHtml } = {};\r\n\r\n constructor(\r\n private _sanitizer: DomSanitizer\r\n ) {\r\n this.setIconCache();\r\n }\r\n\r\n public getIcon(iconName: Icon): SafeHtml {\r\n if (iconName) {\r\n return this._iconCache[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public getIconAsBase64(iconName: Icon): SafeHtml {\r\n const icon: string = IconSvg[iconName];\r\n const base64Data: string = window.btoa(icon);\r\n return this._sanitizer.bypassSecurityTrustUrl(`data:image/svg+xml;base64,${base64Data}`);\r\n }\r\n\r\n public getRawIcon(iconName: Icon): string {\r\n if (iconName) {\r\n return IconSvg[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public setIconCache(): void {\r\n for (const key in IconSvg) {\r\n if (IconSvg.hasOwnProperty(key) && typeof IconSvg[key] !== \"function\") {\r\n this._iconCache[key.toLowerCase()] = this._sanitizer.bypassSecurityTrustHtml(IconSvg[key]);\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\nimport {GenderType} from \"@colijnit/transactionapi/build/enum/gender-type.enum\";\nimport {Marketing} from \"@colijnit/transactionapi/build/model/marketing.bo\";\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\nimport {DeliveryOption} from \"@colijnit/transactionapi/build/model/delivery-option.bo\";\nimport {TransactionService} from \"../../../service/transaction.service\";\nimport {TextValueContainer} from \"../../../model/text-value-container\";\nimport {DictionaryService} from \"../../../service/dictionary.service\";\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\nimport {Icon} from \"../../../enum/icon.enum\";\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\nimport {BusinessObjectFactory} from \"../../../factory/business-object-factory\";\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\n\n@Component({\n selector: \"co-checkout-overview-delivery-edit\",\n template: `\n <div class=\"delivery-edit-content\">\n <co-form>\n <div class=\"checkout-form-wrapper\">\n <div class=\"checkout-section-wrapper\">\n <div class=\"checkout-label-column\">\n <span>01</span>\n <span class=\"label\" [textContent]=\"'DELIVERY_DATA' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-carousel-3d [tileWidth]=\"200\"\n [tileHeight]=\"100\"\n [selectedIndex]=\"deliveryTypeIdx\"\n (indexSelected)=\"setIndexDeliveryType($event)\">\n <co-delivery-type-tile #carouselItem *ngFor=\"let method of deliveryMethods; let index = index\"\n [method]=\"method\"\n [selected]=\"deliveryTypeIdx === index\"\n (selectedChange)=\"handleDeliveryMethodChange($event)\"\n ></co-delivery-type-tile>\n </co-carousel-3d>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-date [placeholder]=\"'DELIVERY_DATE' | localize\" [required]=\"true\"></co-input-date>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-date [placeholder]=\"'PREFERRED_DATE' | localize\"></co-input-date>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-checkbox [label]=\"'PART_DELIVERIES' | localize\"></co-input-checkbox>\n </div>\n <div class=\"checkout-data-row\">\n <co-collapsible [headerTitle]=\"'ADD_DELIVERY_OPTION' | localize\" [iconData]=\"iconService.getIcon(icons.TriangleDown)\">\n <div class=\"checkout-data-row\">\n <co-input-listbox\n [placeholder]=\"'DELIVERY_OPTIONS' | localize\"\n [collection]=\"deliveryOptions\"\n [fields]=\"deliveryOptionFields\"\n [showCheckbox]=\"true\"\n ></co-input-listbox>\n </div>\n </co-collapsible>\n </div>\n <div class=\"checkout-data-row\">\n <co-collapsible [headerTitle]=\"'ADD_REMARK' | localize\" [iconData]=\"iconService.getIcon(icons.TriangleDown)\">\n <div class=\"checkout-data-row\">\n <co-input-textarea [placeholder]=\"'REMARKS' | localize\"></co-input-textarea>\n </div>\n </co-collapsible>\n </div>\n <div class=\"checkout-data-row\">\n <co-collapsible [headerTitle]=\"'ADD_REFERENCE' | localize\" [iconData]=\"iconService.getIcon(icons.TriangleDown)\">\n <div class=\"checkout-data-row\">\n <co-input-text [placeholder]=\"'REFERENCE' | localize\"></co-input-text>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-text [placeholder]=\"'REFERENCE_RELATION' | localize\"></co-input-text>\n </div>\n </co-collapsible>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-date [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'ASSEMBLY_DATE' | localize\"></co-input-date>\n </div>\n </div>\n </div>\n <div class=\"checkout-section-wrapper\">\n <div class=\"checkout-label-column\">\n <span>02</span>\n <span class=\"label\" [textContent]=\"'DOWNPAYMENT' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'DOWNPAYMENT_PERCENTAGE' | localize\"></co-input-text>\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'DOWNPAYMENT_AMOUNT' | localize\"></co-input-text>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'DOWNPAYMENT_BY_BR' | localize\"></co-input-text>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'DOWNPAYMENT_ON_DELIVERY' | localize\"></co-input-text>\n </div>\n </div>\n </div>\n <div class=\"checkout-section-wrapper\">\n <div class=\"checkout-label-column\">\n <span>03</span>\n <span class=\"label\" [textContent]=\"'ORDER_DATA' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-input-checkbox [model]=\"transactionDefinitive\" (modelChange)=\"handleTransactionDefinitive($event)\" [label]=\"'ORDER_DEFINITIVE' | localize\"></co-input-checkbox>\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'BRANCH' | localize\"></co-input-text>\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'ADMINISTRATIVE_MANAGER' | localize\"></co-input-text>\n </div>\n <div class=\"checkout-data-row\">\n <co-drop-down-list\n [collection]=\"marketing\"\n [fields]=\"marketingFields\"\n [placeholder]=\"'MARKETING' | localize\"></co-drop-down-list>\n </div>\n <div class=\"checkout-data-row\">\n </div>\n <div class=\"checkout-data-row\">\n </div>\n </div>\n </div>\n </div>\n </co-form>\n </div>\n `,\n providers: [\n FormMasterService\n ],\n animations: [\n trigger(\"showHideInvoiceAddress\", [\n state(\"void\", style({height: 0, opacity: 0})),\n state(\"*\", style({height: \"*\", opacity: 1})),\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\n transition(\"* => void\", animate(\"200ms ease-out\"))\n ])\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class CheckoutOverviewDeliveryEditComponent implements OnInit {\n public readonly icons: typeof Icon = Icon;\n\n // @Input()\n // public deliveryOptionsRequest: SetTransactionDeliveryOptionsRequest;\n\n @Input()\n public transaction: TransactionInfoResponse;\n\n @Output()\n public validSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public invalidSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding(\"class.co-checkout-overview-delivery-edit\")\n public showClass(): boolean {\n return true;\n }\n\n // public deliveryTypes: DeliveryType[] = [\n // {code: '1', description: 'Bezorgen', icon: this.icons.DeliveryTruck, price: 89},\n // {code: '2', description: 'Bezorgen & monteren', icon: this.icons.CalendarDay, price: 119},\n // {code: '3', description: 'Meenemen', icon: this.icons.Truck},\n // ];\n public deliveryOptionList: DeliveryOption[] = [];\n public deliveryOptions: DeliveryOption[] = [];\n public deliveryOptionFields: TextValueContainer = {text: \"description\", value: \"code\"};\n public deliveryMethods: DeliveryMethod[] = [];\n public deliveryMethodFields: TextValueContainer = {text: \"description\", value: \"code\"};\n public deliveryTypeIdx: number = 0;\n\n public changeLocationPopup: boolean = false;\n public transactionDefinitive: boolean = false;\n\n public newAddress: Address;\n public preferredDateOptions: TextValueContainer[] = [\n {text: \"NOT_AFTER\", value: \">\"},\n {text: \"NOT_BEFORE\", value: \"<\"},\n {text: \"ON_DATE\", value: \"=\"},\n ];\n public addressToEdit: Address;\n public preferredDate: Date = new Date();\n public gender: GenderType;\n public marketing: Marketing[] = [];\n public marketingFields: Object = {text: \"description\", value: \"code\"};\n public marketingCode: string;\n public assemblyCosts: number;\n public deliveryCosts: number;\n\n // TODO: Deze velden nog opnemen in Transaction!!\n public deliveryDateFinal: boolean = false;\n public assemblyDate: Date = new Date();\n public totalAssemblyTime: string = \"\";\n public dropshipment: boolean = false;\n\n public get deliveryDate(): Date {\n if (this.transaction.transactionInfo.deliveryDate === undefined) {\n this.transaction.transactionInfo.deliveryDate = new Date();\n }\n return this.transaction.transactionInfo.deliveryDate;\n }\n\n public set deliveryDate(value: Date) {\n this.transaction.transactionInfo.deliveryDate = value;\n }\n\n public get preferredDeliveryDate(): Date {\n if (this.transaction.transactionInfo.preferredDeliveryDate === undefined) {\n this.transaction.transactionInfo.preferredDeliveryDate = new Date();\n }\n return this.transaction.transactionInfo.preferredDeliveryDate;\n }\n\n public set preferredDeliveryDate(value: Date) {\n this.transaction.transactionInfo.preferredDeliveryDate = value;\n }\n\n constructor(\n private _dictionaryService: DictionaryService,\n private _formMasterService: FormMasterService,\n private _boFactory: BusinessObjectFactory,\n public service: TransactionService,\n public iconService: IconCacheService\n ) {\n }\n\n public async ngOnInit(): Promise<void> {\n this.deliveryCosts = this.calculateDeliveryCosts();\n this.assemblyCosts = this.calculateAssemblyCosts();\n this.service.getDeliveryMethods().then((methods: DeliveryMethod[]) => {\n this.deliveryMethods = methods.filter(m => m.webshop);\n });\n this.service.getDeliveryOptions().then((options: DeliveryOption[]) => {\n this.deliveryOptionList = options;\n });\n this.service.getMarketingCodes().then((marketingCodes: Marketing[]) => {\n this.marketing = marketingCodes;\n });\n }\n\n public submit(): boolean {\n return this._formMasterService.submitSlaves();\n }\n\n public async handleDeliveryMethodChange(deliveryMethod: DeliveryMethod): Promise<void> {\n this.transaction.transactionLines.forEach((tl: TransactionLineInfo) => {\n tl.deliveryMethodCode = deliveryMethod.code;\n })\n if (deliveryMethod) {\n this.deliveryOptions = this.selectDeliveryOptionsByDeliveryMethod(deliveryMethod);\n }\n }\n\n public setIndexDeliveryType(idx: number): void {\n this.deliveryTypeIdx = idx;\n // this.selectAddress(this.relation.addresses[idx]);\n }\n\n public selectDeliveryOptionsByDeliveryMethod(deliveryMethod: DeliveryMethod): DeliveryOption[] {\n return this.deliveryOptionList.filter(deliveryOption => deliveryMethod.deliveryOptions.indexOf(deliveryOption.code) !== -1);\n }\n\n public selectDeliveryMethodById(deliveryMethodId: string): DeliveryMethod {\n return this.deliveryMethods.find(delivery => delivery.code === deliveryMethodId);\n }\n\n public isDeliveryOptionChecked(deliveryOptionItem: DeliveryOption): boolean {\n return (this.transaction.transactionInfo.deliveryOptions.indexOf(deliveryOptionItem.code, 0) === 0);\n }\n\n public changePreferredDeliveryDate2(preferredDateOption: string): void {\n this.transaction.transactionInfo.preferredDeliveryDate2 = preferredDateOption;\n }\n\n public onMarketingCodeChange(marketingCode: string): void {\n this.transaction.transactionInfo.marketingCode = marketingCode;\n }\n\n public onChangeLocationCancelClick(): void {\n this.changeLocationPopup = false;\n }\n\n public async handleTransactionDefinitive(definitive: boolean): Promise<void> {\n const success: boolean = await this.service.updateHeaderTransactionDefinitive(this.transaction.transactionInfo.uuid, definitive);\n if (!success) {\n this.transactionDefinitive = !definitive;\n }\n }\n\n private calculateDeliveryCosts(): number {\n return 0;\n }\n\n private calculateAssemblyCosts(): number {\n return 0;\n }\n}\n","import {Component, EventEmitter, Input, Output} from \"@angular/core\";\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\nimport {TransactionService} from \"../../../service/transaction.service\";\n\n@Component({\n selector: \"checkout-overview-delivery-address\",\n template: `\n <div>\n <div>\n <label [textContent]=\"label | localize\"\n class=\"checkout-label-h3\"\n ></label>\n </div>\n\n <div (click)=\"onClick()\">\n <div>\n {{ address?.streetName }} {{ address?.houseNo}} {{ address?.houseNoAddition}}\n </div>\n <div>\n {{ address?.postalCode }} {{ address?.city}}\n </div>\n <div>\n {{ address?.countryName }}\n </div>\n </div>\n </div>\n `,\n styleUrls: [\n \"./checkout-overview-delivery-address.component.scss\"\n ]\n})\nexport class CheckoutOverviewDeliveryAddressComponent {\n\n @Input()\n public label: string;\n\n @Input()\n public address: Address;\n\n @Output()\n public editRequest: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n public service: TransactionService\n ) {}\n\n public onClick(): void {\n this.editRequest.emit();\n }\n}\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\n\n@Component({\n selector: \"co-checkout-relation-suggestions-list\",\n template: `\n <div class=\"flex-column items-wrapper\">\n <co-checkout-relation-suggestions-list-item *ngFor=\"let suggestion of suggestions\" [suggestion]=\"suggestion\"\n (selectionSelected)=\"suggestionSelected.emit($event)\"></co-checkout-relation-suggestions-list-item>\n <span *ngIf=\"suggestions?.length === 0\" class=\"no-results\" localize=\"NO_RESULTS_FOUND\"></span>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class CheckOutRelationSuggestionsListComponent {\n @Input()\n public suggestions: RelationListObject[] = [];\n\n // Emits the clicked relation list object.\n @Output()\n public suggestionSelected: EventEmitter<RelationListObject> = new EventEmitter<RelationListObject>();\n\n @HostBinding('class.co-checkout-relation-suggestions-list')\n public showClass() {\n return true;\n }\n}\n","import {Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\n\n@Component({\n selector: \"co-checkout-relation-suggestions-list-item\",\n template: `\n <div class=\"name medium-big-font\" *ngIf=\"suggestion.displayName as displayName\" [textContent]=\"displayName\"></div>\n <div class=\"email\" *ngIf=\"suggestion.email\" [textContent]=\"suggestion.email\"></div>\n <div class=\"address\" *ngIf=\"suggestion.displayAddress as address\" [textContent]=\"address\"></div>\n <div class=\"phone\" *ngIf=\"suggestion.tel1\" [textContent]=\"suggestion.tel1\"></div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class CheckOutRelationSuggestionsListItemComponent {\n @Input()\n public suggestion: RelationListObject;\n\n @Output()\n public selectionSelected: EventEmitter<RelationListObject> = new EventEmitter<RelationListObject>();\n\n @HostBinding(\"class.co-checkout-relation-suggestions-list-item\")\n public showClass() {\n return true;\n }\n\n @HostListener(\"click\", [\"$event\"])\n public handleClick(event: MouseEvent) {\n this.selectionSelected.next(this.suggestion);\n }\n}\n","import {Component, EventEmitter, OnInit, Output, ViewChild} from \"@angular/core\";\nimport {FormComponent} from \"@colijnit/corecomponents_v12\";\n\n@Component({\n selector: \"checkout-login\",\n template: `\n <h1>{{ \"LOGIN\" | localize}}</h1>\n <div class=\"users\">\n <co-form #loginForm (validSubmit)=\"login()\">\n <div class=\"existing-user\">\n <p><strong>{{ \"EXISTING_CUSTOMERS\" | localize }}</strong></p>\n <co-input-text\n [(model)]=\"userEmailAddress\"\n [placeholder]=\"'EMAIL_ADDRESS' | localize \"\n [type]=\"'email'\"\n required\n ></co-input-text>\n\n <co-input-text\n [(model)]=\"userPassword\"\n [placeholder]=\"'PASSWORD' | localize \"\n [type]=\"'password'\"\n required\n ></co-input-text>\n <div class=\"login-button\">\n <co-button\n [label]=\"'LOGIN' | localize\" (click)=\"submit()\"\n ></co-button>\n </div>\n </div>\n </co-form>\n\n <co-form #accountForm (validSubmit)=\"accountLogin()\">\n <div class=\"new-user\">\n <p class=\"boxedbottom\">\n <strong>{{ \"NEW_AT\" | localize}}{{company}}</strong>\n <br/>{{ \"CREATE_ACCOUNT_IN_2_MIN\" | localize }}\n </p>\n <div class=\"new-user-e-mail\">\n <co-input-text\n [(model)]=\"userNewEmailAddress\"\n [placeholder]=\"'EMAIL_ADDRESS' | localize \"\n [type]=\"'email'\"\n required\n ></co-input-text>\n </div>\n <div class=\"login-button\">\n <co-button\n [label]=\"'CREATE_ACCOUNT' | localize\"\n (click)=\"createAccountSubmit()\"\n ></co-button>\n <co-button\n [label]=\"'CONTINUE_WITHOUT_ACCOUNT' | localize\"\n (click)=\"continueSubmit()\"\n ></co-button>\n </div>\n </div>\n </co-form>\n </div>\n `,\n styleUrls: [\"./checkout-login.component.scss\"]\n})\nexport class CheckoutLoginComponent implements OnInit {\n @ViewChild(\"loginForm\")\n public loginForm: FormComponent;\n\n @ViewChild(\"accountForm\")\n public accountForm: FormComponent;\n\n @Output()\n public createNewAccountSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public continueWithoutSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public loginSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n public userEmailAddress: string = \"\";\n public userNewEmailAddress: string = \"\";\n public userPassword: string = \"\";\n public continueWithoutAccount: boolean = false;\n\n public company: string = \"<bedrijf>\";\n constructor(\n ) { }\n\n ngOnInit(): void {\n }\n\n public login(): void {\n this.loginSubmit.emit();\n }\n\n public submit(): void {\n this.loginForm.submit();\n }\n\n public createAccountSubmit(): void {\n this.accountForm.submit();\n }\n\n public continueSubmit(): void {\n this.continueWithoutAccount = true;\n this.accountForm.submit();\n }\n\n public accountLogin(): void {\n if (this.continueWithoutAccount) {\n this.continueWithoutSubmit.emit();\n } else {\n this.createNewAccountSubmit.emit();\n }\n }\n}\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\n\n@Component({\n selector: \"co-image-display\",\n template: `\n <img class=\"image\" *ngIf=\"!!model\" [src]=\"model\">\n <div class=\"no-image\" *ngIf=\"!model\">\n <div class=\"img\"></div>\n <div class=\"no-image-label\" [textContent]=\"label | localize\"></div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class ImageDisplayComponent {\n // Image data URI string. Meant for direct use in [src] attribute of an <img> tag.\n @Input()\n public model: string;\n\n // The (localized) text to show when there is no image. Defaults to 'NO_IMAGE'.\n @Input()\n public label: string = \"NO_IMAGE\";\n\n @HostBinding('class.co-image-display')\n public showClass() {\n return true;\n }\n}\n","import {Component, HostBinding, Input, OnDestroy} from \"@angular/core\";\nimport {SafeHtml} from \"@angular/platform-browser\";\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\nimport {Icon} from \"../../../enum/icon.enum\";\n\n@Component({\n selector: \"icon\",\n template: \"\",\n styleUrls: [\n \"./icon.component.scss\"\n ]\n})\nexport class IconComponent implements OnDestroy {\n\n @Input()\n public set icon(icon: Icon) {\n this._setSvg(icon);\n }\n\n @HostBinding(\"innerHtml\")\n public svg?: SafeHtml;\n\n constructor(private _iconCacheService: IconCacheService) {\n }\n\n ngOnDestroy(): void {\n this.svg = undefined;\n }\n\n private _setSvg(icon: Icon): void {\n this.svg = this._iconCacheService.getIcon(icon);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\r\nimport {TransactionConnectorService} from \"../../../service/transaction-connector.service\";\r\nimport {CustomerGroup} from \"@colijnit/transactionapi/build/model/customer-group.bo\";\r\n\r\n@Component({\r\n selector: \"relation-customer-groups\",\r\n template: `\r\n <co-input-combo-box [model]=\"model\"\r\n (modelChange)=\"modelChange.emit($event)\"\r\n [collection]=\"customerGroups\"\r\n [fields]=\"fields\"\r\n [placeholder]=\"'CUSTOMER_GROUP' | localize\"\r\n [required]=\"required\"\r\n ></co-input-combo-box>\r\n `,\r\n styleUrls: [\r\n './relation-customer-groups.component.scss'\r\n ]\r\n})\r\nexport class CustomerGroupsComponent implements OnInit {\r\n\r\n @Input()\r\n public required: boolean = false;\r\n\r\n @Input()\r\n public model: string;\r\n\r\n @Output()\r\n public modelChange: EventEmitter<CustomerGroup> = new EventEmitter<CustomerGroup>()\r\n\r\n public customerGroups: CustomerGroup[] = [];\r\n public fields: Object = { text: \"naam\", value: \"groepsnummer\" };\r\n\r\n public constructor(\r\n private _connector: TransactionConnectorService\r\n ) {}\r\n\r\n async ngOnInit(): Promise<void> {\r\n this.customerGroups = await this._connector.getCustomerGroups();\r\n }\r\n\r\n}\r\n","import {Component, Input} from \"@angular/core\";\nimport {StockStatus} from \"@colijnit/transactionapi/build/enum/refcode/stock-status.enum\";\n\n@Component({\n selector: \"stock-status-indicator\",\n template: `\n <div [class]=\"stockClass\">\n <div class=\"square-1\"></div>\n <div class=\"square-2\"></div>\n <div class=\"square-3\"></div>\n </div>\n `,\n styleUrls: [\n \"./stock-status-indicator.component.scss\"\n ]\n})\n// Component that visually shows a stock status with three colored boxes.\nexport class StockStatusIndicatorComponent {\n @Input()\n public model: StockStatus;\n\n public get stockClass(): string {\n return this.model;\n }\n}\n","// A pipe for appending strings to other strings in view templates.\r\nimport {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\n@Pipe({name: \"append\"})\r\nexport class AppendPipe implements PipeTransform {\r\n transform(value: string, append?: string): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n\r\n if (!append) {\r\n return value;\r\n }\r\n\r\n return value + append;\r\n }\r\n}\r\n","// Time size types, as in 'days' or 'weeks' or 'months'.\r\nexport enum TimeSizeType {\r\n Hours = \"hours\",\r\n Days = \"days\",\r\n Weeks = \"weeks\",\r\n Months = \"months\",\r\n Years = \"years\"\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DictionaryService} from \"../service/dictionary.service\";\r\nimport {DateUtils} from \"@colijnit/transactionapi/build/utils/date-utils\";\r\nimport {TimeSizeType} from \"../enum/time-size.type\";\r\n\r\n@Pipe({name: \"dateDuration\", pure: false})\r\nexport class DateDurationPipe implements PipeTransform {\r\n\r\n constructor(protected _dictionary: DictionaryService) {\r\n }\r\n\r\n // Transforms some date in the future to a duration string, e.g. \"x days\" or \"x weeks\" (from now)\r\n transform(value: Date, timeSize: TimeSizeType = TimeSizeType.Days): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n const deltaDays: number = Math.round(DateUtils.GetDaysFromNow(value));\r\n\r\n if (deltaDays === 0) {\r\n return this._dictionary.get(\"NOW\");\r\n } else if (timeSize === TimeSizeType.Days) {\r\n return this.transformByDeltaDays(deltaDays);\r\n } else if (timeSize === TimeSizeType.Weeks) {\r\n return this.transformByDeltaWeeks(deltaDays);\r\n } else {\r\n return this.transformByDeltaDays(deltaDays);\r\n }\r\n }\r\n\r\n // @returns like \"1 day\" or \"5 days\"\r\n public transformByDeltaDays(deltaDays: number): string {\r\n let daySuffix: string;\r\n if (deltaDays === 1) {\r\n daySuffix = this._dictionary.get(\"DAY\", false);\r\n } else {\r\n daySuffix = this._dictionary.get(\"DAYS\", false);\r\n }\r\n return deltaDays + \" \" + daySuffix;\r\n }\r\n\r\n // @returns like \"1 week\" or \"5 weeks\"\r\n public transformByDeltaWeeks(deltaWeeks: number): string {\r\n let weeksSuffix: string;\r\n if (deltaWeeks === 1) {\r\n weeksSuffix = this._dictionary.get(\"WEEK\", false);\r\n } else {\r\n weeksSuffix = this._dictionary.get(\"WEEKS\", false);\r\n }\r\n return deltaWeeks + \" \" + weeksSuffix;\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DateDurationPipe} from \"./date-duration.pipe\";\r\nimport {DictionaryService} from \"../service/dictionary.service\";\r\nimport {TimeSizeType} from \"../enum/time-size.type\";\r\nimport {DateUtils} from \"@colijnit/transactionapi/build/utils/date-utils\";\r\n\r\n@Pipe({name: \"deliveryTime\", pure: false})\r\nexport class DeliveryTimePipe extends DateDurationPipe implements PipeTransform {\r\n\r\n constructor(_dictionaryService: DictionaryService) {\r\n super(_dictionaryService);\r\n }\r\n\r\n /**\r\n * Transforms some Date in the future to a duration string such as \"x days\" or \"x months\" (from now).\r\n * Outputs 'directly available' if 0 days diff.\r\n */\r\n transform(value: Date, timeSize: TimeSizeType = TimeSizeType.Days): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n if (typeof value === 'number') {\r\n value = new Date(value);\r\n }\r\n\r\n const deltaDays: number = Math.round(DateUtils.GetDaysFromNow(value));\r\n\r\n if (deltaDays <= 0) {\r\n return this._dictionary.get(\"DELIVERY_DIRECT\");\r\n } else {\r\n return super.transform(value, timeSize);\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DictionaryService} from \"../service/dictionary.service\";\r\n\r\n@Pipe({\r\n name: \"localize\"\r\n})\r\n// A pipe for localizing string values in view templates.\r\nexport class LocalizePipe implements PipeTransform {\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention, no-underscore-dangle, id-blacklist, id-match\r\n constructor(private _dictionaryService: DictionaryService) {}\r\n\r\n transform(value: string, upperCaseFirst: boolean = true, replace: string|string[] = []): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n replace = replace ? replace : [];\r\n if (!Array.isArray(replace)) {\r\n replace = [replace];\r\n }\r\n return this._dictionaryService.get(value, upperCaseFirst, ...replace);\r\n }\r\n}\r\n","/**\r\n * A pipe for transforming strings or numbers to currency formatted strings for display as a price text, e.g. the number 1300.82 to \"€ 1,300.82\"\r\n * or the string \"9000\" to \"€ 9000,-\"\r\n */\r\nimport {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {NumberUtils} from \"@colijnit/transactionapi/build/utils/number-utils\";\r\n\r\n@Pipe({name: \"coCurrency\"})\r\nexport class CoCurrencyPipe implements PipeTransform {\r\n private static readonly _CurrencySymbol: string = \"€\";\r\n private static readonly _WholeNumberedPriceSuffix: string = \",-\";\r\n\r\n transform(value: any, allowZero: boolean = false): string {\r\n if (value === null || value === undefined) {\r\n if (allowZero) {\r\n value = 0;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n if (value === 0 && !allowZero) {\r\n return \"\";\r\n }\r\n let suffix: string = \"\";\r\n const valueAsFloat: number = NumberUtils.ParseFloat(value, 2);\r\n if (NumberUtils.IsNaN(valueAsFloat)) {\r\n return \"\";\r\n }\r\n // append ,- if integer\r\n if (NumberUtils.IsInteger(valueAsFloat)) {\r\n suffix = CoCurrencyPipe._WholeNumberedPriceSuffix;\r\n }\r\n let valueAsString: string = valueAsFloat.toString();\r\n // add extra zero if price has only one decimal, something like '100.2'\r\n if (valueAsString.indexOf(\".\") > -1 && valueAsString.split(\".\")[1].length === 1) {\r\n valueAsString += \"0\";\r\n }\r\n valueAsString = NumberUtils.AddThousandsCommasTo(valueAsString);\r\n // switch '.' and ',' characters (Dutch number view .. hard coded format for now)\r\n valueAsString = valueAsString.replace(\",\", \"#\");\r\n valueAsString = valueAsString.replace(\".\", \",\");\r\n valueAsString = valueAsString.replace(\"#\", \".\");\r\n return CoCurrencyPipe._CurrencySymbol + \" \" + valueAsString + suffix;\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DomSanitizer, SafeStyle} from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: \"safeStyle\"\r\n})\r\nexport class SafeStylePipe implements PipeTransform {\r\n\r\n constructor(private _sanitizer: DomSanitizer) {}\r\n\r\n transform(value: string): SafeStyle | any {\r\n return this._sanitizer.bypassSecurityTrustStyle(value);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DomSanitizer, SafeStyle} from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: \"safeHtml\"\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private _sanitizer: DomSanitizer) {}\r\n\r\n transform(value: string): SafeStyle | any {\r\n return this._sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AppendPipe} from \"./append.pipe\";\r\nimport {DeliveryTimePipe} from \"./delivery-time.pipe\";\r\nimport {DateDurationPipe} from \"./date-duration.pipe\";\r\nimport {LocalizePipe} from \"./localize.pipe\";\r\nimport {CoCurrencyPipe} from \"./co-currency.pipe\";\r\nimport {SafeStylePipe} from \"./safe-style.pipe\";\r\nimport {SafeHtmlPipe} from \"./safe-html.pipe\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n AppendPipe,\r\n DeliveryTimePipe,\r\n DateDurationPipe,\r\n LocalizePipe,\r\n CoCurrencyPipe,\r\n SafeStylePipe,\r\n SafeHtmlPipe\r\n ],\r\n exports: [\r\n LocalizePipe,\r\n CoCurrencyPipe,\r\n AppendPipe,\r\n DeliveryTimePipe,\r\n SafeStylePipe,\r\n SafeHtmlPipe,\r\n CoCurrencyPipe\r\n ]\r\n})\r\nexport class PipeModule { }\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ConfirmationDialogComponent} from \"./confirmation-dialog.component\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n ButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ConfirmationDialogComponent\r\n ],\r\n exports: [\r\n ConfirmationDialogComponent\r\n ]\r\n})\r\nexport class ConfirmationDialogModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {ImageDisplayComponent} from \"./image-display/image-display.component\";\nimport {IconComponent} from \"./icon/icon.component\";\nimport {CustomerGroupsComponent} from \"./relation/customer-groups.component\";\nimport {ButtonModule, CoDialogModule, InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\nimport {StockStatusIndicatorComponent} from \"./stock-status-indicator/stock-status-indicator.component\";\nimport {ConfirmationDialogModule} from \"../confirmation-dialog/confirmation-dialog.module\";\nimport {PipeModule} from \"../../pipe/pipe.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n InputComboBoxModule,\n CoDialogModule,\n ButtonModule,\n ConfirmationDialogModule,\n PipeModule\n ],\n declarations: [\n ImageDisplayComponent,\n IconComponent,\n CustomerGroupsComponent,\n StockStatusIndicatorComponent\n ],\n exports: [\n ImageDisplayComponent,\n IconComponent,\n CustomerGroupsComponent,\n StockStatusIndicatorComponent\n ]\n})\nexport class CoreModule { }\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\r\nimport {BusinessObjectFactory} from \"../../factory/business-object-factory\";\r\nimport {AddressType} from \"@colijnit/transactionapi/build/enum/address-type.enum\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\n@Component({\r\n selector: \"co-relation-address-select\",\r\n template: `\r\n <div class=\"relation-address-content\" #scrollContainer>\r\n <co-relation-address-tile *ngFor=\"let address of collection; let index = index\"\r\n [address]=\"address\"\r\n [selected]=\"index === selectedIdx\"\r\n (click)=\"selectedIdx = index\">\r\n </co-relation-address-tile>\r\n <co-relation-address-tile *ngIf=\"showAdd\" [actAsAddTile]=\"true\" (addAddressClicked)=\"createAddress()\"></co-relation-address-tile>\r\n <div class=\"relation-address-navigate left\" *ngIf=\"showNavigateLeft\" @showHideNavigationButton>\r\n <icon [icon]=\"icons.ArrowPointLeft\"></icon>\r\n </div>\r\n <div class=\"relation-address-navigate right\" *ngIf=\"showNavigateRight\" @showHideNavigationButton>\r\n <icon [icon]=\"icons.ArrowPointRight\"></icon>\r\n </div>\r\n </div>\r\n <div class=\"relation-address-change\">\r\n <icon class=\"relation-address-icon\" [icon]=\"icons.ArrowPointRight\"></icon>\r\n <div [textContent]=\"'Wijzig adres'\" (click)=\"editAddress()\"></div>\r\n </div>\r\n <div class=\"relation-address-select-button-wrapper\">\r\n <co-button [label]=\"'SAVE' | localize\" (click)=\"selectAddress()\"></co-button>\r\n <co-button [label]=\"'CANCEL' | localize\" (click)=\"cancelClick.emit()\"></co-button>\r\n </div>\r\n <co-dialog *ngIf=\"showDialog\">\r\n <co-relation-address\r\n [address]=\"addressToEdit\"\r\n (saveClick)=\"saveAddress($event)\"\r\n (cancelClick)=\"showDialog = false\"\r\n ></co-relation-address>\r\n </co-dialog>\r\n `,\r\n providers: [\r\n FormMasterService\r\n ],\r\n animations: [\r\n trigger(\"showHideNavigationButton\", [\r\n state(\"void\", style({opacity: 0})),\r\n state(\"*\", style({opacity: 1})),\r\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\r\n transition(\"* => void\", animate(\"200ms ease-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelationAddressSelectComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild('scrollContainer', { read: ElementRef }) set content(content) {\r\n if (content) {\r\n this.scrollContainer = content;\r\n this._initObserver();\r\n }\r\n }\r\n\r\n @HostBinding(\"class.co-relation-address-select\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @Input()\r\n public collection: Address[] = [];\r\n\r\n @Input()\r\n public showAdd: boolean = true;\r\n\r\n @Output()\r\n public addressAdded: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n @Output()\r\n public addressUpdated: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n @Output()\r\n public addressSelected: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public selectedIdx: number = 0;\r\n\r\n public addressToEdit: Address;\r\n public showDialog: boolean = false;\r\n public scrollContainer: ElementRef;\r\n public observer: IntersectionObserver;\r\n public showNavigateLeft: boolean = true;\r\n public showNavigateRight: boolean = true;\r\n\r\n constructor(\r\n private _formMasterService: FormMasterService,\r\n private _boFactory: BusinessObjectFactory\r\n ) {\r\n }\r\n\r\n public selectAddress(): void {\r\n this.addressSelected.next(this.collection[this.selectedIdx]);\r\n }\r\n\r\n public createAddress(): void {\r\n this.addressToEdit = new Address();\r\n this.addressToEdit.addressType = AddressType.DeliveryAddress;\r\n this.showDialog = true;\r\n }\r\n\r\n public saveAddress(address: Address): void {\r\n if (this._formMasterService.submitSlaves()) {\r\n if (address.getId()) {\r\n this.collection[this.selectedIdx] = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, address);\r\n } else {\r\n this.collection.push(address);\r\n }\r\n this.showDialog = false;\r\n }\r\n }\r\n\r\n public editAddress(): void {\r\n const address: Address = this.collection[this.selectedIdx];\r\n if (address) {\r\n this.addressToEdit = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, address);\r\n this.showDialog = true;\r\n }\r\n }\r\n\r\n private _initObserver(): void {\r\n if (this.scrollContainer && this.scrollContainer.nativeElement) {\r\n const intersectionOptions = {\r\n root: null,\r\n rootMargin: '0px',\r\n threshold: 1.0\r\n };\r\n this.observer = new IntersectionObserver(this._intersectionCallback, intersectionOptions);\r\n this.observer.observe(this.scrollContainer.nativeElement);\r\n }\r\n }\r\n\r\n private _intersectionCallback = (entries, observer) => {\r\n const entry = entries[0];\r\n if (entry.intersectionRatio < 1) {\r\n this.showNavigateRight = true;\r\n } else {\r\n this._hideButtons();\r\n }\r\n }\r\n\r\n private _hideButtons(): void {\r\n this.showNavigateLeft = false;\r\n this.showNavigateRight = false;\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\nimport {isNill} from \"@colijnit/transactionapi/build/utils/function/is-nill.function\";\nimport {TransactionConnectorService} from \"../../service/transaction-connector.service\";\nimport {GetPostalCodeRetrievalOutputParams} from \"@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params\";\nimport {StringUtils} from \"../../utils/string-utils\";\nimport {DictionaryService} from \"../../service/dictionary.service\";\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\n\n@Component({\n selector: \"co-relation-address\",\n template: `\n <label *ngIf=label [textContent]=\"label | localize\"\n class=\"checkout-label-h3\"\n ></label>\n <co-form>\n <div class=\"relation-address-data-row default\">\n <co-input-combo-box [(model)]=\"address.countryId\"\n [collection]=\"countries\"\n [fields]=\"fields\"\n [placeholder]=\"'COUNTRY'| localize\"\n [required]=\"true\"\n ></co-input-combo-box>\n </div>\n <div class=\"relation-address-data-row default\">\n <co-input-text [(model)]=\"address.postalCode\"\n [placeholder]=\"'POSTAL_CODE' | localize\"\n (blur)=\"checkForPostalCodeCheckError()\"\n required\n ></co-input-text>\n <co-input-text class=\"default-width\"\n [(model)]=\"address.houseNo\"\n [placeholder]=\"'HOUSE_NO' | localize\"\n (blur)=\"checkForPostalCodeCheckError()\"\n (modelChange)=\"changeHouseNo()\"\n required\n ></co-input-text>\n <co-input-text [(model)]=\"address.houseNoAddition\"\n [placeholder]=\"'HOUSE_NO_ADDITION' | localize\"\n ></co-input-text>\n </div>\n <div class=\"relation-address-data-row default\">\n <co-input-text [(model)]=\"address.streetName\" [placeholder]=\"'STREET' | localize\" required></co-input-text>\n </div>\n <div class=\"relation-address-data-row default\">\n <co-input-text [(model)]=\"address.city\" [placeholder]=\"'CITY' | localize\" required></co-input-text>\n </div>\n <div class=\"relation-address-button-wrapper\" *ngIf=\"showButtons\">\n <co-button [label]=\"'SAVE' | localize\" (click)=\"submitForm()\"></co-button>\n <co-button [label]=\"'CANCEL' | localize\" (click)=\"cancelClick.emit()\"></co-button>\n </div>\n </co-form>\n `,\n providers: [\n FormMasterService\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class RelationAddressComponent implements OnInit {\n\n @Input()\n public label: string;\n\n @Input()\n public address: Address = new Address();\n\n @Input()\n public showButtons: boolean = true;\n\n @Output()\n public saveClick: EventEmitter<Address> = new EventEmitter<Address>();\n\n @Output()\n public cancelClick: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding(\"class.co-relation-address\")\n public showClass(): boolean {\n return true;\n }\n\n public countries: Country[] = [];\n public fields: Object = {text: \"description\", value: \"code\"};\n\n public constructor(\n private _dictionary: DictionaryService,\n private _connector: TransactionConnectorService,\n private _formMasterService: FormMasterService\n ) {\n }\n\n public postalCodeCheckErrorMessage: string = \"\";\n\n private _prevPostalCodeForCheck: string = \"\";\n private _prevHouseNoForCheck: number;\n private _address: Address;\n\n async ngOnInit(): Promise<void> {\n this.countries = await this._connector.getCountries();\n }\n\n public submitForm(): void {\n if (this._formMasterService.submitSlaves()) {\n this.saveClick.next(this.address);\n }\n }\n\n public async checkForPostalCodeCheckError(): Promise<void> {\n if (!this.address.postalCode || isNill(this.address.houseNo)) {\n this.postalCodeCheckErrorMessage = \"\";\n return;\n }\n\n if (this._prevPostalCodeForCheck !== this.address.postalCode || this._prevHouseNoForCheck !== this.address.houseNo) {\n this._prevPostalCodeForCheck = this.address.postalCode;\n this._prevHouseNoForCheck = this.address.houseNo;\n const postalCodeResponse: GetPostalCodeRetrievalOutputParams = await this._connector.getPostalCodeRetrieval((this.address.postalCode ? this.address.postalCode : \"\"),\n StringUtils.ParseString(this.address.houseNo));\n if (postalCodeResponse && postalCodeResponse.isBadAddress) {\n this.postalCodeCheckErrorMessage = this._dictionary.get(\"UNKNOWN_ADDRESS_CHECK_IT\");\n } else {\n this.postalCodeCheckErrorMessage = \"\";\n this.address.streetName = postalCodeResponse.street;\n this.address.city = postalCodeResponse.city;\n }\n }\n }\n\n public changeHouseNo(): void {\n this.address.houseNo = Number(this.address.houseNo);\n }\n}\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationAddressComponent} from \"./relation-address.component\";\r\nimport {ButtonModule, FormModule, InputComboBoxModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputComboBoxModule,\r\n InputTextModule,\r\n CoreModule,\r\n FormModule,\r\n ButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n RelationAddressComponent\r\n ],\r\n exports: [\r\n RelationAddressComponent\r\n ]\r\n})\r\nexport class RelationAddressModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Address} from \"@colijnit/transactionapi/build/model/address.bo\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-relation-address-tile\",\r\n template: `\r\n <ng-container *ngIf=\"!actAsAddTile\">\r\n <co-tile [selected]=\"selected\" (selectedChange)=\"selectedChange.emit($event)\">\r\n <div class=\"relation-content-wrapper\">\r\n <span class=\"relation-address-type\" [textContent]=\"address.displayType | localize\"></span>\r\n <span class=\"relation-address-name\" [textContent]=\"address.addressName\"></span>\r\n <span class=\"relation-address-address\" [textContent]=\"address.displayAddress\"></span>\r\n <span class=\"relation-address-postal\" [textContent]=\"address.displayPostal\"></span>\r\n <span class=\"relation-address-country\" [textContent]=\"address.displayCountry\"></span>\r\n </div>\r\n <div class=\"relation-address-edit\" (click)=\"handleEditAddressClick($event)\">\r\n <icon class=\"relation-address-edit-icon\" [icon]=\"icons.EditPencil\"></icon>\r\n </div>\r\n </co-tile>\r\n </ng-container>\r\n <ng-container *ngIf=\"actAsAddTile\">\r\n <co-tile (click)=\"addAddressClicked.emit()\">\r\n <div class=\"relation-content-wrapper\">\r\n <icon class=\"relation-address-icon\" [icon]=\"icons.PlusRound\"></icon>\r\n <span [textContent]=\"'ADDRESS_ADD' | localize\"></span>\r\n </div>\r\n </co-tile>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelationAddressTileComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding(\"class.co-relation-address-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @Input()\r\n public address: Address;\r\n\r\n @Input()\r\n public actAsAddTile: boolean = false;\r\n\r\n @Input()\r\n public selected: boolean = false;\r\n\r\n @Output()\r\n public selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Output()\r\n public addAddressClicked: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public editAddressClicked: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n public handleEditAddressClick(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n event.stopImmediatePropagation();\r\n this.editAddressClicked.next(this.address);\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-tile\",\r\n template: `\r\n <div class=\"co-tile-wrapper\" (click)=\"selectedChange.emit(selected)\">\r\n <div class=\"co-tile-select-wrapper\">\r\n <co-input-radio-button [checked]=\"selected\" (modelChange)=\"selectedChange.emit($event)\"></co-input-radio-button>\r\n </div>\r\n <div class=\"co-tile-content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TileComponent {\r\n\r\n @HostBinding('class.selected')\r\n @Input()\r\n public selected: boolean = false;\r\n\r\n @Output()\r\n public selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding(\"class.co-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {TileComponent} from \"./tile.component\";\r\nimport {InputRadioButtonModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n InputRadioButtonModule\r\n ],\r\n declarations: [\r\n TileComponent\r\n ],\r\n exports: [\r\n TileComponent\r\n ]\r\n})\r\nexport class TileModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationAddressTileComponent} from \"./relation-address-tile.component\";\r\nimport {ButtonModule, CoDialogModule, FormModule, InputRadioButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {RelationAddressModule} from \"../relation-address/relation-address.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TileModule} from \"../tile/tile.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputRadioButtonModule,\r\n CoreModule,\r\n CoDialogModule,\r\n RelationAddressModule,\r\n ButtonModule,\r\n FormModule,\r\n PipeModule,\r\n TileModule\r\n ],\r\n declarations: [\r\n RelationAddressTileComponent\r\n ],\r\n exports: [\r\n RelationAddressTileComponent\r\n ]\r\n})\r\nexport class RelationAddressTileModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationAddressSelectComponent} from \"./relation-address-select.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {ButtonModule, CoDialogModule, FormModule, IconModule, InputRadioButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {RelationAddressModule} from \"../relation-address/relation-address.module\";\r\nimport {RelationAddressTileModule} from \"../relation-address-tile/relation-address-tile.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n InputRadioButtonModule,\r\n IconModule,\r\n CoDialogModule,\r\n RelationAddressModule,\r\n FormModule,\r\n ButtonModule,\r\n RelationAddressTileModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n RelationAddressSelectComponent\r\n ],\r\n exports: [\r\n RelationAddressSelectComponent\r\n ]\r\n})\r\nexport class RelationAddressSelectModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-stepper-step\",\r\n template: `\r\n <ng-container *ngIf=\"show\">\r\n <ng-content></ng-content>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StepperStepComponent {\r\n\r\n @Input()\r\n public index: number = 0;\r\n\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public set completed(value: boolean) {\r\n this._completed = value;\r\n this.onComplete(this._completed);\r\n }\r\n\r\n public get completed(): boolean {\r\n return this._completed;\r\n }\r\n\r\n @HostBinding('class.show')\r\n @Input()\r\n public show: boolean = false;\r\n\r\n @Output()\r\n public validateStep: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-stepper-step\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n private _completed: boolean = false;\r\n\r\n public onComplete = (complete: boolean) => {}\r\n}\r\n","import {Component, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {StepperStepComponent} from \"./component/stepper-step.component\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\n\r\nexport interface steps {\r\n index: number;\r\n description: string;\r\n complete: boolean;\r\n}\r\n\r\n@Component({\r\n selector: \"co-stepper\",\r\n template: `\r\n <ng-container [ngTemplateOutlet]=\"buttonTemplate\"></ng-container>\r\n <div class=\"co-stepper-content\">\r\n <div class=\"stepper-step\" [class.last]=\"index === stepChildren.length - 1\" *ngFor=\"let step of stepChildren; let index = index\"\r\n [class.active]=\"index === activeStep\"\r\n [class.complete]=\"step.completed\"\r\n (click)=\"goto(index)\">\r\n <div class=\"description\" [textContent]=\"step.label\"></div>\r\n <div class=\"index\"></div>\r\n </div>\r\n <icon #deliveryTruck *ngIf=\"activeStep !== lastStep\" class=\"delivery-truck\" [icon]=\"icons.DeliveryTruck\" [style.left.%]=\"truckPosition\"></icon>\r\n </div>\r\n <div class=\"co-stepper-content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n <ng-container [ngTemplateOutlet]=\"buttonTemplate\"></ng-container>\r\n <ng-template #buttonTemplate>\r\n <div class=\"stepper-button-wrapper\">\r\n <co-button [label]=\"'BACK' | localize\" *ngIf=\"canPrevious\" (click)=\"gotoPrevious()\"></co-button>\r\n <co-button [label]=\"'CONTINUE' | localize\" *ngIf=\"canNext\" (click)=\"gotoNext()\"></co-button>\r\n <co-button [label]=\"finishButtonLabel\" *ngIf=\"finished\" (click)=\"finishStep.emit()\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StepperComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ContentChildren(StepperStepComponent) set content(children) {\r\n this.stepChildren = children.toArray();\r\n if (this.stepChildren) {\r\n setTimeout(() => {\r\n this._setActive(0);\r\n });\r\n }\r\n }\r\n\r\n @ViewChild('deliveryTruck', { read: ElementRef}) set child(child) {\r\n if (child && child.nativeElement) {\r\n this._deliveryTruckClientRect = child.nativeElement.getBoundingClientRect();\r\n }\r\n }\r\n\r\n @Input()\r\n public finishButtonLabel: string;\r\n\r\n @Output()\r\n public finishStep: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-stepper\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public set stepChildren(value: StepperStepComponent[]) {\r\n this._stepChildren = value;\r\n this._prepareSteps();\r\n }\r\n\r\n public get stepChildren(): StepperStepComponent[] {\r\n return this._stepChildren;\r\n }\r\n\r\n public get canPrevious(): boolean {\r\n return this.activeStep > this.firstStep;\r\n }\r\n\r\n public get canNext(): boolean {\r\n return this.activeStep < this.lastStep;\r\n }\r\n\r\n public get finished(): boolean {\r\n return this.activeStep === this.lastStep;\r\n }\r\n\r\n public set activeStep(value: number) {\r\n this._activeStep = value;\r\n this.truckPosition = (100 / this.stepChildren.length) * (this._activeStep + 1);\r\n }\r\n\r\n public get activeStep(): number {\r\n return this._activeStep;\r\n }\r\n\r\n public firstStep: number = 0;\r\n public lastStep: number;\r\n public truckPosition: number = 0;\r\n\r\n private _stepChildren: StepperStepComponent[];\r\n private _activeStep: number = 0;\r\n private _deliveryTruckClientRect: ClientRect;\r\n\r\n public goto(idx: number): void {\r\n if (idx > this.activeStep) {\r\n this._validateCurrentStep(idx);\r\n } else {\r\n this._setActive(idx);\r\n }\r\n }\r\n\r\n public gotoPrevious(): void {\r\n this._setActive(this.activeStep - 1);\r\n }\r\n\r\n public gotoNext(): void {\r\n this._validateCurrentStep();\r\n }\r\n\r\n private _validateCurrentStep(nextStep?: number): void {\r\n this.stepChildren[this.activeStep].onComplete = (complete: boolean) => {\r\n if (complete) {\r\n this._setActive(nextStep === undefined ? this.activeStep + 1 : nextStep);\r\n }\r\n };\r\n this.stepChildren[this.activeStep].validateStep.next();\r\n }\r\n\r\n private _setActive(idx: number): void {\r\n const prevStep: StepperStepComponent = this.stepChildren[idx - 1];\r\n if (!prevStep || prevStep.completed) {\r\n if (this.stepChildren) {\r\n this.stepChildren.map(s => s.show = false);\r\n this.stepChildren[idx].show = true;\r\n this.activeStep = idx;\r\n }\r\n }\r\n }\r\n\r\n private _prepareSteps(): void {\r\n this.lastStep = this.stepChildren.length - 1;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {StepperComponent} from \"./stepper.component\";\r\nimport {StepperStepComponent} from \"./component/stepper-step.component\";\r\nimport {ButtonModule, IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {CoreModule} from \"../core/core.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ButtonModule,\r\n PipeModule,\r\n IconModule,\r\n CoreModule\r\n ],\r\n declarations: [\r\n StepperComponent,\r\n StepperStepComponent\r\n ],\r\n exports: [\r\n StepperComponent,\r\n StepperStepComponent\r\n ]\r\n})\r\nexport class StepperModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionTotal} from \"@colijnit/transactionapi/build/model/transaction-total.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-totals\",\r\n template: `\r\n <div class=\"transaction-totals-wrapper\">\r\n <span class=\"totals-gross label\" [textContent]=\"'ORDER_GROSS' | localize\"></span>\r\n <span class=\"totals-gross value\" [textContent]=\"totals?.grossAmount | coCurrency: true\"></span>\r\n <ng-container *ngIf=\"totals?.discountAmount\">\r\n <span class=\"totals-discount-amount label\" [textContent]=\"'DISCOUNT_AMOUNT' | localize\"></span>\r\n <span class=\"totals-discount-amount value\" [textContent]=\"totals?.discountAmount | coCurrency: true\"></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"totals?.transactionDiscountAmount\">\r\n <span class=\"totals-discount label\" [textContent]=\"'TRANSACTION_DISCOUNT' | localize\"></span>\r\n <span class=\"totals-discount value\" [textContent]=\"totals?.transactionDiscountAmount | coCurrency: true\"></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"totals?.transactionDiscountPercentage\">\r\n <span class=\"totals-discount-percentage label\" [textContent]=\"'TRANSACTION_DISCOUNT_PERC' | localize\"></span>\r\n <span class=\"totals-discount-percentage value\" [textContent]=\"totals?.transactionDiscountPercentage.toString() | append:' %'\"></span>\r\n </ng-container>\r\n <span class=\"totals-net label\" [textContent]=\"'ORDER_NET'| localize\"></span>\r\n <span class=\"totals-net value\" [textContent]=\"totals?.netAmount | coCurrency: true\"></span>\r\n <a *ngIf=\"showDiscount\" class=\"add-discount label\" (click)=\"discountClick.emit($event)\" [textContent]=\"'ADD_DISCOUNTS' | localize\"></a>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionTotalsComponent {\r\n @Input()\r\n public totals: TransactionTotal;\r\n\r\n @Input()\r\n public showDiscount: boolean = false;\r\n\r\n @Output()\r\n public discountClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-transaction-totals\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public header: string;\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionTotalsComponent} from \"./transaction-totals.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionTotalsComponent\r\n ],\r\n exports: [\r\n TransactionTotalsComponent\r\n ]\r\n})\r\nexport class TransactionTotalsModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {StandardText} from \"../../../model/standard-text\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-article-text\",\r\n template: `\r\n <co-dialog (closeClick)=\"closeClick.emit($event)\">\r\n <ng-container header><span [textContent]=\"header\"></span></ng-container>\r\n <ng-container content>\r\n <div class=\"article-text-content-wrapper\">\r\n <div class=\"editor-wrapper\">\r\n <textarea class=\"article-text\"\r\n [(ngModel)]=\"transactionAddTextLineRequest.text\"\r\n ></textarea>\r\n </div>\r\n <div class=\"option-wrapper\">\r\n <co-input-listbox\r\n [collection]=\"documents\"\r\n [fields]=\"fieldsDocuments\"\r\n [placeholder]=\"'FOR_DOCUMENTS' | localize\"\r\n [value]=\"transactionAddTextLineRequest.showOnDocuments\"\r\n [showCheckbox]=\"true\"\r\n (modelChange)=\"handleDocumentsChange($event)\"\r\n ></co-input-listbox>\r\n <co-drop-down-list\r\n [collection]=\"standardTexts\"\r\n [fields]=\"fields\"\r\n [placeholder]=\"'STANDARD_TEXTS' | localize\"\r\n (modelChange)=\"onSelectStandardText($event)\"\r\n ></co-drop-down-list>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container footer>\r\n <div class=\"button-wrapper\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"onOkClick($event)\"></co-button>\r\n <co-button [label]=\"'CANCEL' | localize \" (click)=\"onCancelClick($event)\"></co-button>\r\n </div>\r\n </ng-container>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionArticleTextComponent implements OnInit {\r\n\r\n @Input()\r\n public header: string;\r\n\r\n @Input()\r\n public set transactionLine(value: TransactionLineInfo) {\r\n if (value) {\r\n this.transactionAddTextLineRequest.transactionUuid = value.uuid;\r\n this.transactionAddTextLineRequest.text = value.text;\r\n }\r\n }\r\n\r\n @Input()\r\n public set articleRef(value: string) {\r\n if (value) {\r\n this._articleRef = value;\r\n }\r\n }\r\n\r\n public get articleRef(): string {\r\n return this._articleRef;\r\n }\r\n\r\n @Input()\r\n public set editText(value: string) {\r\n this.transactionAddTextLineRequest.text = value;\r\n }\r\n\r\n @Input()\r\n public set articleLineNr(value: number) {\r\n if (value) {\r\n this.transactionAddTextLineRequest.refArticleLineNr = value;\r\n }\r\n }\r\n\r\n @Output()\r\n public closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public saveClick: EventEmitter<TransactionAddTextLineRequest> = new EventEmitter<TransactionAddTextLineRequest>();\r\n\r\n @HostBinding(\"class.co-transaction-article-text\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public showOverviewDialog: boolean = false;\r\n public standardTexts: StandardText[] = [];\r\n public documents: any[] = [];\r\n public fields: Object = {text: \"description\", value: \"textId\"};\r\n public fieldsDocuments: Object = {text: \"description\", value: \"code\"};\r\n\r\n public transactionAddTextLineRequest: TransactionAddTextLineRequest = new TransactionAddTextLineRequest();\r\n\r\n private _articleRef: string;\r\n\r\n constructor(\r\n public service: TransactionService,\r\n ) {\r\n }\r\n\r\n async ngOnInit(): Promise<void> {\r\n this.standardTexts = await this.service.getStandardTexts(\"NL\");\r\n this.documents = await this.service.getTextTypes(\"NL\");\r\n }\r\n\r\n public onOkClick(event: MouseEvent): void {\r\n this.saveClick.next(this.transactionAddTextLineRequest);\r\n }\r\n\r\n public onCancelClick(event: MouseEvent): void {\r\n this.cancelClick.next(event);\r\n }\r\n\r\n public onSelectStandardText(value: any): void {\r\n this.transactionAddTextLineRequest.text = (this.standardTexts.find(x => x.textId === value)).text;\r\n }\r\n\r\n public handleDocumentsChange(docs: any): void {\r\n console.log(docs);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionArticleTextComponent} from \"./transaction-article-text.component\";\r\nimport {ButtonModule, CoDialogModule, DropDownModule, InputCheckboxModule, InputListboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {FormsModule} from \"@angular/forms\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n FormsModule,\r\n CoDialogModule,\r\n InputCheckboxModule,\r\n InputListboxModule,\r\n DropDownModule,\r\n ButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionArticleTextComponent\r\n ],\r\n exports: [\r\n TransactionArticleTextComponent\r\n ]\r\n})\r\nexport class TransactionArticleTextModule {}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionConnectorService} from \"./transaction-connector.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class TransactionImageService {\r\n\r\n private _articleImageCache: Map<string, string> = new Map();\r\n\r\n constructor(private _connector: TransactionConnectorService) {\r\n }\r\n\r\n public async retrieveLineImage(line: TransactionLineInfo): Promise<string> {\r\n return await this.getArticleImageByArticleNumber(line.articleNumber);\r\n }\r\n\r\n public async getArticleImageByArticleNumber(articleNumber: string): Promise<string> {\r\n if (this._articleImageCache.has(articleNumber)) {\r\n return this._articleImageCache.get(articleNumber);\r\n }\r\n const goodId: number = await this._connector.getGoodIdFromArticleNr(articleNumber).catch((error) => {\r\n console.error(error);\r\n return null;\r\n });\r\n const image: string = await this.getArticleImageByGoodId(goodId);\r\n this._articleImageCache.set(articleNumber, image);\r\n return image;\r\n }\r\n\r\n public async getArticleImageByGoodId(goodId: number): Promise<string> {\r\n if (!isNaN(goodId)) {\r\n return this._connector.getSingleImage(goodId, 1, true, true).catch((error) => {\r\n console.error(error);\r\n return \"\";\r\n });\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {StockStatus} from \"@colijnit/transactionapi/build/enum/refcode/stock-status.enum\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {LineOperationResponse} from \"@colijnit/transactionapi/build/model/line-operation-response.bo\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\nimport {DialogService} from \"../../service/dialog.service\";\r\nimport {ResolveLinePendingReasonRequest} from \"@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo\";\r\nimport {TransactionImageService} from \"../../service/transaction-image.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line\",\r\n template: `\r\n <div class=\"transaction-line\">\r\n <ng-container *ngIf=\"line.isArticle\">\r\n <div class=\"transaction-line-wrapper\">\r\n <div class=\"transaction-line-image\" [class.preview]=\"preview\">\r\n <co-image-display [model]=\"image\"></co-image-display>\r\n </div>\r\n <div class=\"transaction-line-description\">\r\n <div class=\"description-wrapper\">\r\n <span [textContent]=\"line.goodDescription\" class=\"transaction-line-description-description\"></span>\r\n <span *ngIf=\"line.goodDescription && line.articleNumber\" class=\"transaction-line-description-divider\">|</span>\r\n <span [textContent]=\"line.articleNumber\" class=\"transaction-line-description-sku\"></span>\r\n </div>\r\n <div *ngIf=!preview class=\"article-text-wrapper\">\r\n <div class=\"article-text\" *ngFor=\"let text of line.articleTestAsArray\">\r\n <span [innerHTML]=\"text | safeHtml\" (dblclick)=\"handleOpenArticleText(text)\"></span>\r\n </div>\r\n </div>\r\n <div *ngIf=!preview class=\"configuration-text-wrapper\">\r\n <span [innerHTML]=\"line.configurationReadable\"></span>\r\n </div>\r\n </div>\r\n <div *ngIf=!preview class=\"transaction-line-stock\">\r\n <span [textContent]=\"'STOCK' | localize\" class=\"small-font\"></span>\r\n <stock-status-indicator [model]=\"stock\"></stock-status-indicator>\r\n <span [textContent]=\"'DELIVERY_TIME_PERIOD' | localize\" class=\"small-font\"></span>\r\n<!-- <span [textContent]=\"line.deliveryDate | deliveryTime\"></span>-->\r\n </div>\r\n <div *ngIf=!preview class=\"transaction-line-amount\">\r\n <co-input-number-picker class=\"amount-number-picker\"\r\n [(model)]=\"localAmount\" [min]=\"0\"\r\n [readonly]=\"true\"\r\n (modelChange)=\"changeLineAmount($event)\"></co-input-number-picker>\r\n </div>\r\n <div class=\"transaction-line-delete\" *ngIf=\"preview\">\r\n <div class=\"delete-wrapper\" (click)=\"deleteTransactionLineClick()\">\r\n <icon class=\"delete-icon\" [icon]=\"icons.Cancel\"></icon>\r\n <div class=\"delete-link\"\r\n [textContent]=\"'DELETE_TRANSACTION_LINE' | localize:false\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"transaction-line-totals\">\r\n <span [textContent]=\"line.displayNetLineTotal | coCurrency: true\"></span>\r\n </div>\r\n <div *ngIf=\"!preview\" class=\"transaction-line-buttons\">\r\n <co-button class=\"transaction-line-overview-button circle\" [class.show]=\"mouseOver || isSelected\" [iconData]=\"iconCacheService.getIcon(icons.Txt)\" (click)=\"handleTransactionArticleTextOverview($event)\"></co-button>\r\n <co-button class=\"transaction-line-add-text-button circle\" [class.show]=\"mouseOver || isSelected\" [iconData]=\"iconCacheService.getIcon(icons.Txt)\" (click)=\"handleTransactionArticleText($event)\"></co-button>\r\n <co-button class=\"transaction-line-show-sidebar-button circle\" [class.show]=\"mouseOver || isSelected\" [iconData]=\"iconCacheService.getIcon(icons.MasterDetail)\" (click)=\"handleShowSidePanel($event)\"></co-button>\r\n </div>\r\n </div>\r\n <div class=\"transaction-line-delete\" *ngIf=\"!preview\">\r\n <div class=\"delete-wrapper\" (click)=\"deleteTransactionLineClick()\">\r\n <icon class=\"delete-icon\" [icon]=\"icons.Cancel\"></icon>\r\n <div class=\"delete-link\"\r\n [textContent]=\"'DELETE_TRANSACTION_LINE' | localize:false\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"line.isText\">\r\n <div [textContent]=\"line.text\"></div>\r\n <div class=\"transaction-line-delete\" *ngIf=\"!preview\">\r\n <div class=\"delete-wrapper\" (click)=\"deleteTransactionLineClick()\">\r\n <icon class=\"delete-icon\" [icon]=\"icons.Cancel\"></icon>\r\n <div class=\"delete-link\"\r\n [textContent]=\"'DELETE_TRANSACTION_LINE' | localize:false\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <co-transaction-article-text-overview *ngIf=\"showTransactionArticleTextOverview\"\r\n [header]=\"articleTextHeader | localize\"\r\n [transactionLine]=\"line\"\r\n (saveClick)=\"saveTransactionArticleLineText($event)\"\r\n (closeClick)=\"closeTransactionArticleTextOverview($event)\"\r\n (cancelClick)=\"closeTransactionArticleTextOverview($event)\"\r\n ></co-transaction-article-text-overview>\r\n <co-transaction-article-text *ngIf=\"showTransactionArticleText\"\r\n [header]=\"articleTextHeader | localize\"\r\n [articleLineNr]=\"line.lineNr\"\r\n [articleRef]=\"line.articleNumber\"\r\n [transactionLine]=\"line\"\r\n [editText]=\"textToEdit\"\r\n (saveClick)=\"saveTransactionArticleLineText($event)\"\r\n (closeClick)=\"closeTransactionArticleText($event)\"\r\n (cancelClick)=\"closeTransactionArticleText($event)\"\r\n ></co-transaction-article-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding(\"class.preview\")\r\n @Input()\r\n public preview: boolean = false;\r\n\r\n @Input()\r\n public set line(value: TransactionLineInfo) {\r\n this._line = value;\r\n this.localAmount = this._line.amount;\r\n this.isText = this._line.isText;\r\n this.isArticle = this._line.isArticle;\r\n this.isSelected = this._line.isSelected;\r\n this._loadLineImage();\r\n }\r\n\r\n public get line(): TransactionLineInfo {\r\n return this._line;\r\n }\r\n\r\n @Output()\r\n public waitingForUserAction: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Output()\r\n public sidePanelButtonClicked: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.is-text\")\r\n public isText: boolean;\r\n\r\n @HostBinding(\"class.is-article\")\r\n public isArticle: boolean;\r\n\r\n @HostBinding(\"class.is-selected\")\r\n @Input('selected')\r\n public isSelected: boolean;\r\n\r\n @HostBinding(\"class.co-transaction-line\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @HostListener(\"mouseover\", [\"$event\"])\r\n public handleMouseOver(event: MouseEvent) {\r\n this.mouseOver = true;\r\n }\r\n\r\n @HostListener(\"mouseleave\", [\"$event\"])\r\n public handleMouseLeave(event: MouseEvent) {\r\n this.mouseOver = false;\r\n }\r\n\r\n public localAmount: number;\r\n public image: string;\r\n public stock: StockStatus = StockStatus.Low;\r\n public currentReason: ResolveLinePendingReasonRequest;\r\n public showTransactionArticleText: boolean = false;\r\n public showTransactionArticleTextOverview: boolean = false;\r\n public articleTextHeader: string;\r\n public textToEdit: string;\r\n public mouseOver: boolean = false;\r\n\r\n private _line: TransactionLineInfo;\r\n\r\n constructor(\r\n public service: TransactionService,\r\n public iconCacheService: IconCacheService,\r\n private _dialogService: DialogService,\r\n private _dictionaryService: DictionaryService,\r\n private _imageService: TransactionImageService) {\r\n }\r\n\r\n public changeLineAmount(amount: number): void {\r\n this.service.changeTransactionLineQuantity(this.line.uuid, amount).then((value: LineOperationResponse) => {\r\n if (!value || !value.isSuccess) {\r\n this.localAmount = this._line.amount;\r\n return;\r\n }\r\n // this._handleLine(value).then();\r\n });\r\n }\r\n\r\n public async deleteTransactionLineClick(): Promise<void> {\r\n const deleteLine: boolean = await this._dialogService.showYesNo(\"\", this._dictionaryService.get(\"DELETE_TRANSACTION_LINE_QUESTION\"));\r\n if (deleteLine) {\r\n this.service.deleteTransactionLine(this.service.currentTransaction.transactionInfo.uuid, this.line.uuid).then((value: LineOperationResponse) => {\r\n // this._handleLine(value);\r\n });\r\n }\r\n }\r\n\r\n public handleTransactionArticleText(event: MouseEvent): void {\r\n this.articleTextHeader = this._dictionaryService.get(\"TEXT_ARTICLE_BOUND\", true, this.line.articleNumber);\r\n this.textToEdit = undefined;\r\n this._showArticleTextDialog();\r\n }\r\n\r\n public handleTransactionArticleTextOverview(event: MouseEvent): void {\r\n this.articleTextHeader = this._dictionaryService.get(\"TEXT_ARTICLE_BOUND\", true, this.line.articleNumber);\r\n this.textToEdit = undefined;\r\n this._showArticleTextOverviewDialog();\r\n }\r\n\r\n public saveTransactionArticleLineText(transactionAddTextLineRequest: TransactionAddTextLineRequest): void {\r\n this.service.addTextLine(\r\n transactionAddTextLineRequest.showOnDocuments,\r\n transactionAddTextLineRequest.text,\r\n 0,\r\n true,\r\n transactionAddTextLineRequest.refArticleLineNr).then(() => {\r\n this._hideArticleTextDialog();\r\n });\r\n }\r\n\r\n public closeTransactionArticleText(event: MouseEvent): void {\r\n this._hideArticleTextDialog();\r\n }\r\n\r\n public closeTransactionArticleTextOverview(event: MouseEvent): void {\r\n this._hideArticleTextOverviewDialog();\r\n }\r\n\r\n public handleOpenArticleText(text: string): void {\r\n this.textToEdit = text;\r\n this._showArticleTextDialog();\r\n }\r\n\r\n private async _loadLineImage(): Promise<void> {\r\n if (this.line && this.line.isArticle) {\r\n this._imageService.retrieveLineImage(this.line).then((image: string) => {\r\n this.image = image;\r\n });\r\n }\r\n }\r\n\r\n // private async _confirmAction(lineOperationResponse: LineOperationResponse): Promise<void> {\r\n // this.currentReason.confirmation = await this._promptService.showYesNo(lineOperationResponse.pendingReason, \" \");\r\n // this.service.resolvePendingLineReason(this.currentReason)\r\n // .then((value: LineOperationResponse) => {\r\n // this._handleLine(value);\r\n // });\r\n // }\r\n\r\n // private async _showInformation(lineOperationResponse: LineOperationResponse): Promise<void> {\r\n // await this._promptService.showOkModal(lineOperationResponse.pendingReason, \" \");\r\n // this.service.resolvePendingLineReason(this.currentReason)\r\n // .then((value: LineOperationResponse) => {\r\n // this._handleLine(value);\r\n // });\r\n // }\r\n\r\n // private async _handleLine(lineOperationResponse: LineOperationResponse): Promise<void> {\r\n // if (lineOperationResponse === undefined) {\r\n // return;\r\n // }\r\n // this.currentReason = new ResolvePendingLineReasonRequest(lineOperationResponse.lineUuid,\r\n // lineOperationResponse.pendingReason, lineOperationResponse.pendingReasonType);\r\n //\r\n // switch (lineOperationResponse.pendingReasonType) {\r\n // case PendingReasonType.ABORTED:\r\n // case PendingReasonType.CANCELLED:\r\n // this.localAmount = this._line.amount;\r\n // if (lineOperationResponse.pendingReason !== \"USER_DECISION\") {\r\n // await this._promptService.showNotification(this._dictionaryService.get(lineOperationResponse.pendingReason), \" \");\r\n // }\r\n // break;\r\n // case PendingReasonType.CONFIRMATION_NEEDED:\r\n // await this._confirmAction(lineOperationResponse);\r\n // break;\r\n // case PendingReasonType.NON_CRITICAL_DISCONTINUATION:\r\n // await this._showInformation(lineOperationResponse);\r\n // break;\r\n // case PendingReasonType.INVALID_LOGISTICS:\r\n // this.localAmount = this._line.amount;\r\n // await this._promptService.showError(this._dictionaryService.get(lineOperationResponse.pendingReason), \" \");\r\n // break;\r\n // case PendingReasonType.NONE:\r\n // default:\r\n // break;\r\n // }\r\n // }\r\n\r\n private _showArticleTextDialog(): void {\r\n this.showTransactionArticleText = true;\r\n this.waitingForUserAction.next(true);\r\n }\r\n\r\n private _hideArticleTextDialog(): void {\r\n this.showTransactionArticleText = false;\r\n this.waitingForUserAction.next(false);\r\n }\r\n\r\n private _showArticleTextOverviewDialog(): void {\r\n this.showTransactionArticleTextOverview = true;\r\n this.waitingForUserAction.next(true);\r\n }\r\n\r\n private _hideArticleTextOverviewDialog(): void {\r\n this.showTransactionArticleTextOverview = false;\r\n this.waitingForUserAction.next(false);\r\n }\r\n\r\n public handleShowSidePanel(event: MouseEvent): void {\r\n this.sidePanelButtonClicked.next();\r\n this.waitingForUserAction.next(true);\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\nimport {CdkDrag, CdkDragDrop, CdkDropList, moveItemInArray} from \"@angular/cdk/drag-drop\";\r\nimport {BusinessObjectFactory} from \"../../../factory/business-object-factory\";\r\n\r\n@Component({\r\n selector: \"co-transaction-article-text-overview\",\r\n template: `\r\n <co-dialog (closeClick)=\"closeClick.emit($event)\">\r\n <ng-container header><span [textContent]=\"header\"></span></ng-container>\r\n <ng-container content>\r\n <div class=\"article-text-content-wrapper\">\r\n <div #dropList cdkDropList cdkDropListOrientation=\"vertical\"\r\n class=\"article-text-drag-drop-list\"\r\n [cdkDropListData]=\"collection\"\r\n [cdkDropListEnterPredicate]=\"handleCanDragDrop\"\r\n (cdkDropListDropped)=\"handleDrop($event)\"\r\n >\r\n <div class=\"article-text-overview-article-text-wrapper\" *ngFor=\"let transLine of collection; let index = index\" cdkDrag (dblclick)=\"handleOpenArticleText(transLine)\">\r\n <div class=\"index\" [textContent]=\"index + 1\"></div>\r\n <div class=\"text\" [innerHTML]=\"transLine.text | safeHtml\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container footer>\r\n <div class=\"button-wrapper\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"onOkClick($event)\"></co-button>\r\n <co-button [label]=\"'CANCEL' | localize \" (click)=\"onCancelClick($event)\"></co-button>\r\n </div>\r\n </ng-container>\r\n </co-dialog>\r\n <co-transaction-article-text *ngIf=\"showTransactionArticleText\"\r\n [header]=\"header\"\r\n [articleLineNr]=\"editTransactionLine.lineNr\"\r\n [articleRef]=\"editTransactionLine.articleNumber\"\r\n [transactionLine]=\"editTransactionLine\"\r\n [editText]=\"textToEdit\"\r\n (saveClick)=\"saveTransactionArticleLineText($event)\"\r\n (closeClick)=\"closeTransactionArticleText($event)\"\r\n (cancelClick)=\"closeTransactionArticleText($event)\"\r\n ></co-transaction-article-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionArticleTextOverviewComponent {\r\n @Input()\r\n public header: string;\r\n\r\n @Input()\r\n public set transactionLine(value: TransactionLineInfo) {\r\n if (value) {\r\n this._getArticleTexts(value.uuid);\r\n }\r\n }\r\n\r\n @Output()\r\n public closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public saveClick: EventEmitter<TransactionAddTextLineRequest> = new EventEmitter<TransactionAddTextLineRequest>();\r\n\r\n @HostBinding(\"class.co-transaction-article-text-overview\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public collection: TransactionLineInfo[] = [];\r\n public showTransactionArticleText: boolean = false;\r\n public editTransactionLine: TransactionLineInfo;\r\n public textToEdit: string;\r\n\r\n constructor(\r\n public service: TransactionService,\r\n private _boFactory: BusinessObjectFactory\r\n ) {\r\n }\r\n\r\n public onOkClick(event: MouseEvent): void {\r\n this.saveClick.next();\r\n }\r\n\r\n public onCancelClick(event: MouseEvent): void {\r\n this.cancelClick.next(event);\r\n }\r\n\r\n public handleCanDragDrop(drag: CdkDrag, drop: CdkDropList): boolean {\r\n return drag.data instanceof TransactionLineInfo;\r\n }\r\n\r\n public handleDrop(event: CdkDragDrop<TransactionLineInfo[]>): void {\r\n try {\r\n const from: number = event.previousIndex;\r\n const to: number = event.currentIndex;\r\n if (from === to) {\r\n return;\r\n }\r\n const beingDropped: TransactionLineInfo = this.collection[from];\r\n const target: TransactionLineInfo = this.collection[to];\r\n // set items in correct order\r\n moveItemInArray(this.collection, from, to);\r\n // this.service.changeLineSequence(this.line.beingDropped.uuid, from > to ? target.lineNr : null, from < to ? target.lineNr : null).catch(() => {\r\n // // something went wrong, reset drop\r\n // moveItemInArray(this.transactionLines, to, from);\r\n // });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n public handleOpenArticleText(transLine: TransactionLineInfo): void {\r\n this.textToEdit = transLine.text;\r\n this.editTransactionLine = <TransactionLineInfo><unknown>this._boFactory.makeWithRawBackendData(TransactionLineInfo, transLine);\r\n this.showTransactionArticleText = true;\r\n }\r\n\r\n public closeTransactionArticleText(event: MouseEvent): void {\r\n this._hideArticleTextDialog();\r\n }\r\n\r\n public saveTransactionArticleLineText(transactionAddTextLineRequest: TransactionAddTextLineRequest): void {\r\n this.service.addTextLine(\r\n transactionAddTextLineRequest.showOnDocuments,\r\n transactionAddTextLineRequest.text,\r\n 0,\r\n true,\r\n transactionAddTextLineRequest.refArticleLineNr).then(() => {\r\n this._hideArticleTextDialog();\r\n });\r\n }\r\n\r\n private _hideArticleTextDialog(): void {\r\n this.showTransactionArticleText = false;\r\n }\r\n\r\n private _getArticleTexts(uuid: string): void {\r\n this.service.getArticleBoundTextLinesOfArticleLine(uuid).then((texts: TransactionLineInfo[]) => {\r\n this.collection = texts;\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionArticleTextOverviewComponent} from \"./transaction-article-text-overview.component\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {DragDropModule} from \"@angular/cdk/drag-drop\";\r\nimport {TransactionArticleTextModule} from \"../transaction-article-text/transaction-article-text.module\";\r\nimport {BusinessObjectFactory} from \"../../../factory/business-object-factory\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n CoDialogModule,\r\n DragDropModule,\r\n ButtonModule,\r\n TransactionArticleTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionArticleTextOverviewComponent\r\n ],\r\n exports: [\r\n TransactionArticleTextOverviewComponent\r\n ],\r\n providers: [\r\n BusinessObjectFactory\r\n ]\r\n})\r\nexport class TransactionArticleTextOverviewModule {}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineComponent} from \"./transaction-line.component\";\r\nimport {ButtonModule, InputNumberPickerModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionArticleTextModule} from \"../shared/transaction-article-text/transaction-article-text.module\";\r\nimport {TransactionArticleTextOverviewModule} from \"../shared/transaction-article-text-overview/transaction-article-text-overview.module\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n ButtonModule,\r\n InputNumberPickerModule,\r\n TransactionArticleTextModule,\r\n TransactionArticleTextOverviewModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineComponent\r\n ],\r\n exports: [\r\n TransactionLineComponent\r\n ]\r\n})\r\nexport class TransactionLineModule {}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {CdkDrag, CdkDragDrop, CdkDropList, moveItemInArray} from \"@angular/cdk/drag-drop\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionArticleTextComponent} from \"../shared/transaction-article-text/transaction-article-text.component\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-lines\",\r\n template: `\r\n <div cdkDropListGroup class=\"drop-list-group\">\r\n <div #dropList cdkDropList cdkDropListOrientation=\"vertical\"\r\n class=\"transaction-lines-drag-drop-list narrow-scrollbar\"\r\n [cdkDropListDisabled]=\"preview || userActionRequired\"\r\n [cdkDropListData]=\"transactionLines\"\r\n [cdkDropListEnterPredicate]=\"handleCanDragDrop\"\r\n (cdkDropListDropped)=\"handleDrop($event)\"\r\n >\r\n <div class=\"draggable-transaction-line\" *ngFor=\"let line of transactionLines; trackBy:trackByFn;\" cdkDrag>\r\n <co-transaction-line\r\n [preview]=\"preview\"\r\n [line]=\"line\"\r\n [selected]=\"line === selectedTransactionLine\"\r\n (dblclick)=\"handleTransactionLineDblClick(line)\"\r\n (sidePanelButtonClicked)=\"handleShowSidePanelClicked(line)\"\r\n (waitingForUserAction)=\"userActionRequired = $event\"\r\n (click)=\"selectedTransactionLine = line\"\r\n ></co-transaction-line>\r\n </div>\r\n </div>\r\n </div>\r\n <co-button *ngIf=!preview class=\"add-text-button circle\" [iconData]=\"iconCacheService.getIcon(icons.Txt)\" (click)=\"handleTransactionArticleText($event)\"></co-button>\r\n <co-transaction-article-text *ngIf=\"showTransactionArticleText\"\r\n [header]=\"'TEXT' | localize\"\r\n [transactionLine]=\"selectedArticleText\"\r\n [editText]=\"textToEdit\"\r\n (saveClick)=\"saveTransactionArticleLineText($event)\"\r\n (closeClick)=\"closeTransactionArticleText($event)\"\r\n (cancelClick)=\"closeTransactionArticleText($event)\"\r\n ></co-transaction-article-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLinesComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild(TransactionArticleTextComponent)\r\n public transactionArticleText: TransactionArticleTextComponent;\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo[] = [];\r\n\r\n @Input()\r\n public preview: boolean = false;\r\n\r\n @Output()\r\n public saveTransactionLine: EventEmitter<TransactionAddTextLineRequest> = new EventEmitter<TransactionAddTextLineRequest>();\r\n\r\n @Output()\r\n public showSidePanelClicked: EventEmitter<TransactionLineInfo> = new EventEmitter<TransactionLineInfo>();\r\n\r\n @HostBinding(\"class.co-transaction-lines\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public showTransactionArticleText: boolean = false;\r\n public selectedArticleText: TransactionLineInfo;\r\n public textToEdit: string;\r\n public userActionRequired: boolean = false;\r\n public selectedTransactionLine: TransactionLineInfo;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private service: TransactionService\r\n ) {\r\n }\r\n\r\n public trackByFn(index: number, line: TransactionLineInfo): any {\r\n return line.lineNr;\r\n }\r\n\r\n public handleCanDragDrop(drag: CdkDrag, drop: CdkDropList): boolean {\r\n return drag.data instanceof TransactionLineInfo;\r\n }\r\n\r\n public handleDrop(event: CdkDragDrop<TransactionLineInfo[]>): void {\r\n try {\r\n const from: number = event.previousIndex;\r\n const to: number = event.currentIndex;\r\n if (from === to) {\r\n return;\r\n }\r\n const beingDropped: TransactionLineInfo = this.transactionLines[from];\r\n const target: TransactionLineInfo = this.transactionLines[to];\r\n // set items in correct order\r\n moveItemInArray(this.transactionLines, from, to);\r\n this.service.changeLineSequence(beingDropped.uuid, from > to ? target.lineNr : null, from < to ? target.lineNr : null).catch(() => {\r\n // something went wrong, reset drop\r\n moveItemInArray(this.transactionLines, to, from);\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n public handleTransactionLineDblClick(line: TransactionLineInfo): void {\r\n if (line.isText) {\r\n this.selectedArticleText = line;\r\n this.textToEdit = line.text;\r\n this._showArticleTextDialog();\r\n } else {\r\n this.textToEdit = undefined;\r\n this.selectedArticleText = undefined;\r\n }\r\n }\r\n\r\n public handleTransactionArticleText(event: MouseEvent): void {\r\n this.selectedArticleText = undefined;\r\n this._showArticleTextDialog();\r\n }\r\n\r\n public closeTransactionArticleText(event: MouseEvent): void {\r\n this._hideArticleTextDialog();\r\n }\r\n\r\n public saveTransactionArticleLineText(transactionLine: TransactionAddTextLineRequest): void {\r\n this.saveTransactionLine.next(transactionLine);\r\n this._hideArticleTextDialog();\r\n }\r\n\r\n public handleShowSidePanelClicked(line: TransactionLineInfo): void {\r\n this.showSidePanelClicked.next(line);\r\n }\r\n\r\n private _showArticleTextDialog(): void {\r\n this.showTransactionArticleText = true;\r\n }\r\n\r\n private _hideArticleTextDialog(): void {\r\n this.showTransactionArticleText = false;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DragDropModule} from \"@angular/cdk/drag-drop\";\r\nimport {ButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionArticleTextModule} from \"../shared/transaction-article-text/transaction-article-text.module\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionLineModule} from \"../transaction-line/transaction-line.module\";\r\nimport {TransactionLinesComponent} from \"./transaction-lines.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionLineModule,\r\n DragDropModule,\r\n ButtonModule,\r\n TransactionArticleTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLinesComponent\r\n ],\r\n exports: [\r\n TransactionLinesComponent\r\n ]\r\n})\r\nexport class TransactionLinesModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-shopping-cart-preview\",\r\n template: `\r\n <div class=\"cart-header\">\r\n <span class=\"cart-header-label\" [textContent]=\"'CART' | localize\"></span>\r\n </div>\r\n <div class=\"cart-lines\">\r\n <co-transaction-lines\r\n [transactionLines]=\"service.currentTransaction.transactionLines\"\r\n [preview]=\"true\"\r\n ></co-transaction-lines>\r\n </div>\r\n <div class=\"preview-totals-wrapper\">\r\n <co-transaction-totals [totals]=\"service.currentTransaction.transactionTotal\"></co-transaction-totals>\r\n </div>\r\n <div class=\"cart-buttons\">\r\n <a class=\"button-edit-cart\" [textContent]=\"'EDIT_CART' | localize\"\r\n (click)=\"editCartClick.emit()\"\r\n ></a>\r\n <co-button *ngIf=\"showCheckoutButton\" class=\"button-checkout\" [label]=\"'SHOPPING_CART_CHECKOUT' | localize\"\r\n [disabled]=\"!service.articleAmount\"\r\n (click)=\"checkout.emit()\"></co-button>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ShoppingCartPreviewComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public showCheckoutButton: boolean = true;\r\n\r\n @HostBinding(\"class.borderless\")\r\n @Input()\r\n public withoutBorder: boolean = false;\r\n\r\n @Output()\r\n public checkout: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public editCartClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-shopping-cart-preview\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public service: TransactionService\r\n ) {\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {ButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionTotalsModule} from \"../transaction-totals/transaction-totals.module\";\r\nimport {TransactionLinesModule} from \"../transaction-lines/transaction-lines.module\";\r\nimport {ShoppingCartPreviewComponent} from \"./shopping-cart-preview.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n ButtonModule,\r\n TransactionLinesModule,\r\n TransactionTotalsModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ShoppingCartPreviewComponent\r\n ],\r\n exports: [\r\n ShoppingCartPreviewComponent\r\n ]\r\n})\r\nexport class ShoppingCartPreviewModule {\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {BusinessObjectFactory} from \"../factory/business-object-factory\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {Sharedapi} from \"@colijnit/sharedapi/build/sharedapi\";\r\nimport {DataServiceResponseData} from \"@colijnit/sharedapi/build/model/data-service-response-data\";\r\nimport {CoDocument} from \"@colijnit/sharedapi/build/model/co-document.bo\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SharedConnectorService {\r\n public connector: Sharedapi;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n constructor(\r\n private _optionsService: OptionsService\r\n ) {}\r\n\r\n public async connect(): Promise<void> {\r\n this.connector = new Sharedapi(this._optionsService.options);\r\n }\r\n\r\n public selectDocsByTableKey(table: string, key: string): Promise<CoDocument[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.selectDocsByTableKey(table, key).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(CoDocument, result.resultObjects) as unknown as CoDocument[]);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public getDocumentContent(id: number, thumbnail: boolean = true): Promise<string> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.getDocumentContent(id, thumbnail).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(result.resultObject.documentContent);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import {Injectable, OnDestroy} from \"@angular/core\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {SharedConnectorService} from \"./shared-connector.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {CoDocument} from \"@colijnit/sharedapi/build/model/co-document.bo\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SharedService implements OnDestroy {\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n constructor(\r\n private _optionsService: OptionsService,\r\n private _connector: SharedConnectorService\r\n ) {\r\n this._subs.push(\r\n this._optionsService.optionsLoaded.subscribe((loaded: boolean) => {\r\n if (loaded) {\r\n this._connector.connect();\r\n }\r\n })\r\n )\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subs.forEach(s => s.unsubscribe());\r\n }\r\n\r\n public selectDocsByTableKey(table: string, key: string): Promise<CoDocument[]> {\r\n return this._connector.selectDocsByTableKey(table, key);\r\n }\r\n\r\n public getDocumentContent(docId: number, thumbnail: boolean = true): Promise<string> {\r\n return this._connector.getDocumentContent(docId, thumbnail);\r\n }\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\r\nimport {RelationRequest} from \"@colijnit/transactionapi/build/model/relation-request\";\r\nimport {SharedService} from \"../../service/shared.service\";\r\n\r\n@Component({\r\n selector: \"co-avatar\",\r\n template: `\r\n <co-image-display [model]=\"image\" *ngIf=\"image; else showInitials\"></co-image-display>\r\n <ng-template #showInitials>\r\n <svg viewBox=\"0 0 30 30\">\r\n <text x=\"50%\" y=\"50%\" dominant-baseline=\"central\" text-anchor=\"middle\">{{ relation?.displayInitials }}</text>\r\n </svg>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AvatarComponent {\r\n\r\n @Input()\r\n public set relationId(value: number) {\r\n this._relationId = value;\r\n this._getRelation();\r\n }\r\n\r\n public get relationId(): number {\r\n return this._relationId;\r\n }\r\n\r\n @Input()\r\n public relation: RelationListObject;\r\n\r\n @HostBinding(\"class.co-avatar\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public image: string;\r\n\r\n private _relationId: number;\r\n\r\n constructor(\r\n private _transactionService: TransactionService,\r\n private _sharedService: SharedService\r\n ) {\r\n }\r\n\r\n private _getRelation(): void {\r\n if (!isNaN(this._relationId)) {\r\n const request: RelationRequest = new RelationRequest();\r\n request.relationId = this._relationId;\r\n this._transactionService.getRelationListObjects(request).then((data) => {\r\n if (data && data.length > 0) {\r\n this.relation = data[0];\r\n if (this.relation && this.relation.image && this.relation.image.documentId) {\r\n this._sharedService.getDocumentContent(this.relation.image.documentId)\r\n .then((content: string) => {\r\n this.image = content;\r\n })\r\n .catch((e) => {\r\n this.image = \"\";\r\n })\r\n }\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AvatarComponent} from \"./avatar.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule\r\n ],\r\n declarations: [\r\n AvatarComponent\r\n ],\r\n exports: [\r\n AvatarComponent\r\n ]\r\n})\r\nexport class AvatarModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\n\r\n@Component({\r\n selector: \"co-delivery-type-tile\",\r\n template: `\r\n <co-tile [selected]=\"selected\" (selectedChange)=\"selectedChange.emit(method)\">\r\n <div class=\"delivery-type-content-wrapper\">\r\n <div class=\"delivery-type-title\" [textContent]=\"method.description\"></div>\r\n <div class=\"delivery-type-icon\">\r\n<!--\r\n <icon [icon]=\"method.icon\"></icon>\r\n-->\r\n </div>\r\n <div *ngIf=\"method.factor\" class=\"delivery-type-price\" [textContent]=\"method.factor | priceDisplay\"></div>\r\n </div>\r\n </co-tile>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DeliveryTypeTileComponent {\r\n\r\n @Input()\r\n public method: DeliveryMethod = new DeliveryMethod();\r\n\r\n @Input()\r\n public selected: boolean = false;\r\n\r\n @Output()\r\n public selectedChange: EventEmitter<DeliveryMethod> = new EventEmitter<DeliveryMethod>();\r\n\r\n @HostBinding(\"class.co-delivery-type-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {DeliveryTypeTileComponent} from \"./delivery-type-tile.component\";\r\nimport {InputRadioButtonModule, PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TileModule} from \"../tile/tile.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n InputRadioButtonModule,\r\n PriceDisplayPipeModule,\r\n TileModule\r\n ],\r\n declarations: [\r\n DeliveryTypeTileComponent\r\n ],\r\n exports: [\r\n DeliveryTypeTileComponent\r\n ]\r\n})\r\nexport class DeliveryTypeTileModule {\r\n\r\n}\r\n","import {Injectable} from \"@angular/core\";\nimport {Marketing} from \"@colijnit/transactionapi/build/model/marketing.bo\";\nimport {CustomerFullObject} from \"@colijnit/transactionapi/build/model/customer-full-object.bo\";\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\nimport {PrivacySetting} from \"@colijnit/transactionapi/build/model/privacy-setting.bo\";\nimport {RelationPrivacySetting} from \"@colijnit/transactionapi/build/model/relation-privacy-setting.bo\";\nimport {SequenceName} from \"@colijnit/transactionapi/build/enum/sequence-name.enum\";\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\nimport {DeliveryOption} from \"@colijnit/transactionapi/build/model/delivery-option.bo\";\nimport {SetTransactionDeliveryOptionsRequest} from \"@colijnit/transactionapi/build/model/set-transaction-delivery-options-request.bo\";\nimport {GetPostalCodeRetrievalOutputParams} from \"@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params\";\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\nimport {RelationRequest} from \"@colijnit/transactionapi/build/model/relation-request\";\nimport {TransactionLineType} from \"@colijnit/transactionapi/build/enum/transaction-line-type.enum\";\nimport {CoDomainValue} from \"@colijnit/transactionapi/build/model/co-domain-value.bo\";\nimport {TransactionArticleWarehouse} from \"@colijnit/transactionapi/build/model/transaction-article-warehouse.bo\";\nimport {ArticleFullObject} from \"@colijnit/transactionapi/build/model/article-full-object\";\nimport {TransactionResponseBase} from \"@colijnit/transactionapi/build/model/transaction-response-base.bo\";\nimport {Transaction} from \"@colijnit/transactionapi/build/transaction\";\nimport {DataServiceResponseData} from \"@colijnit/transactionapi/build/model/data-service-response-data\";\nimport {BusinessObjectFactory} from \"../factory/business-object-factory\";\nimport {ImageUtils} from \"@colijnit/transactionapi/build/utils/image-utils\";\nimport {StandardText} from \"../model/standard-text\";\nimport {CustomerGroup} from \"@colijnit/transactionapi/build/model/customer-group.bo\";\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\nimport {OptionsService} from \"./options.service\";\nimport {CashRegister} from \"@colijnit/transactionapi/build/model/cash-register\";\nimport {ChangeLineSequenceRequest} from \"@colijnit/transactionapi/build/model/change-line-sequence-request\";\nimport {ResolveLinePendingReasonRequest} from \"@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo\";\nimport {PriceList} from \"@colijnit/transactionapi/build/model/price-list\";\nimport {Vat} from \"@colijnit/transactionapi/build/model/vat\";\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\nimport {TransactionSearchViewRequest} from \"@colijnit/transactionapi/build/model/transaction-search-view-request\";\nimport {TransactionSearchView} from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\nimport {BranchLov} from \"@colijnit/transactionapi/build/model/branch-lov.bo\";\nimport {SalesPerson} from \"@colijnit/transactionapi/build/model/sales-person.bo\";\nimport {Tag} from \"@colijnit/transactionapi/build/model/tag\";\nimport {OnHoldCode} from \"@colijnit/transactionapi/build/model/on-hold-code.bo\";\nimport {Warehouse} from \"@colijnit/transactionapi/build/model/warehouse.bo\";\nimport {CodeDescription} from \"@colijnit/transactionapi/build/model/code-description\";\nimport {CollectionCacheService} from \"./collection-cache.service\";\nimport {PaymentMethod} from \"@colijnit/transactionapi/build/model/payment-method.bo\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class IOneConnectorAdapterService {\n public connector: Transaction;\n\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\n private _countryList: Country[] = [];\n\n constructor(\n private _optionsService: OptionsService,\n private _collectionService: CollectionCacheService\n ) {}\n\n public async connect(): Promise<void> {\n this.connector = new Transaction(this._optionsService.options);\n }\n\n public async getArticleFullObject(goodId: number): Promise<ArticleFullObject> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getArticleFullObject(goodId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObject) {\n resolve(this._boFactory.makeWithRawBackendData(ArticleFullObject, result.resultObject));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getGoodIdFromArticleNr(articleNr: string): Promise<number> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getGoodIdFromArticleNr(articleNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.resultObject);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getSingleImage(nodeId: number | string, publication: number, includeMimetype: boolean, thumb: boolean): Promise<string> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getSingleImage(nodeId, publication, includeMimetype, thumb).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObject && result.resultObject.filePath !== null && result.resultObject.filePath !== undefined && result.resultObject.filePath !== \"\") {\n return resolve(ImageUtils.getFixedImageFilepathUrl(result.resultObject.filePath));\n } else {\n if (result.resultObject) {\n if (includeMimetype) {\n return resolve(ImageUtils.getDocBodyWithMimeTypeDefinition(result.resultObject.fileName,\n thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody));\n }\n return resolve(thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody);\n }\n else { // no image\n resolve(\"\");\n }\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getCountries(): Promise<Country[]> {\n if (this._countryList.length > 0) {\n return new Promise((resolve: Function) => {\n resolve(this._countryList);\n });\n }\n\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getCountries().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n this._countryList = result.resultObjects;\n resolve(result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getCustomerGroups(): Promise<CustomerGroup[]> {\n const response: DataServiceResponseData = await this.connector.getCustomerGroups();\n if (response && response.validationResult && response.validationResult.success) {\n return response.resultObjects;\n } else {\n return [];\n }\n }\n\n public async getCountry(countryCode: string): Promise<Country> {\n await this.getCountries();\n return this._countryList.find(country => country.code === countryCode);\n }\n\n public getPrivacySettings(): Promise<PrivacySetting[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getPrivacySettings().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<PrivacySetting[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getRelationPrivacySettings(): Promise<RelationPrivacySetting[]> {\n const privacySettings: RelationPrivacySetting[] = [];\n\n const basePrivacySettings: PrivacySetting[] = await this.getPrivacySettings();\n for (let i: number = 0, len: number = basePrivacySettings.length; i < len; i++) {\n const basePrivSetting: PrivacySetting = basePrivacySettings[i];\n const newRelPrivSet: RelationPrivacySetting = <RelationPrivacySetting><unknown>this._boFactory.instantiateNewBo(RelationPrivacySetting);\n newRelPrivSet.applyBasePrivacySettingValues(basePrivSetting);\n privacySettings.push(newRelPrivSet);\n }\n return privacySettings;\n }\n\n public getMarketingCodes(): Promise<Marketing[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getMarketingCodes().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<CoDomainValue[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public createTransaction(kind: TransactionKind, branchNr: string): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.createTransaction(kind, branchNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getArticleBoundTextLinesOfArticleLine(articleLineUuid: string): Promise<TransactionLineInfo[]> {\n const result: DataServiceResponseData = await this.connector.getArticleBoundTextLinesOfArticleLine(articleLineUuid);\n if (result.validationResult && result.validationResult.success) {\n return <TransactionLineInfo[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(TransactionLineInfo, result.resultObject);\n } else {\n return [];\n }\n }\n\n public getTransactionByNrAndKind(kind: TransactionKind, transactionNo: number): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getTransactionByNrAndKind(kind, transactionNo).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getTransactionById(transactionId: number): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getTransactionById(transactionId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public commit(): Promise<DataServiceResponseData> {\n return this.connector.commit();\n }\n\n public saveTransaction(uuid: string): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.saveTransaction(uuid).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public getCustomerFullObject(relationNo: number): Promise<CustomerFullObject> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getCustomerFullObject(relationNo).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getCashRegisters(branch?: string, group?: number): Promise<CashRegister[]> {\n const response: DataServiceResponseData = await this.connector.getCashRegister(branch, group);\n if (response.validationResult && response.validationResult.success) {\n return <CashRegister[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(CashRegister, response.resultObjects);\n } else {\n return [];\n }\n }\n\n public async getRelationNumber(relationId: number): Promise<string> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getRelationNumber(relationId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.resultObject);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getPriceLists(code?: string): Promise<PriceList[]> {\n const response = await this.connector.getPriceLists(code);\n if (response.validationResult && response.validationResult.success) {\n return <unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(PriceList, response.resultObjects) as PriceList[];\n } else {\n return []; // todo: handle error messages in a good way\n }\n }\n\n public async getVatList(onlyValid: boolean = false): Promise<Vat[]> {\n const response = await this.connector.getVatList(onlyValid);\n if (response.validationResult && response.validationResult.success) {\n return <unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(Vat, response.resultObjects) as Vat[];\n } else {\n return []; // todo: handle error messages in a good way\n }\n }\n\n public async searchTransactions(request: TransactionSearchViewRequest): Promise<TransactionSearchView[]> {\n const response = await this.connector.searchTransactions(request);\n if (response.validationResult && response.validationResult.success) {\n return <unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(TransactionSearchView, response.resultObjects) as TransactionSearchView[];\n } else {\n return []; // todo: handle error messages in a good way\n }\n }\n\n public async getSequenceValue(sequenceName: SequenceName): Promise<number> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getSequenceValue(sequenceName).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.resultObject);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async insertCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.insertCustomer(relation).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async updateCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.updateCustomer(relation).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getDeliveryMethods(): Promise<DeliveryMethod[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getDeliveryMethods().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryMethod, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getDeliveryOptions(): Promise<DeliveryOption[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getDeliveryOptions().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryMethod, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async addRelationToTransaction(uuid: string, relationId: number): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.addRelationToTransaction(uuid, relationId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async setTransactionDeliveryOptions(transactionDeliveryOptionsRequest: SetTransactionDeliveryOptionsRequest): Promise<TransactionResponseBase> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.setTransactionDeliveryOptions(transactionDeliveryOptionsRequest).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getPostalCodeRetrieval(postcalCode: string, houseNo: string): Promise<GetPostalCodeRetrievalOutputParams> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getPostalCodeRetrieval(postcalCode, houseNo).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n const outputParams: GetPostalCodeRetrievalOutputParams = new GetPostalCodeRetrievalOutputParams();\n outputParams.city = result.resultObject.city;\n outputParams.street = result.resultObject.street;\n outputParams.status = result.resultObject.status;\n outputParams.netNumber = result.resultObject.netNumber;\n resolve(outputParams);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getRelationListObjects(relationRequest: RelationRequest): Promise<RelationListObject[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getRelationListObjects(relationRequest).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(RelationListObject, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async addTransactionLine(\n uuid: string,\n articleLine: TransactionLineType,\n articleNo: string,\n amount: number,\n warehouseNo: number,\n commissionCode: string,\n isReturn: boolean,\n aboveLineNr: number,\n belowLineNr: number\n ):\n Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.addTransactionLine(uuid, articleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async addTextLineToTransaction(uuid: string, showOnDocuments: number, text: string, amount: number, articleBound: boolean, refArticleLineNr: number, aboveLineNr?: number, belowLineNr?: number):\n Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.addTextLineToTransaction(uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async changeLineSequence(uuid: string, lineUuid: string, aboveLineNr?: number, belowLineNr?: number):\n Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n const request: ChangeLineSequenceRequest = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n aboveLineNr: aboveLineNr,\n belowLineNr: belowLineNr\n }\n return this.connector.changeLineSequence(request).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async cancelAddTransactionLine(lineUuid: string): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.cancelAddTransactionLine(lineUuid).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n\n }\n\n public async deleteTransactionLine(uuid: string, lineUuid: string): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.deleteTransactionLine(uuid, lineUuid).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n\n public async changeTransactionLineQuantity(uuid: string, lineUuid: string, newQuantity: number): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newQuantity: newQuantity\n }\n return this.connector.changeTransactionLineQuantity(request).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async resolvePendingLineReason(pendingLineValues: ResolveLinePendingReasonRequest): Promise<TransactionInfoResponse> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.resolvePendingLineReason(pendingLineValues).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getCommissionCodes(languageCode: string): Promise<CoDomainValue[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getCommissionCodes(languageCode).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<CoDomainValue[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n\n }\n\n public async getInOutCollection(languageCode: string): Promise<CoDomainValue[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getInOutCollection(languageCode).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<CoDomainValue[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getTransactionArticleWarehouses(goodId: number): Promise<TransactionArticleWarehouse[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getTransactionArticleWarehouses(goodId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(<TransactionArticleWarehouse[]>result.resultObjects);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async setRelationByUser(uuid: string, username: string, password: string): Promise<boolean> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.setRelationByUser(uuid, username, password).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.validationResult.success);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getTextTypes(languageCode: string): Promise<CoDomainValue[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getTextTypes(languageCode).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n const texts: CoDomainValue[] = <CoDomainValue[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);\n texts.sort((a, b) => a.sequence > b.sequence ? 1 : -1);\n resolve(texts);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getStandardTexts(languageCode: string): Promise<StandardText[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getStandardTexts(languageCode).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StandardText, result.resultObject));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getBranches(branchNr?: string): Promise<BranchLov[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getBranches(branchNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(BranchLov, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getSalesPersons(date?: Date): Promise<SalesPerson[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getSalesPersons(date).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(SalesPerson, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getTags(category: number): Promise<Tag[]> {\n return new Promise((resolve: Function, reject: Function) => {\n const collection = this._collectionService.getCollection(Tag.name, [category]);\n if (collection) {\n return resolve(collection);\n }\n return this.connector.getTags(category).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n const collection: Tag[] = this._boFactory.makeBOArrayFromRawBackendDataArray(Tag, result.resultObjects) as unknown as Tag[];\n this._collectionService.cacheCollection(Tag.name, collection, [category]);\n resolve(collection);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getOnHoldCodes(): Promise<OnHoldCode[]> {\n return new Promise((resolve: Function, reject: Function) => {\n const collection = this._collectionService.getCollection(OnHoldCode.name);\n if (collection) {\n return resolve(collection);\n }\n return this.connector.getOnHoldCodes().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n const collection: OnHoldCode[] = this._boFactory.makeBOArrayFromRawBackendDataArray(OnHoldCode, result.resultObjects) as unknown as OnHoldCode[];\n this._collectionService.cacheCollection(OnHoldCode.name, collection);\n resolve(collection);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getWarehouses(branchNr?: string): Promise<Warehouse[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.connector.getWarehouses(branchNr).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Warehouse, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getHistoricStateValues(): Promise<CodeDescription[]> {\n return new Promise((resolve: Function, reject: Function) => {\n const result: DataServiceResponseData = this.connector.getHistoricStateValues();\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(CodeDescription, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n }\n\n public async getPaymentMethods(): Promise<PaymentMethod[]> {\n return new Promise(async (resolve: Function, reject: Function) => {\n const result: DataServiceResponseData = await this.connector.getPaymentMethods();\n if (result.validationResult && result.validationResult.success) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(PaymentMethod, result.resultObjects));\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n }\n\n public async changeTransactionLineCommissionCode(uuid: string, lineUuid: string, code: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newCommissionCode: code\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineCommissionCode(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineWarehouse(uuid: string, lineUuid: string, warehouseNumber: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newWarehouseNumber: warehouseNumber\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineWarehouse(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLinePrice(uuid: string, lineUuid: string, price: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newPrice: price\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLinePrice(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLinePriceList(uuid: string, lineUuid: string, priceList: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newPriceListCode: priceList\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLinePriceList(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineVat(uuid: string, lineUuid: string, id: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newVatId: id\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineVat(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineLineDiscount(uuid: string, lineUuid: string, type: DiscountType, discount: number, reason: string, code: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n discountType: type,\n newDiscount: discount,\n newDiscountReason: reason,\n newDiscountCode: code\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineDiscount(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineDeliveryMethod(uuid: string, lineUuid: string, method: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newDeliveryMethodCode: method\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineDeliveryMethod(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineDeliveryDate(uuid: string, lineUuid: string, date: Date): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newDeliveryDate: date\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineDeliveryDate(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineAssemblyTime(uuid: string, lineUuid: string, time: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newAssemblyTime: time\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineAssemblyTime(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineEditTime(uuid: string, lineUuid: string, time: number): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newEditTime: time\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineEditTime(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineSupplierArticleNumber(uuid: string, lineUuid: string, articleNumber: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newSupplierArticleNumber: articleNumber\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineSupplierArticleNumber(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineReference(uuid: string, lineUuid: string, reference: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newReference: reference\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineReference(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeHeaderTransactionDefinitive(uuid: string, definitive: boolean): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n newTransactionDefinitive: definitive\n };\n const response: DataServiceResponseData = await this.connector.changeHeaderTransactionDefinitive(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async changeTransactionLineCollectionCode(uuid: string, lineUuid: string, code: string): Promise<TransactionInfoResponse> {\n const request = {\n transactionUuid: uuid,\n lineUuid: lineUuid,\n newCollectionCode: code\n };\n const response: DataServiceResponseData = await this.connector.changeTransactionLineCollectionCode(request);\n if (response && response.validationResult && response.validationResult.success) {\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async createOutstandingEntry(uuid: string, amount: number): Promise<TransactionInfoResponse> {\n const request = {\n transUUID: uuid,\n amount: amount\n };\n const response: DataServiceResponseData = await this.connector.createOutstandingEntry(request);\n if (response && response.validationResult && response.validationResult.success) {\n console.log(response);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n public async registerSalesOrderPayment(\n uuid: string, amount: number, currencyCode: number, paymentMethod: string, cashRegisterGroupId: number\n ): Promise<TransactionInfoResponse> {\n const request = {\n transUUID: uuid,\n amount: amount,\n currencyCode: currencyCode,\n paymentMethodCode: paymentMethod,\n cashRegisterGroupId: cashRegisterGroupId\n };\n const response: DataServiceResponseData = await this.connector.registerSalesOrderPayment(request);\n if (response && response.validationResult && response.validationResult.success) {\n console.log(response);\n } else {\n return Promise.reject(response.validationMessagesAsString);\n }\n }\n\n}\n","import {Injectable} from \"@angular/core\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {IOneConnectorAdapterService} from \"./ione-connector-adapter.service\";\r\nimport {PaymentMethod} from \"@colijnit/transactionapi/build/model/payment-method.bo\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class PaymentService {\r\n\r\n constructor(\r\n private _connector: IOneConnectorAdapterService\r\n ) {\r\n }\r\n\r\n public async createOutstandingEntry(uuid: string, amount: number): Promise<boolean> {\r\n const response: TransactionInfoResponse | boolean = await this._connector.createOutstandingEntry(uuid, amount)\r\n .catch((error) => {\r\n // todo: do something with the error\r\n return false;\r\n });\r\n if (response) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public async registerSalesOrderPayment(\r\n uuid: string, amount: number, currencyCode: number, paymentMethod: string, cashRegisterGroupId: number\r\n ): Promise<boolean> {\r\n const response: TransactionInfoResponse =\r\n await this._connector.registerSalesOrderPayment(uuid, amount, currencyCode, paymentMethod, cashRegisterGroupId);\r\n // .catch((error) => {\r\n // // todo: do something with the error\r\n // // return;\r\n // });\r\n if (response) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public async getPaymentMethods(): Promise<PaymentMethod[]> {\r\n return this._connector.getPaymentMethods();\r\n }\r\n\r\n}\r\n","import {PaymentMethod} from \"@colijnit/transactionapi/build/model/payment-method.bo\";\r\n\r\nexport class PaymentViewmodel {\r\n public payment: PaymentMethod;\r\n public image: string;\r\n\r\n constructor(method: PaymentMethod) {\r\n this.payment = method;\r\n }\r\n}\r\n","import {Component, ContentChild, HostBinding, Input, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {CashRegister} from \"@colijnit/transactionapi/build/model/cash-register\";\r\nimport {PaymentService} from \"../../service/payment.service\";\r\nimport {SharedService} from \"../../service/shared.service\";\r\nimport {PaymentMethod} from \"@colijnit/transactionapi/build/model/payment-method.bo\";\r\nimport {CoDocument} from \"@colijnit/transactionapi/build/model/co-document\";\r\nimport {PaymentViewmodel} from \"../../model/payment.viewmodel\";\r\n\r\n@Component({\r\n selector: \"co-payment\",\r\n template: `\r\n <div class=\"payment-wrapper\">\r\n <div class=\"payment-methods-header\">\r\n <span class=\"payment-header-title\" [textContent]=\"'SELECT_A' | localize\"></span>\r\n <span class=\"payment-header-title extra\" [textContent]=\"'FREE' | localize:false\"></span>\r\n <span class=\"payment-header-title\" [textContent]=\"'PAYMENT_METHOD' | localize:false\"></span>\r\n </div>\r\n <div class=\"payment-methods\">\r\n <co-payment-tile *ngFor=\"let paymentMethod of paymentMethods; let index = index\"\r\n [image]=\"paymentMethod.image\"\r\n [description]=\"paymentMethod.payment.description\"\r\n [selected]=\"paymentMethodIdx === index\"\r\n (selectedChange)=\"paymentMethodSelected(paymentMethod.payment, index)\"\r\n ></co-payment-tile>\r\n </div>\r\n <div class=\"payment-cash-register-wrapper\" *ngIf=\"showCashRegisters\">\r\n <div class=\"payment-cash-register-header\">\r\n <span class=\"payment-header-title\" [textContent]=\"'SELECT_CASH_REGISTER' | localize\"></span>\r\n </div>\r\n <div class=\"payment-methods\">\r\n <co-payment-tile *ngFor=\"let cashRegister of cashRegisters; let index = index\"\r\n [icon]=\"cashRegister.icon\"\r\n [description]=\"cashRegister.description\"\r\n [selected]=\"cashRegisterIdx === index\"\r\n ></co-payment-tile>\r\n </div>\r\n </div>\r\n <div class=\"payment-to-pay-wrapper\">\r\n <div class=\"payment-to-pay\">\r\n <div [textContent]=\"'TO_PAY' | localize\"></div>\r\n <div class=\"payment-amount\" [textContent]=\"amount | priceDisplay\"></div>\r\n </div>\r\n <div class=\"payment-to-pay-button\">\r\n <co-button [label]=\"'PAY' | localize\" (click)=\"handlePayment()\"></co-button>\r\n </div>\r\n <co-key-pad class=\"payment-to-pay-keypad\"\r\n [showValue]=\"false\"\r\n [emitModelChangeOnEnter]=\"false\"\r\n [model]=\"amount\"\r\n (modelChange)=\"handleKeyPadModelChange($event)\"\r\n (enterClick)=\"handlePayment()\"\r\n ></co-key-pad>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PaymentComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public transactionUuid: string;\r\n\r\n @Input()\r\n public amount: number = 0;\r\n\r\n @Input()\r\n public currencyCode: number;\r\n\r\n @HostBinding(\"class.co-payment\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public paymentMethodIdx: number = 0;\r\n public cashRegisterIdx: number = 0;\r\n public paymentMethods: PaymentViewmodel[] = [];\r\n public cashRegisters: any[] = [];\r\n public showCashRegisters: boolean = false;\r\n public showKeyPad: boolean = false;\r\n\r\n constructor(\r\n private _transactionService: TransactionService,\r\n private _sharedService: SharedService,\r\n private _paymentService: PaymentService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._paymentService.createOutstandingEntry(this.transactionUuid, this.amount).then(() => {\r\n this._getPaymentMethods().then(() => {\r\n this._prepareCashRegisters();\r\n });\r\n });\r\n }\r\n\r\n public paymentMethodSelected(method: PaymentMethod, index: number): void {\r\n this.paymentMethodIdx = index;\r\n this._prepareCashRegisters();\r\n }\r\n\r\n public handlePayment(): void {\r\n const currentPaymentMethod: PaymentViewmodel = this.paymentMethods[this.paymentMethodIdx];\r\n const currentCashRegister: CashRegister = this.cashRegisters[this.cashRegisterIdx];\r\n this._paymentService.registerSalesOrderPayment(\r\n this.transactionUuid, this.amount, this.currencyCode, currentPaymentMethod.payment.code, currentCashRegister.group).then(() => {\r\n this.showKeyPad = false;\r\n });\r\n }\r\n\r\n public handleKeyPadModelChange(model: number): void {\r\n this.amount = model;\r\n console.log(model);\r\n }\r\n\r\n /**\r\n *\r\n * @private\r\n */\r\n private _prepareCashRegisters(): void {\r\n const paymentMethod: PaymentMethod = this.paymentMethods[this.paymentMethodIdx].payment;\r\n if (paymentMethod && !paymentMethod.externalSourceId) {\r\n this.cashRegisters.length = 0;\r\n paymentMethod.posGroups.forEach(crg => {\r\n this._getCashRegisters(crg.branchNo, crg.id);\r\n });\r\n this.showCashRegisters = true;\r\n } else {\r\n this.showCashRegisters = false;\r\n }\r\n }\r\n\r\n private _getCashRegisters(branch?: string, group?: number): void {\r\n this._transactionService.getCashRegisters(branch, group).then((cashRegisters: CashRegister[]) => {\r\n this.cashRegisters.push(...cashRegisters);\r\n });\r\n }\r\n\r\n private _getPaymentMethods(): Promise<void> {\r\n this.paymentMethods.length = 0;\r\n return this._paymentService.getPaymentMethods().then((methods: PaymentMethod[]) => {\r\n methods.forEach(async (m: PaymentMethod) => {\r\n const paymentViewModel: PaymentViewmodel = new PaymentViewmodel(m);\r\n const imageDocs: CoDocument[] = m.documents.filter(d => d.isImageDocument());\r\n if (imageDocs && imageDocs.length) {\r\n const image: CoDocument = imageDocs[0];\r\n if (image.filePath) {\r\n paymentViewModel.image = image.filePath;\r\n } else {\r\n if (!image.thumbnailBody) {\r\n const content: string = await this._sharedService.getDocumentContent(image.documentId);\r\n image.thumbnailBody = content;\r\n }\r\n paymentViewModel.image = image.thumbnailBodyAsDataUri;\r\n }\r\n }\r\n this.paymentMethods.push(paymentViewModel);\r\n });\r\n });\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-payment-tile\",\r\n template: `\r\n <co-tile [selected]=\"selected\" (selectedChange)=\"selectedChange.emit($event)\">\r\n <div class=\"payment-tile-wrapper\">\r\n <icon *ngIf=\"icon\" class=\"payment-tile-icon\" [icon]=\"icon\"></icon>\r\n <img *ngIf=\"image\" class=\"payment-tile-image\" [src]=\"image\"/>\r\n <span class=\"payment-tile-description\" [textContent]=\"description | localize\"></span>\r\n </div>\r\n </co-tile>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PaymentTileComponent {\r\n\r\n @Input()\r\n public selected: boolean = false;\r\n\r\n @Input()\r\n public icon: Icon;\r\n\r\n @Input()\r\n public image: string;\r\n\r\n @Input()\r\n public description: string;\r\n\r\n @Output()\r\n public selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding(\"class.co-payment-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PaymentTileComponent} from \"./payment-tile.component\";\r\nimport {TileModule} from \"../tile/tile.module\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TileModule,\r\n CoreModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n PaymentTileComponent\r\n ],\r\n exports: [\r\n PaymentTileComponent\r\n ]\r\n})\r\nexport class PaymentTileModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PaymentComponent} from \"./payment.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {PaymentTileModule} from \"../payment-tile/payment-tile.module\";\r\nimport {ButtonModule, CoDialogModule, PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\nimport {KeyPadModule} from \"@colijnit/sharedcomponents\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n PaymentTileModule,\r\n PriceDisplayPipeModule,\r\n KeyPadModule,\r\n CoDialogModule,\r\n ButtonModule\r\n ],\r\n declarations: [\r\n PaymentComponent\r\n ],\r\n exports: [\r\n PaymentComponent\r\n ]\r\n})\r\nexport class PaymentModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {\r\n ButtonModule,\r\n Carousel3dModule,\r\n CoDialogModule,\r\n CoDialogPromptModule,\r\n CoGridModule,\r\n CollapsibleModule,\r\n CoRichTextEditorModule,\r\n CoSidebarModule,\r\n DropDownModule,\r\n FormModule,\r\n IconModule,\r\n InputCheckboxModule,\r\n InputComboBoxModule,\r\n InputDatePickerModule,\r\n InputListboxModule,\r\n InputNumberPickerModule,\r\n InputRadioButtonModule,\r\n InputTextareaModule,\r\n InputTextModule,\r\n MultiSelectListModule,\r\n PopupModule,\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {FlexModule} from \"@angular/flex-layout\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {CheckoutOverviewRelationEditComponent} from \"./checkout-overview-relation-edit/checkout-overview-relation-edit.component\";\r\nimport {CheckoutOverviewDeliveryEditComponent} from \"./checkout-overview-delivery-edit/checkout-overview-delivery-edit.component\";\r\nimport {CheckoutOverviewDeliveryAddressComponent} from \"./checkout-overview-delivery-address/checkout-overview-delivery-address.component\";\r\nimport {CheckOutRelationSuggestionsListComponent} from \"./checkout-relation-suggestions-list/checkout-relation-suggestions-list.component\";\r\nimport {CheckOutRelationSuggestionsListItemComponent} from \"./checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component\";\r\nimport {CheckoutLoginComponent} from \"./checkout-login/checkout-login.component\";\r\nimport {OptionsService} from \"../../service/options.service\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CheckoutComponent} from \"./checkout.component\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport {RelationAddressSelectModule} from \"../relation-address-select/relation-address-select.module\";\r\nimport {RelationAddressModule} from \"../relation-address/relation-address.module\";\r\nimport {RelationAddressTileModule} from \"../relation-address-tile/relation-address-tile.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {StepperModule} from \"../stepper/stepper.module\";\r\nimport {ShoppingCartPreviewModule} from \"../shopping-cart-preview/shopping-cart-preview.module\";\r\nimport {AvatarModule} from \"../avatar/avatar.module\";\r\nimport {DeliveryTypeTileModule} from \"../delivery-type-tile/delivery-type-tile.module\";\r\nimport {PaymentModule} from \"../payment/payment.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CoreModule,\r\n CommonModule,\r\n IconModule,\r\n InputTextModule,\r\n InputCheckboxModule,\r\n InputRadioButtonModule,\r\n FormModule,\r\n InputComboBoxModule,\r\n InputDatePickerModule,\r\n InputNumberPickerModule,\r\n CoDialogModule,\r\n CoDialogPromptModule,\r\n ButtonModule,\r\n FlexModule,\r\n MultiSelectListModule,\r\n DropDownModule,\r\n PopupModule.forRoot(),\r\n CoSidebarModule,\r\n CoGridModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n RelationAddressModule,\r\n RelationAddressSelectModule,\r\n RelationAddressTileModule,\r\n CoRichTextEditorModule,\r\n Carousel3dModule,\r\n InputTextareaModule,\r\n InputListboxModule,\r\n PipeModule,\r\n StepperModule,\r\n ShoppingCartPreviewModule,\r\n AvatarModule,\r\n DeliveryTypeTileModule,\r\n CollapsibleModule,\r\n PaymentModule,\r\n ],\r\n declarations: [\r\n CheckoutOverviewRelationEditComponent,\r\n CheckoutOverviewDeliveryEditComponent,\r\n CheckoutOverviewDeliveryAddressComponent,\r\n CheckOutRelationSuggestionsListComponent,\r\n CheckOutRelationSuggestionsListItemComponent,\r\n CheckoutLoginComponent,\r\n CheckoutComponent,\r\n ],\r\n providers: [\r\n DictionaryService,\r\n OptionsService\r\n ],\r\n entryComponents: [\r\n CheckoutComponent\r\n ],\r\n exports: [CheckoutComponent],\r\n bootstrap: [CheckoutComponent]\r\n})\r\nexport class CheckoutModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, OnDestroy, Output, ViewEncapsulation} from \"@angular/core\";\nimport {DictionaryService} from \"../../service/dictionary.service\";\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\nimport {TransactionService} from \"../../service/transaction.service\";\nimport {Subscription} from \"rxjs\";\n\n@Component({\n selector: \"co-shopping-cart\",\n template: `\n <div class=\"cart-header\">\n <span class=\"cart-header-label\" [textContent]=\"'SHOPPING_CART_OVERVIEW' | localize | append:'(' + service.articleAmount + ')'\"></span>\n </div>\n <div class=\"shopping-cart-transaction-wrapper\">\n <co-transaction\n [showHeader]=\"false\"\n [showQuickAccess]=\"false\"\n [showButtonBar]=\"false\"\n [transaction]=\"transaction\"\n ></co-transaction>\n </div>\n <div class=\"cart-buttons\">\n <a class=\"button-resume\" [textContent]=\"'SHOPPING_CART_RESUME' | localize\"\n (click)=\"closeCart.emit()\"\n ></a>\n <co-button class=\"button-checkout\" [label]=\"'SHOPPING_CART_CHECKOUT' | localize\"\n [disabled]=\"service.articleAmount === 0\"\n (click)=\"checkout.emit()\"></co-button>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class ShoppingCartComponent implements OnDestroy {\n\n @Output()\n public closeCart: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public checkout: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding(\"class.co-shopping-cart\")\n public showClass(): boolean {\n return true;\n }\n\n public transaction: TransactionInfoResponse = new TransactionInfoResponse();\n private _subs: Subscription[] = [];\n\n constructor(\n public service: TransactionService,\n private _dictionary: DictionaryService\n ) {\n this._subs.push(\n this.service.transactionUpdated.subscribe((transaction: TransactionInfoResponse) => {\n if (transaction) {\n this.transaction = transaction;\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n this._subs.forEach(s => s.unsubscribe());\n }\n}\n","// The different view modes for content, e.g. list, grid, ..\r\nexport enum ContentViewMode {\r\n List,\r\n Grid,\r\n GridExpanded,\r\n MasterDetail,\r\n Timeline,\r\n Tiles,\r\n}\r\n","import {Component, HostBinding, Input, OnDestroy, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {ContentViewMode} from \"../../enum/content-view-mode.enum\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionBarButton} from \"../../model/transaction-bar-button\";\r\nimport {TransactionTypeCategory} from \"../../enum/transaction-type-category.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction\",\r\n template: `\r\n <co-transaction-header *ngIf=\"showHeader\" [transaction]=\"transaction\"></co-transaction-header>\r\n\r\n <div class=\"transaction-lines-header\">\r\n <co-transaction-quick-access *ngIf=\"showQuickAccess\" class=\"transaction-lines-header-item\"\r\n [transactionType]=\"transaction.transactionInfo.transactionKind\"\r\n [activeCategory]=\"activeCategory\"\r\n ></co-transaction-quick-access>\r\n\r\n <co-transaction-button-bar *ngIf=\"showButtonBar\" class=\"transaction-lines-header-item\"\r\n [transactionType]=\"transaction.transactionInfo.transactionKind\"\r\n [selectedCategory]=\"activeCategory\"\r\n (buttonClicked)=\"handleButtonBarButtonClicked($event)\"\r\n ></co-transaction-button-bar>\r\n\r\n <co-view-mode-buttons class=\"transaction-lines-header-item\"\r\n [showViewModes]=\"[viewModes.List, viewModes.Grid]\" (viewModeChange)=\"activeViewMode = $event\"></co-view-mode-buttons>\r\n </div>\r\n\r\n <div class=\"transaction-lines-wrapper\" *ngIf=\"activeViewMode === viewModes.List\">\r\n <co-transaction-lines\r\n [transactionLines]=\"transaction.transactionLines\"\r\n (showSidePanelClicked)=\"handleShowSidePanel($event)\"\r\n (saveTransactionLine)=\"saveTransactionLine($event)\"\r\n ></co-transaction-lines>\r\n </div>\r\n <div class=\"transaction-lines-grid-wrapper\" *ngIf=\"activeViewMode === viewModes.Grid\">\r\n <co-transaction-grid\r\n [transactionLines]=\"transaction.transactionLines\"\r\n [transactionId]=\"transactionId\"\r\n [transactionType]=\"transaction.transactionInfo.transactionKind\"\r\n [activeCategory]=\"activeCategory\"\r\n (sidePanelClicked)=\"handleShowSidePanel($event)\"\r\n ></co-transaction-grid>\r\n <!--\r\n <co-transaction-order-confirmation-grid\r\n *ngIf=\"activeCategory === 1\"\r\n [transactionLines]=\"transaction.transactionLines\"\r\n (sidePanelClicked)=\"handleShowSidePanel($event)\"\r\n ></co-transaction-order-confirmation-grid>\r\n -->\r\n </div>\r\n <div class=\"transaction-footer-wrapper\">\r\n <co-transaction-totals [totals]=\"transaction.transactionTotal\" [showDiscount]=\"true\" (discountClick)=\"addDiscount()\"></co-transaction-totals>\r\n </div>\r\n <co-discount *ngIf=\"showDiscountsSidebar\">\r\n </co-discount>\r\n\r\n <co-transaction-line-side-panel *ngIf=\"showSidePanel\" @showHideSidePanel\r\n [transactionType]=\"transaction.transactionInfo.transactionKind\"\r\n [activeCategory]=\"activeCategory\"\r\n [transactionLine]=\"sidePanelTransactionLine\"\r\n [transactionId]=\"transactionId\"\r\n (cancelClick)=\"handleCloseSidePanel($event)\"\r\n ></co-transaction-line-side-panel>\r\n `,\r\n animations: [\r\n trigger(\"showHideSidePanel\", [\r\n state(\"void\", style({transform: 'translateX(100%)'})),\r\n state(\"*\", style({transform: 'translateX(0)'})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionComponent implements OnDestroy {\r\n public readonly viewModes: typeof ContentViewMode = ContentViewMode;\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set transaction(value: TransactionInfoResponse) {\r\n if (value) {\r\n this._transaction = value;\r\n }\r\n }\r\n\r\n public get transaction(): TransactionInfoResponse {\r\n return this._transaction;\r\n }\r\n\r\n @Input()\r\n public set transactionId(value: number) {\r\n if (value) {\r\n this._transactionId = value;\r\n this._service.getTransactionById(value).catch(() => {});\r\n }\r\n }\r\n\r\n public get transactionId(): number {\r\n return this._transactionId;\r\n }\r\n\r\n @Input()\r\n public showHeader: boolean = true;\r\n\r\n @HostBinding('class.show-quick-access')\r\n @Input()\r\n public showQuickAccess: boolean = true;\r\n\r\n @HostBinding('class.show-button-bar')\r\n @Input()\r\n public showButtonBar: boolean = true;\r\n\r\n @HostBinding(\"class.co-transaction\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public activeViewMode: ContentViewMode = ContentViewMode.List;\r\n public activeCategory: TransactionTypeCategory;\r\n public showDiscountsSidebar: boolean = false;\r\n public showSidePanel: boolean = false;\r\n public sidePanelTransactionLine: TransactionLineInfo;\r\n\r\n private _subs: Subscription[] = [];\r\n private _transaction: TransactionInfoResponse = new TransactionInfoResponse();\r\n private _transactionId: number;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _service: TransactionService\r\n ) {\r\n this._subs.push(\r\n this._service.transactionUpdated.subscribe(async transaction => {\r\n this.transaction = transaction;\r\n })\r\n )\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subs.forEach(s => s.unsubscribe());\r\n }\r\n\r\n public addDiscount(): void {\r\n this.showDiscountsSidebar = true;\r\n\r\n // TODO\r\n // this.transactionDiscountPercentage = this.service.currentTransaction.transactionDiscountPercentage;\r\n // this.transactionDiscountAmount = this.service.currentTransaction.transactionDiscountAmount;\r\n // this.transactionTotal = undefined;\r\n }\r\n\r\n public saveTransactionLine(transactionAddTextLineRequest: TransactionAddTextLineRequest): void {\r\n if (transactionAddTextLineRequest.transactionUuid) { //update\r\n\r\n } else { // new transactionLine (transactionArticleText)\r\n this._service.addTextLine(\r\n transactionAddTextLineRequest.showOnDocuments,\r\n transactionAddTextLineRequest.text,\r\n 0,\r\n transactionAddTextLineRequest.articleBound,\r\n 0,\r\n 0,\r\n 0);\r\n }\r\n }\r\n\r\n public handleButtonBarButtonClicked(button: TransactionBarButton): void {\r\n this.activeCategory = button.category;\r\n }\r\n\r\n public handleShowSidePanel(line: TransactionLineInfo): void {\r\n this.sidePanelTransactionLine = line;\r\n this.showSidePanel = true;\r\n }\r\n\r\n public handleCloseSidePanel(event: MouseEvent): void {\r\n this.showSidePanel = false;\r\n }\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header\",\r\n template: `\r\n <div class=\"transaction-header-wrapper\">\r\n <co-transaction-header-relation [relationId]=\"relationId\"></co-transaction-header-relation>\r\n <co-transaction-header-order [transaction]=\"transaction\"></co-transaction-header-order>\r\n <co-transaction-header-payment [transaction]=\"transaction\"></co-transaction-header-payment>\r\n <co-transaction-header-delivery [transaction]=\"transaction\"></co-transaction-header-delivery>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set transaction(value: TransactionInfoResponse) {\r\n if (value) {\r\n this._transaction = value;\r\n this.relationId = this.transaction.transactionInfo && this.transaction.transactionInfo.relation ? this.transaction.transactionInfo.relation.relationId : undefined;\r\n }\r\n }\r\n\r\n public get transaction(): TransactionInfoResponse {\r\n return this._transaction;\r\n }\r\n\r\n @HostBinding(\"class.co-transaction-header\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public relationId: number;\r\n\r\n private _transaction: TransactionInfoResponse = new TransactionInfoResponse()\r\n}\r\n","import {Directive, Input} from \"@angular/core\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionTotal} from \"@colijnit/transactionapi/build/model/transaction-total.bo\";\r\nimport {RelationListObject} from \"@colijnit/transactionapi/build/model/relation-list-object.bo\";\r\nimport {NULL_CUSTOMER_FULL_OBJECT, NULL_RELATION_LIST_OBJECT} from \"@colijnit/transactionapi/build/model/nul-relation-object\";\r\nimport {RelationRequest} from \"@colijnit/transactionapi/build/model/relation-request\";\r\nimport {LineOperationStatus} from \"@colijnit/transactionapi/build/model/line-operation-status.bo\";\r\nimport {CustomerFullObject} from \"@colijnit/transactionapi/build/model/customer-full-object.bo\";\r\n\r\n@Directive()\r\nexport abstract class TransactionBaseComponent {\r\n @Input()\r\n public set transaction(value: TransactionInfoResponse) {\r\n this._transaction = value;\r\n if (this._transaction) {\r\n if (this._transaction.transactionInfo) {\r\n this.transactionInfo = this._transaction.transactionInfo;\r\n this.isService = this._transaction.transactionInfo.transactionKind === TransactionKind.ServiceOrder;\r\n }\r\n if (this._transaction.transactionLines) {\r\n this.transactionLines = this._transaction.transactionLines;\r\n }\r\n if (this._transaction.transactionTotal) {\r\n this.transactionTotal = this._transaction.transactionTotal;\r\n }\r\n if (this._transaction.lineOperationStatuses) {\r\n this.lineOperationStatuses = this._transaction.lineOperationStatuses;\r\n }\r\n this.transactionSet();\r\n }\r\n }\r\n\r\n public get transaction(): TransactionInfoResponse {\r\n return this._transaction;\r\n }\r\n\r\n @Input()\r\n public set relationId(value: number) {\r\n if (value !== undefined) {\r\n this._relationId = value;\r\n this._retrieveRelation();\r\n }\r\n }\r\n\r\n public get relationId(): number {\r\n return this._relationId;\r\n }\r\n\r\n @Input()\r\n public set customerId(value: number) {\r\n if (value !== undefined) {\r\n this._customerId = value;\r\n this._retrieveCustomer();\r\n }\r\n }\r\n\r\n public get customerId(): number {\r\n return this._customerId;\r\n }\r\n\r\n @Input()\r\n public relation: RelationListObject = NULL_RELATION_LIST_OBJECT;\r\n\r\n @Input()\r\n public customer: CustomerFullObject = NULL_CUSTOMER_FULL_OBJECT;\r\n\r\n @Input()\r\n public expanded: boolean = true;\r\n\r\n public isService: boolean = false;\r\n public transactionInfo: TransactionInfo;\r\n public lineOperationStatuses: LineOperationStatus[] = [];\r\n public transactionLines: TransactionLineInfo[] = [];\r\n public transactionTotal: TransactionTotal;\r\n\r\n private _relationId: number;\r\n private _customerId: number;\r\n private _transaction: TransactionInfoResponse;\r\n\r\n constructor (\r\n protected readonly service: TransactionService\r\n ) {}\r\n\r\n public transactionSet(): void {\r\n // overridden by descendents\r\n }\r\n\r\n private async _retrieveCustomer(): Promise<void> {\r\n this.service.getCustomerFullObjectByRelationId(this._customerId).then((customer: CustomerFullObject) => {\r\n this.customer = customer;\r\n });\r\n }\r\n\r\n private async _retrieveRelation(): Promise<void> {\r\n const relationRequest: RelationRequest = new RelationRequest();\r\n relationRequest.relationId = this.relationId;\r\n\r\n this.service.getRelationListObjects(relationRequest).then((relations: RelationListObject[]) => {\r\n const relationList: RelationListObject[] = relations;\r\n if (relations && relations.length) {\r\n this.relation = relations[0];\r\n }\r\n });\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-relation\",\r\n template: `\r\n <co-transaction-header-block\r\n [headerBlockTemplate]=\"headerBlock\"\r\n [firstBlockTemplate]=\"firstBlock\"\r\n [secondBlockTemplate]=\"secondBlock\"\r\n >\r\n </co-transaction-header-block>\r\n <ng-template #headerBlock>\r\n <div class=\"header-block-label\" [textContent]=\"relation.displayName\"></div>\r\n </ng-template>\r\n <ng-template #firstBlock>\r\n <div class=\"header-relation-address\" [textContent]=\"relation.displayAddress\"></div>\r\n <div class=\"header-relation-postal\" [textContent]=\"relation.displayPostalcodeCity\"></div>\r\n </ng-template>\r\n <ng-template #secondBlock>\r\n <div class=\"header-relation-email\" [textContent]=\"relation.email\"></div>\r\n <div class=\"header-relation-phone\" [textContent]=\"relation.tel1\"></div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderRelationComponent extends TransactionBaseComponent {\r\n\r\n @HostBinding('class.co-transaction-header-relation')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import {Component, HostBinding, Input, TemplateRef, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-block\",\r\n template: `\r\n <div class=\"transaction-header-block-header\">\r\n <ng-container [ngTemplateOutlet]=\"headerBlockTemplate\"></ng-container>\r\n </div>\r\n <div class=\"transaction-header-block-content\">\r\n <div class=\"transaction-header-block-content-first\" *ngIf=\"firstBlockTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"firstBlockTemplate\"></ng-container>\r\n </div>\r\n <div class=\"transaction-header-block-divider\" *ngIf=\"secondBlockTemplate || thirdBlockTemplate\"></div>\r\n <div class=\"transaction-header-block-content-second\" *ngIf=\"secondBlockTemplate || thirdBlockTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"secondBlockTemplate\"></ng-container>\r\n </div>\r\n <div class=\"transaction-header-block-divider\" *ngIf=\"thirdBlockTemplate\"></div>\r\n <div class=\"transaction-header-block-content-third\" *ngIf=\"thirdBlockTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"thirdBlockTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderBlockComponent {\r\n @Input()\r\n public headerBlockTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public firstBlockTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public secondBlockTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public thirdBlockTemplate: TemplateRef<any>;\r\n\r\n @HostBinding(\"class.co-transaction-header-block\")\r\n public showClass() {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderBlockComponent} from \"./transaction-header-block.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n TransactionHeaderBlockComponent\r\n ],\r\n exports: [\r\n TransactionHeaderBlockComponent\r\n ]\r\n})\r\nexport class TransactionHeaderBlockModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderRelationComponent} from \"./transaction-header-relation.component\";\r\nimport {TransactionHeaderBlockModule} from \"../../core/base/components/transaction-header-block/transaction-header-block.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionHeaderBlockModule\r\n ],\r\n declarations: [\r\n TransactionHeaderRelationComponent\r\n ],\r\n exports: [\r\n TransactionHeaderRelationComponent\r\n ]\r\n})\r\nexport class TransactionHeaderRelationModule {}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-delivery\",\r\n template: `\r\n <co-transaction-header-block\r\n [headerBlockTemplate]=\"headerBlock\"\r\n [firstBlockTemplate]=\"firstBlock\"\r\n [secondBlockTemplate]=\"secondBlock\"\r\n [thirdBlockTemplate]=\"thirdBlock\"\r\n >\r\n </co-transaction-header-block>\r\n <ng-template #headerBlock>\r\n <div class=\"header-delivery-method\">\r\n <co-icon class=\"header-delivery-truck-icon\" [iconData]=\"iconService.getIcon(icons.DeliveryTruck)\"></co-icon>\r\n <span [textContent]=\"deliveryMethod?.description\"></span>\r\n </div>\r\n <co-icon class=\"planning-request-button\" [class.co-transaction-check]=\"transactionInfo.deliveryDateDefinitive\"\r\n [iconData]=\"iconService.getIcon(icons.CalendarDay)\"></co-icon>\r\n </ng-template>\r\n <ng-template #firstBlock>\r\n <div class=\"header-delivery-deliverydate-label co-transaction-label\" [textContent]=\"'DELIVERY_DATE' | localize\"></div>\r\n <div class=\"header-delivery-deliverydate-wrapper\" [class.closed]=\"transactionInfo.deliveryDateDefinitive\">\r\n <span class=\"header-delivery-deliverydate\" [textContent]=\"transactionInfo.deliveryDate | date:'dd MMM yyyy'\"></span>\r\n <co-icon *ngIf=\"transactionInfo.deliveryDateDefinitive\" [iconData]=\"iconService.getIcon(icons.Lock)\"></co-icon>\r\n <co-icon *ngIf=\"!transactionInfo.deliveryDateDefinitive\" [iconData]=\"iconService.getIcon(icons.Unlock)\"></co-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template #secondBlock>\r\n <div class=\"header-delivery-preferred-deliverydate-label co-transaction-label\" [textContent]=\"'PREFERRED_DATE' | localize\"></div>\r\n <div class=\"header-delivery-preferred-deliverydate\" [textContent]=\"transactionInfo.preferredDeliveryDate | date:'dd MMM yyyy'\"></div>\r\n </ng-template>\r\n <ng-template #thirdBlock>\r\n <div class=\"header-delivery-partial-delivery-label co-transaction-label\" [textContent]=\"'PART_DELIVERY' | localize\"></div>\r\n <co-input-checkbox class=\"header-delivery-partial-delivery\" [model]=\"transactionInfo.allowPartialDelivery\"></co-input-checkbox>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderDeliveryComponent extends TransactionBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding(\"class.co-transaction-header-delivery\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public deliveryMethod: DeliveryMethod = new DeliveryMethod();\r\n public deliveryMethods: DeliveryMethod[] = [];\r\n\r\n constructor(\r\n public iconService: IconCacheService,\r\n protected service: TransactionService\r\n ) {\r\n super(service);\r\n }\r\n\r\n public transactionSet(): void {\r\n this.service.getDeliveryMethods().then((methods: DeliveryMethod[]) => {\r\n this.deliveryMethods = methods;\r\n const dm = this.deliveryMethods.find(m => m.code === this.transactionInfo.deliveryMethod);\r\n if (dm) {\r\n this.deliveryMethod = dm;\r\n }\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderDeliveryComponent} from \"./transaction-header-delivery.component\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionHeaderBlockModule} from \"../../core/base/components/transaction-header-block/transaction-header-block.module\";\r\nimport {IconModule, InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionHeaderBlockModule,\r\n InputCheckboxModule,\r\n IconModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionHeaderDeliveryComponent\r\n ],\r\n exports: [\r\n TransactionHeaderDeliveryComponent\r\n ]\r\n})\r\nexport class TransactionHeaderDeliveryModule {}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-order\",\r\n template: `\r\n <co-transaction-header-block\r\n [headerBlockTemplate]=\"headerBlock\"\r\n [firstBlockTemplate]=\"firstBlock\"\r\n [secondBlockTemplate]=\"secondBlock\"\r\n [thirdBlockTemplate]=\"thirdBlock\"\r\n >\r\n </co-transaction-header-block>\r\n <ng-template #headerBlock>\r\n <div class=\"header-block-label\" [textContent]=\"transactionInfo.branch?.familyName\"></div>\r\n </ng-template>\r\n <ng-template #firstBlock>\r\n <span class=\"header-order-total-label co-transaction-label\" [textContent]=\"'ORDER_TOTAL' | localize\"></span>\r\n <div class=\"header-order-total\" [textContent]=\"transactionTotal.netAmount | priceDisplay\"></div>\r\n </ng-template>\r\n <ng-template #secondBlock>\r\n <span class=\"header-order-line-amount-label co-transaction-label\" [textContent]=\"'ORDER_LINES' | localize\"></span>\r\n <div class=\"header-order-line-amount\" [textContent]=\"transactionLines.length\"></div>\r\n </ng-template>\r\n <ng-template #thirdBlock>\r\n <div class=\"header-order-definitive-label co-transaction-label\" [textContent]=\"'DEFINITIVE' | localize\"></div>\r\n <co-input-checkbox [model]=\"true\"></co-input-checkbox>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderOrderComponent extends TransactionBaseComponent {\r\n\r\n @HostBinding('class.co-transaction-header-order')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderOrderComponent} from \"./transaction-header-order.component\";\r\nimport {TransactionHeaderBlockModule} from \"../../core/base/components/transaction-header-block/transaction-header-block.module\";\r\nimport {InputCheckboxModule, PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionHeaderBlockModule,\r\n InputCheckboxModule,\r\n PipeModule,\r\n PriceDisplayPipeModule\r\n ],\r\n declarations: [\r\n TransactionHeaderOrderComponent\r\n ],\r\n exports: [\r\n TransactionHeaderOrderComponent\r\n ]\r\n})\r\nexport class TransactionHeaderOrderModule {}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-payment\",\r\n template: `\r\n <co-transaction-header-block\r\n [headerBlockTemplate]=\"headerBlock\"\r\n [firstBlockTemplate]=\"firstBlock\"\r\n [secondBlockTemplate]=\"secondBlock\"\r\n >\r\n </co-transaction-header-block>\r\n <ng-template #headerBlock>\r\n <div class=\"header-block-label\" [textContent]=\"'BALANCE' | localize\"></div>\r\n <div class=\"header-block-balance\" (click)=\"openPayment()\">\r\n <span class=\"payment-paid\" [textContent]=\"200 | priceDisplay\"></span>\r\n <span class=\"payment-divider\" [textContent]=\"'/'\"></span>\r\n <span class=\"payment-to-pay\" [textContent]=\"100 | priceDisplay\"></span>\r\n </div>\r\n </ng-template>\r\n <ng-template #firstBlock>\r\n <div class=\"header-downpayment-label co-transaction-label\" [textContent]=\"'DOWNPAYMENT_PERCENTAGE' | localize\"></div>\r\n <div class=\"header-downpayment-percentage\" [textContent]=\"'NOT_IMPLEMENTED'\"></div>\r\n </ng-template>\r\n <ng-template #secondBlock>\r\n <div class=\"header-downpayment-label co-transaction-label\" [textContent]=\"'DOWNPAYMENT_AMOUNT' | localize\"></div>\r\n <div class=\"header-downpayment\" [textContent]=\"'NOT_IMPLEMENTED'\"></div>\r\n </ng-template>\r\n <co-dialog class=\"payment-dialog\" *ngIf=\"showPaymentDialog\"\r\n [modal]=\"true\"\r\n (closeClick)=\"showPaymentDialog = false\"\r\n >\r\n <co-payment\r\n [transactionUuid]=\"transactionInfo.uuid\"\r\n [amount]=\"transactionTotal.netAmount\"\r\n [currencyCode]=\"transactionInfo.currencyId\"\r\n ></co-payment>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderPaymentComponent extends TransactionBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-header-payment\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showPaymentDialog: boolean = false;\r\n\r\n public openPayment(): void {\r\n this.showPaymentDialog = true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderPaymentComponent} from \"./transaction-header-payment.component\";\r\nimport {TransactionHeaderBlockModule} from \"../../core/base/components/transaction-header-block/transaction-header-block.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {CoDialogModule, PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PaymentModule} from \"../../payment/payment.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionHeaderBlockModule,\r\n PipeModule,\r\n PriceDisplayPipeModule,\r\n CoDialogModule,\r\n PaymentModule\r\n ],\r\n declarations: [\r\n TransactionHeaderPaymentComponent\r\n ],\r\n exports: [\r\n TransactionHeaderPaymentComponent\r\n ]\r\n})\r\nexport class TransactionHeaderPaymentModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderComponent} from \"./transaction-header.component\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionHeaderRelationModule} from \"../transaction-header-relation/transaction-header-relation.module\";\r\nimport {TransactionHeaderDeliveryModule} from \"../transaction-header-delivery/transaction-header-delivery.module\";\r\nimport {TransactionHeaderOrderModule} from \"../transaction-header-order/transaction-header-order.module\";\r\nimport {TransactionHeaderPaymentModule} from \"../transaction-header-payment/transaction-header-payment.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionHeaderRelationModule,\r\n TransactionHeaderDeliveryModule,\r\n TransactionHeaderOrderModule,\r\n TransactionHeaderPaymentModule\r\n ],\r\n declarations: [\r\n TransactionHeaderComponent\r\n ],\r\n exports: [\r\n TransactionHeaderComponent\r\n ]\r\n})\r\nexport class TransactionHeaderModule {}\r\n","import {ContentChildren, Directive, EventEmitter, Input, Output, QueryList} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {ColumnAlign, SimpleGridColumnDirective} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionImageService} from \"../../../service/transaction-image.service\";\r\n\r\n@Directive()\r\nexport abstract class TransactionGridBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly align: typeof ColumnAlign = ColumnAlign;\r\n\r\n @ContentChildren(SimpleGridColumnDirective) set content(columnComponents: QueryList<SimpleGridColumnDirective>) {\r\n this.extraColumns = columnComponents.toArray();\r\n }\r\n\r\n @Input()\r\n public transactionId: number;\r\n\r\n @Input()\r\n public set transactionLines(value: TransactionLineInfo[]) {\r\n this._transactionLines = value;\r\n this._getImages();\r\n }\r\n\r\n public get transactionLines(): TransactionLineInfo[] {\r\n return this._transactionLines;\r\n }\r\n\r\n @Output()\r\n public sidePanelClicked: EventEmitter<TransactionLineInfo> = new EventEmitter<TransactionLineInfo>();\r\n\r\n @Output()\r\n public rowVisible: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n public extraColumns: SimpleGridColumnDirective[] = [];\r\n\r\n private _transactionLines: TransactionLineInfo[] = [];\r\n\r\n constructor(\r\n protected imageService: TransactionImageService\r\n ) {\r\n }\r\n\r\n public handleDrop(data: {from: number, to: number}): void {\r\n\r\n }\r\n\r\n public openSidePanel(line: TransactionLineInfo): void {\r\n this.sidePanelClicked.emit(line);\r\n }\r\n\r\n private _getImages(): void {\r\n for (let i = 0; i < this._transactionLines.length; i++) {\r\n if (this._transactionLines[i].articleImageData === undefined || this._transactionLines[i].articleImageData === null) {\r\n this.imageService.retrieveLineImage(this._transactionLines[i]).then((image: string) => {\r\n this._transactionLines[i].articleImageData = image;\r\n });\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {LineOperationResponse} from \"@colijnit/transactionapi/build/model/line-operation-response.bo\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionGridBaseComponent} from \"../../core/base/transaction-grid-base.component\";\r\nimport {TransactionImageService} from \"../../../service/transaction-image.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-lines-grid\",\r\n template: `\r\n <co-transaction-base-grid [transactionLines]=\"transactionLines\" (sidePanelClicked)=\"openSidePanel($event)\">\r\n <co-simple-grid-column [field]=\"'warehouseNumber'\" [width]=\"50\" [order]=\"40\" [textAlign]=\"align.Right\">\r\n <ng-template #headerTemplate>\r\n <icon class=\"transaction-grid-header-icon\" [icon]=\"icons.Warehouse\"></icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [field]=\"''\" [width]=\"50\" [order]=\"45\" [textAlign]=\"align.Right\">\r\n <ng-template #headerTemplate>\r\n <icon class=\"transaction-grid-header-icon\" [icon]=\"icons.DeliveryTruck\"></icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\" [textAlign]=\"align.Right\" [width]=\"75\" [resizable]=\"false\" [order]=\"50\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TO_DELIVER' | localize\" [textAlign]=\"align.Right\" [width]=\"75\" [resizable]=\"false\" [order]=\"60\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STATUS' | localize\" [textAlign]=\"align.Center\" [width]=\"100\" [resizable]=\"false\" [order]=\"70\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PRICE' | localize\" [textAlign]=\"align.Right\" [order]=\"80\">\r\n <ng-template #template let-row = \"row\">\r\n <div [textContent]=\"row.price | priceDisplay\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DISCOUNT' | localize\" [textAlign]=\"align.Right\" [width]=\"100\" [resizable]=\"false\" [order]=\"90\">\r\n <ng-template #template let-row = \"row\">\r\n <div class=\"transaction-lines-grid-line-label\" [textContent]=\"row.lineTotalDiscountAmount | priceDisplay\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'SUBTOTAL' | localize\" [textAlign]=\"align.Right\" [width]=\"100\" [resizable]=\"false\" [order]=\"100\">\r\n <ng-template #template let-row = \"row\">\r\n <div class=\"transaction-lines-grid-line-label\" [textContent]=\"row.lineTotalDiscountAmount | priceDisplay\"></div>\r\n <div [textContent]=\"row.netLineTotal | priceDisplay\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\" [textAlign]=\"align.Right\" [width]=\"100\" [resizable]=\"false\" [order]=\"110\">\r\n <ng-template #template let-row = \"row\">\r\n <div [textContent]=\"row.deliveryDate | date:'dd MMM yyyy'\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-transaction-base-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLinesGridComponent extends TransactionGridBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-lines-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(\r\n protected imageService: TransactionImageService,\r\n private _service: TransactionService\r\n ) {\r\n super(imageService);\r\n }\r\n\r\n public changeLineAmount(row: TransactionLineInfo, amount: number): void {\r\n this._service.changeTransactionLineQuantity(row.uuid, amount).then((value: LineOperationResponse) => {\r\n if (!value || !value.isSuccess) {\r\n return;\r\n } else {\r\n row.amount = amount;\r\n }\r\n });\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionGridBaseComponent} from \"../../core/base/transaction-grid-base.component\";\r\nimport {ColumnAlign} from \"@colijnit/corecomponents_v12\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-base-grid\",\r\n template: `\r\n <co-simple-grid [data]=\"transactionLines\"\r\n [extraColumns]=\"extraColumns\"\r\n [dragDropEnabled]=\"true\"\r\n [emitDragDrop]=\"true\"\r\n (onDrop)=\"handleDrop($event)\"\r\n (rowVisible)=\"rowVisible.next($event)\">\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [width]=\"300\" [order]=\"10\">\r\n <ng-template #template let-row = \"row\">\r\n <div class=\"transaction-grid-article-description\" [textContent]=\"row.goodDescription\"></div>\r\n <div class=\"transaction-grid-article-text\" [textContent]=\"row.articleBoundConcatenatedText\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [width]=\"150\" [order]=\"20\">\r\n <ng-template #template let-row = \"row\">\r\n <co-image-display class=\"transaction-grid-article-image\" [model]=\"row.articleImageData\"></co-image-display>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [field]=\"'articleNumber'\" [width]=\"70\" [order]=\"30\" [textAlign]=\"align.Center\">\r\n <ng-template #headerTemplate>\r\n <icon class=\"transaction-grid-header-icon\" [icon]=\"icon.BarcodeSolid\"></icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"''\" [width]=\"40\" [field]=\"'sideMenuButton'\" [order]=\"400\">\r\n <ng-template #template let-row = \"row\">\r\n <icon class=\"sidepanel-icon\" [icon]=\"icons.Menu\" (click)=\"openSidePanel(row)\"></icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionBaseGridComponent extends TransactionGridBaseComponent {\r\n public readonly align: typeof ColumnAlign = ColumnAlign;\r\n public readonly icon: typeof Icon = Icon;\r\n\r\n @HostBinding('class.co-transaction-base-grid')\r\n public showClass: boolean = true;\r\n}\r\n","export enum TransactionTypeCategory {\r\n PurchaseOrderOverview = \"purchaseOrderOverview\",\r\n PurchaseOrderOrderConfirmation = \"purchaseOrderOrderConfirmation\",\r\n PurchaseOrderTransport = \"purchaseOrderTransport\",\r\n PurchaseOrderReceivedGoods = \"purchaseOrderReceivedGoods\",\r\n PurchaseOrderInvoiceCheck = \"purchaseOrderInvoiceCheck\",\r\n PurchaseOrderMenu = \"purchaseOrderMenu\",\r\n SalesOrderOverview = \"salesOrderOverview\",\r\n SalesOrderPurchase = \"salesOrderPurchase\",\r\n SalesOrderLogistics = \"salesOrderLogistics\",\r\n SalesOrderPlanning = \"salesOrderPlanning\",\r\n SalesOrderDeliveryNote = \"salesOrderDeliveryNote\",\r\n SalesOrderInvoice = \"salesOrderInvoice\",\r\n}\r\n","import {Injectable} from \"@angular/core\";\nimport {Subject} from \"rxjs\";\nimport {BusinessObject} from \"@colijnit/transactionapi/build/model/business-object\";\nimport {PositionGridRow} from \"../enum/position-grid-row.enum\";\nimport {Scroll} from \"@angular/router\";\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\nimport {GoodsReceiptStatusWithHistory} from \"@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo\";\n\n@Injectable({providedIn: \"root\"})\nexport class TransactionEventService {\n public readonly addToCartBySku: Subject<{sku: string, amount: number, popCart: boolean}> = new Subject<{sku: string, amount: number, popCart: boolean}>();\n public readonly addToCartBySelectorResult: Subject<{selectorResult: {goodId: number, baseGoodId: number, selectorData: any, quantity: number}, popCart: boolean}> =\n new Subject<{selectorResult: {goodId: number, baseGoodId: number, selectorData: any, quantity: number}, popCart: boolean}>();\n public readonly openShoppingCartModule: Subject<void> = new Subject<void>();\n public readonly loggedIn: Subject<void> = new Subject<void>();\n public readonly addNewUserToShoppingCartModule: Subject<string> = new Subject<string>();\n public readonly addUserRelationShoppingCartModule: Subject<{user: string, pw: string}> = new Subject<{user: string, pw: string}>();\n public readonly addArticleLine: Subject<{lineNr: number, beforeOrAfter: PositionGridRow}> = new Subject<{lineNr: number, beforeOrAfter: PositionGridRow}>();\n public readonly addTextLine: Subject<{lineNr: number, beforeOrAfter: PositionGridRow}> = new Subject<{lineNr: number, beforeOrAfter: PositionGridRow}>();\n public readonly addArticleLineAt: Subject<{sku: string, amount: number, lineNr: number, beforeOrAfter: PositionGridRow}> = new Subject<{sku: string, amount: number, lineNr: number, beforeOrAfter: PositionGridRow}>();\n public readonly addTextLineAt: Subject<{text: string, lineNr: number, beforeOrAfter: PositionGridRow}> = new Subject<{text: string, lineNr: number, beforeOrAfter: PositionGridRow}>();\n public readonly changeLineSequence: Subject<({fromIndex: number, toIndex: number})> = new Subject<{fromIndex: number, toIndex: number}>();\n public readonly transactionLineClicked: Subject<BusinessObject> = new Subject<BusinessObject>();\n public readonly rightSidebarClose: Subject<void> = new Subject<void>();\n public readonly scrollContent: Subject<Scroll> = new Subject<Scroll>();\n public readonly receivedPurchaseOrderCommit: Subject<boolean> = new Subject<boolean>();\n public readonly commitReceivePurchaseOrders: Subject<{checkboxValue: boolean, date: Date, id: string}> = new Subject<{checkboxValue: boolean, date: Date, id: string}>();\n public readonly transactionLineChanged: Subject<{transactionLine: TransactionLineInfo, goodsReceiptStatus: GoodsReceiptStatusWithHistory}> = new Subject<{transactionLine: TransactionLineInfo, goodsReceiptStatus: GoodsReceiptStatusWithHistory}>();\n}\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionTypeCategory} from \"../../enum/transaction-type-category.enum\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionEventService} from \"../../service/transaction-event.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-side-panel\",\r\n template: `\r\n <div class=\"transaction-line-side-panel-header\">\r\n <div class=\"transaction-line-side-panel-header-item\">\r\n <span class=\"side-panel-header-label\" [textContent]=\"'ARTICLE_NR'| localize\"></span>\r\n <span class=\"side-panel-header-field\" [textContent]=\"transactionLine.articleNumber\"></span>\r\n </div>\r\n <div class=\"side-panel-header-divider\"></div>\r\n <div class=\"transaction-line-side-panel-header-item\">\r\n <span class=\"side-panel-header-label\" [textContent]=\"'DESCRIPTION'| localize\"></span>\r\n <span class=\"side-panel-header-field\" [textContent]=\"transactionLine.goodDescription\"></span>\r\n </div>\r\n <div class=\"side-panel-header-divider\"></div>\r\n <div class=\"transaction-line-side-panel-header-item\">\r\n <span class=\"side-panel-header-label\" [textContent]=\"'AMOUNT'| localize\"></span>\r\n <span class=\"side-panel-header-field\" [textContent]=\"transactionLine.amount\"></span>\r\n </div>\r\n <div class=\"side-panel-header-divider\"></div>\r\n <div class=\"transaction-line-side-panel-header-item\">\r\n <span class=\"side-panel-header-label\"\r\n [textContent]=\"activeCategory === categories.PurchaseOrderReceivedGoods ? ('TO_REPORT_IN' | localize) : ('PRICE' | localize)\"></span>\r\n <span class=\"side-panel-header-field\"\r\n [textContent]=\"activeCategory === categories.PurchaseOrderReceivedGoods ? quantityToReceive : (transactionLine.price | priceDisplay)\"></span>\r\n </div>\r\n <icon (click)=\"handleCancelClick($event)\" [icon]=\"icons.Cancel\" class=\"close-button\"></icon>\r\n </div>\r\n <div class=\"transaction-line-side-panel-nav-bar\">\r\n <co-transaction-button-bar\r\n [transactionType]=\"transactionType\"\r\n (buttonClicked)=\"activeCategory = $event.category\"\r\n ></co-transaction-button-bar>\r\n </div>\r\n <div class=\"transaction-line-side-panel-content\">\r\n <ng-container [ngSwitch]=\"transactionType\">\r\n <ng-container *ngSwitchCase=\"transactionTypes.PurchaseOrder\">\r\n <co-transaction-line-side-panel-purchase\r\n [transactionLine]=\"transactionLine\"\r\n [transactionId]=\"transactionId\"\r\n [category]=\"activeCategory\"\r\n (quantityToReceiveChange)=\"quantityToReceive = $event\"\r\n ></co-transaction-line-side-panel-purchase>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <co-transaction-line-side-panel-purchase\r\n [category]=\"activeCategory\"\r\n ></co-transaction-line-side-panel-purchase>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSidePanelComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly categories: typeof TransactionTypeCategory = TransactionTypeCategory;\r\n public readonly transactionTypes: typeof TransactionKind = TransactionKind;\r\n\r\n @Input()\r\n public transactionType: TransactionKind;\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo = new TransactionLineInfo();\r\n\r\n @Input()\r\n public transactionId: number;\r\n\r\n @Input()\r\n public activeCategory: TransactionTypeCategory;\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-transaction-line-side-panel\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public quantityToReceive: number;\r\n\r\n constructor(\r\n public iconService: IconCacheService,\r\n private _service: TransactionService,\r\n private _transactionEventService: TransactionEventService\r\n ) {\r\n }\r\n\r\n public handleCancelClick(event: MouseEvent): void {\r\n this.cancelClick.next(event);\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-side-panel-default\",\r\n template: `\r\n <co-collapsible\r\n [iconData]=\"iconService.getIcon(icons.TriangleUp)\"\r\n [headerTitle]=\"'PRICING' | localize\"\r\n [expandButtonLast]=\"true\"\r\n [expanded]=\"true\"\r\n >\r\n <div class=\"collapsible-content-wrapper\">\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'NET_LINE_TOTAL' | localize\" [model]=\"transactionLine.netLineTotal\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-quantity class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-quantity>\r\n <co-transaction-line-price class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-price>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-vat class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-vat>\r\n <co-transaction-line-price-list class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-price-list>\r\n </div>\r\n </div>\r\n </co-collapsible>\r\n <co-collapsible\r\n [iconData]=\"iconService.getIcon(icons.TriangleUp)\"\r\n [headerTitle]=\"'DISCOUNTS' | localize\"\r\n [expandButtonLast]=\"true\"\r\n [expanded]=\"true\"\r\n >\r\n <div class=\"collapsible-content-wrapper\">\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-line-discount class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-line-discount>\r\n <co-transaction-line-discount-amount class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-discount-amount>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-quantum-discount class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-quantum-discount>\r\n <co-transaction-line-special-discount class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-special-discount>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'SURCHARGE_AMOUNT' | localize\" [model]=\"transactionLine.surchargeAmount\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'BUSINESS_RULE_DISCOUNT' | localize\" [model]=\"'NIET_GEIMPLEMENTEERD'\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n </div>\r\n </co-collapsible>\r\n <co-collapsible\r\n [iconData]=\"iconService.getIcon(icons.TriangleUp)\"\r\n [headerTitle]=\"'LOGISTICS_AND_PLANNING' | localize\"\r\n [expandButtonLast]=\"true\"\r\n [expanded]=\"true\"\r\n >\r\n <div class=\"collapsible-content-wrapper\">\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-commission-code class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-commission-code>\r\n <co-transaction-line-warehouse class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-warehouse>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-delivery-method class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-delivery-method>\r\n <co-transaction-line-delivery-date class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-delivery-date>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'ASSEMBLY_TIME' | localize\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'ASSEMBLY_COSTS' | localize\" [type]=\"'number'\" [model]=\"transactionLine.assemblyCost\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'MODIFICATION_TIME' | localize\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-combo-box class=\"side-panel-input\" [collection]=\"data\" [placeholder]=\"'SUPPLIER' | localize\"></co-input-combo-box>\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'ARTICLE_NR_SUPPLIER' | localize\" [model]=\"transactionLine.articleNumber\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'IN_OUT_COLLECTION' | localize\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n </div>\r\n </co-collapsible>\r\n\r\n <co-collapsible\r\n [iconData]=\"iconService.getIcon(icons.TriangleUp)\"\r\n [headerTitle]=\"'OTHER' | localize\"\r\n [expandButtonLast]=\"true\"\r\n [expanded]=\"true\"\r\n >\r\n <div class=\"collapsible-content-wrapper\">\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-reference class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-reference>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'ORDER_RULESET' | localize\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'LAST_EDITED_DATE' | localize\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'LAST_EDITED_USER' | localize\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n <co-input-text [placeholder]=\"'FABRICATION_COST' | localize\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text [placeholder]=\"'TRANSPORT_COST' | localize\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text [placeholder]=\"'FABRICATION_COST_LINE_TOTAL' | localize\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text [placeholder]=\"'TRANSPORT_COST_LINE_TOTAL' | localize\" [readonly]=\"true\"></co-input-text>\r\n <co-input-text [placeholder]=\"'CUSTOMER' | localize\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n </co-collapsible>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSidePanelDefaultComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo;\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-transaction-line-side-panel-default\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public data = [];\r\n\r\n constructor(\r\n public iconService: IconCacheService,\r\n private _transactionService: TransactionService\r\n ) {\r\n }\r\n\r\n public handleCancelClick(event: MouseEvent): void {\r\n this.cancelClick.next(event);\r\n }\r\n}\r\n","import {Directive, Input} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\n@Directive()\r\nexport abstract class TransactionLineFieldsBaseComponent {\r\n\r\n @Input()\r\n public set transactionLine(value: TransactionLineInfo) {\r\n if (value) {\r\n this._transactionLine = value;\r\n }\r\n }\r\n\r\n public get transactionLine(): TransactionLineInfo {\r\n return this._transactionLine;\r\n }\r\n\r\n private _transactionLine: TransactionLineInfo = new TransactionLineInfo();\r\n\r\n}\r\n","import {Component, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-quantity\",\r\n template: `\r\n <co-input-number-picker [label]=\"'AMOUNT' | localize\" [(model)]=\"transactionLine.amount\"></co-input-number-picker>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineQuantityComponent extends TransactionLineFieldsBaseComponent {\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitQuantity(quantity: number): Promise<boolean> {\r\n if (this.transactionLine.amount !== quantity) {\r\n const oldAmount = this.transactionLine.amount;\r\n const success = await this._transactionService.updateQuantityTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, quantity);\r\n if (!success) {\r\n this.transactionLine.amount = oldAmount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineQuantityComponent} from \"./transaction-line-quantity.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {InputNumberPickerModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputNumberPickerModule\r\n ],\r\n declarations: [\r\n TransactionLineQuantityComponent\r\n ],\r\n exports: [\r\n TransactionLineQuantityComponent\r\n ]\r\n})\r\nexport class TransactionLineQuantityModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-line-discount\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'DISCOUNT_PERCENTAGE' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"true\"\r\n [model]=\"transactionLine.lineDiscount\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineLineDiscountComponent extends TransactionLineFieldsBaseComponent {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n this.input = content;\r\n this.input.commit = (discount) => this.commitDiscount(discount);\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitDiscount(discount: number): Promise<boolean> {\r\n if (this.transactionLine.lineDiscount !== discount) {\r\n const oldDiscount = this.transactionLine.lineDiscount;\r\n const success = await this._transactionService.updateDiscountTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, DiscountType.TransactionLineDiscountPercentage, discount);\r\n if (!success) {\r\n this.input.model = oldDiscount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineLineDiscountComponent} from \"./transaction-line-line-discount.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineLineDiscountComponent\r\n ],\r\n exports: [\r\n TransactionLineLineDiscountComponent\r\n ]\r\n})\r\nexport class TransactionLineLineDiscountModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-price\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'PRICE' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"true\"\r\n [model]=\"transactionLine.price\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLinePriceComponent extends TransactionLineFieldsBaseComponent {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n this.input = content;\r\n this.input.commit = (price) => this.commitPrice(price);\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitPrice(price: number): Promise<boolean> {\r\n if (this.transactionLine.price !== price) {\r\n const oldPrice = this.transactionLine.price;\r\n const success = await this._transactionService.updatePriceTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, price);\r\n if (!success) {\r\n this.input.model = oldPrice;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLinePriceComponent} from \"./transaction-line-price.component\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLinePriceComponent\r\n ],\r\n exports: [\r\n TransactionLinePriceComponent\r\n ]\r\n})\r\nexport class TransactionLinePriceModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {Vat} from \"@colijnit/transactionapi/build/model/vat\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-vat\",\r\n template: `\r\n <co-input-combo-box\r\n [collection]=\"data\"\r\n [placeholder]=\"'VAT' | localize\"\r\n [fields]=\"fields\"\r\n [model]=\"transactionLine.vatId\"\r\n (modelChange)=\"commitVat($event)\"\r\n ></co-input-combo-box>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineVatComponent extends TransactionLineFieldsBaseComponent implements OnInit {\r\n\r\n public data: Vat[] = [];\r\n public fields: Object = { text: \"description\", value: \"vatId\" };\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._transactionService.getVatLists().then((vatList: Vat[]) => {\r\n this.data = vatList.slice();\r\n })\r\n }\r\n\r\n public async commitVat(id: number): Promise<boolean> {\r\n if (this.transactionLine.vatId !== id) {\r\n const oldId = this.transactionLine.vatId;\r\n const success = await this._transactionService.updateVatTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, id);\r\n if (!success) {\r\n this.transactionLine.vatId = oldId;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineVatComponent} from \"./transaction-line-vat.component\";\r\nimport {InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputComboBoxModule\r\n ],\r\n declarations: [\r\n TransactionLineVatComponent\r\n ],\r\n exports: [\r\n TransactionLineVatComponent\r\n ]\r\n})\r\nexport class TransactionLineVatModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {PriceList} from \"@colijnit/transactionapi/build/model/price-list\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-price-list\",\r\n template: `\r\n <co-input-combo-box\r\n [collection]=\"data\"\r\n [placeholder]=\"'PRICE_LIST' | localize\"\r\n [fields]=\"fields\"\r\n [model]=\"transactionLine.priceListCode\"\r\n (modelChange)=\"commitPriceList($event)\"\r\n ></co-input-combo-box>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLinePriceListComponent extends TransactionLineFieldsBaseComponent implements OnInit {\r\n\r\n public data: PriceList[] = [];\r\n public fields: Object = { text: \"description\", value: \"code\" };\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._transactionService.getPriceLists().then((list: PriceList[]) => {\r\n this.data = list.slice();\r\n })\r\n }\r\n\r\n public async commitPriceList(priceList: string): Promise<boolean> {\r\n if (this.transactionLine.priceListCode !== priceList) {\r\n const oldPriceList = this.transactionLine.priceListCode;\r\n const success = await this._transactionService.updatePriceListTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, priceList);\r\n if (!success) {\r\n this.transactionLine.priceListCode = oldPriceList;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLinePriceListComponent} from \"./transaction-line-price-list.component\";\r\nimport {InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputComboBoxModule\r\n ],\r\n declarations: [\r\n TransactionLinePriceListComponent\r\n ],\r\n exports: [\r\n TransactionLinePriceListComponent\r\n ]\r\n})\r\nexport class TransactionLinePriceListModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-delivery-method\",\r\n template: `\r\n <co-input-combo-box\r\n [collection]=\"data\"\r\n [placeholder]=\"'DELIVERY_METHOD' | localize\"\r\n [fields]=\"fields\"\r\n (modelChange)=\"commitDeliveryMethod($event)\"\r\n ></co-input-combo-box>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineDeliveryMethodComponent extends TransactionLineFieldsBaseComponent implements OnInit {\r\n\r\n public data: DeliveryMethod[] = [];\r\n public fields: Object = { text: \"description\", value: \"code\" };\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._transactionService.getDeliveryMethods().then((methods: DeliveryMethod[]) => {\r\n this.data = methods.slice();\r\n })\r\n }\r\n\r\n public async commitDeliveryMethod(method: string): Promise<boolean> {\r\n if (this.transactionLine.deliveryMethodCode !== method) {\r\n const oldMethod = this.transactionLine.deliveryMethodCode;\r\n const success = await this._transactionService.updateDeliveryMethodTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, method);\r\n if (!success) {\r\n this.transactionLine.deliveryMethodCode = oldMethod;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineDeliveryMethodComponent} from \"./transaction-line-delivery-method.component\";\r\nimport {InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputComboBoxModule\r\n ],\r\n declarations: [\r\n TransactionLineDeliveryMethodComponent\r\n ],\r\n exports: [\r\n TransactionLineDeliveryMethodComponent\r\n ]\r\n})\r\nexport class TransactionLineDeliveryMethodModule {\r\n}\r\n","import {Component, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-delivery-date\",\r\n template: `\r\n <co-input-date\r\n [placeholder]=\"'DELIVERY_DATE' | localize\"\r\n [model]=\"transactionLine.deliveryDate\"\r\n (modelChange)=\"commitDeliveryDate($event)\"\r\n ></co-input-date>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineDeliveryDateComponent extends TransactionLineFieldsBaseComponent {\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitDeliveryDate(date: Date): Promise<boolean> {\r\n if (this.transactionLine.deliveryDate !== date) {\r\n const oldDate = this.transactionLine.deliveryDate;\r\n const success = await this._transactionService.updateDeliveryDateTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, date);\r\n if (!success) {\r\n this.transactionLine.deliveryDate = oldDate;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineDeliveryDateComponent} from \"./transaction-line-delivery-date.component\";\r\nimport {InputDatePickerModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputDatePickerModule\r\n ],\r\n declarations: [\r\n TransactionLineDeliveryDateComponent\r\n ],\r\n exports: [\r\n TransactionLineDeliveryDateComponent\r\n ]\r\n})\r\nexport class TransactionLineDeliveryDateModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-reference\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'REFERENCE' | localize\"\r\n [type]=\"'text'\"\r\n [showSaveCancel]=\"true\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineReferenceComponent extends TransactionLineFieldsBaseComponent {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n this.input = content;\r\n this.input.commit = (reference) => this.commitReference(reference);\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitReference(reference: string): Promise<boolean> {\r\n if (this.transactionLine.reference !== reference) {\r\n const oldRef = this.transactionLine.reference;\r\n const success = await this._transactionService.updateReferenceTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, reference);\r\n if (!success) {\r\n this.input.model = oldRef;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineReferenceComponent} from \"./transaction-line-reference.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineReferenceComponent\r\n ],\r\n exports: [\r\n TransactionLineReferenceComponent\r\n ]\r\n})\r\nexport class TransactionLineReferenceModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {CoDomainValue} from \"@colijnit/transactionapi/build/model/co-domain-value.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-commission-code\",\r\n template: `\r\n <co-input-combo-box\r\n [collection]=\"data\"\r\n [placeholder]=\"'COMMISSION_CODE' | localize\"\r\n [fields]=\"fields\"\r\n [model]=\"transactionLine.commissionCode\"\r\n (modelChange)=\"commitCommissionCode($event)\"\r\n ></co-input-combo-box>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineCommissionCodeComponent extends TransactionLineFieldsBaseComponent implements OnInit {\r\n\r\n public data: CoDomainValue[] = [];\r\n public fields: Object = { text: \"description\", value: \"code\" };\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._transactionService.getCommissionCodes(\"NL\").then((codes: CoDomainValue[]) => {\r\n this.data = codes.slice();\r\n })\r\n }\r\n\r\n public async commitCommissionCode(code: string): Promise<boolean> {\r\n if (this.transactionLine.commissionCode !== code) {\r\n const oldCode = this.transactionLine.commissionCode;\r\n const success = await this._transactionService.updateCommissionCodeTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, code);\r\n if (!success) {\r\n // this.transactionLine.commissionCode = code;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineCommissionCodeComponent} from \"./transaction-line-commission-code.component\";\r\nimport {InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputComboBoxModule\r\n ],\r\n declarations: [\r\n TransactionLineCommissionCodeComponent\r\n ],\r\n exports: [\r\n TransactionLineCommissionCodeComponent\r\n ]\r\n})\r\nexport class TransactionLineCommissionCodeModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {CoDomainValue} from \"@colijnit/transactionapi/build/model/co-domain-value.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-warehouse\",\r\n template: `\r\n <co-input-combo-box\r\n [collection]=\"data\"\r\n [placeholder]=\"'WAREHOUSE' | localize\"\r\n [fields]=\"fields\"\r\n [model]=\"transactionLine.warehouseNumber\"\r\n (modelChange)=\"commitWarehouse($event)\"\r\n ></co-input-combo-box>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineWarehouseComponent extends TransactionLineFieldsBaseComponent implements OnInit {\r\n\r\n public data: CoDomainValue[] = [];\r\n public fields: Object = { text: \"description\", value: \"code\" };\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n // this._transactionService.getWCommissionCodes(\"NL\").then((codes: CoDomainValue[]) => {\r\n // this.data = codes.slice();\r\n // })\r\n }\r\n\r\n public async commitWarehouse(warehouse: number): Promise<boolean> {\r\n if (this.transactionLine.warehouseNumber !== warehouse) {\r\n const oldWarehouse = this.transactionLine.warehouseNumber;\r\n const success = await this._transactionService.updateWarehouseTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, warehouse);\r\n if (!success) {\r\n this.transactionLine.warehouseNumber = warehouse;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputComboBoxModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineWarehouseComponent} from \"./transaction-line-warehouse.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule,\r\n InputComboBoxModule\r\n ],\r\n declarations: [\r\n TransactionLineWarehouseComponent\r\n ],\r\n exports: [\r\n TransactionLineWarehouseComponent\r\n ]\r\n})\r\nexport class TransactionLineWarehouseModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-discount-amount\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'DISCOUNT_AMOUNT' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"true\"\r\n [model]=\"transactionLine.discountAmount\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineDiscountAmountComponent extends TransactionLineFieldsBaseComponent {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n this.input = content;\r\n this.input.commit = (discount) => this.commitDiscount(discount);\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitDiscount(discount: number): Promise<boolean> {\r\n if (this.transactionLine.discountAmount !== discount) {\r\n const oldDiscount = this.transactionLine.discountAmount;\r\n const success = await this._transactionService.updateDiscountTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, DiscountType.TransactionLineDiscountAmount, discount);\r\n if (!success) {\r\n this.input.model = oldDiscount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineDiscountAmountComponent} from \"./transaction-line-discount-amount.component\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputTextModule\r\n ],\r\n declarations: [\r\n TransactionLineDiscountAmountComponent\r\n ],\r\n exports: [\r\n TransactionLineDiscountAmountComponent\r\n ]\r\n})\r\nexport class TransactionLineDiscountAmountModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-quantum-discount\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'QUANTUM_DISCOUNT' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"true\"\r\n [model]=\"transactionLine.quantumDiscount\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineQuantumDiscountComponent extends TransactionLineFieldsBaseComponent {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n this.input = content;\r\n this.input.commit = (discount) => this.commitDiscount(discount);\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitDiscount(discount: number): Promise<boolean> {\r\n if (this.transactionLine.quantumDiscount !== discount) {\r\n const oldDiscount = this.transactionLine.quantumDiscount;\r\n const success = await this._transactionService.updateDiscountTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, DiscountType.TransactionLineQuantumDiscountPercentage, discount);\r\n if (!success) {\r\n this.input.model = oldDiscount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineQuantumDiscountComponent} from \"./transaction-line-quantum-discount.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineQuantumDiscountComponent\r\n ],\r\n exports: [\r\n TransactionLineQuantumDiscountComponent\r\n ]\r\n})\r\nexport class TransactionLineQuantumDiscountModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineFieldsBaseComponent} from \"./transaction-line-fields-base.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-special-discount\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'SPECIAL_DISCOUNT' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"true\"\r\n [model]=\"transactionLine.specialDiscount\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSpecialDiscountComponent extends TransactionLineFieldsBaseComponent {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n this.input = content;\r\n this.input.commit = (discount) => this.commitDiscount(discount);\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitDiscount(discount: number): Promise<boolean> {\r\n if (this.transactionLine.specialDiscount !== discount) {\r\n const oldDiscount = this.transactionLine.specialDiscount;\r\n const success = await this._transactionService.updateDiscountTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, DiscountType.TransactionLineSpecialDiscountPercentage, discount);\r\n if (!success) {\r\n this.input.model = oldDiscount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineSpecialDiscountComponent} from \"./transaction-line-special-discount.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineSpecialDiscountComponent\r\n ],\r\n exports: [\r\n TransactionLineSpecialDiscountComponent\r\n ]\r\n})\r\nexport class TransactionLineSpecialDiscountModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineSidePanelDefaultComponent} from \"./transaction-line-side-panel-default.component\";\r\nimport {ButtonModule, CollapsibleModule, InputComboBoxModule, InputDatePickerModule, InputNumberPickerModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineQuantityModule} from \"../transaction-line-fields/transaction-line-quantity.module\";\r\nimport {TransactionLineLineDiscountModule} from \"../transaction-line-fields/transaction-line-line-discount.module\";\r\nimport {TransactionLinePriceModule} from \"../transaction-line-fields/transaction-line-price.module\";\r\nimport {TransactionLineVatModule} from \"../transaction-line-fields/transaction-line-vat.module\";\r\nimport {TransactionLinePriceListModule} from \"../transaction-line-fields/transaction-line-price-list.module\";\r\nimport {TransactionLineDeliveryMethodModule} from \"../transaction-line-fields/transaction-line-delivery-method.module\";\r\nimport {TransactionLineDeliveryDateModule} from \"../transaction-line-fields/transaction-line-delivery-date.module\";\r\nimport {TransactionLineReferenceModule} from \"../transaction-line-fields/transaction-line-reference.module\";\r\nimport {TransactionLineCommissionCodeModule} from \"../transaction-line-fields/transaction-line-commission-code.module\";\r\nimport {TransactionLineWarehouseModule} from \"../transaction-line-fields/transaction-line-warehouse.module\";\r\nimport {TransactionLineDiscountAmountModule} from \"../transaction-line-fields/transaction-line-discount-amount.module\";\r\nimport {TransactionLineQuantumDiscountModule} from \"../transaction-line-fields/transaction-line-quantum-discount.module\";\r\nimport {TransactionLineSpecialDiscountModule} from \"../transaction-line-fields/transaction-line-special-discount.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n ButtonModule,\r\n CollapsibleModule,\r\n InputTextModule,\r\n InputComboBoxModule,\r\n InputDatePickerModule,\r\n InputNumberPickerModule,\r\n TransactionLinePriceModule,\r\n TransactionLinePriceListModule,\r\n TransactionLineVatModule,\r\n TransactionLineQuantityModule,\r\n TransactionLineLineDiscountModule,\r\n TransactionLineDeliveryMethodModule,\r\n TransactionLineDeliveryDateModule,\r\n TransactionLineReferenceModule,\r\n TransactionLineCommissionCodeModule,\r\n TransactionLineWarehouseModule,\r\n TransactionLineDiscountAmountModule,\r\n TransactionLineQuantumDiscountModule,\r\n TransactionLineSpecialDiscountModule\r\n ],\r\n declarations: [\r\n TransactionLineSidePanelDefaultComponent\r\n ],\r\n exports: [\r\n TransactionLineSidePanelDefaultComponent\r\n ]\r\n})\r\nexport class TransactionLineSidePanelDefaultModule {\r\n}\r\n","export enum StatusType {\r\n Unknown = \"UNKNOWN\",\r\n BG = \"RECEIVED\",\r\n BT = \"ORDERED\",\r\n}\r\n","import {\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n Output,\r\n QueryList,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {SimpleGridColumnDirective} from \"@colijnit/corecomponents_v12\";\r\nimport {StatusType} from \"../../../enum/status-type.enum\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-history-grid\",\r\n template: `\r\n <div class=\"history-grid-wrapper\">\r\n <div class=\"delete-button-wrapper\">\r\n <co-grid-toolbar-button\r\n (buttonClick)=\"handleDeleteClick()\"\r\n [iconData]=\"iconsService.getIcon(icons.TrashBin)\"\r\n [disabled]=\"!selectedRow\"\r\n ></co-grid-toolbar-button>\r\n </div>\r\n <co-simple-grid [data]=\"collection\" [extraColumns]=\"extraColumns\" (selectRow)=\"handleSelectRow($event)\">\r\n <co-simple-grid-column [headerText]=\"'STATE' | localize\" [field]=\"'status'\" [order]=\"10\" [width]=\"150\">\r\n <ng-template #template let-row=\"row\">\r\n <co-transaction-history-grid-status [statusType]=\"row.status\" [subType]=\"row.type\"></co-transaction-history-grid-status>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\" [field]=\"'receiptDate'\" [order]=\"20\" [width]=\"100\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'quantity'\" [order]=\"30\" [width]=\"70\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'REFERENCE' | localize\" [field]=\"'reference'\" [order]=\"50\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'username'\" [order]=\"70\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHistoryGridComponent {\r\n public readonly statusType: typeof StatusType = StatusType;\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ContentChildren(SimpleGridColumnDirective) set content(columnComponents: QueryList<SimpleGridColumnDirective>) {\r\n this.extraColumns = columnComponents.toArray();\r\n }\r\n\r\n @Input()\r\n public collection: any;\r\n\r\n @Output()\r\n public deleteSelectedRow: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @HostBinding(\"class.co-transaction-history-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public extraColumns: SimpleGridColumnDirective[] = [];\r\n public selectedRow: any;\r\n\r\n constructor(\r\n public iconsService: IconCacheService\r\n ) {}\r\n\r\n public handleSelectRow(row: any): void {\r\n this.selectedRow = row;\r\n }\r\n\r\n public handleDeleteClick(): void {\r\n this.deleteSelectedRow.next(this.selectedRow);\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, ElementRef, HostBinding, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {StatusType} from \"../../enum/status-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-history-grid-status\",\r\n template: `\r\n <div class=\"transaction-status-indication\">\r\n <div #statusIndicator class=\"status-color-circle\"></div>\r\n <span class=\"status-text\" [textContent]=\"type[statusType] | localize\"></span>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHistoryGridStatusComponent implements AfterViewInit {\r\n public readonly type: typeof StatusType = StatusType;\r\n\r\n @Input()\r\n public statusType: StatusType;\r\n\r\n @Input()\r\n public subType: string;\r\n\r\n @ViewChild(\"statusIndicator\", {read: ElementRef})\r\n public statusIndicator: ElementRef;\r\n\r\n @HostBinding(\"class.co-transaction-history-grid-status\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n private _getStatusIndicatorColor(): string {\r\n switch (this.type[this.statusType]) {\r\n case StatusType.Unknown:\r\n return '#dce4ea';\r\n case StatusType.BG:\r\n if (this.subType && this.subType === 'correction') {\r\n return '#f19826';\r\n } else {\r\n return '#48d521';\r\n }\r\n case StatusType.BT:\r\n return '#f19826';\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.statusIndicator) {\r\n this.statusIndicator.nativeElement.style.background = this._getStatusIndicatorColor();\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionHistoryGridStatusComponent} from \"./transaction-history-grid-status.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionHistoryGridStatusComponent\r\n ],\r\n exports: [\r\n TransactionHistoryGridStatusComponent\r\n ]\r\n})\r\nexport class TransactionHistoryGridStatusModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionHistoryGridComponent} from \"./transaction-history-grid.component\";\r\nimport {GridToolbarButtonModule, SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TransactionHistoryGridStatusModule} from \"../../transaction-history-grid-status/transaction-history-grid-status.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n SimpleGridModule,\r\n PipeModule,\r\n TransactionHistoryGridStatusModule,\r\n GridToolbarButtonModule\r\n ],\r\n declarations: [\r\n TransactionHistoryGridComponent\r\n ],\r\n exports: [\r\n TransactionHistoryGridComponent\r\n ]\r\n})\r\nexport class TransactionHistoryGridModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {GoodsReceiptHistory} from \"@colijnit/transactionapi/build/model/goods-receipt-history.bo\";\r\nimport {\r\n ReceiveGoodsForPurchaseOrderCorrectionRequest\r\n} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-correction-request.bo\";\r\nimport {\r\n PurchaseOrderLineReceiptCorrectionDetails\r\n} from \"@colijnit/transactionapi/build/model/purchase-order-line-receipt-correction-details.bo\";\r\nimport {DatePipe} from \"@angular/common\";\r\n\r\n@Component({\r\n selector: \"co-transaction-receiving-goods-history\",\r\n template: `\r\n <co-transaction-history-grid\r\n [collection]=\"goodsReceiptHistory\"\r\n (deleteSelectedRow)=\"handleDeleteSelectedRow($event)\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNumber'\"\r\n [order]=\"40\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNumber'\"\r\n [order]=\"60\"></co-simple-grid-column>\r\n </co-transaction-history-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionReceivingGoodsHistoryComponent {\r\n\r\n @Input()\r\n set goodsReceiptHistory(value: GoodsReceiptHistory[]) {\r\n if (value) {\r\n this._goodsReceiptHistory = value.reverse();\r\n }\r\n }\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo;\r\n\r\n @Input()\r\n public transactionId: number;\r\n\r\n @Output()\r\n public reloadReceivingGoodsHistory: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n get goodsReceiptHistory(): GoodsReceiptHistory[] {\r\n return this._goodsReceiptHistory.map((receipt) => {\r\n receipt.receiptDate = <any>this._datePipe.transform(receipt.receiptDate);\r\n return receipt;\r\n })\r\n }\r\n\r\n private _goodsReceiptHistory: GoodsReceiptHistory[];\r\n\r\n constructor(\r\n private _service: TransactionService,\r\n private _datePipe: DatePipe\r\n ) {\r\n }\r\n\r\n @HostBinding(\"class.co-transaction-receiving-goods-history\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public async handleDeleteSelectedRow(row: GoodsReceiptHistory): Promise<void> {\r\n if (row && row.type !== 'correction') {\r\n const request: ReceiveGoodsForPurchaseOrderCorrectionRequest = new ReceiveGoodsForPurchaseOrderCorrectionRequest();\r\n const correctionDetails: PurchaseOrderLineReceiptCorrectionDetails = new PurchaseOrderLineReceiptCorrectionDetails();\r\n request.allowedToRemovePickedAllocations = false;\r\n request.transId = this.transactionId;\r\n request.purchaseOrderLineReceiptCorrectionDetailsDTOS = [correctionDetails];\r\n correctionDetails.lineNr = this.transactionLine.lineNr;\r\n correctionDetails.quantityToCorrect = row.quantity;\r\n correctionDetails.documentId = row.documentId;\r\n correctionDetails.documentLineNr = row.lineNumber;\r\n await this._service.receiveGoodsForPurchaseOrderCorrection(request).then(() => {\r\n this.reloadReceivingGoodsHistory.next();\r\n });\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule, DatePipe} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionHistoryGridModule} from \"../transaction-grid/transaction-history-grid/transaction-history-grid.module\";\r\nimport {TransactionReceivingGoodsHistoryComponent} from \"./transaction-receiving-goods-history.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n TransactionHistoryGridModule\r\n ],\r\n declarations: [\r\n TransactionReceivingGoodsHistoryComponent\r\n ],\r\n exports: [\r\n TransactionReceivingGoodsHistoryComponent\r\n ],\r\n providers: [\r\n DatePipe\r\n ]\r\n})\r\nexport class TransactionReceivingGoodsHistoryModule {\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {CollectionCacheService} from \"./collection-cache.service\";\r\nimport {Articles} from \"@colijnit/articleapi/build/articles\";\r\nimport {BusinessObjectFactory} from \"../factory/business-object-factory\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ArticleConnectorService {\r\n public connector: Articles;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n constructor(\r\n private _optionsService: OptionsService,\r\n private _collectionService: CollectionCacheService\r\n ) {\r\n this._optionsService.optionsInitialized.subscribe((initialized: boolean) => {\r\n if (initialized) {\r\n this.connect();\r\n }\r\n })\r\n }\r\n\r\n public async connect(): Promise<void> {\r\n this.connector = new Articles(this._optionsService.options);\r\n }\r\n\r\n public async getWarehouseLocations(warehouseNr: number): Promise<StockLocation[]> {\r\n return new Promise((resolve, reject) => {\r\n const collection = this._collectionService.getCollection(StockLocation.name, [warehouseNr]);\r\n if (collection) {\r\n resolve(collection);\r\n } else {\r\n return this.connector.getStockManagementLocations(warehouseNr).then((response) => {\r\n if (response && response.validationResult && response.validationResult.success) {\r\n const collection: StockLocation[] = this._boFactory.makeBOArrayFromRawBackendDataArray(StockLocation, response.resultObjects) as unknown as StockLocation[];\r\n this._collectionService.cacheCollection(StockLocation.name, collection, [warehouseNr]);\r\n resolve(collection);\r\n } else {\r\n reject(response.validationMessagesAsString);\r\n }\r\n });\r\n }\r\n })\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {ArticleConnectorService} from \"./article-connector.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ArticleService {\r\n\r\n constructor(\r\n private _articleConnectorService: ArticleConnectorService\r\n ) {}\r\n\r\n public async getWarehouseLocations(warehouseNr: number): Promise<any> {\r\n return await this._articleConnectorService.getWarehouseLocations(warehouseNr);\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from '@angular/core';\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\nimport {\n PurchaseOrderLineReceiptDetails\n} from \"@colijnit/transactionapi/build/model/purchase-order-line-receipt-details.bo\";\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\nimport {\n ReceiveGoodsForPurchaseOrderRequest\n} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-request.bo\";\nimport {TransactionService} from \"../../service/transaction.service\";\nimport {ArticleService} from \"../../service/article.service\";\n\n@Component({\n selector: 'co-transaction-receiving-goods-details',\n template: `\n <div class=\"receipt-details-wrapper\">\n <co-form>\n <div class=\"details-header\" [textContent]=\"'RECEIPT_DETAILS' | localize | uppercase\"></div>\n <div class=\"columns-wrapper\">\n <div class=\"details-column\">\n <co-input-text class=\"details-input\"\n [max]=\"amountLeftToReceive\"\n [(model)]=\"receiptDetails.serialNr ? 1 : receiptDetails.quantityToReceive\"\n [disabled]=\"!!receiptDetails.serialNr || receiptDetails.quantityToReceive === 0\"\n [readonly]=\"!!receiptDetails.serialNr || receiptDetails.quantityToReceive === 0\"\n [required]=\"true\"\n [type]=\"'number'\"\n [min]=\"1\"\n [placeholder]=\"'AMOUNT' | localize\"></co-input-text>\n <co-input-text class=\"details-input\" [(model)]=\"receiptDetails.warehouseNr\"\n [type]=\"'number'\"\n [hideArrowButtons]=\"true\"\n [readonly]=\"transactionLine.warehouseNumber !== undefined\"\n [disabled]=\"transactionLine.warehouseNumber !== undefined\"\n [required]=\"transactionLine.isWarehouseRequired\"\n [placeholder]=\"'WAREHOUSE' | localize\"></co-input-text>\n <co-drop-down-list class=\"details-input\"\n noTriangleGraphic\n (focus)=\"handleDropDownSelected(receiptDetails.warehouseNr)\"\n [collection]=\"locations\"\n [fields]=\"locationDropdownFields\"\n [(model)]=\"receiptDetails.locationNr\"\n [required]=\"locationRequired()\"\n [readonly]=\"receiptDetails.quantityToReceive === 0\"\n [disabled]=\"receiptDetails.quantityToReceive === 0\"\n [placeholder]=\"'LOCATION' | localize\"\n ></co-drop-down-list>\n <co-input-text class=\"details-input\" [(model)]=\"request.packingSlipNr\"\n [placeholder]=\"'PACKING_SLIP' | localize\"></co-input-text>\n </div>\n <div class=\"divider-wrapper\">\n <div class=\"divider\"></div>\n </div>\n <div class=\"details-column\">\n <co-input-date class=\"details-input\" [(model)]=\"request.receivedDate\"\n ></co-input-date>\n <co-input-text class=\"details-input\" [(model)]=\"receiptDetails.batchNr\"\n [type]=\"'number'\"\n [hideArrowButtons]=\"true\"\n [required]=\"transactionLine.isBatchNrRequired\"\n [placeholder]=\"'BATCH_NUMBER' | localize\"></co-input-text>\n <co-input-text class=\"details-input\" [(model)]=\"receiptDetails.serialNr\"\n [type]=\"'number'\"\n [hideArrowButtons]=\"true\"\n [required]=\"transactionLine.isSerialNrRequired\"\n [placeholder]=\"'SERIAL_NUMBER' | localize\"></co-input-text>\n <!-- <co-input-text class=\"details-input\" [(model)]=\"receiptDetails.refLineNr\"-->\n <!-- [placeholder]=\"'REFERENCE_ID' | localize\"></co-input-text>-->\n </div>\n </div>\n </co-form>\n\n <div class=\"save-cancel-wrapper\">\n <co-button class=\"button-wrapper\" [label]=\"'SAVE' | localize\" (click)=\"handleSaveDetailsEdit()\"></co-button>\n <co-button class=\"button-wrapper\" [label]=\"'CANCEL' | localize\" (click)=\"handleCancelDetailsEdit()\"></co-button>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class TransactionReceivingGoodsDetailsComponent {\n\n @Input()\n public set amountLeftToReceive(value: number) {\n this._amountLeftToReceive = value;\n this.receiptDetails.quantityToReceive = value;\n }\n\n @Input()\n public transactionId: number;\n\n @Input()\n public set transactionLine(value: TransactionLineInfo) {\n this._transactionLine = value;\n this.receiptDetails.warehouseNr = value.warehouseNumber;\n this.receiptDetails.lineNr = value.lineNr;\n }\n\n @Output()\n public reloadReceivingGoodsHistory: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding(\"class.co-transaction-receiving-goods-details\")\n public showClass(): boolean {\n return true;\n }\n\n public get amountLeftToReceive(): number {\n return this._amountLeftToReceive;\n }\n\n public get transactionLine(): TransactionLineInfo {\n return this._transactionLine;\n }\n\n public receiptDetails: PurchaseOrderLineReceiptDetails = new PurchaseOrderLineReceiptDetails();\n public request: ReceiveGoodsForPurchaseOrderRequest = new ReceiveGoodsForPurchaseOrderRequest();\n public saveButtonDisabled: boolean = false;\n public locations: string[];\n public locationDropdownFields: {} = {text: \"locationNo\", value: \"locationNo\"};\n\n private _transactionLine: TransactionLineInfo;\n private _amountLeftToReceive: number;\n\n constructor(\n private _formMaster: FormMasterService,\n private _service: TransactionService,\n private _articleService: ArticleService\n ) {\n this.request.purchaseOrderLineReceiptDetailsDTOS = [this.receiptDetails];\n const timeElapsed: number = Date.now();\n this.request.receivedDate = new Date(timeElapsed);\n }\n\n public submit(): boolean {\n return this._formMaster.submitSlaves();\n }\n\n public locationRequired(): boolean {\n return this._transactionLine.isLocationRequired ||\n this._transactionLine.isBatchNrRequired ||\n this._transactionLine.isSerialNrRequired;\n }\n\n public async handleSaveDetailsEdit(): Promise<void> {\n const valid = this.submit();\n if (valid) {\n this.saveButtonDisabled = true;\n const request: ReceiveGoodsForPurchaseOrderRequest = this.request;\n request.transId = this.transactionId;\n await this._service.receiveGoodsForPurchaseOrder(request).then(async (result) => {\n this.reloadReceivingGoodsHistory.next();\n }).catch((e) => {\n this.saveButtonDisabled = false;\n });\n this.saveButtonDisabled = false;\n }\n }\n\n public handleCancelDetailsEdit(): void {\n // Velden resetten\n }\n\n public async handleDropDownSelected(warehouseNr: number): Promise<void> {\n if (!this.locations) {\n await this._articleService.getWarehouseLocations(warehouseNr).then((result) => {\n this.locations = result;\n })\n }\n }\n}\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionReceivingGoodsDetailsComponent} from \"./transaction-receiving-goods-details.component\";\r\nimport {\r\n ButtonModule,\r\n DropDownModule,\r\n FormModule,\r\n InputDatePickerModule,\r\n InputTextModule\r\n} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n InputTextModule,\r\n FormModule,\r\n InputDatePickerModule,\r\n ButtonModule,\r\n DropDownModule,\r\n ],\r\n declarations: [\r\n TransactionReceivingGoodsDetailsComponent\r\n ],\r\n exports: [\r\n TransactionReceivingGoodsDetailsComponent\r\n ]\r\n})\r\nexport class TransactionReceivingGoodsDetailsModule {\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-quick-access-order-confirmation\",\r\n template: `\r\n <co-input-date\r\n [model]=\"\"\r\n [placeholder]=\"'CONFIRMED_DATE' | localize\"\r\n ></co-input-date>\r\n <co-input-text\r\n [placeholder]=\"'REFERENCE' | localize\"\r\n ></co-input-text>\r\n <co-input-checkbox\r\n ></co-input-checkbox>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionQuickAccessOrderConfirmationComponent extends TransactionBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-quick-access-order-confirmation\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {Component, HostBinding, Input, Output, ViewEncapsulation, EventEmitter, OnInit, OnDestroy} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-quick-access-received-goods\",\r\n template: `\r\n <co-input-date\r\n [placeholder]=\"'CONFIRMED_DATE' | localize\"\r\n [(model)]=\"this.commitDate\"\r\n ></co-input-date>\r\n <co-input-text\r\n [placeholder]=\"'PACKING_SLIP' | localize\"\r\n [(model)]=\"this.commitReferenceId\"\r\n ></co-input-text>\r\n <co-input-checkbox\r\n class=\"checkbox-wrapper\"\r\n [(model)]=\"commitCheckboxState\"\r\n [disabled]=\"commitCheckboxState\"\r\n (modelChange)=\"handleCommitEvent({checkboxValue: $event, date: this.commitDate, id: this.commitReferenceId})\"\r\n ></co-input-checkbox>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionQuickAccessReceivedGoodsComponent extends TransactionBaseComponent implements OnInit, OnDestroy {\r\n\r\n @Input()\r\n public commitDate: Date;\r\n\r\n @Input()\r\n public commitReferenceId: string;\r\n\r\n @Input()\r\n public packingSlipId: string;\r\n\r\n // Route through event service instead\r\n @Output()\r\n public checkboxValueChanged: EventEmitter<{checkboxValue: boolean, date: Date, id: string}> =\r\n new EventEmitter<{checkboxValue: boolean, date: Date, id: string}>();\r\n\r\n @HostBinding(\"class.co-transaction-quick-access-received-goods\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public commitCheckboxState: boolean = false;\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private _transactionService: TransactionService,\r\n private _transactionEventService: TransactionEventService\r\n ) {\r\n super(_transactionService);\r\n }\r\n\r\n public ngOnInit(): void {\r\n const timeElapsed: number = Date.now();\r\n this.commitDate = new Date(timeElapsed);\r\n\r\n this._subscriptions.push(\r\n this._transactionEventService.receivedPurchaseOrderCommit.subscribe((value: boolean) => {\r\n this.commitCheckboxState = value;\r\n })\r\n )\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._subscriptions.forEach((subscription: Subscription) => subscription.unsubscribe());\r\n }\r\n\r\n public handleCommitEvent(value: {checkboxValue: boolean, date: Date, id: string}): void {\r\n this._transactionEventService.commitReceivePurchaseOrders.next(value);\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-quick-access-overview\",\r\n template: `\r\n <co-input-search\r\n [placeholder]=\"'SEARCH_ADD_ARTICLE' | localize\"\r\n [noIcon]=\"true\"\r\n ></co-input-search>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionQuickAccessOverviewComponent extends TransactionBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-quick-access-overview\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionGridBaseComponent} from \"../../core/base/transaction-grid-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-order-confirmation-grid\",\r\n template: `\r\n <co-transaction-base-grid [transactionLines]=\"transactionLines\" (sidePanelClicked)=\"openSidePanel($event)\">\r\n <co-simple-grid-column [width]=\"100\" [field]=\"'location'\" [textAlign]=\"align.Center\" [order]=\"40\">\r\n <ng-template #template let-row = \"row\">\r\n <div class=\"co-transaction-grid-location-icon-wrapper\">\r\n <icon class=\"co-transaction-grid-menu-icon\" [icon]=\"icons.Warehouse\"></icon>\r\n <span [textContent]=\"'98'\"></span>\r\n </div>\r\n <div class=\"co-transaction-grid-location-icon-wrapper\">\r\n <icon class=\"co-transaction-grid-menu-icon\" [icon]=\"icons.MapMarker\"></icon>\r\n <span [textContent]=\"'A01'\"></span>\r\n </div>\r\n <div class=\"co-transaction-grid-location-icon-wrapper\">\r\n <icon class=\"co-transaction-grid-menu-icon\" [icon]=\"icons.Truck\"></icon>\r\n <span [textContent]=\"'Black'\"></span>\r\n </div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'IN_ORDER' | localize\" [field]=\"'inOrder'\" [order]=\"50\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'GROSS_PRICE' | localize\" [field]=\"'grossPrice'\" [order]=\"51\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DISCOUNT' | localize\" [field]=\"'discount'\" [order]=\"52\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'NETTO_PRICE' | localize\" [field]=\"'nettoPrice'\" [order]=\"53\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'CONFIRMED' | localize\" [field]=\"'confirmed'\" [order]=\"54\"></co-simple-grid-column>\r\n <co-simple-grid-column [field]=\"'commitButton'\" [order]=\"55\" [textAlign]=\"align.Center\">\r\n <ng-template #headerTemplate let-row = \"row\">\r\n <co-input-checkbox></co-input-checkbox>\r\n </ng-template>\r\n <ng-template #template let-row = \"row\">\r\n <co-input-checkbox></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\" [field]=\"'deliveryDate'\" [order]=\"56\"></co-simple-grid-column>\r\n </co-transaction-base-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionOrderConfirmationGridComponent extends TransactionGridBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-order-confirmation-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {GoodsReceiptStatus} from \"@colijnit/transactionapi/build/model/goods-receipt-status.bo\";\r\n\r\nexport class ReceiveGoodsViewModel {\r\n public transactionLine: TransactionLineInfo;\r\n public goodsReceiptStatus: GoodsReceiptStatus;\r\n public selected: boolean;\r\n public toReceive: number = 0;\r\n public location: string = '';\r\n\r\n constructor(transactionLine: TransactionLineInfo, goodsReceiptStatus: GoodsReceiptStatus, selected: boolean, toReceive?: number) {\r\n this.transactionLine = transactionLine;\r\n this.goodsReceiptStatus = goodsReceiptStatus;\r\n this.selected = selected;\r\n this.toReceive = toReceive;\r\n }\r\n}\r\n","import {Component, HostBinding, Input, OnDestroy, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionGridBaseComponent} from \"../../core/base/transaction-grid-base.component\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {ReceiveGoodsViewModel} from \"../../../model/received-goods-view-model\";\r\nimport {TransactionImageService} from \"../../../service/transaction-image.service\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {ArticleService} from \"../../../service/article.service\";\r\nimport {GoodsReceiptStatus} from \"@colijnit/transactionapi/build/model/goods-receipt-status.bo\";\r\nimport {\r\n ReceiveGoodsForPurchaseOrderRequest\r\n} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-request.bo\";\r\nimport {\r\n PurchaseOrderLineReceiptDetails\r\n} from \"@colijnit/transactionapi/build/model/purchase-order-line-receipt-details.bo\";\r\nimport {GoodsReceiptStatusWithHistory} from \"@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\nimport {Subscription} from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"co-transaction-received-goods-grid\",\r\n template: `\r\n <co-transaction-base-grid [transactionLines]=\"transactionLines\" (sidePanelClicked)=\"openSidePanel($event)\" (rowVisible)=\"handleRowVisible($event)\">\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNumber'\" [order]=\"40\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [order]=\"45\">\r\n <ng-template #template let-row = \"row\">\r\n <co-drop-down-list\r\n noTriangleGraphic\r\n (focus)=\"handleDropDownSelected(row.warehouseNumber)\"\r\n [required]=\"locationRequired(row) && getRowViewModel(row).goodsReceiptStatus.quantityToReceive > 0\"\r\n [collection]=\"locations\"\r\n [fields]=\"locationDropdownFields\"\r\n [(model)]=\"getRowViewModel(row).location\"\r\n [disabled]=\"getRowViewModel(row).goodsReceiptStatus.quantityToReceive === 0\"\r\n ></co-drop-down-list>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'IN_ORDER' | localize\" [field]=\"'amount'\" [order]=\"50\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RECEIVED' | localize\" [order]=\"51\">\r\n <ng-template #template let-row = \"row\">\r\n <co-input-number-picker\r\n [min]=\"getRowViewModel(row).goodsReceiptStatus.quantityToReceive > 0 ? 1 : 0\"\r\n [max]=\"getRowViewModel(row).goodsReceiptStatus.quantityToReceive\"\r\n [(model)]=\"getRowViewModel(row).toReceive\"\r\n [disabled]=\"getRowViewModel(row).goodsReceiptStatus.quantityToReceive === 0\"\r\n [readonly]=\"getRowViewModel(row).goodsReceiptStatus.quantityToReceive === 0\"\r\n ></co-input-number-picker>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'BATCH' | localize\" [field]=\"'inOrder'\" [order]=\"52\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'Commit button'\" [field]=\"'commitButton'\" [order]=\"55\">\r\n <ng-template #template let-row = \"row\">\r\n <co-input-checkbox\r\n [(model)]=\"getRowViewModel(row).selected\"\r\n [disabled]=\"getRowViewModel(row).goodsReceiptStatus.quantityToReceive === 0\"\r\n ></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-transaction-base-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionReceivedGoodsGridComponent extends TransactionGridBaseComponent implements OnInit, OnDestroy {\r\n\r\n @HostBinding(\"class.co-transaction-received-goods-grid\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public locations: string[];\r\n public locationDropdownFields: {} = {text: \"locationNo\", value: \"locationNo\"};\r\n public rowViewModels: Map<TransactionLineInfo, ReceiveGoodsViewModel> = new Map<TransactionLineInfo, ReceiveGoodsViewModel>();\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private _imageService: TransactionImageService,\r\n private _transactionService: TransactionService,\r\n private _transactionEventService: TransactionEventService,\r\n private _articleService: ArticleService\r\n ) {\r\n super(_imageService);\r\n\r\n this._subscriptions.push(\r\n this._transactionEventService.commitReceivePurchaseOrders.subscribe((value => {\r\n this.handleReceiveSelectedPurchaseOrders(value);\r\n })),\r\n this._transactionEventService.transactionLineChanged.subscribe((value) => {\r\n this.handleTransactionLineChanged(value);\r\n })\r\n )\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.transactionLines.forEach((line: TransactionLineInfo) => {\r\n this.rowViewModels.set(line, new ReceiveGoodsViewModel(line, new GoodsReceiptStatus(), false));\r\n });\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._subscriptions.forEach((subscription: Subscription) => subscription.unsubscribe());\r\n }\r\n\r\n public async handleRowVisible(row: any): Promise<void> {\r\n await this._transactionService.getGoodsReceiptStatus(this.transactionId, row.lineNr)\r\n .then((result: GoodsReceiptStatus) => {\r\n this.rowViewModels.set(row, new ReceiveGoodsViewModel(row, result, result.quantityToReceive === 0, result.quantityToReceive));\r\n });\r\n }\r\n\r\n public locationRequired(row: TransactionLineInfo): boolean {\r\n return row.isLocationRequired || row.isBatchNrRequired || row.isSerialNrRequired;\r\n }\r\n\r\n public async handleDropDownSelected(warehouseNr: number): Promise<void> {\r\n if (!this.locations) {\r\n await this._articleService.getWarehouseLocations(warehouseNr).then((result) => {\r\n this.locations = result;\r\n })\r\n }\r\n }\r\n\r\n public getRowViewModel(row: TransactionLineInfo): ReceiveGoodsViewModel {\r\n return this.rowViewModels.get(row);\r\n }\r\n\r\n public async handleReceiveSelectedPurchaseOrders(value: {checkboxValue: boolean, date: Date, id: string}): Promise<void> {\r\n const selectedRows: ReceiveGoodsViewModel[] = [...this.rowViewModels.values()]\r\n .filter((row) => row.selected && row.toReceive !== 0);\r\n if (value.checkboxValue && selectedRows.length > 0) {\r\n const receivedGoodsRequest: ReceiveGoodsForPurchaseOrderRequest = new ReceiveGoodsForPurchaseOrderRequest();\r\n receivedGoodsRequest.transId = this.transactionId;\r\n receivedGoodsRequest.receivedDate = value.date;\r\n receivedGoodsRequest.packingSlipNr = value.id;\r\n receivedGoodsRequest.purchaseOrderLineReceiptDetailsDTOS = [];\r\n\r\n selectedRows.forEach((row) => {\r\n const detail: PurchaseOrderLineReceiptDetails = new PurchaseOrderLineReceiptDetails();\r\n detail.lineNr = row.transactionLine.lineNr;\r\n detail.quantityToReceive = row.toReceive;\r\n detail.warehouseNr = row.transactionLine.warehouseNumber;\r\n detail.locationNr = row.location;\r\n receivedGoodsRequest.purchaseOrderLineReceiptDetailsDTOS.push(detail);\r\n });\r\n\r\n await this._transactionService.receiveGoodsForPurchaseOrder(receivedGoodsRequest).then(() => {\r\n this._handleAfterCommitReceivedOrders(selectedRows);\r\n });\r\n }\r\n }\r\n\r\n private _handleAfterCommitReceivedOrders(selectedRows: ReceiveGoodsViewModel[]): void {\r\n selectedRows.forEach((row) => {\r\n row.goodsReceiptStatus.quantityToReceive = row.goodsReceiptStatus.quantityToReceive -= row.toReceive;\r\n row.toReceive = row.goodsReceiptStatus.quantityToReceive;\r\n if (row.goodsReceiptStatus.quantityToReceive !== 0) {\r\n row.selected = false;\r\n }\r\n })\r\n this._transactionEventService.receivedPurchaseOrderCommit.next(false);\r\n }\r\n\r\n public handleTransactionLineChanged(change: { transactionLine: TransactionLineInfo; goodsReceiptStatus: GoodsReceiptStatusWithHistory }): void {\r\n const receiveGoodsViewModel: ReceiveGoodsViewModel = this.rowViewModels.get(change.transactionLine);\r\n receiveGoodsViewModel.goodsReceiptStatus.quantityToReceive = change.goodsReceiptStatus.quantityToReceive;\r\n receiveGoodsViewModel.toReceive = change.goodsReceiptStatus.quantityToReceive;\r\n }\r\n}\r\n","import {Injectable, Type} from \"@angular/core\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionBarButton} from \"../model/transaction-bar-button\";\r\nimport {Icon} from \"../enum/icon.enum\";\r\nimport {TransactionTypeCategory} from \"../enum/transaction-type-category.enum\";\r\nimport {\r\n TransactionQuickAccessOrderConfirmationComponent\r\n} from \"../component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component\";\r\nimport {TransactionBaseComponent} from \"../component/core/base/transaction-base.component\";\r\nimport {TransactionQuickAccessReceivedGoodsComponent} from \"../component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component\";\r\nimport {TransactionQuickAccessOverviewComponent} from \"../component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component\";\r\nimport {TransactionGridBaseComponent} from \"../component/core/base/transaction-grid-base.component\";\r\nimport {TransactionOrderConfirmationGridComponent} from \"../component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component\";\r\nimport {TransactionLinesGridComponent} from \"../component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component\";\r\nimport {TransactionReceivedGoodsGridComponent} from \"../component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class TransactionMappingService {\r\n\r\n private readonly _buttonBarTransaction: Map<TransactionKind, TransactionBarButton[]> = new Map<TransactionKind, TransactionBarButton[]>([\r\n [TransactionKind.PurchaseOrder, [\r\n {title: 'OVERVIEW', icon: Icon.CartShoppingSolid, category: TransactionTypeCategory.PurchaseOrderOverview},\r\n {title: 'CONFIRMATION', icon: Icon.MemoCircleCheckSolid, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation},\r\n {title: 'TRANSPORT', icon: Icon.TruckContainerSolid, category: TransactionTypeCategory.PurchaseOrderTransport},\r\n {title: 'RECEIVED', icon: Icon.CartFlatbedBoxesSolid, category: TransactionTypeCategory.PurchaseOrderReceivedGoods},\r\n {title: 'INVOICE_CHECK', icon: Icon.Tag, category: TransactionTypeCategory.PurchaseOrderInvoiceCheck},\r\n {title: 'MENU', icon: Icon.Tag, category: TransactionTypeCategory.PurchaseOrderMenu}\r\n ]],\r\n [TransactionKind.SalesOrder, [\r\n {title: 'OVERVIEW', icon: Icon.CartShoppingSolid, category: TransactionTypeCategory.SalesOrderOverview},\r\n {title: 'PURCHASE', icon: Icon.PalletBoxesSolid, category: TransactionTypeCategory.SalesOrderPurchase},\r\n {title: 'LOGISTICS', icon: Icon.ShelvesSolid, category: TransactionTypeCategory.SalesOrderLogistics},\r\n {title: 'PLANNING', icon: Icon.TruckArrowRightSolid, category: TransactionTypeCategory.SalesOrderPlanning},\r\n {title: 'DELIVERY_NOTE', icon: Icon.MemoCircleCheckSolid, category: TransactionTypeCategory.SalesOrderDeliveryNote},\r\n {title: 'INVOICE', icon: Icon.CartShoppingSolid, category: TransactionTypeCategory.SalesOrderInvoice}\r\n ]],\r\n ]);\r\n\r\n private readonly _quickAccessComponent: Map<{type: TransactionKind, category: TransactionTypeCategory}, Type<TransactionBaseComponent>> =\r\n new Map<{type: TransactionKind; category: TransactionTypeCategory}, Type<TransactionBaseComponent>>([\r\n [{type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation}, TransactionQuickAccessOrderConfirmationComponent],\r\n [{type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderReceivedGoods}, TransactionQuickAccessReceivedGoodsComponent],\r\n [{type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderOverview}, TransactionQuickAccessOverviewComponent]\r\n ]);\r\n\r\n private readonly _transactionGridComponent: Map<{type: TransactionKind, category: TransactionTypeCategory}, Type<TransactionGridBaseComponent>> =\r\n new Map<{type: TransactionKind; category: TransactionTypeCategory}, Type<TransactionGridBaseComponent>>([\r\n [{type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOverview}, TransactionLinesGridComponent],\r\n [{type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation}, TransactionOrderConfirmationGridComponent],\r\n [{type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderReceivedGoods}, TransactionReceivedGoodsGridComponent],\r\n [{type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderOverview}, TransactionLinesGridComponent]\r\n ]);\r\n\r\n public getButtonBar(type: TransactionKind): TransactionBarButton[] {\r\n if (this._buttonBarTransaction.has(type)) {\r\n return this._buttonBarTransaction.get(type);\r\n }\r\n return [];\r\n }\r\n\r\n public getQuickAccessComponent(type: TransactionKind, category: TransactionTypeCategory): Type<TransactionBaseComponent> {\r\n const key: {type: TransactionKind, category: TransactionTypeCategory} = {\r\n type: type,\r\n category: category\r\n }\r\n let entry: Type<TransactionBaseComponent>;\r\n this._quickAccessComponent.forEach((v, t, m) => {\r\n if (t.type === key.type && t.category === key.category) {\r\n entry = v;\r\n return;\r\n }\r\n })\r\n return entry;\r\n }\r\n\r\n public getTransactionGridComponent(type: TransactionKind, category: TransactionTypeCategory): Type<TransactionGridBaseComponent> {\r\n const key: {type: TransactionKind, category: TransactionTypeCategory} = {\r\n type: type,\r\n category: category\r\n }\r\n let entry: Type<TransactionGridBaseComponent>;\r\n this._transactionGridComponent.forEach((v, t, m) => {\r\n if (t.type === key.type && t.category === key.category) {\r\n entry = v;\r\n return;\r\n }\r\n })\r\n return entry;\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionBarButton} from \"../../model/transaction-bar-button\";\r\nimport {TransactionMappingService} from \"../../service/transaction-mapping.service\";\r\nimport {TransactionTypeCategory} from \"../../enum/transaction-type-category.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-button-bar\",\r\n template: `\r\n <div class=\"button-bar-wrapper\">\r\n <co-transaction-button-bar-button *ngFor=\"let button of buttons; let index = index\"\r\n [class.selected]=\"selectedCategory === button.category\"\r\n [title]=\"button.title\"\r\n [iconName]=\"button.icon\"\r\n (click)=\"selectCategory(index)\"\r\n ></co-transaction-button-bar-button>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionButtonBarComponent {\r\n @Input()\r\n public set transactionType(value: TransactionKind) {\r\n this._transactionType = value;\r\n this.buttons = this._mappingService.getButtonBar(this._transactionType);\r\n if (this.buttons && this.buttons.length > 0) {\r\n this.selectCategory(0);\r\n }\r\n }\r\n\r\n public get transactionType(): TransactionKind {\r\n return this._transactionType;\r\n }\r\n\r\n @Input()\r\n public selectedCategory: TransactionTypeCategory;\r\n\r\n @Output()\r\n public buttonClicked: EventEmitter<TransactionBarButton> = new EventEmitter<TransactionBarButton>();\r\n\r\n @HostBinding(\"class.co-transaction-button-bar\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public buttons: TransactionBarButton[] = [];\r\n\r\n private _transactionType: TransactionKind = TransactionKind.SalesOrder;\r\n\r\n constructor(private _mappingService: TransactionMappingService) {\r\n }\r\n\r\n public selectCategory(idx: number): void {\r\n this.selectedCategory = this.buttons[idx].category;\r\n this.buttonClicked.next(this.buttons[idx]);\r\n }\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-button-bar-button\",\r\n template: `\r\n <div class=\"button-wrapper\">\r\n <co-icon class=\"co-transaction-button-bar-icon\" [iconData]=\"iconCacheService.getIcon(iconName)\"></co-icon>\r\n <span class=\"button-title\" [textContent]=\"title | localize\"></span>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionButtonBarButtonComponent {\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public iconName: Icon;\r\n\r\n @HostBinding('class.co-transaction-button-bar-button')\r\n public showClass: boolean = true;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) { }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionButtonBarComponent} from \"./transaction-button-bar.component\";\r\nimport {TransactionButtonBarButtonComponent} from \"./transaction-button-bar-button/transaction-button-bar-button.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n IconModule,\r\n PipeModule,\r\n ],\r\n declarations: [\r\n TransactionButtonBarComponent,\r\n TransactionButtonBarButtonComponent\r\n ],\r\n exports: [\r\n TransactionButtonBarComponent,\r\n TransactionButtonBarButtonComponent\r\n ]\r\n})\r\nexport class TransactionButtonBarModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-confirmation-history\",\r\n template: `\r\n <div class=\"history-grid-wrapper\">\r\n <co-transaction-history-grid [collection]=\"transactionLines\">\r\n <co-simple-grid-column [headerText]=\"'PRICE' | localize\" [field]=\"'price'\" [order]=\"40\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE' | localize\" [field]=\"'date'\" [order]=\"60\"></co-simple-grid-column>\r\n </co-transaction-history-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionConfirmationHistoryComponent {\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo[] = [];\r\n\r\n @HostBinding(\"class.co-transaction-confirmation-history\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionConfirmationHistoryComponent} from \"./transaction-confirmation-history.component\";\r\nimport {SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionHistoryGridModule} from \"../transaction-grid/transaction-history-grid/transaction-history-grid.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n TransactionHistoryGridModule\r\n ],\r\n declarations: [\r\n TransactionConfirmationHistoryComponent\r\n ],\r\n exports: [\r\n TransactionConfirmationHistoryComponent\r\n ]\r\n})\r\nexport class TransactionConfirmationHistoryModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport { GoodsReceiptStatusWithHistory } from \"@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionTypeCategory} from \"../../enum/transaction-type-category.enum\";\r\nimport {\r\n TransactionReceivingGoodsDetailsComponent\r\n} from \"../transaction-receiving-goods-details/transaction-receiving-goods-details.component\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionEventService} from \"../../service/transaction-event.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-side-panel-purchase\",\r\n template: `\r\n <ng-container [ngSwitch]=\"category\">\r\n <ng-container *ngSwitchCase=\"categories.PurchaseOrderOrderConfirmation\">\r\n <co-transaction-confirmation-history\r\n\r\n ></co-transaction-confirmation-history>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"categories.PurchaseOrderReceivedGoods\">\r\n <co-transaction-receiving-goods-details\r\n [transactionId]=\"transactionId\"\r\n [transactionLine]=\"transactionLine\"\r\n [amountLeftToReceive]=\"goodsReceiptStatus.quantityToReceive\"\r\n (reloadReceivingGoodsHistory)=\"getGoodsReceiptStatusWithHistory()\"\r\n ></co-transaction-receiving-goods-details>\r\n <co-transaction-receiving-goods-history\r\n [transactionId]=\"transactionId\"\r\n [transactionLine]=\"transactionLine\"\r\n [goodsReceiptHistory]=\"goodsReceiptStatus.goodsReceiptHistory\"\r\n (reloadReceivingGoodsHistory)=\"getGoodsReceiptStatusWithHistory()\"\r\n ></co-transaction-receiving-goods-history>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <co-transaction-line-side-panel-default\r\n [transactionLine]=\"transactionLine\"\r\n ></co-transaction-line-side-panel-default>\r\n </ng-container>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSidePanelPurchaseComponent {\r\n public readonly categories: typeof TransactionTypeCategory = TransactionTypeCategory;\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo = new TransactionLineInfo();\r\n\r\n @Input()\r\n public set transactionId(value: number) {\r\n if (value) {\r\n this._transactionId = value;\r\n this.getGoodsReceiptStatusWithHistory();\r\n }\r\n }\r\n\r\n public get transactionId(): number {\r\n return this._transactionId;\r\n }\r\n\r\n @Input()\r\n public category: TransactionTypeCategory;\r\n\r\n @Output()\r\n public quantityToReceiveChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @HostBinding(\"class.co-transaction-line-side-panel-purchase\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public goodsReceiptStatus: GoodsReceiptStatusWithHistory = new GoodsReceiptStatusWithHistory();\r\n\r\n private _transactionId: number;\r\n\r\n constructor(\r\n private _service: TransactionService,\r\n private _transactionEventService: TransactionEventService\r\n ) {}\r\n\r\n public async getGoodsReceiptStatusWithHistory(): Promise<void> {\r\n await this._service.getGoodsReceiptStatusWithHistory(this._transactionId, this.transactionLine.lineNr)\r\n .then((result: GoodsReceiptStatusWithHistory) => {\r\n this.goodsReceiptStatus = result;\r\n this._transactionEventService.transactionLineChanged.next({transactionLine: this.transactionLine, goodsReceiptStatus: result});\r\n this.quantityToReceiveChange.next(result.quantityToReceive);\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineSidePanelPurchaseComponent} from \"./transaction-line-side-panel-purchase.component\";\r\nimport {TransactionConfirmationHistoryModule} from \"../transaction-confirmation-history/transaction-confirmation-history.module\";\r\nimport {TransactionReceivingGoodsDetailsModule} from \"../transaction-receiving-goods-details/transaction-receiving-goods-details.module\";\r\nimport {TransactionReceivingGoodsHistoryModule} from \"../transaction-receiving-goods-history/transaction-receiving-goods-history.module\";\r\nimport {ButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineSidePanelDefaultModule} from \"../transaction-line-side-panel-default/transaction-line-side-panel-default.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionConfirmationHistoryModule,\r\n TransactionReceivingGoodsDetailsModule,\r\n TransactionReceivingGoodsHistoryModule,\r\n ButtonModule,\r\n PipeModule,\r\n TransactionLineSidePanelDefaultModule\r\n ],\r\n declarations: [\r\n TransactionLineSidePanelPurchaseComponent\r\n ],\r\n exports: [\r\n TransactionLineSidePanelPurchaseComponent\r\n ]\r\n})\r\nexport class TransactionLineSidePanelPurchaseModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionLineSidePanelComponent} from \"./transaction-line-side-panel.component\";\r\nimport {TransactionLineSidePanelDefaultModule} from \"../transaction-line-side-panel-default/transaction-line-side-panel-default.module\";\r\nimport {TransactionReceivingGoodsHistoryModule} from \"../transaction-receiving-goods-history/transaction-receiving-goods-history.module\";\r\nimport {TransactionReceivingGoodsDetailsModule} from \"../transaction-receiving-goods-details/transaction-receiving-goods-details.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {ButtonModule, PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionButtonBarModule} from \"../transaction-button-bar/transaction-button-bar.module\";\r\nimport {TransactionConfirmationHistoryModule} from \"../transaction-confirmation-history/transaction-confirmation-history.module\";\r\nimport {TransactionLineSidePanelPurchaseModule} from \"../transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionLineSidePanelDefaultModule,\r\n TransactionReceivingGoodsHistoryModule,\r\n TransactionReceivingGoodsDetailsModule,\r\n PipeModule,\r\n ButtonModule,\r\n TransactionButtonBarModule,\r\n PriceDisplayPipeModule,\r\n TransactionConfirmationHistoryModule,\r\n TransactionLineSidePanelPurchaseModule\r\n ],\r\n declarations: [\r\n TransactionLineSidePanelComponent\r\n ],\r\n exports: [\r\n TransactionLineSidePanelComponent\r\n ]\r\n})\r\nexport class TransactionLineSidePanelModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TransactionBaseGridComponent} from \"./transaction-base-grid.component\";\r\nimport {ButtonModule, SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineSidePanelModule} from \"../../transaction-line-side-panel/transaction-line-side-panel.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n ButtonModule,\r\n TransactionLineSidePanelModule,\r\n ],\r\n declarations: [\r\n TransactionBaseGridComponent\r\n ],\r\n exports: [\r\n TransactionBaseGridComponent\r\n ]\r\n})\r\nexport class TransactionBaseGridModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionLinesGridComponent} from \"./transaction-lines-grid.component\";\r\nimport {ButtonModule, InputNumberPickerModule, PriceDisplayPipeModule, SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TransactionBaseGridModule} from \"../transaction-base-grid/transaction-base-grid.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n SimpleGridModule,\r\n InputNumberPickerModule,\r\n PipeModule,\r\n ButtonModule,\r\n PriceDisplayPipeModule,\r\n TransactionBaseGridModule\r\n ],\r\n declarations: [\r\n TransactionLinesGridComponent\r\n ],\r\n exports: [\r\n TransactionLinesGridComponent\r\n ]\r\n})\r\nexport class TransactionLinesGridModule {\r\n}\r\n","export enum OrderDiscountType {\r\n DiscountAmount = \"DISCOUNT_AMOUNT\",\r\n DiscountPercentage = \"DISCOUNT_PERCENTAGE\",\r\n OrderTotal = \"ORDER_TOTAL\"\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {OrderDiscountType} from \"../../enum/order-discount-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-discount\",\r\n template: `\r\n <co-sidebar #discountsSidebar isOpen=\"false\">\r\n <div fxLayout=\"column\" fxLayoutGap=\"10px\">\r\n <co-button class=\"rectangular\" [label]=\"'TRANSACTION_DISCOUNT_PERC' | localize\"\r\n (click)=\"onStartDiscountInput(orderDiscountType.DiscountPercentage, 'TRANSACTION_DISCOUNT_PERC')\"></co-button>\r\n <co-button class=\"rectangular\" [label]=\"'TRANSACTION_DISCOUNT'| localize\"\r\n (click)=\"onStartDiscountInput(orderDiscountType.DiscountAmount, 'TRANSACTION_DISCOUNT')\"></co-button>\r\n <co-button class=\"rectangular\" [label]=\"'TRANSACTION_TOTAL'| localize\"\r\n (click)=\"onStartDiscountInput(orderDiscountType.OrderTotal, 'TRANSACTION_TOTAL')\"></co-button>\r\n\r\n </div>\r\n </co-sidebar>\r\n <co-dialog *ngIf=\"inputDiscounts\">\r\n <ng-container header>{{ discountHeader | localize }}</ng-container>\r\n <co-form>\r\n <co-input-text\r\n *ngIf=\"discountType === orderDiscountType.DiscountPercentage\"\r\n [type]=\"'number'\"\r\n [(model)]=\"transactionDiscountPercentage\"\r\n [placeholder]=\"'TRANSACTION_DISCOUNT_PERC' | localize\"\r\n ></co-input-text>\r\n <co-input-text\r\n *ngIf=\"discountType === orderDiscountType.DiscountAmount\"\r\n [type]=\"'number'\"\r\n [(model)]=\"transactionDiscountAmount\"\r\n [placeholder]=\"'TRANSACTION_DISCOUNT' | localize\"\r\n ></co-input-text>\r\n <co-input-text\r\n *ngIf=\"discountType === orderDiscountType.OrderTotal\"\r\n [type]=\"'number'\"\r\n [(model)]=\"transactionTotal\"\r\n [placeholder]=\"'TRANSACTION_TOTAL' | localize\"\r\n ></co-input-text>\r\n\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"end\">\r\n <co-button [label]=\"'CANCEL' | localize\" (click)=\"inputDiscounts = false\"></co-button>\r\n <co-button [label]=\"'OK' | localize\" (click)=\"onInputDiscountsOkClick()\"></co-button>\r\n </div>\r\n </co-form>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DiscountComponent {\r\n public readonly orderDiscountType: typeof OrderDiscountType = OrderDiscountType;\r\n\r\n @HostBinding(\"class.co-discount\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public discountHeader: string;\r\n public inputDiscounts: boolean;\r\n public transactionDiscountAmount: number;\r\n public transactionDiscountPercentage: number;\r\n public transactionTotal: number;\r\n public discountType: OrderDiscountType;\r\n\r\n public showDiscountsSidebar: boolean = false;\r\n\r\n constructor(\r\n private _dictionary: DictionaryService\r\n ) {\r\n }\r\n\r\n public addDiscount(): void {\r\n\r\n // TODO\r\n // this.transactionDiscountPercentage = this.service.currentTransaction.transactionDiscountPercentage;\r\n // this.transactionDiscountAmount = this.service.currentTransaction.transactionDiscountAmount;\r\n // this.transactionTotal = undefined;\r\n }\r\n\r\n public onStartDiscountInput(discountType: OrderDiscountType, header: string): void {\r\n this.discountType = discountType;\r\n this.discountHeader = header;\r\n this.inputDiscounts = true;\r\n }\r\n\r\n public setDiscountHeader(discountType: OrderDiscountType): void {\r\n switch (this.discountType) {\r\n case OrderDiscountType.DiscountPercentage:\r\n this.discountHeader = this._dictionary.get(\"DISCOUNT_PERCENTAGE\", true);\r\n break;\r\n case OrderDiscountType.DiscountAmount:\r\n this.discountHeader = this._dictionary.get(\"DISCOUNT_AMOUNT\", true);\r\n break;\r\n case OrderDiscountType.OrderTotal:\r\n this.discountHeader = this._dictionary.get(\"ORDER_TOTAL\", true);\r\n break;\r\n }\r\n }\r\n\r\n public onInputDiscountsOkClick(): void {\r\n let valueToUse: number;\r\n switch (this.discountType) {\r\n case OrderDiscountType.DiscountPercentage:\r\n valueToUse = this.transactionDiscountPercentage;\r\n break;\r\n case OrderDiscountType.DiscountAmount:\r\n valueToUse = this.transactionDiscountAmount;\r\n break;\r\n case OrderDiscountType.OrderTotal:\r\n valueToUse = this.transactionTotal;\r\n break;\r\n }\r\n //TODO this.service.setTransactionDiscounts(this.service.currentTransaction.uuid, this.discountType, valueToUse);\r\n this.inputDiscounts = false;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {DiscountComponent} from \"./discount.component\";\r\nimport {ButtonModule, CoDialogModule, CoSidebarModule, FormModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n CoDialogModule,\r\n FormModule,\r\n InputTextModule,\r\n ButtonModule,\r\n CoSidebarModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n DiscountComponent\r\n ],\r\n exports: [\r\n DiscountComponent\r\n ]\r\n})\r\nexport class DiscountModule {}\r\n","import {\r\n ApplicationRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef,\r\n EmbeddedViewRef, EventEmitter,\r\n HostBinding,\r\n Injector,\r\n Input,\r\n Output,\r\n Type,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {TransactionTypeCategory} from \"../../../enum/transaction-type-category.enum\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionMappingService} from \"../../../service/transaction-mapping.service\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-quick-access\",\r\n template: `\r\n <div #quickAccessContent class=\"quick-access-wrapper\">\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionQuickAccessComponent {\r\n @ViewChild('quickAccessContent', { read: ElementRef })\r\n public quickAccessContainer: ElementRef;\r\n\r\n @Input()\r\n public set transactionType(value: TransactionKind) {\r\n this._transactionType = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get transactionType(): TransactionKind {\r\n return this._transactionType;\r\n }\r\n\r\n @Input()\r\n public set activeCategory(value: TransactionTypeCategory) {\r\n this._activeCategory = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get activeCategory(): TransactionTypeCategory {\r\n return this._activeCategory;\r\n }\r\n\r\n @HostBinding(\"class.co-transaction-quick-access\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n private _transactionType: TransactionKind;\r\n private _activeCategory: TransactionTypeCategory;\r\n private _componentRef: any;\r\n\r\n constructor(\r\n private _mappingService: TransactionMappingService,\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector\r\n ) {\r\n }\r\n\r\n private _prepareContent(): void {\r\n if (!this._transactionType || !this._activeCategory || !this.quickAccessContainer) {\r\n return;\r\n }\r\n const componentClass: Type<TransactionBaseComponent> = this._mappingService.getQuickAccessComponent(this.transactionType, this.activeCategory);\r\n\r\n if (this._componentRef) {\r\n this._componentRef.destroy();\r\n }\r\n if (!componentClass) {\r\n return;\r\n }\r\n\r\n this._componentRef = this._compFactoryResolver\r\n .resolveComponentFactory(componentClass)\r\n .create(this.injector);\r\n\r\n this.appRef.attachView(this._componentRef.hostView);\r\n\r\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n this.quickAccessContainer.nativeElement.appendChild(domElem);\r\n this._componentRef.onDestroy(() => {\r\n this.appRef.detachView(this._componentRef.hostView);\r\n });\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputCheckboxModule, InputDatePickerModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TransactionQuickAccessOrderConfirmationComponent} from \"./transaction-quick-access-order-confirmation.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputDatePickerModule,\r\n InputTextModule,\r\n InputCheckboxModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionQuickAccessOrderConfirmationComponent\r\n ],\r\n exports: [\r\n TransactionQuickAccessOrderConfirmationComponent\r\n ]\r\n})\r\nexport class TransactionQuickAccessOrderConfirmationModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionQuickAccessReceivedGoodsComponent} from \"./transaction-quick-access-received-goods.component\";\r\nimport {InputCheckboxModule, InputDatePickerModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule,\r\n InputCheckboxModule,\r\n InputDatePickerModule\r\n ],\r\n declarations: [\r\n TransactionQuickAccessReceivedGoodsComponent\r\n ],\r\n exports: [\r\n TransactionQuickAccessReceivedGoodsComponent\r\n ]\r\n})\r\nexport class TransactionQuickAccessReceivedGoodsModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionQuickAccessOverviewComponent} from \"./transaction-quick-access-overview.component\";\r\nimport {InputSearchModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputSearchModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionQuickAccessOverviewComponent\r\n ],\r\n exports: [\r\n TransactionQuickAccessOverviewComponent\r\n ]\r\n})\r\nexport class TransactionQuickAccessOverviewModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionQuickAccessComponent} from \"./transaction-quick-access.component\";\r\nimport {InputCheckboxModule, InputDatePickerModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TransactionQuickAccessOrderConfirmationModule} from \"../transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module\";\r\nimport {TransactionQuickAccessReceivedGoodsModule} from \"../transaction-quick-access-received-goods/transaction-quick-access-received-goods.module\";\r\nimport {TransactionQuickAccessOverviewModule} from \"../transaction-quick-access-overview/transaction-quick-access-overview.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n InputTextModule,\r\n InputDatePickerModule,\r\n PipeModule,\r\n InputCheckboxModule,\r\n TransactionQuickAccessOrderConfirmationModule,\r\n TransactionQuickAccessReceivedGoodsModule,\r\n TransactionQuickAccessOverviewModule\r\n ],\r\n declarations: [\r\n TransactionQuickAccessComponent\r\n ],\r\n exports: [\r\n TransactionQuickAccessComponent\r\n ]\r\n})\r\nexport class TransactionQuickAccessModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {ButtonModule, InputCheckboxModule, SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionOrderConfirmationGridComponent} from \"./transaction-order-confirmation-grid.component\";\r\nimport {TransactionBaseGridModule} from \"../transaction-base-grid/transaction-base-grid.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n ButtonModule,\r\n InputCheckboxModule,\r\n TransactionBaseGridModule\r\n ],\r\n declarations: [\r\n TransactionOrderConfirmationGridComponent\r\n ],\r\n exports: [\r\n TransactionOrderConfirmationGridComponent\r\n ]\r\n})\r\nexport class TransactionOrderConfirmationGridModule {\r\n\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { ContentViewMode } from \"../../enum/content-view-mode.enum\";\r\nimport { Icon } from \"../../enum/icon.enum\";\r\nimport { IconCacheService } from \"../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: 'co-view-mode-buttons',\r\n template: `\r\n <co-button class=\"view-button white\"\r\n *ngIf=\"showViewModes.includes(viewModes.Tiles)\"\r\n [class.selected]=\"this.activeViewMode === viewModes.Tiles\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ListView)\"\r\n [title]=\"'TILE_VIEW' | localize\"\r\n (click)=\"this.activeViewMode = viewModes.Tiles\"></co-button>\r\n <co-button class=\"view-button white\"\r\n *ngIf=\"showViewModes.includes(viewModes.List)\"\r\n [class.selected]=\"this.activeViewMode === viewModes.List\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ThickLines)\"\r\n [title]=\"'LIST_VIEW' | localize\"\r\n (click)=\"this.activeViewMode = viewModes.List\"></co-button>\r\n <co-button class=\"view-button white\"\r\n *ngIf=\"showViewModes.includes(viewModes.Grid)\"\r\n [class.selected]=\"this.activeViewMode === viewModes.Grid\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ThinLines)\"\r\n [title]=\"'GRID_VIEW' | localize\"\r\n (click)=\"this.activeViewMode = viewModes.Grid\"></co-button>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ViewModeButtonsComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly viewModes: typeof ContentViewMode = ContentViewMode;\r\n\r\n @Input()\r\n public showViewModes: ContentViewMode[] = [this.viewModes.List, this.viewModes.Grid, this.viewModes.Tiles];\r\n\r\n @Output()\r\n public viewModeChange: EventEmitter<ContentViewMode> = new EventEmitter<ContentViewMode>();\r\n\r\n @HostBinding(\"class.co-view-mode-buttons\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public set activeViewMode(value: ContentViewMode) {\r\n this._activeViewMode = value;\r\n this.viewModeChange.emit(this._activeViewMode);\r\n }\r\n\r\n public get activeViewMode(): ContentViewMode {\r\n return this._activeViewMode;\r\n }\r\n\r\n private _activeViewMode: ContentViewMode;\r\n\r\n public ngOnInit(): void {\r\n this.activeViewMode = this.showViewModes.includes(ContentViewMode.List) ? ContentViewMode.List : this.showViewModes[0];\r\n }\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ViewModeButtonsComponent} from \"./view-mode-buttons.component\";\r\nimport {ButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ViewModeButtonsComponent\r\n ],\r\n exports: [\r\n ViewModeButtonsComponent\r\n ]\r\n})\r\nexport class ViewModeButtonsModule {\r\n}\r\n","import {ApplicationRef, Component, ComponentFactoryResolver, ElementRef, EmbeddedViewRef, EventEmitter, HostBinding, Injector, Input, Output, Type, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionTypeCategory} from \"../../../enum/transaction-type-category.enum\";\r\nimport {TransactionMappingService} from \"../../../service/transaction-mapping.service\";\r\nimport {TransactionGridBaseComponent} from \"../../core/base/transaction-grid-base.component\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-grid\",\r\n template: `\r\n <div #transactionGrid class=\"transaction-grid-wrapper\">\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionGridComponent {\r\n @ViewChild('transactionGrid', { read: ElementRef }) set container(content) {\r\n if (content) {\r\n this._transactionGridContainer = content;\r\n this._prepareContent();\r\n }\r\n }\r\n\r\n @Input()\r\n public set transactionType(value: TransactionKind) {\r\n this._transactionType = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get transactionType(): TransactionKind {\r\n return this._transactionType;\r\n }\r\n\r\n @Input()\r\n public set activeCategory(value: TransactionTypeCategory) {\r\n this._activeCategory = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get activeCategory(): TransactionTypeCategory {\r\n return this._activeCategory;\r\n }\r\n\r\n @Input()\r\n public transactionId: number;\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo[];\r\n\r\n @Output()\r\n public sidePanelClicked: EventEmitter<TransactionLineInfo> = new EventEmitter<TransactionLineInfo>();\r\n\r\n @HostBinding(\"class.co-transaction-grid\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _transactionGridContainer: ElementRef;\r\n private _transactionType: TransactionKind;\r\n private _activeCategory: TransactionTypeCategory;\r\n private _componentRef: any;\r\n\r\n constructor(\r\n private _mappingService: TransactionMappingService,\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector\r\n ) {\r\n }\r\n\r\n private _prepareContent(): void {\r\n if (!this._transactionType || !this._activeCategory || !this._transactionGridContainer) {\r\n return;\r\n }\r\n const componentClass: Type<TransactionGridBaseComponent> = this._mappingService.getTransactionGridComponent(this.transactionType, this.activeCategory);\r\n\r\n if (this._componentRef) {\r\n this._componentRef.destroy();\r\n }\r\n if (!componentClass) {\r\n return;\r\n }\r\n\r\n this._componentRef = this._compFactoryResolver\r\n .resolveComponentFactory(componentClass)\r\n .create(this.injector);\r\n\r\n this.appRef.attachView(this._componentRef.hostView);\r\n\r\n this._componentRef.instance.transactionLines = this.transactionLines;\r\n this._componentRef.instance.transactionId = this.transactionId;\r\n this._componentRef.instance.sidePanelClicked = this.sidePanelClicked;\r\n\r\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n this._transactionGridContainer.nativeElement.appendChild(domElem);\r\n this._componentRef.onDestroy(() => {\r\n this.appRef.detachView(this._componentRef.hostView);\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionGridComponent} from \"./transaction-grid.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n TransactionGridComponent\r\n ],\r\n exports: [\r\n TransactionGridComponent\r\n ]\r\n})\r\nexport class TransactionGridModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionReceivedGoodsGridComponent} from \"./transaction-received-goods-grid.component\";\r\nimport {TransactionBaseGridModule} from \"../transaction-base-grid/transaction-base-grid.module\";\r\nimport {\r\n DropDownModule,\r\n InputCheckboxModule,\r\n InputNumberPickerModule,\r\n SimpleGridModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionBaseGridModule,\r\n SimpleGridModule,\r\n PipeModule,\r\n InputCheckboxModule,\r\n DropDownModule,\r\n InputNumberPickerModule\r\n ],\r\n declarations: [\r\n TransactionReceivedGoodsGridComponent\r\n ],\r\n exports: [\r\n TransactionReceivedGoodsGridComponent\r\n ]\r\n})\r\nexport class TransactionReceivedGoodsGridModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionComponent} from \"./transaction.component\";\r\nimport {TransactionLinesModule} from \"../transaction-lines/transaction-lines.module\";\r\nimport {TransactionTotalsModule} from \"../transaction-totals/transaction-totals.module\";\r\nimport {TransactionHeaderModule} from \"../transaction-header/transaction-header/transaction-header.module\";\r\nimport {ButtonModule, CoDialogModule, CoSidebarModule, FormModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLinesGridModule} from \"../transaction-grid/transaction-lines-grid/transaction-lines-grid.module\";\r\nimport {DiscountModule} from \"../discount/discount.module\";\r\nimport {TransactionQuickAccessModule} from \"../transaction-quick-access/transaction-quick-access/transaction-quick-access.module\";\r\nimport {TransactionButtonBarModule} from \"../transaction-button-bar/transaction-button-bar.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineSidePanelModule} from \"../transaction-line-side-panel/transaction-line-side-panel.module\";\r\nimport {TransactionOrderConfirmationGridModule} from \"../transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module\";\r\nimport {ViewModeButtonsModule} from \"../view-mode-buttons/view-mode-buttons.module\";\r\nimport {TransactionGridModule} from \"../transaction-grid/transaction-grid/transaction-grid.module\";\r\nimport {TransactionReceivedGoodsGridModule} from \"../transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionHeaderModule,\r\n TransactionLinesModule,\r\n TransactionTotalsModule,\r\n ButtonModule,\r\n TransactionLinesGridModule,\r\n CoDialogModule,\r\n FormModule,\r\n InputTextModule,\r\n CoSidebarModule,\r\n DiscountModule,\r\n TransactionQuickAccessModule,\r\n TransactionButtonBarModule,\r\n PipeModule,\r\n TransactionLineSidePanelModule,\r\n TransactionOrderConfirmationGridModule,\r\n TransactionReceivedGoodsGridModule,\r\n ViewModeButtonsModule,\r\n TransactionGridModule\r\n ],\r\n declarations: [\r\n TransactionComponent\r\n ],\r\n exports: [\r\n TransactionComponent\r\n ]\r\n})\r\nexport class TransactionModule {}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {ButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {ShoppingCartComponent} from \"./shopping-cart.component\";\r\nimport {TransactionModule} from \"../transaction/transaction.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n ButtonModule,\r\n TransactionModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ShoppingCartComponent\r\n ],\r\n exports: [\r\n ShoppingCartComponent\r\n ]\r\n})\r\nexport class ShoppingCartModule {\r\n}\r\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\r\nimport { Component, EventEmitter, HostBinding, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { TransactionSearchView } from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\n\r\n@Component({\r\n selector: 'co-transaction-search',\r\n template: `\r\n <div class=\"transaction-search-wrapper\">\r\n <div class=\"transaction-filter-wrapper narrow-scrollbar\" *ngIf=\"showFilterSidebar\" @showHideFilterSidebar>\r\n <co-transaction-filter (closeButtonClick)=\"handleHideFilter()\"\r\n (resetFilterClick)=\"handleResetFilter()\"></co-transaction-filter>\r\n </div>\r\n <div class=\"transaction-search-result-wrapper\">\r\n <co-transaction-search-result (filterButtonClick)=\"handleShowFilter()\"\r\n (transactionClick)=\"onTransactionClick($event)\"></co-transaction-search-result>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHideFilterSidebar\", [\r\n state(\"void\", style({transform: 'translateX(-100%)'})),\r\n state(\"*\", style({transform: 'translateX(0)'})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSearchComponent {\r\n\r\n @Output()\r\n public transactionClick: EventEmitter<TransactionSearchView> = new EventEmitter<TransactionSearchView>();\r\n\r\n @HostBinding(\"class.co-transaction-search\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public showFilterSidebar: boolean = false;\r\n\r\n constructor() {\r\n }\r\n\r\n public handleShowFilter(): void {\r\n this.showFilterSidebar = true;\r\n }\r\n\r\n public handleHideFilter(): void {\r\n this.showFilterSidebar = false;\r\n }\r\n\r\n public handleResetFilter(): void {\r\n this.showFilterSidebar = false;\r\n setTimeout(() => {this.showFilterSidebar = true}, 10);\r\n }\r\n\r\n public onTransactionClick(transaction: TransactionSearchView): void {\r\n this.transactionClick.emit(transaction);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n HostBinding,\r\n Input, Output,\r\n QueryList,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport { ColumnAlign, SimpleGridColumnDirective } from \"@colijnit/corecomponents_v12\";\r\nimport { TransactionSearchView } from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-search-grid\",\r\n template: `\r\n <div>\r\n <co-simple-grid [data]=\"transactions\" [extraColumns]=\"extraColumns\" [dragDropEnabled]=\"true\" [emitDragDrop]=\"false\"\r\n (selectRow)=\"onTransactionClick($event)\">\r\n <co-simple-grid-column [headerText]=\"'ACTIVE' | localize\"\r\n [order]=\"10\" [textAlign]=\"align.Center\">\r\n <ng-template #template let-row= \"row\">\r\n <co-input-checkbox [model]=\"row.active\" readonly></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'NR' | localize\" [field]=\"'transNr'\" [order]=\"20\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'NAME' | localize\" [field]=\"'relationName'\"\r\n [order]=\"30\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_NUMBER' | localize\" [field]=\"'relationNr'\"\r\n [order]=\"40\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'BRANCH' | localize\" [field]=\"'brancheName'\"\r\n [order]=\"50\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ADDRESS' | localize\" [field]=\"'adres'\"\r\n [order]=\"70\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'REFERENCE_RELATION' | localize\" [field]=\"'relationReference'\" [order]=\"80\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PREFERRED_DATE' | localize\"\r\n [order]=\"90\" [textAlign]=\"align.Right\" [resizable]=\"false\">\r\n <ng-template #template let-row = \"row\">\r\n <div [textContent]=\"\"></div> <!--todo: wachten op aanpassing api-->\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSACTION_DATE' | localize\"\r\n [order]=\"100\" [textAlign]=\"align.Right\" [resizable]=\"false\">\r\n <ng-template #template let-row = \"row\">\r\n <div [textContent]=\"row.transDate | date:'dd MMM yyyy'\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ORDER_DEFINITIVE' | localize\"\r\n [order]=\"105\" [textAlign]=\"align.Center\">\r\n <ng-template #template let-row= \"row\">\r\n <co-input-checkbox [model]=\"row.transactionDefinitive\" readonly></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\"\r\n [order]=\"110\" [textAlign]=\"align.Right\" [resizable]=\"false\" >\r\n <ng-template #template let-row = \"row\">\r\n <div [textContent]=\"row.deliveryDate | date:'dd MMM yyyy'\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE_DEFINITIVE' | localize\"\r\n [order]=\"115\" [textAlign]=\"align.Center\">\r\n <ng-template #template let-row= \"row\">\r\n <co-input-checkbox [model]=\"row.deliveryDateDefinitive\" readonly></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSearchGridComponent {\r\n public readonly align: typeof ColumnAlign = ColumnAlign;\r\n\r\n @ContentChildren(SimpleGridColumnDirective) set content(columnComponents: QueryList<SimpleGridColumnDirective>) {\r\n this.extraColumns = columnComponents.toArray();\r\n }\r\n\r\n @HostBinding(\"class.co-transaction-search-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @Input()\r\n public transactions: TransactionSearchView[] = [];\r\n\r\n @Output()\r\n public transactionClick: EventEmitter<TransactionSearchView> = new EventEmitter<TransactionSearchView>();\r\n\r\n public extraColumns: SimpleGridColumnDirective[] = [];\r\n\r\n constructor() {\r\n }\r\n\r\n public onTransactionClick(transaction: any): void {\r\n this.transactionClick.emit(transaction as TransactionSearchView);\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { InputCheckboxModule, SimpleGridModule } from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../pipe/pipe.module\";\r\nimport { CoreModule } from \"../core/core.module\";\r\nimport { TransactionSearchGridComponent } from \"./transaction-search-grid.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n InputCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionSearchGridComponent\r\n ],\r\n exports: [\r\n TransactionSearchGridComponent\r\n ]\r\n})\r\nexport class TransactionSearchGridModule {\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { TransactionSearchView } from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\nimport { Icon } from \"../../../enum/icon.enum\";\r\nimport { IconCacheService } from \"../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-tile\",\r\n template: `\r\n <div class=\"transaction-tile-wrapper\" (click)=\"onTileClick($event)\">\r\n <div class=\"transaction-tile-body\">\r\n <div class=\"transaction-tile-avatar\">\r\n <co-avatar [relationId]=\"transaction.handledBy\"></co-avatar>\r\n </div>\r\n <div class=\"transaction-tile-seller-info\">\r\n <div>\r\n <div class=\"header\"><span [textContent]=\"transaction.transNr\"></span></div>\r\n <div class=\"text\"><span [textContent]=\"transaction.brancheName\"></span></div>\r\n </div>\r\n <div>\r\n <div class=\"text\"><span [textContent]=\"transaction.getAdres()\"></span></div>\r\n </div>\r\n </div>\r\n <div class=\"transaction-tile-order-summary\">\r\n <div class=\"header\"><span [textContent]=\"'€12.345'\"></span></div> <!--todo: vullen als api aanpassing gedaan is-->\r\n </div>\r\n </div>\r\n <div class=\"transaction-tile-footer\">\r\n <div class=\"order-info-section\">\r\n <div class=\"label\"><span [textContent]=\"'ORDER_DATE' | localize\"></span></div>\r\n <div class=\"value\">\r\n <span [textContent]=\"transaction.getTransDate() | date:'dd MMM yyyy'\"></span></div>\r\n </div>\r\n <div class=\"order-info-section\">\r\n <div class=\"label\"><span [textContent]=\"'DELIVERY_DATE' | localize\"></span></div>\r\n <div class=\"value\">\r\n <span [textContent]=\"transaction.getDeliveryDate() | date:'dd MMM yyyy'\"></span>\r\n <div *ngIf=\"transaction.getDeliveryDate()\">\r\n <co-icon *ngIf=\"transaction.deliveryDateDefinitive; else indefinite\"\r\n [iconData]=\"this.iconCacheService.getIcon(this.icons.Lock)\" class=\"lock-icon\"></co-icon>\r\n <ng-template #indefinite>\r\n <co-icon [iconData]=\"this.iconCacheService.getIcon(this.icons.Unlock)\" class=\"unlock-icon\"></co-icon>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"order-info-section\">\r\n <div class=\"label\"><span [textContent]=\"'ORDER_RULE' | localize\"></span></div>\r\n <div class=\"value\">\r\n <span [textContent]=\"'68/00'\"></span></div>\r\n </div>\r\n </div>\r\n\r\n </div>`,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionTileComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public transaction: TransactionSearchView;\r\n\r\n @Output()\r\n public tileClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n\r\n @HostBinding(\"class.co-transaction-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n public onTileClick(event: MouseEvent): void {\r\n this.tileClick.emit(event);\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { ButtonModule, IconModule } from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../../pipe/pipe.module\";\r\nimport { CoreModule } from \"../../core/core.module\";\r\nimport { AvatarModule } from \"../../avatar/avatar.module\";\r\nimport { TransactionTileComponent } from \"./transaction-tile.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n AvatarModule,\r\n ButtonModule,\r\n PipeModule,\r\n IconModule,\r\n ],\r\n declarations: [\r\n TransactionTileComponent\r\n ],\r\n exports: [\r\n TransactionTileComponent\r\n ]\r\n})\r\nexport class TransactionTileModule {\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { TransactionSearchViewRequest } from \"@colijnit/transactionapi/build/model/transaction-search-view-request\";\r\nimport { TransactionSearchView } from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\nimport { TransactionService } from \"../../../service/transaction.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class TransactionSearchService {\r\n\r\n public searchRequest: TransactionSearchViewRequest = new TransactionSearchViewRequest();\r\n public transactions: TransactionSearchView[] = [];\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n }\r\n\r\n public searchTransactions(): void {\r\n this._transactionService.searchTransactions(this.searchRequest).then((transactions: TransactionSearchView[]) => {\r\n this.transactions = transactions;\r\n });\r\n }\r\n\r\n public resetFilters(): void {\r\n const oldSearchRequest = {...this.searchRequest};\r\n\r\n this.searchRequest = new TransactionSearchViewRequest();\r\n this.searchRequest.general = oldSearchRequest.general;\r\n this.searchTransactions();\r\n }\r\n}\r\n","import { Component, EventEmitter, HostBinding, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { TransactionSearchView } from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\nimport { ContentViewMode } from \"../../../enum/content-view-mode.enum\";\r\nimport { Icon } from \"../../../enum/icon.enum\";\r\nimport { IconCacheService } from \"../../../service/icon-cache.service\";\r\nimport { TransactionSearchService } from \"../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: 'co-transaction-search-result',\r\n template: `\r\n <div class=\"transaction-search-header-wrapper\">\r\n <co-input-search class=\"transaction-search-general\"\r\n [(model)]=\"searchService.searchRequest.general\"\r\n [placeholder]=\"'Waar ben je naar op zoek?'\"\r\n (search)=\"searchService.searchTransactions()\"></co-input-search>\r\n <co-button class=\"transaction-search-filter-button\" [iconData]=\"iconCacheService.getIcon(icon.BarsFilter)\"\r\n (click)=\"filterButtonClick.emit()\"></co-button>\r\n </div>\r\n <co-view-mode-buttons [showViewModes]=\"[viewModes.Tiles, viewModes.Grid]\"\r\n (viewModeChange)=\"activeViewMode = $event\"></co-view-mode-buttons>\r\n <div class=\"transaction-search-result-content-tiles-wrapper\" *ngIf=\"activeViewMode === viewModes.Tiles\">\r\n <div class=\"transaction-tile\" *ngFor=\"let transaction of searchService.transactions\">\r\n <co-transaction-tile [transaction]=\"transaction\"\r\n (tileClick)=\"onTransactionClick(transaction)\"></co-transaction-tile>\r\n </div>\r\n </div>\r\n <div class=\"transaction-search-result-content-grid-wrapper\" *ngIf=\"activeViewMode === viewModes.Grid\">\r\n <co-transaction-search-grid [transactions]=\"searchService.transactions\"\r\n (transactionClick)=\"onTransactionClick($event)\"></co-transaction-search-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSearchResultComponent implements OnInit {\r\n public readonly icon: typeof Icon = Icon;\r\n public readonly viewModes: typeof ContentViewMode = ContentViewMode;\r\n\r\n @Output()\r\n public filterButtonClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public transactionClick: EventEmitter<TransactionSearchView> = new EventEmitter<TransactionSearchView>();\r\n\r\n @HostBinding(\"class.co-transaction-search-result\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public activeViewMode: ContentViewMode = ContentViewMode.Tiles;\r\n\r\n constructor(\r\n public searchService: TransactionSearchService,\r\n public iconCacheService: IconCacheService,\r\n ) {\r\n }\r\n\r\n public ngOnInit() {\r\n }\r\n\r\n public onTransactionClick(transaction: TransactionSearchView): void {\r\n this.transactionClick.emit(transaction);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { AvatarModule } from \"../../avatar/avatar.module\";\r\nimport { TransactionSearchGridModule } from \"../../transaction-search-grid/transaction-search-grid.module\";\r\nimport { TransactionTileModule } from \"../transaction-tile/transaction-tile.module\";\r\nimport {TransactionSearchResultComponent} from \"./transaction-search-result.component\";\r\nimport {ButtonModule, InputSearchModule} from \"@colijnit/corecomponents_v12\";\r\nimport {ViewModeButtonsModule} from \"../../view-mode-buttons/view-mode-buttons.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputSearchModule,\r\n ButtonModule,\r\n ViewModeButtonsModule,\r\n AvatarModule,\r\n TransactionTileModule,\r\n TransactionSearchGridModule\r\n ],\r\n declarations: [\r\n TransactionSearchResultComponent\r\n ],\r\n exports: [\r\n TransactionSearchResultComponent\r\n ]\r\n})\r\nexport class TransactionSearchResultModule {\r\n}\r\n","export class FilterItemViewmodel {\r\n\r\n public checked: boolean = false;\r\n public code: string | number;\r\n public description: string;\r\n public count: number;\r\n\r\n constructor(code: string | number, description: string | number, checked: boolean, count?: number,) {\r\n this.code = code;\r\n this.description = description?.toString();\r\n this.count = count;\r\n }\r\n}\r\n","import {FilterItemViewmodel} from './filter-item.viewmodel';\r\n\r\nexport class FilterViewmodel {\r\n public filterItems: FilterItemViewmodel[] = [];\r\n\r\n constructor(collection: any[], fields: {text, value} ) {\r\n collection.forEach((item: any) => {\r\n this.filterItems.push(new FilterItemViewmodel(item[fields.value], item[fields.text], item.checked ?? false, item.count ?? null, ));\r\n });\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { FilterItemViewmodel } from \"../../../model/filter-item.viewmodel\";\r\nimport { TransactionService } from \"../../../service/transaction.service\";\r\nimport { TransactionSearchService } from \"./transaction-search.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class FilterRequestService {\r\n\r\n constructor(\r\n public searchService: TransactionSearchService,\r\n private _transactionService: TransactionService,\r\n ) {}\r\n\r\n public handleCollectionChangeForRange(collection: FilterItemViewmodel[], modelName: string): void {\r\n this.searchService.searchRequest[modelName] = this._getFilterRequestForCollectionRange(collection);\r\n }\r\n\r\n public handleCollectionChangeForArray(collection: FilterItemViewmodel[], modelName: string): void {\r\n this.searchService.searchRequest[modelName] = this._getFilterRequestForCollectionArray(collection);\r\n }\r\n\r\n //todo: tijdelijk totdat filter-item single select ondersteunt\r\n public handleCollectionChangeForSingleValue(collection: FilterItemViewmodel[], modelName: string): void {\r\n this.searchService.searchRequest[modelName] = this._getFilterRequestForSingleCollectionValue(collection);\r\n }\r\n\r\n //todo: tijdelijk totdat filter-item single select ondersteunt\r\n public handleCollectionChangeForSingleNumber(collection: FilterItemViewmodel[], modelName: string): void {\r\n this.searchService.searchRequest[modelName] = collection ? this._getFilterRequestForSingleCollectionNumber(collection) : -1;\r\n }\r\n\r\n public handleCheckboxValueChangeForString(value: boolean, modelName: string): void {\r\n this.searchService.searchRequest[modelName] = this._getFilterRequestForBooleanToString(value);\r\n }\r\n\r\n public handleCheckboxValueChangeForNumber(value: boolean, modelName: string): void {\r\n this.searchService.searchRequest[modelName] = value ? 1 : 0;\r\n }\r\n\r\n public handleDateRangeChange(dates: Date[], modelName: string): void {\r\n if (dates) {\r\n let startDate = dates[0];\r\n let endDate = dates[1];\r\n\r\n this.searchService.searchRequest[modelName] = this._getFilterRequestForDateRange(startDate, endDate);\r\n }\r\n }\r\n\r\n public getDateFromFilterRequestRange(filterRequestRange: string, index: number): Date {\r\n if (filterRequestRange) {\r\n\r\n const datePattern = new RegExp('\\\\d{2}\\\\-\\\\d{2}\\\\-\\\\d{4}');\r\n let dateString = filterRequestRange\r\n .split(',')[index]\r\n .match(datePattern)[0];\r\n\r\n const day = Number(dateString.match('^\\\\d{2}')[0]);\r\n const month = Number(dateString.match('(?<=\\\\-)(\\\\d{2})(?=\\\\-)')[0])-1;\r\n const year = Number(dateString.match('\\\\d{4}')[0]);\r\n\r\n return new Date(year, month, day);\r\n }\r\n }\r\n\r\n private _getFilterRequestForCollectionRange(collection: FilterItemViewmodel[]): string {\r\n let filterRequest: string = '';\r\n\r\n collection?.forEach(item => {\r\n if (item.checked) {\r\n const formattedRequest = `?=\\'${item.code}\\'`;\r\n\r\n filterRequest += (filterRequest ? ',' : '') + `${formattedRequest}`;\r\n }\r\n });\r\n return filterRequest;\r\n }\r\n\r\n private _getFilterRequestForBooleanToString(value: boolean): string {\r\n let filterRequest: string = '';\r\n\r\n if (value){\r\n filterRequest = \"?='J'\";\r\n } else {\r\n filterRequest = \"?='N'\";\r\n }\r\n\r\n return filterRequest;\r\n }\r\n\r\n private _getFilterRequestForCollectionArray(collection: FilterItemViewmodel[]): string[] {\r\n let filterRequest: string[] = [];\r\n\r\n collection?.forEach(item => {\r\n if (item.checked) {\r\n filterRequest.push(item.code.toString());\r\n }\r\n })\r\n\r\n return filterRequest;\r\n }\r\n\r\n //todo: tijdelijk totdat filter-item single select ondersteunt\r\n private _getFilterRequestForSingleCollectionValue(collection: FilterItemViewmodel[]):string {\r\n let filterRequest: string = '';\r\n const firstValue = collection.find(item => item.checked).code.toString();\r\n\r\n if (firstValue){\r\n filterRequest = `?=\\'${firstValue}\\'`;\r\n }\r\n\r\n return filterRequest;\r\n }\r\n\r\n //todo: tijdelijk totdat filter-item single select ondersteunt\r\n private _getFilterRequestForSingleCollectionNumber(collection: FilterItemViewmodel[]): number {\r\n const firstValue = Number(collection.find(item => item.checked)?.code);\r\n\r\n return firstValue ?? -1;\r\n }\r\n\r\n private _getFilterRequestForDateRange(startDate: Date, endDate: Date): string {\r\n const startDateRequest = startDate ? this._formatDateToString(startDate) : '';\r\n const endDateRequest = endDate ? this._formatDateToString(endDate) : '';\r\n\r\n return `?>=\\'${startDateRequest}\\'& ?<=\\'${endDateRequest}\\'`;\r\n }\r\n\r\n private _formatDateToString(date: Date): string {\r\n let day = date.getDate().toString().padStart(2, '0');\r\n let month = (date.getMonth() + 1).toString().padStart(2, '0');\r\n let year = date.getFullYear();\r\n\r\n return `${day}-${month}-${year}`;\r\n }\r\n}\r\n","import { Component, HostBinding, OnInit } from \"@angular/core\";\r\nimport { RelationKind } from \"@colijnit/transactionapi/build/enum/relation-kind.enum\";\r\nimport { CoDomainValue } from \"@colijnit/transactionapi/build/model/co-domain-value.bo\";\r\nimport { RelationRequest } from \"@colijnit/transactionapi/build/model/relation-request\";\r\nimport { TransactionSearchViewRequest } from \"@colijnit/transactionapi/build/model/transaction-search-view-request\";\r\nimport { FilterItemViewmodel } from \"../../../model/filter-item.viewmodel\";\r\nimport { FilterViewmodel } from \"../../../model/filter-viewmodel\";\r\nimport { TransactionService } from \"../../../service/transaction.service\";\r\nimport { FilterRequestService } from \"../service/filter-request.service\";\r\nimport { TransactionSearchService } from \"../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: 'co-transaction-filter-content-article',\r\n template: `\r\n <div class=\"transaction-filter-content-article-wrapper\">\r\n\r\n <!--Artikelnummer: todo: wachten op API call -->\r\n <co-filter-item\r\n [placeholder]=\"'ARTICLE_NR' | localize\"\r\n [expanded]=\"true\"\r\n [customContent]=\"true\"\r\n >\r\n <co-input-text [(model)]=\"searchRequest.mainArticleNrRange\"\r\n [placeholder]=\"'ARTICLE_NR' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--Omzetgroep: todo: wachten op API call -->\r\n <co-filter-item\r\n [placeholder]=\"'TURNOVER_GROUP' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.rangeTurnoverGroup\"\r\n [placeholder]=\"'TURNOVER_GROUP' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--Hoofdartikel: todo: wachten op API call -->\r\n <co-filter-item\r\n [placeholder]=\"'MAIN_ARTICLE' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.mainArticleNrRange\"\r\n [placeholder]=\"'MAIN_ARTICLE' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--Uitloopcode -->\r\n <co-filter-item\r\n [placeholder]=\"'EXCEEDENCE_CODE' | localize\"\r\n [expanded]=\"true\"\r\n [collection]=\"exceedanceCodes\"\r\n [searchPlaceholder]=\"searchPlaceholder | localize\"\r\n [showMoreLabel]=\"showMoreLabel | localize\"\r\n [showLessLabel]=\"showLessLabel | localize\"\r\n (collectionChange)=\"this.filterRequestService.handleCollectionChangeForArray($event, 'exceedanceCodes')\"\r\n >\r\n </co-filter-item>\r\n\r\n <!--Leverancier-->\r\n <co-filter-item\r\n [placeholder]=\"'SUPPLIER' | localize\"\r\n [expanded]=\"true\"\r\n [collection]=\"suppliers\"\r\n [searchPlaceholder]=\"searchPlaceholder | localize\"\r\n [showMoreLabel]=\"showMoreLabel | localize\"\r\n [showLessLabel]=\"showLessLabel | localize\"\r\n (collectionChange)=\"this.filterRequestService.handleCollectionChangeForRange($event, 'rangeSupplier')\"\r\n >\r\n </co-filter-item>\r\n <div class=\"filter-button-container\">\r\n <co-button class=\"clickable\" [label]=\"'Filter'\" (click)=\"onFilterButtonClick()\"></co-button>\r\n </div>\r\n </div>\r\n `\r\n})\r\nexport class TransactionFilterContentArticleComponent implements OnInit {\r\n\r\n @HostBinding(\"class.co-transaction-filter-content-article\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public searchRequest: TransactionSearchViewRequest = this.searchService.searchRequest;\r\n\r\n public searchPlaceholder: string = \"SEARCH_IN_COLLECTION\";\r\n public showMoreLabel: string = \"SHOW_MORE\";\r\n public showLessLabel: string = \"SHOW_LESS\"\r\n\r\n public articleNumbers: FilterItemViewmodel[];\r\n public articleNumberFields: { text, value } = {text: \"description\", value: \"code\"};\r\n\r\n public exceedanceCodes: FilterItemViewmodel[];\r\n public exceedanceCodeFields: { text, value } = {text: \"description\", value: \"code\"};\r\n\r\n public suppliers: FilterItemViewmodel[];\r\n public supplierFields: { text, value } = {text: \"displayName\", value: \"relationId\"};\r\n\r\n constructor(\r\n public searchService: TransactionSearchService,\r\n public filterRequestService: FilterRequestService,\r\n private _transactionService: TransactionService,\r\n ) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._setArticleNumbers();\r\n this._setExceedanceCodes();\r\n this._setSuppliers();\r\n }\r\n\r\n public onFilterButtonClick(): void {\r\n this.searchService.searchTransactions();\r\n }\r\n\r\n //Artikelnummer\r\n private _setArticleNumbers(): void {\r\n\r\n }\r\n\r\n private _setExceedanceCodes(): void {\r\n this._transactionService.getInOutCollection(\"NL\").then((exceedanceCodes: CoDomainValue[]) => {\r\n this.exceedanceCodes = new FilterViewmodel(exceedanceCodes, this.exceedanceCodeFields).filterItems;\r\n });\r\n }\r\n\r\n private _setSuppliers(): void {\r\n const request: RelationRequest = new RelationRequest();\r\n request.relationType = RelationKind.Supplier;\r\n this._transactionService.getRelationListObjects(request).then((relationListObjects) => {\r\n this.suppliers = new FilterViewmodel(relationListObjects, this.supplierFields).filterItems;\r\n })\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { ButtonModule, FilterItemModule, InputTextModule } from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../../pipe/pipe.module\";\r\nimport {TransactionFilterContentArticleComponent} from \"./transaction-filter-content-article.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FilterItemModule,\r\n PipeModule,\r\n InputTextModule,\r\n ButtonModule\r\n ],\r\n declarations: [\r\n TransactionFilterContentArticleComponent\r\n ],\r\n exports: [\r\n TransactionFilterContentArticleComponent\r\n ]\r\n})\r\nexport class TransactionFilterContentArticleModule {\r\n}\r\n","import { Component, HostBinding, OnInit } from \"@angular/core\";\r\nimport { DeliveryMethod } from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\nimport { TransactionSearchViewRequest } from \"@colijnit/transactionapi/build/model/transaction-search-view-request\";\r\nimport { Warehouse } from \"@colijnit/transactionapi/build/model/warehouse.bo\";\r\nimport { FilterItemViewmodel } from \"../../../model/filter-item.viewmodel\";\r\nimport { FilterViewmodel } from \"../../../model/filter-viewmodel\";\r\nimport { TransactionService } from \"../../../service/transaction.service\";\r\nimport { FilterRequestService } from \"../service/filter-request.service\";\r\nimport { TransactionSearchService } from \"../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: 'co-transaction-filter-content-logistics',\r\n template: `\r\n <div class=\"transaction-filter-content-logistics-wrapper\">\r\n\r\n <!--Levermethode-->\r\n <co-filter-item\r\n [placeholder]=\"'DELIVERY_METHOD' | localize\"\r\n [expanded]=\"true\"\r\n [collection]=\"deliveryMethods\"\r\n [searchPlaceholder]=\"searchPlaceholder | localize\"\r\n [showMoreLabel]=\"showMoreLabel | localize\"\r\n [showLessLabel]=\"showLessLabel | localize\"\r\n (collectionChange)=\"this.filterRequestService.handleCollectionChangeForRange($event, 'rangeDeliveryMethod')\">\r\n </co-filter-item>\r\n\r\n\r\n <!--Leverdatum definitief-->\r\n <co-filter-item\r\n [placeholder]=\"'DELIVERY_DATE_FINAL' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-checkbox\r\n [model]=\"searchRequest.deliveryDateDefinitive === 'J'\"\r\n (modelChange)=\"this.filterRequestService.handleCheckboxValueChangeForString($event, 'deliveryDateDefinitive')\"\r\n [label]=\"'DELIVERY_DATE_FINAL' | localize\"></co-input-checkbox>\r\n </co-filter-item>\r\n\r\n <!--Toegewezen: todo: enum uizoeken en verwerken-->\r\n <co-filter-item\r\n [placeholder]=\"'ALLOCATED' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.quantityAllocated\"\r\n [placeholder]=\"'ALLOCATED' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--Geleverd: todo: enum uizoeken en verwerken-->\r\n <co-filter-item\r\n [placeholder]=\"'DELIVERED' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.quantityDelivered\"\r\n [placeholder]=\"'DELIVERED' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--Gefactureerd: todo: enum uizoeken en verwerken-->\r\n <co-filter-item\r\n [placeholder]=\"'INVOICED' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-text\r\n [(model)]=\"searchRequest.quantityInvoiced\"\r\n [placeholder]=\"'INVOICED' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--Te picken: todo: enum uizoeken en verwerken-->\r\n <co-filter-item\r\n [placeholder]=\"'TO_BE_PICKED' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.quantityToBePicked\"\r\n [placeholder]=\"'TO_BE_PICKED' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--Gepicked: todo: enum uizoeken en verwerken-->\r\n <co-filter-item\r\n [placeholder]=\"'PICKED' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-text\r\n [(model)]=\"searchRequest.quantityPicked\"\r\n [placeholder]=\"'PICKED' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--Bevestigde leverdatum-->\r\n <co-filter-item\r\n [placeholder]=\"'CONFIRMED_DELIVERY_DATE' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-date-range\r\n [startDate]=\"confirmedDeliveryStartDate\"\r\n [endDate]=\"confirmedDeliveryEndDate\"\r\n (dateRangeChange)=\"this.filterRequestService.handleDateRangeChange($event, 'confirmedDeliveryDateRange')\"\r\n [placeholder]=\"'SELECT_DATE' | localize\">\r\n </co-input-date-range>\r\n </co-filter-item>\r\n\r\n <!--Aankomstdatum-->\r\n <co-filter-item\r\n [placeholder]=\"'ARRIVAL_DATE' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-date-range\r\n [startDate]=\"arrivalStartDate\"\r\n [endDate]=\"arrivalEndDate\"\r\n (dateRangeChange)=\"this.filterRequestService.handleDateRangeChange($event, 'arrivalDateRange')\"\r\n [placeholder]=\"'SELECT_DATE' | localize\">\r\n </co-input-date-range>\r\n </co-filter-item>\r\n\r\n <!--Deellevering-->\r\n <co-filter-item\r\n [placeholder]=\"'PART_DELIVERY' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-checkbox\r\n [model]=\"searchRequest.partialDelivery === 'J'\"\r\n (modelChange)=\"this.filterRequestService.handleCheckboxValueChangeForString($event, 'partialDelivery')\"\r\n [label]=\"'PART_DELIVERY' | localize\">\r\n </co-input-checkbox>\r\n </co-filter-item>\r\n\r\n <!--Magazijn -->\r\n <co-filter-item\r\n [placeholder]=\"'WAREHOUSE' | localize\"\r\n [expanded]=\"true\"\r\n [collection]=\"warehouses\"\r\n [searchPlaceholder]=\"searchPlaceholder | localize\"\r\n [showMoreLabel]=\"showMoreLabel | localize\"\r\n [showLessLabel]=\"showLessLabel | localize\"\r\n (collectionChange)=\"this.filterRequestService.handleCollectionChangeForSingleNumber($event, 'warehouse')\">\r\n </co-filter-item>\r\n\r\n\r\n <!--Bron magazijn-->\r\n <co-filter-item\r\n [placeholder]=\"'SOURCE_WAREHOUSE' | localize\"\r\n [expanded]=\"true\"\r\n [collection]=\"warehouses\"\r\n [searchPlaceholder]=\"searchPlaceholder | localize\"\r\n [showMoreLabel]=\"showMoreLabel | localize\"\r\n [showLessLabel]=\"showLessLabel | localize\"\r\n (collectionChange)=\"this.filterRequestService.handleCollectionChangeForSingleNumber($event, 'sourceWarehouse')\">\r\n </co-filter-item>\r\n\r\n\r\n <!--Serienummer -->\r\n <co-filter-item\r\n [placeholder]=\"'SERIAL_NUMBER' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.serialNumber\"\r\n [placeholder]=\"'SERIAL_NUMBER' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--Batchnummer -->\r\n <co-filter-item\r\n [placeholder]=\"'BATCH_NUMBER' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.batchNumber\" [placeholder]=\"'BATCH_NUMBER' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--Inclusief retouren-->\r\n <co-filter-item\r\n [placeholder]=\"'INCLUDING_RETURNS' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-checkbox\r\n [label]=\"'INCLUDING_RETURNS' | localize\"\r\n [model]=\"searchRequest.includingReturns === 1\"\r\n (modelChange)=\"this.filterRequestService.handleCheckboxValueChangeForNumber($event, 'includingReturns')\"\r\n >\r\n </co-input-checkbox>\r\n </co-filter-item>\r\n\r\n <!--Levermethode op (regel/header): todo: nog uitzoeken welke filter dit is-->\r\n <!-- <co-filter-item\r\n [placeholder]=\"'Levermethode op regel/header'\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-checkbox\r\n [label]=\"'Levermethode op regel/header'\"\r\n >\r\n </co-input-checkbox>\r\n </co-filter-item>-->\r\n <div class=\"filter-button-container\">\r\n <co-button class=\"clickable\" [label]=\"'Filter'\" (click)=\"onFilterButtonClick()\"></co-button>\r\n </div>\r\n </div>\r\n `\r\n})\r\nexport class TransactionFilterContentLogisticsComponent implements OnInit {\r\n\r\n @HostBinding(\"class.co-transaction-filter-content-logistics\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public searchRequest: TransactionSearchViewRequest = this.searchService.searchRequest;\r\n\r\n public searchPlaceholder: string = \"SEARCH_IN_COLLECTION\";\r\n public showMoreLabel: string = \"SHOW_MORE\";\r\n public showLessLabel: string = \"SHOW_LESS\";\r\n\r\n public deliveryMethods = [];\r\n public deliveryMethodFields: { text, value } = {text: \"description\", value: \"code\"};\r\n\r\n public warehouses: FilterItemViewmodel[];\r\n public warehouseFields: { text, value } = {text: \"description\", value: \"warehouseNo\"};\r\n\r\n public confirmedDeliveryStartDate: Date;\r\n public confirmedDeliveryEndDate: Date;\r\n\r\n public arrivalStartDate: Date;\r\n public arrivalEndDate: Date;\r\n\r\n constructor(\r\n public searchService: TransactionSearchService,\r\n public filterRequestService: FilterRequestService,\r\n private _transactionService: TransactionService,\r\n ) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._setRangeDates();\r\n this._setDeliveryMethods();\r\n this._setWarehouses();\r\n }\r\n\r\n public onFilterButtonClick(): void {\r\n this.searchService.searchTransactions();\r\n }\r\n\r\n private _setRangeDates(): void {\r\n this.confirmedDeliveryStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.confirmedDeliveryDateRange, 0);\r\n this.confirmedDeliveryEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.confirmedDeliveryDateRange, 1);\r\n this.arrivalStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.arrivalDateRange, 0);\r\n this.arrivalEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.arrivalDateRange, 1);\r\n }\r\n\r\n //Delivery Methods\r\n private _setDeliveryMethods(): void {\r\n this._transactionService.getDeliveryMethods().then((deliveryMethods: DeliveryMethod[]) => {\r\n this.deliveryMethods = new FilterViewmodel(deliveryMethods, this.deliveryMethodFields).filterItems;\r\n });\r\n }\r\n\r\n //Warehouses\r\n private _setWarehouses(): void {\r\n this._transactionService.getWarehouses().then((warehouses: Warehouse[]) => {\r\n this.warehouses = new FilterViewmodel(warehouses, this.warehouseFields).filterItems;\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {\r\n ButtonModule,\r\n FilterItemModule, InputCheckboxModule,\r\n InputDatePickerModule,\r\n InputDateRangePickerModule,\r\n InputTextModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../../pipe/pipe.module\";\r\nimport {TransactionFilterContentLogisticsComponent} from \"./transaction-filter-content-logistics.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FilterItemModule,\r\n InputDateRangePickerModule,\r\n InputTextModule,\r\n PipeModule,\r\n InputDatePickerModule,\r\n ButtonModule,\r\n InputCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionFilterContentLogisticsComponent\r\n ],\r\n exports: [\r\n TransactionFilterContentLogisticsComponent\r\n ]\r\n})\r\nexport class TransactionFilterContentLogisticsModule {\r\n}\r\n","import { Component, HostBinding, OnInit } from \"@angular/core\";\r\nimport { BranchLov } from \"@colijnit/transactionapi/build/model/branch-lov.bo\";\r\nimport { CoDomainValue } from \"@colijnit/transactionapi/build/model/co-domain-value.bo\";\r\nimport { CustomerGroup } from \"@colijnit/transactionapi/build/model/customer-group.bo\";\r\nimport { OnHoldCode } from \"@colijnit/transactionapi/build/model/on-hold-code.bo\";\r\nimport { SalesPerson } from \"@colijnit/transactionapi/build/model/sales-person.bo\";\r\nimport { Tag } from \"@colijnit/transactionapi/build/model/tag\";\r\nimport { TransactionSearchViewRequest } from \"@colijnit/transactionapi/build/model/transaction-search-view-request\";\r\nimport { FilterItemViewmodel } from \"../../../model/filter-item.viewmodel\";\r\nimport { FilterViewmodel } from \"../../../model/filter-viewmodel\";\r\nimport { TransactionService } from \"../../../service/transaction.service\";\r\nimport { FilterRequestService } from \"../service/filter-request.service\";\r\nimport { TransactionSearchService } from \"../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: 'co-transaction-filter-content-order',\r\n template: `\r\n <div class=\"transaction-filter-content-order-wrapper\">\r\n\r\n <!--Orderdatum-->\r\n <co-filter-item\r\n [placeholder]=\"'ORDER_DATE' | localize\"\r\n [expanded]=\"true\"\r\n [customContent]=\"true\">\r\n <co-input-date-range\r\n [startDate]=\"transStartDate\"\r\n [endDate]=\"transEndDate\"\r\n (dateRangeChange)=\"this.filterRequestService.handleDateRangeChange($event, 'rangeTransDate')\"\r\n [placeholder]=\"'SELECT_DATE' | localize\">\r\n </co-input-date-range>\r\n </co-filter-item>\r\n\r\n <!--Leverdatum-->\r\n <co-filter-item\r\n [placeholder]=\"'DELIVERY_DATE' | localize\"\r\n [expanded]=\"true\"\r\n [customContent]=\"true\">\r\n <co-input-date-range\r\n [startDate]=\"deliveryStartDate\"\r\n [endDate]=\"deliveryEndDate\"\r\n (dateRangeChange)=\"this.filterRequestService.handleDateRangeChange($event, 'deliveryDateRange')\"\r\n [placeholder]=\"'SELECT_DATE' | localize\">\r\n </co-input-date-range>\r\n </co-filter-item>\r\n\r\n <!--Filiaal-->\r\n <co-filter-item\r\n [placeholder]=\"'BRANCH' | localize\"\r\n [expanded]=\"true\"\r\n [collection]=\"branches\"\r\n [searchPlaceholder]=\"searchPlaceholder | localize\"\r\n [showMoreLabel]=\"showMoreLabel | localize\"\r\n [showLessLabel]=\"showLessLabel | localize\"\r\n (collectionChange)=\"this.filterRequestService.handleCollectionChangeForRange($event, 'rangeBranchId')\"\r\n >\r\n </co-filter-item>\r\n\r\n <!--Verkoper-->\r\n <co-filter-item\r\n [placeholder]=\"'HANDLED_BY' | localize\"\r\n [expanded]=\"true\"\r\n [collection]=\"salesPersons\"\r\n [searchPlaceholder]=\"searchPlaceholder | localize\"\r\n [showMoreLabel]=\"showMoreLabel | localize\"\r\n [showLessLabel]=\"showLessLabel | localize\"\r\n (collectionChange)=\"this.filterRequestService.handleCollectionChangeForRange($event, 'rangeSalesPerson')\"\r\n >\r\n </co-filter-item>\r\n\r\n <!--Eigen referentie-->\r\n <co-filter-item\r\n [placeholder]=\"'OWN_REFERENCE' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.userReference\"\r\n [placeholder]=\"'OWN_REFERENCE' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--Tags-->\r\n <co-filter-item\r\n [placeholder]=\"'TAGS' | localize\"\r\n [expanded]=\"true\"\r\n [collection]=\"tags\"\r\n [searchPlaceholder]=\"searchPlaceholder | localize\"\r\n [showMoreLabel]=\"showMoreLabel | localize\"\r\n [showLessLabel]=\"showLessLabel | localize\"\r\n (collectionChange)=\"this.filterRequestService.handleCollectionChangeForRange($event, 'tagRange')\"\r\n >\r\n <co-input-text [(model)]=\"searchRequest.tagRange\" [placeholder]=\"'TAGS' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--On hold codes-->\r\n <co-filter-item\r\n [placeholder]=\"'ON_HOLD' | localize\"\r\n [expanded]=\"true\"\r\n [collection]=\"onHoldCodes\"\r\n [searchPlaceholder]=\"searchPlaceholder | localize\"\r\n [showMoreLabel]=\"showMoreLabel | localize\"\r\n [showLessLabel]=\"showLessLabel | localize\"\r\n (collectionChange)=\"this.filterRequestService.handleCollectionChangeForRange($event,'rangeOnHoldCodes')\"\r\n >\r\n <co-input-text [(model)]=\"searchRequest.tagRange\" [placeholder]=\"'TAGS' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--Order definitief-->\r\n <co-filter-item\r\n [placeholder]=\"'ORDER_DEFINITIVE' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-checkbox\r\n [model]=\"searchRequest.transactionDefinitive === 'J'\"\r\n (modelChange)=\"this.filterRequestService.handleCheckboxValueChangeForString($event, 'transactionDefinitive')\"\r\n [label]=\"'ORDER_DEFINITIVE' | localize\"></co-input-checkbox>\r\n </co-filter-item>\r\n\r\n <!--Commissiecode-->\r\n <co-filter-item\r\n [placeholder]=\"'COMMISSION_CODE' | localize\"\r\n [expanded]=\"true\"\r\n [collection]=\"commissionCodes\"\r\n [searchPlaceholder]=\"searchPlaceholder | localize\"\r\n [showMoreLabel]=\"showMoreLabel | localize\"\r\n [showLessLabel]=\"showLessLabel | localize\"\r\n (collectionChange)=\"this.filterRequestService.handleCollectionChangeForArray($event, 'commissionCodes')\"\r\n >\r\n </co-filter-item>\r\n\r\n <!--Inactieve transacties-->\r\n <co-filter-item\r\n [placeholder]=\"'INACTIVE_TRANSACTIONS' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-checkbox\r\n [model]=\"searchRequest.active === false\"\r\n (modelChange)=\"searchRequest.active = !$event\"\r\n [label]=\"'INACTIVE_TRANSACTIONS' | localize\"\r\n ></co-input-checkbox>\r\n </co-filter-item>\r\n\r\n <!--Klantnaam: voorlopig met input-text. todo: aanpassen als er een collection API is-->\r\n <co-filter-item\r\n [placeholder]=\"'CUSTOMER_NAME' | localize\"\r\n [customContent]=\"true\"\r\n [expanded]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.relationName\"\r\n [placeholder]=\"'CUSTOMER_NAME' | localize\"></co-input-text>\r\n </co-filter-item>\r\n\r\n <!--Klantgroep-->\r\n <co-filter-item\r\n [placeholder]=\"'CUSTOMER_GROUP' | localize\"\r\n [expanded]=\"true\"\r\n [collection]=\"customerGroups\"\r\n [searchPlaceholder]=\"searchPlaceholder | localize\"\r\n [showMoreLabel]=\"showMoreLabel | localize\"\r\n [showLessLabel]=\"showLessLabel | localize\"\r\n (collectionChange)=\"this.filterRequestService.handleCollectionChangeForSingleValue($event, 'customerGroupId')\">\r\n </co-filter-item>\r\n <div class=\"filter-button-container\">\r\n <co-button class=\"clickable\" [label]=\"'Filter'\" (click)=\"onFilterButtonClick()\"></co-button>\r\n </div>\r\n </div>\r\n `\r\n})\r\nexport class TransactionFilterContentOrderComponent implements OnInit {\r\n\r\n @HostBinding(\"class.co-transaction-filter-content-order\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public searchRequest: TransactionSearchViewRequest = this.searchService.searchRequest;\r\n\r\n public searchPlaceholder: string = \"SEARCH_IN_COLLECTION\";\r\n public showMoreLabel: string = \"SHOW_MORE\";\r\n public showLessLabel: string = \"SHOW_LESS\";\r\n\r\n public salesPersons: FilterItemViewmodel[];\r\n public salesPersonsFields: { text, value } = {text: \"name\", value: \"relationId\"};\r\n\r\n public tags: FilterItemViewmodel[];\r\n public tagsFields: { text, value } = {text: \"description\", value: \"tagValueId\"};\r\n\r\n public branches: FilterItemViewmodel[];\r\n public branchFields: { text, value } = {text: \"description\", value: \"relationId\"};\r\n\r\n public onHoldCodes: FilterItemViewmodel[];\r\n public onHoldCodeFields: { text, value } = {text: \"description\", value: \"onHoldCode\"};\r\n\r\n public commissionCodes: FilterItemViewmodel[];\r\n public commissionCodeFields: { text, value } = {text: \"description\", value: \"code\"};\r\n\r\n public customerGroups: FilterItemViewmodel[];\r\n public customerGroupFields: { text, value } = {text: \"naam\", value: \"groepsnummer\"};\r\n\r\n public transStartDate: Date;\r\n public transEndDate: Date;\r\n public deliveryStartDate: Date;\r\n public deliveryEndDate: Date;\r\n\r\n constructor(\r\n public searchService: TransactionSearchService,\r\n public filterRequestService: FilterRequestService,\r\n private _transactionService: TransactionService,\r\n ) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._setRangeDates();\r\n this._setSalesPersons();\r\n this._setTags();\r\n this._setBranches();\r\n this._setOnHoldCodes();\r\n this._setCommissionCodes();\r\n this._setCustomerGroups();\r\n }\r\n\r\n public onFilterButtonClick(): void {\r\n this.searchService.searchTransactions();\r\n }\r\n\r\n private _setRangeDates(): void {\r\n this.transStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.rangeTransDate, 0);\r\n this.transEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.rangeTransDate, 1);\r\n this.deliveryStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.deliveryDateRange, 0);\r\n this.deliveryEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.deliveryDateRange, 1);\r\n }\r\n\r\n //Verkoper\r\n private _setSalesPersons(): void {\r\n this._transactionService.getSalesPersons().then((salesPersons: SalesPerson[]) => {\r\n this.salesPersons = new FilterViewmodel(salesPersons, this.salesPersonsFields).filterItems;\r\n });\r\n }\r\n\r\n // Tags\r\n private _setTags(): void {\r\n this._transactionService.getTags(1).then((tags: Tag[]) => {\r\n this.tags = new FilterViewmodel(tags, this.tagsFields).filterItems;\r\n });\r\n }\r\n\r\n //Branches\r\n private _setBranches(): void {\r\n this._transactionService.getBranches().then((branches: BranchLov[]) => {\r\n this.branches = new FilterViewmodel(branches, this.branchFields).filterItems;\r\n });\r\n }\r\n\r\n //OnHoldCodes\r\n private _setOnHoldCodes(): void {\r\n this._transactionService.getOnHoldCodes().then((onHoldCodes: OnHoldCode[]) => {\r\n this.onHoldCodes = new FilterViewmodel(onHoldCodes, this.onHoldCodeFields).filterItems;\r\n });\r\n }\r\n\r\n //CommissionCodes\r\n private _setCommissionCodes(): void {\r\n this._transactionService.getCommissionCodes(\"NL\").then((commissionCodes: CoDomainValue[]) => {\r\n this.commissionCodes = new FilterViewmodel(commissionCodes, this.commissionCodeFields).filterItems;\r\n });\r\n }\r\n\r\n //CustomerGroups\r\n private _setCustomerGroups(): void {\r\n this._transactionService.getCustomerGroups().then((customerGroups: CustomerGroup[]) => {\r\n this.customerGroups = new FilterViewmodel(customerGroups, this.customerGroupFields).filterItems;\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {\r\n InputDatePickerModule,\r\n InputListboxModule,\r\n InputTextModule,\r\n MultiSelectListModule,\r\n FilterItemModule, InputDateRangePickerModule, ButtonModule, InputCheckboxModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../../pipe/pipe.module\";\r\nimport {TransactionFilterContentOrderComponent} from \"./transaction-filter-content-order.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputDatePickerModule,\r\n PipeModule,\r\n MultiSelectListModule,\r\n InputTextModule,\r\n InputListboxModule,\r\n FilterItemModule,\r\n InputDateRangePickerModule,\r\n ButtonModule,\r\n InputCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionFilterContentOrderComponent\r\n ],\r\n exports: [\r\n TransactionFilterContentOrderComponent\r\n ]\r\n})\r\nexport class TransactionFilterContentOrderModule {\r\n}\r\n","import { Component, ElementRef, EventEmitter, HostBinding, Output, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { Icon } from \"../../../enum/icon.enum\";\r\nimport { IconCacheService } from \"../../../service/icon-cache.service\";\r\nimport { TransactionSearchService } from \"../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: 'co-transaction-filter',\r\n template: `\r\n <div class=\"transaction-filter-header-wrapper\">\r\n <div class=\"transaction-filter-header\">\r\n <span [textContent]=\"'Filters'\"></span>\r\n <co-icon class=\"filter-reset-icon clickable\"\r\n [iconData]=\"iconCacheService.getIcon(icon.SyncAlt)\"\r\n (click)=\"resetFilters()\"\r\n ></co-icon>\r\n </div>\r\n <co-icon class=\"clickable\" [iconData]=\"iconCacheService.getIcon(icon.Cancel)\"\r\n (click)=\"onCloseButtonClick()\"></co-icon>\r\n </div>\r\n <div class=\"transaction-filter-categories\">\r\n <co-transaction-filter-categories [categories]=\"filterCategories\"\r\n (categoryClick)=\"handleCategoryClick($event)\"></co-transaction-filter-categories>\r\n </div>\r\n <div #filterItems class=\"transaction-category-filter-wrapper\" data-ride=\"carousel\">\r\n <div #orderFilter class=\"transaction-filter-category-content\">\r\n <co-transaction-filter-content-order></co-transaction-filter-content-order>\r\n </div>\r\n <div #logisticsFilter class=\"transaction-filter-category-content\">\r\n <co-transaction-filter-content-logistics></co-transaction-filter-content-logistics>\r\n </div>\r\n <div #articleFilter class=\"transaction-filter-category-content\">\r\n <co-transaction-filter-content-article></co-transaction-filter-content-article>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionFilterComponent {\r\n public readonly icon: typeof Icon = Icon;\r\n\r\n @ViewChild('filterItems', {read: ElementRef})\r\n public filterItems: ElementRef;\r\n\r\n @ViewChild('orderFilter', {read: ElementRef})\r\n public orderFilter: ElementRef;\r\n\r\n @ViewChild('logisticsFilter', {read: ElementRef})\r\n public logisticsFilter: ElementRef;\r\n\r\n @ViewChild('articleFilter', {read: ElementRef})\r\n public articleFilter: ElementRef;\r\n\r\n @Output()\r\n public closeButtonClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public resetFilterClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-transaction-filter\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public filterCategories: string[] = [\r\n 'Order',\r\n 'Logistiek',\r\n 'Artikel'\r\n ]\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n public searchService: TransactionSearchService,\r\n ) {\r\n }\r\n\r\n public handleCategoryClick(cat: string): void {\r\n if (cat === 'Order') {\r\n this.filterItems.nativeElement.scrollLeft = this.orderFilter.nativeElement.offsetLeft - this.filterItems.nativeElement.offsetLeft;\r\n } else if (cat === 'Logistiek') {\r\n this.filterItems.nativeElement.scrollLeft = this.logisticsFilter.nativeElement.offsetLeft - this.filterItems.nativeElement.offsetLeft;\r\n } else {\r\n this.filterItems.nativeElement.scrollLeft = this.articleFilter.nativeElement.offsetLeft - this.filterItems.nativeElement.offsetLeft;\r\n }\r\n }\r\n\r\n public onCloseButtonClick(): void {\r\n this.closeButtonClick.emit();\r\n }\r\n\r\n public resetFilters(): void {\r\n this.searchService.resetFilters();\r\n this.resetFilterClick.emit();\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'co-transaction-filter-categories',\r\n template: `\r\n <div class=\"transaction-filter-categories-wrapper\">\r\n <div class=\"transaction-filter-category\" *ngFor=\"let category of categories\" [class.active]=\"category === activeCategory\"\r\n [textContent]=\"category\"\r\n (click)=\"handleCategoryClick(category)\"\r\n ></div>\r\n </div>\r\n `\r\n})\r\nexport class TransactionFilterCategoriesComponent {\r\n\r\n @Input()\r\n public set categories(value: string[]) {\r\n if (value && value.length > 0) {\r\n this._categories = value;\r\n this.activeCategory = this._categories[0];\r\n }\r\n }\r\n\r\n public get categories(): string[] {\r\n return this._categories;\r\n }\r\n\r\n @Output()\r\n public categoryClick: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-transaction-filter-categories\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public activeCategory: string;\r\n\r\n private _categories: string[] = [];\r\n\r\n public handleCategoryClick(category: string): void {\r\n this.activeCategory = category;\r\n this.categoryClick.emit(category);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionFilterCategoriesComponent} from \"./transaction-filter-categories.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n TransactionFilterCategoriesComponent\r\n ],\r\n exports: [\r\n TransactionFilterCategoriesComponent\r\n ]\r\n})\r\nexport class TransactionFilterCategoriesModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {\r\n TransactionFilterContentArticleModule\r\n} from \"../transaction-filter-content-article/transaction-filter-content-article.module\";\r\nimport {\r\n TransactionFilterContentLogisticsModule\r\n} from \"../transaction-filter-content-logistics/transaction-filter-content-logistics.module\";\r\nimport {\r\n TransactionFilterContentOrderModule\r\n} from \"../transaction-filter-content-order/transaction-filter-content-order.module\";\r\nimport {TransactionFilterComponent} from \"./transaction-filter.component\";\r\nimport {ButtonModule, IconModule, InputDatePickerModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionFilterCategoriesModule} from \"../transaction-filter-categories/transaction-filter-categories.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ButtonModule,\r\n IconModule,\r\n TransactionFilterCategoriesModule,\r\n InputTextModule,\r\n PipeModule,\r\n InputDatePickerModule,\r\n TransactionFilterContentOrderModule,\r\n TransactionFilterContentLogisticsModule,\r\n TransactionFilterContentArticleModule\r\n ],\r\n declarations: [\r\n TransactionFilterComponent\r\n ],\r\n exports: [\r\n TransactionFilterComponent\r\n ]\r\n})\r\nexport class TransactionFilterModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputSearchModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionSearchComponent} from \"./transaction-search.component\";\r\nimport {TransactionSearchResultModule} from \"./transaction-search-result/transaction-search-result.module\";\r\nimport {TransactionFilterModule} from \"./transaction-filter/transaction-filter.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputSearchModule,\r\n TransactionSearchResultModule,\r\n TransactionFilterModule\r\n ],\r\n declarations: [\r\n TransactionSearchComponent\r\n ],\r\n exports: [\r\n TransactionSearchComponent\r\n ]\r\n})\r\nexport class TransactionSearchModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header\",\r\n template: `\r\n <div class=\"transaction-header-wrapper\">\r\n <co-transaction-header-relation [relationId]=\"relationId\"></co-transaction-header-relation>\r\n<!--\r\n <co-transaction-header-contact [relationId]=\"relationId\"></co-transaction-header-contact>\r\n-->\r\n <co-transaction-header-delivery [transaction]=\"transaction\"></co-transaction-header-delivery>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set transaction(value: TransactionInfoResponse) {\r\n if (value) {\r\n this._transaction = value;\r\n this.relationId = this.transaction.transactionInfo && this.transaction.transactionInfo.relation ? this.transaction.transactionInfo.relation.relationId : undefined;\r\n }\r\n }\r\n\r\n public get transaction(): TransactionInfoResponse {\r\n return this._transaction;\r\n }\r\n\r\n @HostBinding(\"class.co-transaction-header\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public relationId: number;\r\n\r\n private _transaction: TransactionInfoResponse = new TransactionInfoResponse()\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderComponent} from \"./transaction-header.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionHeaderRelationModule} from \"./transaction-header-relation/transaction-header-relation.module\";\r\nimport {TransactionHeaderDeliveryModule} from \"./transaction-header-delivery/transaction-header-delivery.module\";\r\nimport {TransactionHeaderPaymentModule} from \"./transaction-header-payment/transaction-header-payment.module\";\r\nimport {TransactionHeaderOrderModule} from \"./transaction-header-order/transaction-header-order.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionHeaderRelationModule,\r\n TransactionHeaderOrderModule,\r\n TransactionHeaderDeliveryModule,\r\n TransactionHeaderPaymentModule\r\n ],\r\n declarations: [\r\n TransactionHeaderComponent\r\n ],\r\n exports: [\r\n TransactionHeaderComponent\r\n ]\r\n})\r\nexport class TransactionHeaderModule {}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-grid\",\r\n template: `\r\n\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineGridComponent {\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo[] = [];\r\n\r\n @HostBinding(\"class.co-transaction-line-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionLineGridComponent} from \"./transaction-line-grid.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule\r\n ],\r\n declarations: [\r\n TransactionLineGridComponent\r\n ],\r\n exports: [\r\n TransactionLineGridComponent\r\n ]\r\n})\r\nexport class TransactionLineGridModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {AvatarComponent as ɵbp} from './lib/component/avatar/avatar.component';\nexport {AvatarModule as ɵbo} from './lib/component/avatar/avatar.module';\nexport {CheckoutLoginComponent as ɵcf} from './lib/component/checkout/checkout-login/checkout-login.component';\nexport {CheckoutOverviewDeliveryAddressComponent as ɵcc} from './lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component';\nexport {CheckoutOverviewDeliveryEditComponent as ɵcb} from './lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component';\nexport {CheckoutOverviewRelationEditComponent as ɵca} from './lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component';\nexport {CheckOutRelationSuggestionsListItemComponent as ɵce} from './lib/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component';\nexport {CheckOutRelationSuggestionsListComponent as ɵcd} from './lib/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component';\nexport {ConfirmationDialogComponent as ɵq} from './lib/component/confirmation-dialog/confirmation-dialog.component';\nexport {ConfirmationDialogModule as ɵh} from './lib/component/confirmation-dialog/confirmation-dialog.module';\nexport {TransactionHeaderBlockComponent as ɵci} from './lib/component/core/base/components/transaction-header-block/transaction-header-block.component';\nexport {TransactionHeaderBlockModule as ɵch} from './lib/component/core/base/components/transaction-header-block/transaction-header-block.module';\nexport {DialogBaseComponent as ɵr} from './lib/component/core/base/dialog-base.component';\nexport {TransactionBaseComponent as ɵcj} from './lib/component/core/base/transaction-base.component';\nexport {TransactionGridBaseComponent as ɵeo} from './lib/component/core/base/transaction-grid-base.component';\nexport {CoreModule as ɵg} from './lib/component/core/core.module';\nexport {IconComponent as ɵt} from './lib/component/core/icon/icon.component';\nexport {ImageDisplayComponent as ɵs} from './lib/component/core/image-display/image-display.component';\nexport {CustomerGroupsComponent as ɵv} from './lib/component/core/relation/customer-groups.component';\nexport {StockStatusIndicatorComponent as ɵw} from './lib/component/core/stock-status-indicator/stock-status-indicator.component';\nexport {DeliveryTypeTileComponent as ɵbt} from './lib/component/delivery-type-tile/delivery-type-tile.component';\nexport {DeliveryTypeTileModule as ɵbs} from './lib/component/delivery-type-tile/delivery-type-tile.module';\nexport {DiscountComponent as ɵer} from './lib/component/discount/discount.component';\nexport {DiscountModule as ɵeq} from './lib/component/discount/discount.module';\nexport {PaymentTileComponent as ɵbw} from './lib/component/payment-tile/payment-tile.component';\nexport {PaymentTileModule as ɵbv} from './lib/component/payment-tile/payment-tile.module';\nexport {PaymentComponent as ɵbx} from './lib/component/payment/payment.component';\nexport {PaymentModule as ɵbu} from './lib/component/payment/payment.module';\nexport {RelationAddressSelectComponent as ɵbe} from './lib/component/relation-address-select/relation-address-select.component';\nexport {RelationAddressSelectModule as ɵz} from './lib/component/relation-address-select/relation-address-select.module';\nexport {RelationAddressTileComponent as ɵbd} from './lib/component/relation-address-tile/relation-address-tile.component';\nexport {RelationAddressTileModule as ɵba} from './lib/component/relation-address-tile/relation-address-tile.module';\nexport {RelationAddressComponent as ɵy} from './lib/component/relation-address/relation-address.component';\nexport {RelationAddressModule as ɵx} from './lib/component/relation-address/relation-address.module';\nexport {TransactionArticleTextOverviewComponent as ɵbm} from './lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component';\nexport {TransactionArticleTextOverviewModule as ɵbl} from './lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module';\nexport {TransactionArticleTextComponent as ɵbk} from './lib/component/shared/transaction-article-text/transaction-article-text.component';\nexport {TransactionArticleTextModule as ɵbj} from './lib/component/shared/transaction-article-text/transaction-article-text.module';\nexport {StepperStepComponent as ɵbi} from './lib/component/stepper/component/stepper-step.component';\nexport {StepperComponent as ɵbh} from './lib/component/stepper/stepper.component';\nexport {StepperModule as ɵbg} from './lib/component/stepper/stepper.module';\nexport {TileComponent as ɵbc} from './lib/component/tile/tile.component';\nexport {TileModule as ɵbb} from './lib/component/tile/tile.module';\nexport {TransactionButtonBarButtonComponent as ɵeg} from './lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component';\nexport {TransactionButtonBarComponent as ɵee} from './lib/component/transaction-button-bar/transaction-button-bar.component';\nexport {TransactionButtonBarModule as ɵed} from './lib/component/transaction-button-bar/transaction-button-bar.module';\nexport {TransactionConfirmationHistoryComponent as ɵei} from './lib/component/transaction-confirmation-history/transaction-confirmation-history.component';\nexport {TransactionConfirmationHistoryModule as ɵeh} from './lib/component/transaction-confirmation-history/transaction-confirmation-history.module';\nexport {TransactionBaseGridComponent as ɵen} from './lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component';\nexport {TransactionBaseGridModule as ɵco} from './lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module';\nexport {TransactionGridComponent as ɵfb} from './lib/component/transaction-grid/transaction-grid/transaction-grid.component';\nexport {TransactionGridModule as ɵfa} from './lib/component/transaction-grid/transaction-grid/transaction-grid.module';\nexport {TransactionHistoryGridComponent as ɵdx} from './lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component';\nexport {TransactionHistoryGridModule as ɵdu} from './lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module';\nexport {TransactionLinesGridComponent as ɵep} from './lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component';\nexport {TransactionLinesGridModule as ɵcn} from './lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module';\nexport {TransactionOrderConfirmationGridComponent as ɵev} from './lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component';\nexport {TransactionOrderConfirmationGridModule as ɵeu} from './lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module';\nexport {TransactionReceivedGoodsGridComponent as ɵex} from './lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component';\nexport {TransactionReceivedGoodsGridModule as ɵew} from './lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module';\nexport {TransactionHeaderPaymentComponent as ɵcl} from './lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component';\nexport {TransactionHeaderPaymentModule as ɵck} from './lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module';\nexport {TransactionHeaderComponent as ɵcm} from './lib/component/transaction-header/transaction-header/transaction-header.component';\nexport {TransactionHeaderModule as ɵcg} from './lib/component/transaction-header/transaction-header/transaction-header.module';\nexport {TransactionHistoryGridStatusComponent as ɵdw} from './lib/component/transaction-history-grid-status/transaction-history-grid-status.component';\nexport {TransactionHistoryGridStatusModule as ɵdv} from './lib/component/transaction-history-grid-status/transaction-history-grid-status.module';\nexport {TransactionLineCommissionCodeComponent as ɵdj} from './lib/component/transaction-line-fields/transaction-line-commission-code.component';\nexport {TransactionLineCommissionCodeModule as ɵdi} from './lib/component/transaction-line-fields/transaction-line-commission-code.module';\nexport {TransactionLineDeliveryDateComponent as ɵdf} from './lib/component/transaction-line-fields/transaction-line-delivery-date.component';\nexport {TransactionLineDeliveryDateModule as ɵde} from './lib/component/transaction-line-fields/transaction-line-delivery-date.module';\nexport {TransactionLineDeliveryMethodComponent as ɵdd} from './lib/component/transaction-line-fields/transaction-line-delivery-method.component';\nexport {TransactionLineDeliveryMethodModule as ɵdc} from './lib/component/transaction-line-fields/transaction-line-delivery-method.module';\nexport {TransactionLineDiscountAmountComponent as ɵdn} from './lib/component/transaction-line-fields/transaction-line-discount-amount.component';\nexport {TransactionLineDiscountAmountModule as ɵdm} from './lib/component/transaction-line-fields/transaction-line-discount-amount.module';\nexport {TransactionLineFieldsBaseComponent as ɵct} from './lib/component/transaction-line-fields/transaction-line-fields-base.component';\nexport {TransactionLineLineDiscountComponent as ɵdb} from './lib/component/transaction-line-fields/transaction-line-line-discount.component';\nexport {TransactionLineLineDiscountModule as ɵda} from './lib/component/transaction-line-fields/transaction-line-line-discount.module';\nexport {TransactionLinePriceListComponent as ɵcv} from './lib/component/transaction-line-fields/transaction-line-price-list.component';\nexport {TransactionLinePriceListModule as ɵcu} from './lib/component/transaction-line-fields/transaction-line-price-list.module';\nexport {TransactionLinePriceComponent as ɵcs} from './lib/component/transaction-line-fields/transaction-line-price.component';\nexport {TransactionLinePriceModule as ɵcr} from './lib/component/transaction-line-fields/transaction-line-price.module';\nexport {TransactionLineQuantityComponent as ɵcz} from './lib/component/transaction-line-fields/transaction-line-quantity.component';\nexport {TransactionLineQuantityModule as ɵcy} from './lib/component/transaction-line-fields/transaction-line-quantity.module';\nexport {TransactionLineQuantumDiscountComponent as ɵdp} from './lib/component/transaction-line-fields/transaction-line-quantum-discount.component';\nexport {TransactionLineQuantumDiscountModule as ɵdo} from './lib/component/transaction-line-fields/transaction-line-quantum-discount.module';\nexport {TransactionLineReferenceComponent as ɵdh} from './lib/component/transaction-line-fields/transaction-line-reference.component';\nexport {TransactionLineReferenceModule as ɵdg} from './lib/component/transaction-line-fields/transaction-line-reference.module';\nexport {TransactionLineSpecialDiscountComponent as ɵdr} from './lib/component/transaction-line-fields/transaction-line-special-discount.component';\nexport {TransactionLineSpecialDiscountModule as ɵdq} from './lib/component/transaction-line-fields/transaction-line-special-discount.module';\nexport {TransactionLineVatComponent as ɵcx} from './lib/component/transaction-line-fields/transaction-line-vat.component';\nexport {TransactionLineVatModule as ɵcw} from './lib/component/transaction-line-fields/transaction-line-vat.module';\nexport {TransactionLineWarehouseComponent as ɵdl} from './lib/component/transaction-line-fields/transaction-line-warehouse.component';\nexport {TransactionLineWarehouseModule as ɵdk} from './lib/component/transaction-line-fields/transaction-line-warehouse.module';\nexport {TransactionLineSidePanelDefaultComponent as ɵds} from './lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component';\nexport {TransactionLineSidePanelDefaultModule as ɵcq} from './lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module';\nexport {TransactionLineSidePanelPurchaseComponent as ɵek} from './lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component';\nexport {TransactionLineSidePanelPurchaseModule as ɵej} from './lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module';\nexport {TransactionLineSidePanelComponent as ɵem} from './lib/component/transaction-line-side-panel/transaction-line-side-panel.component';\nexport {TransactionLineSidePanelModule as ɵcp} from './lib/component/transaction-line-side-panel/transaction-line-side-panel.module';\nexport {TransactionQuickAccessOverviewComponent as ɵet} from './lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component';\nexport {TransactionQuickAccessOverviewModule as ɵes} from './lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module';\nexport {TransactionReceivingGoodsDetailsComponent as ɵea} from './lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component';\nexport {TransactionReceivingGoodsDetailsModule as ɵdz} from './lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module';\nexport {TransactionReceivingGoodsHistoryComponent as ɵdy} from './lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component';\nexport {TransactionReceivingGoodsHistoryModule as ɵdt} from './lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module';\nexport {TransactionSearchGridComponent as ɵfg} from './lib/component/transaction-search-grid/transaction-search-grid.component';\nexport {TransactionSearchGridModule as ɵff} from './lib/component/transaction-search-grid/transaction-search-grid.module';\nexport {FilterRequestService as ɵfo} from './lib/component/transaction-search/service/filter-request.service';\nexport {TransactionSearchService as ɵfi} from './lib/component/transaction-search/service/transaction-search.service';\nexport {TransactionFilterCategoriesComponent as ɵfl} from './lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component';\nexport {TransactionFilterCategoriesModule as ɵfk} from './lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module';\nexport {TransactionFilterContentArticleComponent as ɵfs} from './lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.component';\nexport {TransactionFilterContentArticleModule as ɵfr} from './lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.module';\nexport {TransactionFilterContentLogisticsComponent as ɵfq} from './lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.component';\nexport {TransactionFilterContentLogisticsModule as ɵfp} from './lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.module';\nexport {TransactionFilterContentOrderComponent as ɵfn} from './lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.component';\nexport {TransactionFilterContentOrderModule as ɵfm} from './lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.module';\nexport {TransactionFilterComponent as ɵft} from './lib/component/transaction-search/transaction-filter/transaction-filter.component';\nexport {TransactionFilterModule as ɵfj} from './lib/component/transaction-search/transaction-filter/transaction-filter.module';\nexport {TransactionSearchResultComponent as ɵfh} from './lib/component/transaction-search/transaction-search-result/transaction-search-result.component';\nexport {TransactionSearchResultModule as ɵfc} from './lib/component/transaction-search/transaction-search-result/transaction-search-result.module';\nexport {TransactionTileComponent as ɵfe} from './lib/component/transaction-search/transaction-tile/transaction-tile.component';\nexport {TransactionTileModule as ɵfd} from './lib/component/transaction-search/transaction-tile/transaction-tile.module';\nexport {ViewModeButtonsComponent as ɵez} from './lib/component/view-mode-buttons/view-mode-buttons.component';\nexport {ViewModeButtonsModule as ɵey} from './lib/component/view-mode-buttons/view-mode-buttons.module';\nexport {BusinessObjectFactory as ɵbf} from './lib/factory/business-object-factory';\nexport {AppendPipe as ɵj} from './lib/pipe/append.pipe';\nexport {CoCurrencyPipe as ɵn} from './lib/pipe/co-currency.pipe';\nexport {DateDurationPipe as ɵl} from './lib/pipe/date-duration.pipe';\nexport {DeliveryTimePipe as ɵk} from './lib/pipe/delivery-time.pipe';\nexport {LocalizePipe as ɵm} from './lib/pipe/localize.pipe';\nexport {PipeModule as ɵi} from './lib/pipe/pipe.module';\nexport {SafeHtmlPipe as ɵp} from './lib/pipe/safe-html.pipe';\nexport {SafeStylePipe as ɵo} from './lib/pipe/safe-style.pipe';\nexport {ArticleConnectorService as ɵec} from './lib/service/article-connector.service';\nexport {ArticleService as ɵeb} from './lib/service/article.service';\nexport {CollectionCacheService as ɵf} from './lib/service/collection-cache.service';\nexport {DialogService as ɵb} from './lib/service/dialog.service';\nexport {DictionaryService as ɵd} from './lib/service/dictionary.service';\nexport {IconCacheService as ɵu} from './lib/service/icon-cache.service';\nexport {IOneConnectorAdapterService as ɵbz} from './lib/service/ione-connector-adapter.service';\nexport {OptionsService as ɵc} from './lib/service/options.service';\nexport {PaymentService as ɵby} from './lib/service/payment.service';\nexport {PendingReasonService as ɵa} from './lib/service/pending-reason.service';\nexport {SharedConnectorService as ɵbr} from './lib/service/shared-connector.service';\nexport {SharedService as ɵbq} from './lib/service/shared.service';\nexport {TransactionConnectorService as ɵe} from './lib/service/transaction-connector.service';\nexport {TransactionEventService as ɵel} from './lib/service/transaction-event.service';\nexport {TransactionImageService as ɵbn} from './lib/service/transaction-image.service';\nexport {TransactionMappingService as ɵef} from './lib/service/transaction-mapping.service';"],"names":["Injectable","BehaviorSubject","PROP_META_KEY","ObjectUtils","notNill","GetLogicalBooleanValue","GetYesNoDbBooleanValue","GetTrueFalseDbBooleanValue","GetOneZeroDbBooleanValue","DateUtils","NumberUtils","isNill","MapPropertyDecorator","BooleanTextDecorator","JsonFieldFieldDecorator","ComplexArrayDecorator","Transaction","ArticleFullObject","ImageUtils","RelationPrivacySetting","TransactionInfoResponse","TransactionLineInfo","CustomerFullObject","CashRegister","PriceList","Vat","TransactionSearchView","DeliveryMethod","GetPostalCodeRetrievalOutputParams","RelationListObject","CoDomainValue","BranchLov","SalesPerson","Tag","OnHoldCode","Warehouse","CodeDescription","GoodsReceiptStatusWithHistory","Component","ViewEncapsulation","Input","HostBinding","ComponentFactoryResolver","ApplicationRef","Injector","PendingReasonType","ResolveLinePendingReasonRequest","TransactionLineType","RelationStatus","SequenceName","TransactionKind","NULL_CUSTOMER_FULL_OBJECT","AddressType","throwError","EventEmitter","ViewChild","Output","GenderType","ContactOption","RelationNameKind","NULL_RELATION_OBJECT","FunctionUtils","Address","CommunicationType","BusinessObjectUtils","FormMasterService","trigger","state","style","transition","animate","FormComponent","DomSanitizer","HostListener","Pipe","NgModule","CommonModule","CoDialogModule","ButtonModule","InputComboBoxModule","ElementRef","InputTextModule","FormModule","InputRadioButtonModule","IconModule","ContentChildren","TransactionAddTextLineRequest","FormsModule","InputCheckboxModule","InputListboxModule","DropDownModule","StockStatus","moveItemInArray","DragDropModule","InputNumberPickerModule","Sharedapi","CoDocument","RelationRequest","PriceDisplayPipeModule","PaymentMethod","KeyPadModule","InputDatePickerModule","CoDialogPromptModule","FlexModule","MultiSelectListModule","PopupModule","CoSidebarModule","CoGridModule","ReactiveFormsModule","CoRichTextEditorModule","Carousel3dModule","InputTextareaModule","CollapsibleModule","NULL_RELATION_LIST_OBJECT","relationRequest","Directive","TransactionHeaderComponent","ColumnAlign","SimpleGridColumnDirective","Subject","DiscountType","InputTextComponent","SimpleGridModule","GridToolbarButtonModule","ReceiveGoodsForPurchaseOrderCorrectionRequest","PurchaseOrderLineReceiptCorrectionDetails","DatePipe","Articles","StockLocation","PurchaseOrderLineReceiptDetails","ReceiveGoodsForPurchaseOrderRequest","GoodsReceiptStatus","InputSearchModule","TransactionHeaderModule","TransactionSearchViewRequest","RelationKind","FilterItemModule","InputDateRangePickerModule"],"mappings":"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"}
|