@colijnit/transaction 12.1.59 → 12.1.61

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.
Files changed (183) hide show
  1. package/bundles/colijnit-transaction.umd.js +1390 -1875
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +282 -278
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +283 -279
  6. package/esm2015/lib/cache/parameter-cache-field.js +2 -2
  7. package/esm2015/lib/cache/service/business-object-cache-manager.service.js +2 -2
  8. package/esm2015/lib/cache/service/select-multiple-cache.service.js +1 -1
  9. package/esm2015/lib/cache/service/select-multiple-parameterized-cache.service.js +1 -1
  10. package/esm2015/lib/cache/service/select-single-cache.service.js +1 -1
  11. package/esm2015/lib/component/avatar/avatar.component.js +8 -5
  12. package/esm2015/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +1 -1
  13. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +2 -5
  14. package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +2 -2
  15. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +19 -133
  16. package/esm2015/lib/component/checkout/checkout.component.js +8 -3
  17. package/esm2015/lib/component/core/base/transaction-filter-popup-base.component.js +1 -1
  18. package/esm2015/lib/component/core/base/transaction-header-base.component.js +1 -1
  19. package/esm2015/lib/component/core/base/transaction-header-filter-popup-base.component.js +1 -1
  20. package/esm2015/lib/component/core/base/transaction-line-base.component.js +1 -1
  21. package/esm2015/lib/component/core/relation/customer-groups.component.js +1 -1
  22. package/esm2015/lib/component/dialog/dialog-header-search/dialog-header-search.component.js +2 -2
  23. package/esm2015/lib/component/editable-label/editable-label.component.js +4 -1
  24. package/esm2015/lib/component/quick-send-button/quick-send-button.component.js +116 -0
  25. package/esm2015/lib/component/quick-send-button/quick-send-button.module.js +27 -0
  26. package/esm2015/lib/component/relation/relation-address/relation-address.component.js +4 -4
  27. package/esm2015/lib/component/relation/relation-address-select/relation-address-select.component.js +7 -8
  28. package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.component.js +1 -1
  29. package/esm2015/lib/component/relation/relation-addresses/relation-addresses.component.js +9 -17
  30. package/esm2015/lib/component/relation/relation-base.component.js +2 -2
  31. package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +4 -4
  32. package/esm2015/lib/component/relation/relation-general/relation-general.component.js +13 -10
  33. package/esm2015/lib/component/relation/relation-preferences/relation-preferences.component.js +2 -2
  34. package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.js +1 -1
  35. package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.js +1 -1
  36. package/esm2015/lib/component/relation/relation-type/relation-type.component.js +3 -3
  37. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +5 -6
  38. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.js +1 -5
  39. package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +2 -2
  40. package/esm2015/lib/component/transaction/transaction.component.js +6 -2
  41. package/esm2015/lib/component/transaction/transaction.module.js +4 -2
  42. package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +2 -2
  43. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +2 -2
  44. package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +103 -59
  45. package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.js +5 -3
  46. package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.js +9 -6
  47. package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.component.js +8 -5
  48. package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +9 -3
  49. package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +6 -4
  50. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.js +15 -0
  51. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +56 -30
  52. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.js +4 -3
  53. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-button.component.js +1 -1
  54. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +1 -1
  55. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.js +2 -2
  56. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.component.js +7 -4
  57. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.component.js +9 -6
  58. package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +1 -2
  59. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +21 -5
  60. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +2 -2
  61. package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +2 -2
  62. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.js +9 -6
  63. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.js +7 -4
  64. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.js +9 -6
  65. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +9 -6
  66. package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.js +2 -6
  67. package/esm2015/lib/component/transaction-search/transaction-search.component.js +2 -2
  68. package/esm2015/lib/model/relation-any-type.js +1 -1
  69. package/esm2015/lib/pipe/co-currency.pipe.js +2 -2
  70. package/esm2015/lib/pipe/date-duration.pipe.js +2 -2
  71. package/esm2015/lib/pipe/delivery-time.pipe.js +2 -2
  72. package/esm2015/lib/service/article-connector.service.js +10 -6
  73. package/esm2015/lib/service/dictionary.service.js +2 -2
  74. package/esm2015/lib/service/error.service.js +1 -1
  75. package/esm2015/lib/service/payment.service.js +1 -1
  76. package/esm2015/lib/service/pending-reason.service.js +25 -33
  77. package/esm2015/lib/service/relation-connector.service.js +192 -0
  78. package/esm2015/lib/service/relation.service.js +120 -0
  79. package/esm2015/lib/service/shared-connector.service.js +2 -2
  80. package/esm2015/lib/service/shared.service.js +10 -6
  81. package/esm2015/lib/service/transaction-connector-adapter.service.js +69 -140
  82. package/esm2015/lib/service/transaction-connector.service.js +21 -59
  83. package/esm2015/lib/service/transaction-event.service.js +4 -2
  84. package/esm2015/lib/service/transaction-mapping.service.js +2 -1
  85. package/esm2015/lib/service/transaction.service.js +29 -83
  86. package/fesm2015/colijnit-transaction.js +1057 -1528
  87. package/fesm2015/colijnit-transaction.js.map +1 -1
  88. package/lib/cache/service/business-object-cache-manager.service.d.ts +2 -1
  89. package/lib/cache/service/select-multiple-cache.service.d.ts +1 -1
  90. package/lib/cache/service/select-multiple-parameterized-cache.service.d.ts +1 -1
  91. package/lib/cache/service/select-single-cache.service.d.ts +2 -1
  92. package/lib/component/avatar/avatar.component.d.ts +5 -3
  93. package/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.d.ts +1 -1
  94. package/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +3 -5
  95. package/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.d.ts +2 -2
  96. package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +9 -14
  97. package/lib/component/core/base/transaction-filter-popup-base.component.d.ts +1 -1
  98. package/lib/component/core/base/transaction-header-base.component.d.ts +1 -1
  99. package/lib/component/core/base/transaction-header-filter-popup-base.component.d.ts +1 -1
  100. package/lib/component/core/base/transaction-line-base.component.d.ts +1 -1
  101. package/lib/component/core/relation/customer-groups.component.d.ts +1 -1
  102. package/lib/component/editable-label/editable-label.component.d.ts +1 -0
  103. package/lib/component/editable-label/style/_layout.scss +9 -0
  104. package/lib/component/editable-label/style/_material-definition.scss +1 -0
  105. package/lib/component/editable-label/style/material.scss +1 -1
  106. package/lib/component/payment/style/_layout.scss +3 -0
  107. package/lib/component/payment/style/_material-definition.scss +1 -0
  108. package/lib/component/quick-send-button/quick-send-button.component.d.ts +31 -0
  109. package/lib/component/quick-send-button/quick-send-button.module.d.ts +2 -0
  110. package/lib/component/quick-send-button/style/_layout.scss +52 -1
  111. package/lib/component/quick-send-button/style/_material-definition.scss +4 -0
  112. package/lib/component/relation/relation-address/relation-address.component.d.ts +2 -2
  113. package/lib/component/relation/relation-address-select/relation-address-select.component.d.ts +3 -4
  114. package/lib/component/relation/relation-address-tile/relation-address-tile.component.d.ts +1 -1
  115. package/lib/component/relation/relation-addresses/relation-addresses.component.d.ts +5 -5
  116. package/lib/component/relation/relation-base.component.d.ts +2 -2
  117. package/lib/component/relation/relation-contact-details/relation-contact-details.component.d.ts +1 -1
  118. package/lib/component/relation/relation-general/relation-general.component.d.ts +6 -4
  119. package/lib/component/relation/relation-preferences/relation-preferences.component.d.ts +1 -1
  120. package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.d.ts +1 -1
  121. package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.d.ts +1 -1
  122. package/lib/component/relation/relation-type/relation-type.component.d.ts +2 -2
  123. package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +2 -3
  124. package/lib/component/transaction/style/_layout.scss +4 -21
  125. package/lib/component/transaction/style/_material-definition.scss +1 -4
  126. package/lib/component/transaction-header/transaction-header/transaction-header.component.d.ts +1 -1
  127. package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.d.ts +17 -12
  128. package/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.d.ts +4 -2
  129. package/lib/component/transaction-header-fields/transaction-header-branch.component.d.ts +5 -3
  130. package/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.d.ts +3 -1
  131. package/lib/component/transaction-line/transaction-base-line/style/_layout.scss +3 -0
  132. package/lib/component/transaction-line/transaction-base-line/style/_material-definition.scss +6 -0
  133. package/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.d.ts +2 -1
  134. package/lib/component/transaction-line/transaction-line/style/_layout.scss +14 -8
  135. package/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.d.ts +4 -0
  136. package/lib/component/transaction-line/transaction-order-delivery-line/style/_layout.scss +4 -4
  137. package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.d.ts +9 -4
  138. package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +1 -1
  139. package/lib/component/transaction-line-fields/transaction-line-supplier-button.component.d.ts +3 -1
  140. package/lib/component/transaction-line-fields/transaction-line-supplier.component.d.ts +4 -2
  141. package/lib/component/transaction-lines/style/material.scss +1 -0
  142. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_layout.scss +4 -0
  143. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +10 -3
  144. package/lib/component/transaction-search/style/_layout.scss +1 -1
  145. package/lib/component/transaction-search/style/_material-definition.scss +0 -2
  146. package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.d.ts +3 -1
  147. package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.d.ts +3 -1
  148. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.d.ts +3 -1
  149. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.d.ts +3 -1
  150. package/lib/component/transaction-search/transaction-search-header/style/_layout.scss +0 -10
  151. package/lib/model/relation-any-type.d.ts +2 -2
  152. package/lib/service/article-connector.service.d.ts +3 -1
  153. package/lib/service/error.service.d.ts +1 -1
  154. package/lib/service/pending-reason.service.d.ts +5 -5
  155. package/lib/service/relation-connector.service.d.ts +34 -0
  156. package/lib/service/relation.service.d.ts +37 -0
  157. package/lib/service/shared.service.d.ts +3 -1
  158. package/lib/service/transaction-connector-adapter.service.d.ts +16 -25
  159. package/lib/service/transaction-connector.service.d.ts +14 -25
  160. package/lib/service/transaction-event.service.d.ts +4 -2
  161. package/lib/service/transaction.service.d.ts +9 -25
  162. package/lib/style/_variables.scss +23 -23
  163. package/package.json +9 -3
  164. package/esm2015/lib/factory/business-object-factory.js +0 -120
  165. package/esm2015/lib/factory/decorators/boolean.decorator.js +0 -102
  166. package/esm2015/lib/factory/decorators/complex-array.decorator.js +0 -55
  167. package/esm2015/lib/factory/decorators/complex-field.decorator.js +0 -57
  168. package/esm2015/lib/factory/decorators/date-field.decorator.js +0 -36
  169. package/esm2015/lib/factory/decorators/string-number.decorator.js +0 -43
  170. package/esm2015/lib/model/business-object.js +0 -81
  171. package/esm2015/lib/utils/array-utils.js +0 -183
  172. package/esm2015/lib/utils/is-nill.function.js +0 -5
  173. package/esm2015/lib/utils/string-utils.js +0 -64
  174. package/lib/factory/business-object-factory.d.ts +0 -23
  175. package/lib/factory/decorators/boolean.decorator.d.ts +0 -43
  176. package/lib/factory/decorators/complex-array.decorator.d.ts +0 -25
  177. package/lib/factory/decorators/complex-field.decorator.d.ts +0 -25
  178. package/lib/factory/decorators/date-field.decorator.d.ts +0 -17
  179. package/lib/factory/decorators/string-number.decorator.d.ts +0 -22
  180. package/lib/model/business-object.d.ts +0 -7
  181. package/lib/utils/array-utils.d.ts +0 -57
  182. package/lib/utils/is-nill.function.d.ts +0 -1
  183. package/lib/utils/string-utils.d.ts +0 -22
@@ -5,45 +5,24 @@ import { PendingReasonType } from '@colijnit/transactionapi/build/enum/pending-r
5
5
  import { SequenceName } from '@colijnit/transactionapi/build/enum/sequence-name.enum';
6
6
  import { TransactionKind } from '@colijnit/transactionapi/build/enum/transaction-kind.enum';
7
7
  import { TransactionLineType } from '@colijnit/transactionapi/build/enum/transaction-line-type.enum';
8
- import { ValidationResult } from '@colijnit/transactionapi/build/model/validation-result';
9
8
  import { BehaviorSubject, Subject, throwError } from 'rxjs';
10
9
  import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/transaction-info-response.bo';
10
+ import { StringUtils } from '@colijnit/ioneconnector/build/utils/string-utils';
11
11
  import { Marketing } from '@colijnit/transactionapi/build/model/marketing.bo';
12
- import { CustomerFullObject } from '@colijnit/transactionapi/build/model/customer-full-object.bo';
13
12
  import { Country } from '@colijnit/transactionapi/build/model/country.bo';
14
- import { PrivacySetting } from '@colijnit/transactionapi/build/model/privacy-setting.bo';
15
13
  import { DeliveryMethod } from '@colijnit/transactionapi/build/model/delivery-method.bo';
16
14
  import { DeliveryOption } from '@colijnit/transactionapi/build/model/delivery-option.bo';
17
- import { CoDomainValue } from '@colijnit/transactionapi/build/model/co-domain-value.bo';
18
15
  import { ArticleFullObject } from '@colijnit/transactionapi/build/model/article-full-object';
19
16
  import { CustomerGroup } from '@colijnit/transactionapi/build/model/customer-group.bo';
20
17
  import { CashRegister } from '@colijnit/transactionapi/build/model/cash-register';
21
18
  import { PriceList } from '@colijnit/transactionapi/build/model/price-list';
22
19
  import { Vat } from '@colijnit/transactionapi/build/model/vat';
23
- import { BranchLov } from '@colijnit/transactionapi/build/model/branch-lov.bo';
24
- import { SalesPerson } from '@colijnit/transactionapi/build/model/sales-person.bo';
25
- import { Tag } from '@colijnit/transactionapi/build/model/tag';
26
20
  import { OnHoldCode } from '@colijnit/transactionapi/build/model/on-hold-code.bo';
27
21
  import { Warehouse } from '@colijnit/transactionapi/build/model/warehouse.bo';
28
22
  import { PaymentMethod } from '@colijnit/transactionapi/build/model/payment-method.bo';
29
- import { ObjectUtils } from '@colijnit/transactionapi/build/utils/object-utils';
30
- import { RelationPrivacySetting } from '@colijnit/transactionapi/build/model/relation-privacy-setting.bo';
23
+ import { ObjectUtils } from '@colijnit/ioneconnector/build/utils/object-utils';
31
24
  import { GetPostalCodeRetrievalOutputParams } from '@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params';
32
- import { RelationListObject } from '@colijnit/transactionapi/build/model/relation-list-object.bo';
33
25
  import { Transaction } from '@colijnit/transactionapi/build/transaction';
34
- import { notNill } from '@colijnit/transactionapi/build/utils/function/not-nill.function';
35
- import { GetYesNoDbBooleanValue } from '@colijnit/transactionapi/build/enum/yes-no-db-type.enum';
36
- import { GetTrueFalseDbBooleanValue } from '@colijnit/transactionapi/build/enum/true-false-db-type.enum';
37
- import { GetOneZeroDbBooleanValue } from '@colijnit/transactionapi/build/enum/one-zero-bool-db-type.enum';
38
- import { GetLogicalBooleanValue } from '@colijnit/transactionapi/build/enum/db-boolean-value-type.enum';
39
- import { DateUtils } from '@colijnit/transactionapi/build/utils/date-utils';
40
- import { NumberUtils } from '@colijnit/transactionapi/build/utils/number-utils';
41
- import { isNill as isNill$1 } from '@colijnit/transactionapi/build/utils/function/is-nill.function';
42
- import { MapPropertyDecorator } from '@colijnit/transactionapi/build/factory/decorators/map-property.decorator';
43
- import { BooleanTextDecorator as BooleanTextDecorator$1 } from '@colijnit/transactionapi/build/factory/decorators/boolean.decorator';
44
- import { JsonFieldFieldDecorator } from '@colijnit/transactionapi/build/factory/decorators/json.decorator';
45
- import { ComplexArrayDecorator as ComplexArrayDecorator$1 } from '@colijnit/transactionapi/build/factory/decorators/complex-array.decorator';
46
- import { ImageUtils } from '@colijnit/transactionapi/build/utils/image-utils';
47
26
  import { TransactionLineInfo } from '@colijnit/transactionapi/build/model/transaction-line-info.bo';
48
27
  import { TransactionSearchView } from '@colijnit/transactionapi/build/model/transaction-search-view.bo';
49
28
  import { CodeDescription } from '@colijnit/transactionapi/build/model/code-description';
@@ -54,10 +33,18 @@ import { PaymentLinkStatus } from '@colijnit/transactionapi/build/model/payment-
54
33
  import * as i1 from '@angular/platform-browser';
55
34
  import { DomSanitizer } from '@angular/platform-browser';
56
35
  import { TransactionInfo } from '@colijnit/transactionapi/build/model/transaction-info.bo';
57
- import { SupplierFullObject } from '@colijnit/transactionapi/build/model/supplier-full-object.bo';
58
36
  import { TransactionDownPaymentInfo } from '@colijnit/transactionapi/build/model/transaction-down-payment-info.bo';
59
37
  import { TransactionLockResult } from '@colijnit/transactionapi/build/model/transaction-lock-result.bo';
60
- import { RelationStatus } from '@colijnit/transactionapi/build/enum/relation-status.enum';
38
+ import { PrivacySetting } from '@colijnit/mainapi/build/model/privacy-setting.bo';
39
+ import { RelationPrivacySetting } from '@colijnit/relationapi/build/model/relation-privacy-setting.bo';
40
+ import { BusinessObjectFactory } from '@colijnit/ioneconnector/build/factory/business-object-factory';
41
+ import { ImageUtils } from '@colijnit/ioneconnector/build/utils/image-utils';
42
+ import { CoDomainValue } from '@colijnit/mainapi/build/model/co-domain-value.bo';
43
+ import { Tag } from '@colijnit/mainapi/build/model/tag';
44
+ import { DeliveryOrderStatus } from '@colijnit/transactionapi/build/model/delivery-order-status.bo';
45
+ import { SalesPerson } from '@colijnit/relationapi/build/model/sales-person.bo';
46
+ import { StockStickersPrintLayouts } from '@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo';
47
+ import { Sharedapi } from '@colijnit/sharedapi/build/sharedapi';
61
48
  import { ResolveLinePendingReasonRequest } from '@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo';
62
49
  import { Articles } from '@colijnit/articleapi/build/articles';
63
50
  import { StockLocation } from '@colijnit/articleapi/build/model/stock-location.bo';
@@ -66,43 +53,57 @@ import { TurnoverGroupImage } from '@colijnit/articleapi/build/model/turnover-gr
66
53
  import { MainArticle } from '@colijnit/articleapi/build/model/main-article.bo';
67
54
  import { ResolveHeaderPendingReasonRequest } from '@colijnit/transactionapi/build/model/resolve-header-pending-reason-request.bo';
68
55
  import { DocDeliveryBatch } from '@colijnit/transactionapi/build/model/doc-delivery-batch.bo';
69
- import { NULL_CUSTOMER_FULL_OBJECT, NULL_RELATION_OBJECT } from '@colijnit/transactionapi/build/model/nul-relation-object';
70
- import { RelationKind } from '@colijnit/transactionapi/build/enum/relation-kind.enum';
56
+ import * as i4 from '@colijnit/sharedcomponents';
57
+ import { SharedService as SharedService$1, KeyPadModule, StatusbarModule, SendMethodDialogModule } from '@colijnit/sharedcomponents';
58
+ import { CustomerFullObject } from '@colijnit/relationapi/build/model/customer-full-object.bo';
59
+ import { RelationStatus } from '@colijnit/articleapi/build/enum/relation-status.enum';
60
+ import { RelationKind } from '@colijnit/articleapi/build/enum/relation-kind.enum';
61
+ import { RelationApi } from '@colijnit/relationapi';
62
+ import { SupplierFullObject } from '@colijnit/relationapi/build/model/supplier-full-object.bo';
63
+ import { RelationListObject } from '@colijnit/relationapi/build/model/relation-list-object.bo';
64
+ import { BranchLov } from '@colijnit/relationapi/build/model/branch-lov.bo';
71
65
  import { FormMasterService, CoDialogModule, ButtonModule, CollapsibleModule, InputCheckboxModule, InputTextModule, InputComboBoxModule, FormModule, InputRadioButtonModule, IconModule, InputTextComponent, InputListboxModule, DropDownModule, InputSearchModule, ColumnAlign, SimpleGridColumnDirective, ObserveVisibilityModule, ColorSequenceService, PriceDisplayPipeModule, InputDatePickerModule, Carousel3dModule, CarouselModule, FilterPipeModule, InputDatePickerComponent, InputTextareaComponent, InputTextareaModule, InputNumberPickerModule, CoDialogPromptModule, MultiSelectListModule, PopupModule, CoSidebarModule, CoGridModule, CoRichTextEditorModule, SimpleGridModule, GridToolbarButtonModule, InputDateRangePickerModule, ClickoutsideModule, CheckmarkOverlayModule, CoOrientation, CoDirection, FilterItemModule, PaginationModule, PaginationBarModule, IconCollapseHandleModule } from '@colijnit/corecomponents_v12';
72
66
  import { FlexModule } from '@angular/flex-layout';
73
- import { AddressType } from '@colijnit/transactionapi/build/enum/address-type.enum';
74
67
  import { trigger, state, style, transition, animate } from '@angular/animations';
68
+ import { RelationKind as RelationKind$1 } from '@colijnit/relationapi/build/enum/relation-kind.enum';
69
+ import { AddressType } from '@colijnit/relationapi/build/enum/address-type.enum';
75
70
  import { CommonModule, DatePipe } from '@angular/common';
71
+ import { DateUtils } from '@colijnit/ioneconnector/build/utils/date-utils';
72
+ import { NumberUtils } from '@colijnit/ioneconnector/build/utils/number-utils';
76
73
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
77
- import { Address } from '@colijnit/transactionapi/build/model/address.bo';
74
+ import { NULL_RELATION_OBJECT } from '@colijnit/relationapi/build/model/nul-relation-object';
75
+ import { Address } from '@colijnit/relationapi/build/model/address.bo';
76
+ import { isNill } from '@colijnit/ioneconnector/build/utils/function/is-nill.function';
78
77
  import { TransactionTotal } from '@colijnit/transactionapi/build/model/transaction-total.bo';
79
78
  import { DiscountType } from '@colijnit/transactionapi/build/enum/discount-type.enum';
80
79
  import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
81
80
  import { TransactionAddTextLineRequest } from '@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo';
82
- import { PagingParameters } from '@colijnit/transactionapi/build/model/paging-parameters';
83
81
  import { TransactionSearchViewRequest } from '@colijnit/transactionapi/build/model/transaction-search-view-request';
84
- import { RelationKind as RelationKind$1 } from '@colijnit/articleapi/build/enum/relation-kind.enum';
82
+ import { PagingParameters } from '@colijnit/ioneconnector/build/model/paging-parameters';
85
83
  import { GetPurchaseOrderConfirmation } from '@colijnit/transactionapi/build/model/get-purchase-order-confirmation';
86
84
  import { ReceiveGoodsForPurchaseOrderRequest } from '@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-request.bo';
87
85
  import { PurchaseOrderLineReceiptDetails } from '@colijnit/transactionapi/build/model/purchase-order-line-receipt-details.bo';
88
86
  import { StockStatus } from '@colijnit/transactionapi/build/enum/refcode/stock-status.enum';
89
- import { RelationRequest } from '@colijnit/transactionapi/build/model/relation-request';
90
- import { Sharedapi } from '@colijnit/sharedapi/build/sharedapi';
87
+ import { RelationRequest } from '@colijnit/relationapi/build/model/relation-request';
91
88
  import { CoDocument } from '@colijnit/sharedapi/build/model/co-document.bo';
92
- import { KeyPadModule, StatusbarModule, SendMethodDialogModule } from '@colijnit/sharedcomponents';
93
- import { RelationNameKind } from '@colijnit/transactionapi/build/enum/relation-name-kind.enum';
94
- import { GenderType } from '@colijnit/transactionapi/build/enum/gender-type.enum';
95
- import { FunctionUtils } from '@colijnit/transactionapi/build/utils/function-utils';
96
- import { CommunicationType } from '@colijnit/transactionapi/build/enum/communication-type.enum';
97
- import { ContactOption } from '@colijnit/transactionapi/build/model/contact-option.bo';
98
- import { BusinessObjectUtils } from '@colijnit/transactionapi/build/utils/business-object-utils';
89
+ import { ValidationResult } from '@colijnit/ioneconnector/build/model/validation-result';
90
+ import { Relation } from '@colijnit/relationapi/build/model/relation.bo';
91
+ import { RelationNameKind } from '@colijnit/relationapi/build/enum/relation-name-kind.enum';
92
+ import { GenderType } from '@colijnit/relationapi/build/enum/gender-type.enum';
93
+ import { FunctionUtils } from '@colijnit/ioneconnector/build/utils/function-utils';
94
+ import { ContactOption } from '@colijnit/relationapi/build/model/contact-option.bo';
95
+ import { CommunicationType } from '@colijnit/relationapi/build/enum/communication-type.enum';
96
+ import { BusinessObjectUtils } from '@colijnit/ioneconnector/build/utils/business-object-utils';
99
97
  import { ScrollingModule } from '@angular/cdk/scrolling';
100
- import { RelationSmallObject } from '@colijnit/transactionapi/build/model/relation-small-object.bo';
98
+ import { RelationSmallObject } from '@colijnit/relationapi/build/model/relation-small-object.bo';
101
99
  import { ReceiveGoodsForPurchaseOrderCorrectionRequest } from '@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-correction-request.bo';
102
100
  import { PurchaseOrderLineReceiptCorrectionDetails } from '@colijnit/transactionapi/build/model/purchase-order-line-receipt-correction-details.bo';
103
101
  import { GetPurchasePortalLine } from '@colijnit/transactionapi/build/model/get-purchase-portal-line';
104
102
  import { PurchasePortalFilters } from '@colijnit/transactionapi/build/model/purchase-portal-filters.bo';
105
103
  import { GoodsReceiptStatus } from '@colijnit/transactionapi/build/model/goods-receipt-status.bo';
104
+ import { EmailOrderConfirmation } from '@colijnit/sharedapi/build/model/report/email-order-confirmation';
105
+ import { PrintOrderConfirmation } from '@colijnit/sharedapi/build/model/report/print-order-confirmation';
106
+ import { PdfOrderConfirmation } from '@colijnit/sharedapi/build/model/report/pdf-order-confirmation';
106
107
  import { ArticleExtendedRequest } from '@colijnit/articleapi/build/model/article-extended-request';
107
108
  import { QuantityInHistoricState } from '@colijnit/transactionapi/build/enum/quantity-in-historic-state.enum';
108
109
 
@@ -114,70 +115,6 @@ var LanguageCode;
114
115
  LanguageCode["French"] = "fr-FR";
115
116
  })(LanguageCode || (LanguageCode = {}));
116
117
 
117
- // Static utility functions holder related to strings.
118
- class StringUtils {
119
- /**
120
- * Returns a new string where given placeholder in given source string are replaced by given replacement texts.
121
- *
122
- * Example usage:
123
- *
124
- * source = "ABCDABCD"
125
- * placeholder = "BC"
126
- * replacementTexts = "Z", "Z" (REST arguments)
127
- * OUTPUT = "AZDAZD"
128
- *
129
- * @param {string} source
130
- * @param {string} placeholder
131
- * @param {string} replacementTexts If only one is given, this function replaces all placeholders with that single replacementText.
132
- * If more are given, placeholders without a corresponding replacementText will remain their original placeholder characters.
133
- */
134
- static ReplaceOccurrencesIn(source, placeholder, ...replacementTexts) {
135
- // parameter guards
136
- if (!(source)) {
137
- return undefined;
138
- }
139
- if (!placeholder || replacementTexts.length === 0) {
140
- return source;
141
- }
142
- let outString = source;
143
- // one replacementText means replace for all
144
- if (replacementTexts.length === 1) {
145
- // "g" is the g flag to replace globally
146
- outString = outString.replace(placeholder, replacementTexts[0]);
147
- }
148
- else {
149
- // replace occurence i by replacementTexts[i], one at a time in loop (there might be a faster way..)
150
- for (let i = 0, len = replacementTexts.length; i < len; i++) {
151
- outString = outString.replace(placeholder, replacementTexts[i]);
152
- }
153
- }
154
- return outString;
155
- }
156
- // Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.
157
- static ParseString(arg, defaultValue = "") {
158
- if (!StringUtils.IsString(arg)) {
159
- if (arg && typeof arg.toString === "function") {
160
- arg = arg.toString();
161
- }
162
- else {
163
- arg = defaultValue;
164
- }
165
- }
166
- return arg;
167
- }
168
- static IsString(str) {
169
- return typeof str === 'string';
170
- }
171
- // Returns whether given str is a string and has a length > 0.
172
- static IsStringWithLength(str) {
173
- return str && StringUtils.IsString(str) && str.length > 0;
174
- }
175
- // Returns given string, escaped for use as string literal in regular expressions.
176
- static _escapeRegExp(str) {
177
- return str; // .replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^$\|]/g, "\\$&");
178
- }
179
- }
180
-
181
118
  class Dictionary {
182
119
  constructor() {
183
120
  this.strings = {
@@ -1361,765 +1298,109 @@ SelectMultipleParameterizedCacheService.ctorParameters = () => [
1361
1298
  { type: BusinessObjectCacheManagerService }
1362
1299
  ];
1363
1300
 
1364
- const PROP_META_KEY$3 = "complexField";
1365
- /**
1366
- * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.
1367
- */
1368
- /**
1369
- * Property decorator for properties of businessobject classes that are other strongly typed businessobjects.
1370
- * Ensures that the BusinessObjectFactoryService makes properly typed objects from incoming raw persistence data. Otherwise we couldn't add methods
1371
- * to our own businessobjects and use them, since all fields would be flat data without methods after BusinessObjectFactoryService creation.
1372
- *
1373
- * Usage:
1374
- *
1375
- * @ComplexField(Transaction)
1376
- * public transaction: Transaction
1377
- *
1378
- * Also keeps track of a "complexFieldProps" metadata on the class-level, as a reflect-metadata workaround to be able to
1379
- * retrieve all properties that have the @ComplexField(..) decorator (impossible with current Reflect API).
1380
- */
1381
- function ComplexField(type) {
1382
- return function (target, propertyKey) {
1383
- if (!target || !propertyKey) {
1384
- return;
1385
- }
1386
- // warn the programmer if given type was undefined; it's probably an import order glitch that caused this, because decorators seem
1387
- // to be immediately processed when a class is first imported
1388
- if (!type) {
1389
- // eslint-disable-next-line no-console
1390
- console.warn(`@ComplexField(type): type was UNDEFINED. Called on prop (${ObjectUtils.GetClassName(target)}, ${propertyKey}). ` +
1391
- `Class will not properly serialize and deserialize now. We've always been able to fix this by CHANGING IMPORT ORDERS ` +
1392
- `where both classes and their dependencies are used, e.g. factory, repository or models..`);
1393
- return;
1394
- }
1395
- Reflect.defineMetadata(PROP_META_KEY$3, type, target, propertyKey);
1396
- };
1397
- }
1398
- // Utility function holder of the ComplexFieldDecorator decorator.
1399
- class ComplexFieldDecorator {
1400
- /**
1401
- * Returns whether given property (as a string) on given object is a complex field. A complex field is a field that is decorated
1402
- * with the @ComplexField decorator.
1403
- */
1404
- static IsComplexField(target, propertyKey) {
1405
- if (!target || !propertyKey || typeof target !== "object") {
1406
- return false;
1407
- }
1408
- return (notNill(Reflect.getMetadata(PROP_META_KEY$3, target, propertyKey)));
1409
- }
1410
- // Returns the VALUE of the @ComplexField(VALUE) property decorator on the given propertyKey on the given modelObject.
1411
- static GetComplexFieldType(target, propertyKey) {
1412
- if (!target || !propertyKey || typeof target !== "object") {
1413
- return undefined;
1414
- }
1415
- return Reflect.getMetadata(PROP_META_KEY$3, target, propertyKey);
1416
- }
1301
+ class StandardText {
1417
1302
  }
1418
1303
 
1419
- const PROP_META_KEY$2 = "complexArray";
1420
- /**
1421
- * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.
1422
- */
1423
- /**
1424
- * Property decorator for properties of businessobject classes that are an array of other strongly typed businessobjects.
1425
- * Ensures that the BusinessObjectFactoryService makes properly typed objects from incoming raw persistence data. Otherwise we couldn't add methods
1426
- * to our own businessobjects and use them, since all fields would be flat data without methods after BusinessObjectFactoryService creation.
1427
- *
1428
- * Usage:
1429
- *
1430
- * @ComplexArray(TransactionLine)
1431
- * public transactionLines: TransactionLine[]
1432
- */
1433
- function ComplexArray(type) {
1434
- return function (target, propertyKey) {
1435
- if (!target || !propertyKey || typeof target !== "object") {
1436
- return;
1437
- }
1438
- // warn the programmer if given type was undefined; it's probably an import order glitch that caused this, because decorators seem
1439
- // to be immediately processed when a class is first imported
1440
- if (!type) {
1441
- console.warn(`@ComplexArray(type): type was UNDEFINED. Called on prop (${ObjectUtils.GetClassName(target)}, ${propertyKey}). ` +
1442
- `Class will not properly serialize and deserialize now. We've always been able to fix this by CHANGING IMPORT ORDERS ` +
1443
- `where both classes and their dependencies are used, e.g. factory, repository or models..`);
1444
- return;
1445
- }
1446
- Reflect.defineMetadata(PROP_META_KEY$2, type, target, propertyKey);
1447
- };
1448
- }
1449
- // Utility function holder of the ComplexArrayDecorator decorator.
1450
- class ComplexArrayDecorator {
1451
- /**
1452
- * Returns whether given property (as a string) on given object is a complex array. A complex array is an array field that is decorated
1453
- * with the @ComplexArray decorator.
1454
- */
1455
- static IsComplexArray(target, propertyKey) {
1456
- if (!target || !propertyKey || typeof target !== "object") {
1457
- return false;
1458
- }
1459
- return (notNill(Reflect.getMetadata(PROP_META_KEY$2, target, propertyKey)));
1460
- }
1461
- /**
1462
- * Returns the VALUE of the @ComplexArray(VALUE) property decorator on the given propertyKey on the given modelobject.
1463
- */
1464
- static GetComplexArrayType(target, propertyKey) {
1465
- if (!target || !propertyKey || typeof target !== "object") {
1466
- return undefined;
1467
- }
1468
- return Reflect.getMetadata(PROP_META_KEY$2, target, propertyKey);
1469
- }
1304
+ class TransactionSearchResult {
1470
1305
  }
1471
1306
 
1472
- const PROP_META_KEY_JN = "booleanTextJN";
1473
- const PROP_META_KEY_TF = "booleanTextTF";
1474
- const PROP_META_KEY_10 = "booleanText10";
1475
- /**
1476
- * 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
1477
- * our client application.
1478
- *
1479
- * The values 'J' and 'N' seem to be most commonly used. This is the default setting when using this decorator.
1480
- * You can pass 'T' or 1 for the other variants as follows:
1481
- *
1482
- * Usage:
1483
- *
1484
- * @BooleanText() or @BooleanText("J") (the default, uses YesNoDbType char values)
1485
- * public foo: boolean // 'J' and 'N' become true and false after BusinessObjectFactoryService and -SerializerService processing
1486
- *
1487
- * @BooleanText('T') (uses TrueFalseDbType char values)
1488
- * public bar: boolean // 'T' and 'F' become true and false after BusinessObjectFactoryService and -SerializerService processing
1489
- *
1490
- * @BooleanText(1)
1491
- * public baz: boolean // 1 and 0 become true and false after BusinessObjectFactoryService and -SerializerService processing
1492
- */
1493
- function BooleanText(type) {
1494
- return function (target, propertyKey) {
1495
- if (!target || !propertyKey) {
1496
- return;
1497
- }
1498
- // by default, it's a J N boolean text
1499
- if (!type || type === "J") {
1500
- Reflect.defineMetadata(PROP_META_KEY_JN, true, target, propertyKey);
1501
- }
1502
- else if (type === "T") {
1503
- Reflect.defineMetadata(PROP_META_KEY_TF, true, target, propertyKey);
1504
- }
1505
- else if (type === 1) {
1506
- Reflect.defineMetadata(PROP_META_KEY_10, true, target, propertyKey);
1507
- }
1508
- };
1509
- }
1510
- // Utility function holder of the BooleanTextDecorator decorator.
1511
- class BooleanTextDecorator {
1512
- /**
1513
- * Returns whether given property (as a string) on given object is a boolean text field. That is, it's a field that is decorated
1514
- * with the @BooleanText decorator.
1515
- */
1516
- static IsBooleanTextField(target, propertyKey) {
1517
- if (!target || !propertyKey || typeof target !== "object") {
1518
- return false;
1519
- }
1520
- return (Reflect.getMetadata(PROP_META_KEY_JN, target, propertyKey) === true
1521
- ||
1522
- Reflect.getMetadata(PROP_META_KEY_TF, target, propertyKey) === true
1523
- ||
1524
- Reflect.getMetadata(PROP_META_KEY_10, target, propertyKey) === true);
1525
- }
1526
- /**
1527
- * Returns the logical true or false value of given character ('J', 'N', 'T' or 'F') or number (0 or 1).
1528
- * Returns UNDEFINED if given boolChar was not recognised as a boolean text.
1529
- */
1530
- static GetLogicalBooleanValue(dbBoolChar) {
1531
- return GetLogicalBooleanValue(dbBoolChar);
1532
- }
1533
- /**
1534
- * Returns the boolean character / number of given logical bool property on target object. Uses its @BooleanText() annotation to decide
1535
- * what character / number to return.
1536
- * Used in BusinessObjectSerializerServiceService to convert logical bools to their original boolean character.
1537
- * @returns {string|number} The original, reverse-engineered boolean character (or number) of given object property, or undefined.
1538
- */
1539
- static GetDbBooleanValue(target, propertyKey) {
1540
- if (!target || !propertyKey || typeof target !== "object") {
1541
- return undefined;
1542
- }
1543
- let dbBoolVal = undefined;
1544
- const curBoolVal = target[propertyKey];
1545
- if (BooleanTextDecorator._IsJaNeeProp(target, propertyKey)) {
1546
- dbBoolVal = GetYesNoDbBooleanValue(curBoolVal);
1547
- }
1548
- else if (BooleanTextDecorator._IsTrueFalseProp(target, propertyKey)) {
1549
- dbBoolVal = GetTrueFalseDbBooleanValue(curBoolVal);
1550
- }
1551
- else if (BooleanTextDecorator._IsZeroOneProp(target, propertyKey)) {
1552
- dbBoolVal = GetOneZeroDbBooleanValue(curBoolVal);
1553
- }
1554
- return dbBoolVal;
1555
- }
1556
- static _IsJaNeeProp(target, propertyKey) {
1557
- return BooleanTextDecorator._IsProp(PROP_META_KEY_JN, target, propertyKey);
1558
- }
1559
- static _IsTrueFalseProp(target, propertyKey) {
1560
- return BooleanTextDecorator._IsProp(PROP_META_KEY_TF, target, propertyKey);
1561
- }
1562
- static _IsZeroOneProp(target, propertyKey) {
1563
- return BooleanTextDecorator._IsProp(PROP_META_KEY_10, target, propertyKey);
1564
- }
1565
- static _IsProp(prop, target, propertyKey) {
1566
- return !!target && !!propertyKey && typeof target === "object" && Reflect.hasMetadata(prop, target, propertyKey);
1567
- }
1568
- }
1307
+ var AppPopupButtonType;
1308
+ (function (AppPopupButtonType) {
1309
+ AppPopupButtonType[AppPopupButtonType["Ok"] = 0] = "Ok";
1310
+ AppPopupButtonType[AppPopupButtonType["Open"] = 1] = "Open";
1311
+ AppPopupButtonType[AppPopupButtonType["Save"] = 2] = "Save";
1312
+ AppPopupButtonType[AppPopupButtonType["Cancel"] = 3] = "Cancel";
1313
+ AppPopupButtonType[AppPopupButtonType["Yes"] = 4] = "Yes";
1314
+ AppPopupButtonType[AppPopupButtonType["No"] = 5] = "No";
1315
+ AppPopupButtonType[AppPopupButtonType["NoButton"] = 6] = "NoButton";
1316
+ })(AppPopupButtonType || (AppPopupButtonType = {}));
1569
1317
 
1570
- const PROP_META_KEY$1 = "dateField";
1571
- /**
1572
- * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.
1573
- */
1574
- /**
1575
- * Property decorator for properties of businessobject classes that are of type Date, but are sent to us as strings.
1576
- * Ensures that the BusinessObjectFactory makes proper JavaScript Date objects from incoming strings for @DateField() decorated properties.
1577
- *
1578
- * Usage:
1579
- *
1580
- * @DateField()
1581
- * public expectedDeliveryDate: Date
1582
- */
1583
- function DateField() {
1584
- return function (target, propertyKey) {
1585
- if (!target || !propertyKey) {
1586
- return;
1587
- }
1588
- Reflect.defineMetadata(PROP_META_KEY$1, undefined, target, propertyKey);
1589
- };
1590
- }
1591
- // Utility function holder of the @DateField() decorator.
1592
- class DateFieldFieldDecorator {
1593
- // Returns whether given property (as a string) on given object is decorated with @DateField().
1594
- static IsDateField(target, propertyKey) {
1595
- if (!target || !propertyKey || typeof target !== "object") {
1596
- return false;
1597
- }
1598
- return Reflect.hasMetadata(PROP_META_KEY$1, target, propertyKey);
1599
- }
1600
- static StringAsDate(str) {
1601
- return DateUtils.StringAsDate(str);
1318
+ class DialogBaseComponent {
1319
+ onClose(eventType, output) {
1320
+ return;
1602
1321
  }
1603
1322
  }
1604
1323
 
1605
- const PROP_META_KEY = "stringNumber";
1606
- /**
1607
- * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.
1608
- */
1609
- /**
1610
- * 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.
1611
- *
1612
- * Can be handy for incongruent backend api cases, where id data types are communicated wrongly via strings instead of numbers
1613
- * (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...)
1614
- *
1615
- * Used by business object factory and -serializer.
1616
- *
1617
- * Usage:
1618
- *
1619
- * @StringNumber()
1620
- * public rights: UserRightType
1621
- */
1622
- function StringNumber() {
1623
- return function (target, propertyKey) {
1624
- if (!target || !propertyKey) {
1625
- return;
1626
- }
1627
- Reflect.defineMetadata(PROP_META_KEY, undefined, target, propertyKey);
1628
- };
1629
- }
1630
- // Utility function holder of the @StringNumber() decorator.
1631
- class StringNumberDecorator {
1632
- // Returns whether given property (as a string) on given object is decorated with @StringNumber().
1633
- static IsStringNumber(target, propertyKey) {
1634
- if (!target || !propertyKey || typeof target !== "object") {
1635
- return false;
1636
- }
1637
- return Reflect.hasMetadata(PROP_META_KEY, target, propertyKey);
1638
- }
1639
- static StringAsNumber(str) {
1640
- return NumberUtils.ParseFloatKeepPrecision(str);
1641
- }
1642
- static NumberAsString(nr) {
1643
- return "" + nr;
1644
- }
1645
- }
1324
+ var AppPopupType;
1325
+ (function (AppPopupType) {
1326
+ AppPopupType[AppPopupType["Error"] = 0] = "Error";
1327
+ AppPopupType[AppPopupType["Warning"] = 1] = "Warning";
1328
+ AppPopupType[AppPopupType["Information"] = 2] = "Information";
1329
+ AppPopupType[AppPopupType["Confirmation"] = 3] = "Confirmation";
1330
+ })(AppPopupType || (AppPopupType = {}));
1646
1331
 
1647
- // @returns true iff given value equals null or equals undefined
1648
- function isNill(value) {
1649
- return value === null || value === undefined;
1650
- }
1651
-
1652
- class ArrayUtils {
1653
- /**
1654
- * Returns whether at least one element in given array could be found by given finder function.
1655
- *
1656
- * @param {T[]} array
1657
- * @param {(element: T) => boolean} finder A finder function that takes an element of the array and returns a boolean that represents
1658
- * the 'found status' for that element; whether it should have been found or not.
1659
- */
1660
- static ContainsAnElementFoundBy(array, finder) {
1661
- if (!array || !finder) {
1662
- return false;
1663
- }
1664
- return notNill(this.Find(array, finder));
1665
- }
1666
- /**
1667
- * Cross-browser Array.find() function. Returns the first item in given array for which the foundBy function returns true. Returns
1668
- * undefined when none was found.
1669
- *
1670
- * Example usage:
1671
- * const foundItem: BusinessObject = ArrayUtils.Find<BusinessObject>(modelArray, (modelItem: BusinessObject) => <br>
1672
- * (return modelItem.getId() === '1')
1673
- * * });
1674
- *
1675
- * @param array The array with items to search in.
1676
- * @param foundBy The finder function applied on each items of the array, when that returns true, the item is considered found.
1677
- */
1678
- static Find(array, foundBy) {
1679
- if (!array || !foundBy) {
1680
- return undefined;
1681
- }
1682
- for (let i = 0, len = array.length; i < len; i++) {
1683
- const itemCur = array[i];
1684
- if (foundBy(itemCur)) {
1685
- return itemCur;
1686
- }
1687
- }
1688
- return undefined;
1689
- }
1690
- // @returns empty array when nothing found, otherwise array with found items
1691
- static FindAll(array, foundBy) {
1692
- const answer = [];
1693
- if (!array || !foundBy) {
1694
- return answer;
1695
- }
1696
- for (let i = 0, len = array.length; i < len; i++) {
1697
- const itemCur = array[i];
1698
- if (foundBy(itemCur)) {
1699
- answer.push(itemCur);
1700
- }
1701
- }
1702
- return answer;
1703
- }
1704
- // returns a simple clone of given array, using array.slice(0)
1705
- static CloneArray(array) {
1706
- let answer = [];
1707
- if (array) {
1708
- answer = array.slice(0);
1709
- }
1710
- return answer;
1711
- }
1712
- /**
1713
- * Returns a 'semi deep clone' of given array. Its first-level members are object-shallow-cloned (optionally with a strongly typed constructor),
1714
- * or just as plain object (see param arrayItemsClass).
1715
- * @param array
1716
- * @param arrayItemsClass If provided, the cloned array's first-level items will be strongly typed to / constructed as this class. Otherwise
1717
- * it'll be a plain object.
1718
- * @param deepClone Set to true if array items contain FUNCTIONS that need to be cloned..
1719
- * @returns {Array} semi-deep clone of given array
1720
- */
1721
- static CloneArrayAndItsItems(array, arrayItemsClass, deepClone = false) {
1722
- const cloneArray = [];
1723
- if (array) {
1724
- for (let i = 0, len = array.length; i < len; i++) {
1725
- if (deepClone) {
1726
- cloneArray.push(ObjectUtils.GetDeepClone(array[i]));
1727
- }
1728
- else {
1729
- cloneArray.push(ObjectUtils.GetShallowClone(array[i], arrayItemsClass));
1730
- }
1731
- }
1732
- }
1733
- else {
1734
- return [];
1735
- }
1736
- return cloneArray;
1737
- }
1738
- /**
1739
- * Removes element at given index from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really
1740
- * removes the element using splice().
1741
- *
1742
- * @param {number} index
1743
- * @param {any[]} array in-out
1744
- * @returns {boolean} True if and only if the element on given index is succesfully removed from given array.
1745
- */
1746
- static RemoveElementAtIndex(index, array) {
1747
- if (NumberUtils.IsNaN(index) || index < 0 || !Array.isArray(array) || array.length === 0) {
1748
- return false;
1749
- }
1750
- if (index in array) {
1751
- array.splice(index, 1);
1752
- return true;
1753
- }
1754
- else {
1755
- return false;
1756
- }
1757
- }
1758
- /**
1759
- * Removes given element from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really removes the
1760
- * element using splice(). Also works on associative arrays.
1761
- *
1762
- * @param {T} element The element to remove.
1763
- * @param {T[]} array The array to remove the element from.
1764
- * @returns {boolean} True iff given element was truly successfully removed from given array.
1765
- */
1766
- static RemoveElement(element, array) {
1767
- if (!Array.isArray(array)) {
1768
- return false;
1769
- }
1770
- const index = array.indexOf(element);
1771
- return ArrayUtils.RemoveElementAtIndex(index, array);
1772
- }
1773
- // 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.
1774
- static IsArrayWithElements(arrayToCheck, classItemsMustBeInstanceOf) {
1775
- if (isNill$1(arrayToCheck)) {
1776
- return false;
1777
- }
1778
- if (Array.isArray(arrayToCheck) && arrayToCheck.length > 0) {
1779
- if (classItemsMustBeInstanceOf) {
1780
- return arrayToCheck[0] instanceof classItemsMustBeInstanceOf;
1781
- }
1782
- else {
1783
- return true;
1784
- }
1785
- }
1786
- else {
1787
- return false;
1788
- }
1789
- }
1790
- // Removes all elements from given array for which given filter function holds true. Returns true if at least one removed, else false.
1791
- static RemoveElementsByFilter(array, filterFunction) {
1792
- if (!ArrayUtils.IsArrayWithElements(array) || !filterFunction) {
1793
- return false;
1794
- }
1795
- let atLeastOneRemoved = false;
1796
- const len = array.length;
1797
- for (let i = len - 1; i >= 0; i--) {
1798
- const item = array[i];
1799
- if (filterFunction.call(this, item) === true) {
1800
- array.splice(i, 1);
1801
- atLeastOneRemoved = true;
1802
- }
1803
- }
1804
- return atLeastOneRemoved;
1805
- }
1806
- static MoveElement(element, toIndex, array) {
1807
- if (!Array.isArray(array) || isNill$1(toIndex)) {
1808
- return false;
1809
- }
1810
- const fromIndex = array.indexOf(element);
1811
- const toIndexCorrected = NumberUtils.GetNearestNumberWithinBounds(toIndex, 0, array.length - 1);
1812
- if (fromIndex === -1 || array[toIndexCorrected] === element) {
1813
- // element did not exist in given array, or already existed on given toIndex
1814
- return false;
1815
- }
1816
- array.splice(toIndexCorrected, 0, array.splice(fromIndex, 1)[0]);
1817
- return true;
1818
- }
1819
- // PRE: elements exists in given array. POST: given elementToPlace has a lower index than given afterThisElement. Array is in-out manipulated.
1820
- static PlaceElementAfterOther(array, elementToPlace, afterThisElement) {
1821
- if (array) {
1822
- const afterThisElIdx = array.indexOf(afterThisElement);
1823
- const elToPlaceIdx = array.indexOf(elementToPlace);
1824
- if (afterThisElIdx >= elToPlaceIdx) {
1825
- ArrayUtils.MoveElement(elementToPlace, afterThisElIdx + 1, array);
1826
- }
1827
- }
1828
- }
1829
- }
1830
-
1831
- /**
1832
- * 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
1833
- * object for a composite key.
1834
- *
1835
- * Simply to prevent type declarations of 'number | string | Object' for BO ID data all over the application.
1836
- */
1837
- class BusinessObject {
1838
- constructor() {
1839
- }
1840
- // Overridable. Returns the ID of the model. Concrete model classes often override this method to provide their specific ID getter.
1841
- getId() {
1842
- return this.id;
1843
- }
1844
- setOwnMappedPropsFromRawData(rawData = {}) {
1845
- if (!rawData) {
1846
- return;
1847
- }
1848
- Object.keys(this).forEach((key) => {
1849
- // check if property needs to be mapped
1850
- if (MapPropertyDecorator.IsMapProperty(this, key)) {
1851
- const mapKeys = MapPropertyDecorator.GetMapProperty(this, key).split(",");
1852
- const len = mapKeys.length;
1853
- for (let i = 0; i < len; i++) {
1854
- // eslint-disable-next-line
1855
- const mapKey = mapKeys[i].trim();
1856
- const objProp = rawData[mapKey];
1857
- let decorated = false;
1858
- if (rawData.hasOwnProperty(mapKey)) {
1859
- if (BooleanTextDecorator$1.IsBooleanTextField(this, key)) {
1860
- this[key] = BooleanTextDecorator$1.GetLogicalBooleanValue(objProp);
1861
- decorated = true;
1862
- }
1863
- if (JsonFieldFieldDecorator.IsJsonField(this, key)) {
1864
- this[key] = JsonFieldFieldDecorator.StringAsJson(objProp);
1865
- decorated = true;
1866
- }
1867
- if (ComplexArrayDecorator$1.IsComplexArray(this, key)) {
1868
- const arrayClass = ComplexArrayDecorator$1.GetComplexArrayType(this, key);
1869
- // eslint-disable-next-line
1870
- const origArray = this[key];
1871
- // eslint-disable-next-line
1872
- const newArray = [];
1873
- // eslint-disable-next-line @typescript-eslint/prefer-for-of
1874
- for (let j = 0; j < origArray.length; j++) {
1875
- // eslint-disable-next-line
1876
- const item = new arrayClass(origArray[j]);
1877
- newArray.push(item);
1878
- }
1879
- this[key] = newArray;
1880
- }
1881
- else {
1882
- if (!decorated) {
1883
- this[key] = objProp;
1884
- }
1885
- }
1886
- break;
1887
- }
1888
- }
1889
- }
1890
- else {
1891
- if (rawData.hasOwnProperty(key)) {
1892
- const objProp = rawData[key];
1893
- if (BooleanTextDecorator$1.IsBooleanTextField(this, key)) {
1894
- this[key] = BooleanTextDecorator$1.GetLogicalBooleanValue(objProp);
1895
- }
1896
- else if (JsonFieldFieldDecorator.IsJsonField(this, key)) {
1897
- this[key] = JsonFieldFieldDecorator.StringAsJson(objProp);
1898
- }
1899
- else {
1900
- this[key] = objProp;
1901
- }
1902
- }
1903
- }
1904
- });
1905
- }
1906
- }
1907
-
1908
- // Factory service creates businessobjects, using their decorators in the process.
1909
- class BusinessObjectFactory {
1910
- constructor() {
1911
- }
1912
- /**
1913
- * Creates and returns a new business data object instance of given class, with all given data properties applied to it in a
1914
- * complex-aware style. That is, all properties on given class that are decorated with @ComplexField(..) or @ComplexArray(..) decorators
1915
- * become strongly typed business objects, with methods that are usable and such.
1916
- *
1917
- * @param modelClass
1918
- * @param {Object} rawData The object with all (possibly raw/flat/not alive) data to be applied to the created model object
1919
- */
1920
- makeWithRawBackendData(modelClass, rawData) {
1921
- if (!modelClass) {
1922
- return undefined;
1923
- }
1924
- if (typeof modelClass !== typeof BusinessObject) {
1925
- return undefined;
1926
- }
1927
- const model = new modelClass();
1928
- this._copyAllPropertiesDecoratorProcessedFrom(rawData, model);
1929
- return model;
1930
- }
1931
- // see makeWithRawBackendData, this is a loop-wrapper around that method
1932
- makeBOArrayFromRawBackendDataArray(modelClass, arrayOfRawDatas) {
1933
- if (!modelClass) {
1934
- return undefined;
1935
- }
1936
- const trueClientBos = [];
1937
- if (arrayOfRawDatas) {
1938
- for (let i = 0, len = arrayOfRawDatas.length; i < len; i++) {
1939
- trueClientBos.push(this.makeWithRawBackendData(modelClass, arrayOfRawDatas[i]));
1940
- }
1941
- }
1942
- return trueClientBos;
1943
- }
1944
- instantiateNewBo(modelClass) {
1945
- return this.makeWithRawBackendData(modelClass, {});
1946
- }
1947
- /**
1948
- * Applies all properties of given 'source' object to the given 'destination' businessobject, if destination has that property.
1949
- * Works with the @ComplexField(), @ComplexArray, @BooleanText, @CoInject and @DateField annotations of given destination model.
1950
- *
1951
- * @param sourceData Raw data to copy to destination model
1952
- * @param {BusinessObject} destinationModel InOut: The annotated businessobject to apply source properties to
1953
- */
1954
- _copyAllPropertiesDecoratorProcessedFrom(sourceData, destinationModel) {
1955
- if (!sourceData || !destinationModel) {
1956
- return;
1957
- }
1958
- // process all source data into destinationModel
1959
- for (const srcPropKey in sourceData) {
1960
- if (!sourceData.hasOwnProperty(srcPropKey)) {
1961
- continue;
1962
- }
1963
- const srcPropVal = sourceData[srcPropKey];
1964
- if (ComplexFieldDecorator.IsComplexField(destinationModel, srcPropKey)) {
1965
- const classOfField = ComplexFieldDecorator.GetComplexFieldType(destinationModel, srcPropKey);
1966
- destinationModel[srcPropKey] = this.makeWithRawBackendData(classOfField, srcPropVal);
1967
- }
1968
- else if (ComplexArrayDecorator.IsComplexArray(destinationModel, srcPropKey)) {
1969
- const sourceArray = srcPropVal;
1970
- if (!sourceArray) {
1971
- continue;
1972
- }
1973
- const classOfArrayItems = ComplexArrayDecorator.GetComplexArrayType(destinationModel, srcPropKey);
1974
- const tempArray = [];
1975
- for (let i = 0, len = sourceArray.length; i < len; i++) {
1976
- tempArray.push(this.makeWithRawBackendData(classOfArrayItems, sourceArray[i]));
1977
- }
1978
- destinationModel[srcPropKey] = tempArray;
1979
- }
1980
- else if (BooleanTextDecorator.IsBooleanTextField(destinationModel, srcPropKey)) {
1981
- // logical 'true' and 'false' also allowed as incoming values for @BooleanText() properties: then just copy their value
1982
- if (typeof srcPropVal === "boolean") {
1983
- destinationModel[srcPropKey] = srcPropVal;
1984
- // here, it should be a 'J' or 'N' (or 'T' or 'F'): assign the associated boolean value
1985
- }
1986
- else {
1987
- destinationModel[srcPropKey] = BooleanTextDecorator.GetLogicalBooleanValue(srcPropVal);
1988
- }
1989
- }
1990
- else if (DateFieldFieldDecorator.IsDateField(destinationModel, srcPropKey)) {
1991
- destinationModel[srcPropKey] = DateFieldFieldDecorator.StringAsDate(srcPropVal);
1992
- }
1993
- else if (StringNumberDecorator.IsStringNumber(destinationModel, srcPropKey)) {
1994
- destinationModel[srcPropKey] = StringNumberDecorator.StringAsNumber(srcPropVal);
1995
- }
1996
- // non-decorated prop
1997
- else {
1998
- if (isNill(srcPropVal)) {
1999
- destinationModel[srcPropKey] = undefined;
2000
- }
2001
- else if (Array.isArray(srcPropVal)) {
2002
- destinationModel[srcPropKey] = ArrayUtils.CloneArray(srcPropVal);
2003
- }
2004
- else if (typeof srcPropVal === "object") {
2005
- if (srcPropVal instanceof Map) { //just copy the value in case of maps
2006
- destinationModel[srcPropKey] = srcPropVal;
2007
- }
2008
- else {
2009
- destinationModel[srcPropKey] = Object.assign({}, srcPropVal);
2010
- }
2011
- }
2012
- else {
2013
- destinationModel[srcPropKey] = srcPropVal;
2014
- }
2015
- }
2016
- }
2017
- }
2018
- }
2019
-
2020
- class StandardText {
2021
- }
2022
-
2023
- class TransactionSearchResult {
2024
- }
2025
-
2026
- var AppPopupButtonType;
2027
- (function (AppPopupButtonType) {
2028
- AppPopupButtonType[AppPopupButtonType["Ok"] = 0] = "Ok";
2029
- AppPopupButtonType[AppPopupButtonType["Open"] = 1] = "Open";
2030
- AppPopupButtonType[AppPopupButtonType["Save"] = 2] = "Save";
2031
- AppPopupButtonType[AppPopupButtonType["Cancel"] = 3] = "Cancel";
2032
- AppPopupButtonType[AppPopupButtonType["Yes"] = 4] = "Yes";
2033
- AppPopupButtonType[AppPopupButtonType["No"] = 5] = "No";
2034
- AppPopupButtonType[AppPopupButtonType["NoButton"] = 6] = "NoButton";
2035
- })(AppPopupButtonType || (AppPopupButtonType = {}));
2036
-
2037
- class DialogBaseComponent {
2038
- onClose(eventType, output) {
2039
- return;
2040
- }
2041
- }
2042
-
2043
- var AppPopupType;
2044
- (function (AppPopupType) {
2045
- AppPopupType[AppPopupType["Error"] = 0] = "Error";
2046
- AppPopupType[AppPopupType["Warning"] = 1] = "Warning";
2047
- AppPopupType[AppPopupType["Information"] = 2] = "Information";
2048
- AppPopupType[AppPopupType["Confirmation"] = 3] = "Confirmation";
2049
- })(AppPopupType || (AppPopupType = {}));
2050
-
2051
- /** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/
2052
- var Icon;
2053
- (function (Icon) {
2054
- Icon["ArrowPointDown"] = "arrow_point_down";
2055
- Icon["ArrowPointLeft"] = "arrow_point_left";
2056
- Icon["ArrowPointRight"] = "arrow_point_right";
2057
- Icon["Article"] = "article";
2058
- Icon["AtSolid"] = "at_solid";
2059
- Icon["BarcodeRegular"] = "barcode_regular";
2060
- Icon["BarcodeSolid"] = "barcode_solid";
2061
- Icon["BarsFilter"] = "bars_filter";
2062
- Icon["CalendarDay"] = "calendar_day";
2063
- Icon["CalendarDayRegular"] = "calendar_day_regular";
2064
- Icon["Cancel"] = "cancel";
2065
- Icon["CartCheck"] = "cart_check";
2066
- Icon["CartFlatbedBoxesSolid"] = "cart_flatbed_boxes_solid";
2067
- Icon["CartShoppingSolid"] = "cart_shopping_solid";
2068
- Icon["CashRegister"] = "cash_register";
2069
- Icon["CreditCardSolid"] = "credit_card_solid";
2070
- Icon["DeliveryTruck"] = "delivery_truck";
2071
- Icon["EditPencil"] = "edit_pencil";
2072
- Icon["EllipsisLight"] = "ellipsis_light";
2073
- Icon["EllipsisVerticalSolid"] = "ellipsis_vertical_solid";
2074
- Icon["FileCircleInfoSolid"] = "file_circle_info_solid";
2075
- Icon["FilePdfSolid"] = "file_pdf_solid";
2076
- Icon["GearSolid"] = "gear_solid";
2077
- Icon["GripDotsVerticalSolid"] = "grip_dots_vertical_solid";
2078
- Icon["IdealLogo"] = "ideal_logo";
2079
- Icon["InboxInSolid"] = "inbox_in_solid";
2080
- Icon["ListRegular"] = "list_regular";
2081
- Icon["ListView"] = "list_view";
2082
- Icon["LocationDotSolid"] = "location_dot_solid";
2083
- Icon["Lock"] = "lock";
2084
- Icon["LockKeyholeOpenSolid"] = "lock_keyhole_open_solid";
2085
- Icon["LockKeyholeSolid"] = "lock_keyhole_solid";
2086
- Icon["Magnifier"] = "magnifier";
2087
- Icon["MapMarker"] = "map_marker";
2088
- Icon["MasterDetail"] = "master_detail";
2089
- Icon["MemoCircleCheckSolid"] = "memo_circle_check_solid";
2090
- Icon["Menu"] = "menu";
2091
- Icon["ObjectIntersectSolid"] = "object_intersect_solid";
2092
- Icon["PalletBoxesSolid"] = "pallet_boxes_solid";
2093
- Icon["PlusRound"] = "plus_round";
2094
- Icon["PrintSolid"] = "print_solid";
2095
- Icon["Purchase"] = "purchase";
2096
- Icon["Resize"] = "resize";
2097
- Icon["ShareSolid"] = "share_solid";
2098
- Icon["ShelvesLight"] = "shelves_light";
2099
- Icon["ShelvesSolid"] = "shelves_solid";
2100
- Icon["SidePanel"] = "side_panel";
2101
- Icon["SlideIn"] = "slide_in";
2102
- Icon["SquareFull"] = "square_full";
2103
- Icon["SquareFullSolid"] = "square_full_solid";
2104
- Icon["SyncAlt"] = "sync_alt";
2105
- Icon["Tag"] = "tag";
2106
- Icon["TextSizeSolid"] = "text_size_solid";
2107
- Icon["TextSolid"] = "text_solid";
2108
- Icon["ThickLines"] = "thick_lines";
2109
- Icon["ThinLines"] = "thin_lines";
2110
- Icon["TrashBin"] = "trash_bin";
2111
- Icon["TrashCanLight"] = "trash_can_light";
2112
- Icon["TriangleDown"] = "triangle_down";
2113
- Icon["TriangleUp"] = "triangle_up";
2114
- Icon["Truck"] = "truck";
2115
- Icon["TruckArrowRightSolid"] = "truck_arrow_right_solid";
2116
- Icon["TruckContainerSolid"] = "truck_container_solid";
2117
- Icon["TruckFastSolid"] = "truck_fast_solid";
2118
- Icon["TruckMovingSolid"] = "truck_moving_solid";
2119
- Icon["Txt"] = "txt";
2120
- Icon["Unlock"] = "unlock";
2121
- Icon["Warehouse"] = "warehouse";
2122
- })(Icon || (Icon = {}));
1332
+ /** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/
1333
+ var Icon;
1334
+ (function (Icon) {
1335
+ Icon["ArrowPointDown"] = "arrow_point_down";
1336
+ Icon["ArrowPointLeft"] = "arrow_point_left";
1337
+ Icon["ArrowPointRight"] = "arrow_point_right";
1338
+ Icon["Article"] = "article";
1339
+ Icon["AtSolid"] = "at_solid";
1340
+ Icon["BarcodeRegular"] = "barcode_regular";
1341
+ Icon["BarcodeSolid"] = "barcode_solid";
1342
+ Icon["BarsFilter"] = "bars_filter";
1343
+ Icon["CalendarDay"] = "calendar_day";
1344
+ Icon["CalendarDayRegular"] = "calendar_day_regular";
1345
+ Icon["Cancel"] = "cancel";
1346
+ Icon["CartCheck"] = "cart_check";
1347
+ Icon["CartFlatbedBoxesSolid"] = "cart_flatbed_boxes_solid";
1348
+ Icon["CartShoppingSolid"] = "cart_shopping_solid";
1349
+ Icon["CashRegister"] = "cash_register";
1350
+ Icon["CreditCardSolid"] = "credit_card_solid";
1351
+ Icon["DeliveryTruck"] = "delivery_truck";
1352
+ Icon["EditPencil"] = "edit_pencil";
1353
+ Icon["EllipsisLight"] = "ellipsis_light";
1354
+ Icon["EllipsisVerticalSolid"] = "ellipsis_vertical_solid";
1355
+ Icon["FileCircleInfoSolid"] = "file_circle_info_solid";
1356
+ Icon["FilePdfSolid"] = "file_pdf_solid";
1357
+ Icon["GearSolid"] = "gear_solid";
1358
+ Icon["GripDotsVerticalSolid"] = "grip_dots_vertical_solid";
1359
+ Icon["IdealLogo"] = "ideal_logo";
1360
+ Icon["InboxInSolid"] = "inbox_in_solid";
1361
+ Icon["ListRegular"] = "list_regular";
1362
+ Icon["ListView"] = "list_view";
1363
+ Icon["LocationDotSolid"] = "location_dot_solid";
1364
+ Icon["Lock"] = "lock";
1365
+ Icon["LockKeyholeOpenSolid"] = "lock_keyhole_open_solid";
1366
+ Icon["LockKeyholeSolid"] = "lock_keyhole_solid";
1367
+ Icon["Magnifier"] = "magnifier";
1368
+ Icon["MapMarker"] = "map_marker";
1369
+ Icon["MasterDetail"] = "master_detail";
1370
+ Icon["MemoCircleCheckSolid"] = "memo_circle_check_solid";
1371
+ Icon["Menu"] = "menu";
1372
+ Icon["ObjectIntersectSolid"] = "object_intersect_solid";
1373
+ Icon["PalletBoxesSolid"] = "pallet_boxes_solid";
1374
+ Icon["PlusRound"] = "plus_round";
1375
+ Icon["PrintSolid"] = "print_solid";
1376
+ Icon["Purchase"] = "purchase";
1377
+ Icon["Resize"] = "resize";
1378
+ Icon["ShareSolid"] = "share_solid";
1379
+ Icon["ShelvesLight"] = "shelves_light";
1380
+ Icon["ShelvesSolid"] = "shelves_solid";
1381
+ Icon["SidePanel"] = "side_panel";
1382
+ Icon["SlideIn"] = "slide_in";
1383
+ Icon["SquareFull"] = "square_full";
1384
+ Icon["SquareFullSolid"] = "square_full_solid";
1385
+ Icon["SyncAlt"] = "sync_alt";
1386
+ Icon["Tag"] = "tag";
1387
+ Icon["TextSizeSolid"] = "text_size_solid";
1388
+ Icon["TextSolid"] = "text_solid";
1389
+ Icon["ThickLines"] = "thick_lines";
1390
+ Icon["ThinLines"] = "thin_lines";
1391
+ Icon["TrashBin"] = "trash_bin";
1392
+ Icon["TrashCanLight"] = "trash_can_light";
1393
+ Icon["TriangleDown"] = "triangle_down";
1394
+ Icon["TriangleUp"] = "triangle_up";
1395
+ Icon["Truck"] = "truck";
1396
+ Icon["TruckArrowRightSolid"] = "truck_arrow_right_solid";
1397
+ Icon["TruckContainerSolid"] = "truck_container_solid";
1398
+ Icon["TruckFastSolid"] = "truck_fast_solid";
1399
+ Icon["TruckMovingSolid"] = "truck_moving_solid";
1400
+ Icon["Txt"] = "txt";
1401
+ Icon["Unlock"] = "unlock";
1402
+ Icon["Warehouse"] = "warehouse";
1403
+ })(Icon || (Icon = {}));
2123
1404
 
2124
1405
  /** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/
2125
1406
  const IconSvg = {
@@ -2878,6 +2159,7 @@ class TransactionConnectorAdapterService {
2878
2159
  connect() {
2879
2160
  return __awaiter(this, void 0, void 0, function* () {
2880
2161
  this.connector = new Transaction(this._optionsService.options);
2162
+ this.sharedConnector = new Sharedapi(this._optionsService.options);
2881
2163
  this._optionsService.options.session = this.connector.session;
2882
2164
  });
2883
2165
  }
@@ -3045,30 +2327,6 @@ class TransactionConnectorAdapterService {
3045
2327
  }
3046
2328
  });
3047
2329
  }
3048
- getCustomerFullObject(relationNo) {
3049
- return __awaiter(this, void 0, void 0, function* () {
3050
- const result = yield this.connector.getCustomerFullObject(relationNo);
3051
- if (result.validationResult && result.validationResult.success) {
3052
- return this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject);
3053
- }
3054
- else {
3055
- this._handleExceptionFromResponse(result);
3056
- return null;
3057
- }
3058
- });
3059
- }
3060
- getSupplierFullObject(relationNo) {
3061
- return __awaiter(this, void 0, void 0, function* () {
3062
- const result = yield this.connector.getSupplierFullObject(relationNo);
3063
- if (result.validationResult && result.validationResult.success) {
3064
- return this._boFactory.makeWithRawBackendData(SupplierFullObject, result.resultObject);
3065
- }
3066
- else {
3067
- this._handleExceptionFromResponse(result);
3068
- return null;
3069
- }
3070
- });
3071
- }
3072
2330
  getCashRegisters(branch, group) {
3073
2331
  return __awaiter(this, void 0, void 0, function* () {
3074
2332
  const result = yield this.connector.getCashRegister(branch, group);
@@ -3081,18 +2339,6 @@ class TransactionConnectorAdapterService {
3081
2339
  }
3082
2340
  });
3083
2341
  }
3084
- getRelationNumber(relationId) {
3085
- return __awaiter(this, void 0, void 0, function* () {
3086
- const result = yield this.connector.getRelationNumber(relationId);
3087
- if (result.validationResult && result.validationResult.success) {
3088
- return result.resultObject;
3089
- }
3090
- else {
3091
- this._handleExceptionFromResponse(result);
3092
- return "";
3093
- }
3094
- });
3095
- }
3096
2342
  getPriceLists(code) {
3097
2343
  return __awaiter(this, void 0, void 0, function* () {
3098
2344
  const result = yield this.connector.getPriceLists(code);
@@ -3190,23 +2436,11 @@ class TransactionConnectorAdapterService {
3190
2436
  }
3191
2437
  });
3192
2438
  }
3193
- getRelationListObjects(relationRequest) {
2439
+ getCommissionCodes(languageCode) {
3194
2440
  return __awaiter(this, void 0, void 0, function* () {
3195
- const result = yield this.connector.getRelationListObjects(relationRequest);
2441
+ const result = yield this.connector.getCommissionCodes(languageCode);
3196
2442
  if (result.validationResult && result.validationResult.success) {
3197
- return this._boFactory.makeBOArrayFromRawBackendDataArray(RelationListObject, result.resultObjects);
3198
- }
3199
- else {
3200
- this._handleExceptionFromResponse(result);
3201
- return [];
3202
- }
3203
- });
3204
- }
3205
- getCommissionCodes(languageCode) {
3206
- return __awaiter(this, void 0, void 0, function* () {
3207
- const result = yield this.connector.getCommissionCodes(languageCode);
3208
- if (result.validationResult && result.validationResult.success) {
3209
- return this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);
2443
+ return this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);
3210
2444
  }
3211
2445
  else {
3212
2446
  this._handleExceptionFromResponse(result);
@@ -3267,18 +2501,6 @@ class TransactionConnectorAdapterService {
3267
2501
  }
3268
2502
  });
3269
2503
  }
3270
- getBranches(branchNr) {
3271
- return __awaiter(this, void 0, void 0, function* () {
3272
- const result = yield this.connector.getBranches(branchNr);
3273
- if (result.validationResult && result.validationResult.success) {
3274
- return this._boFactory.makeBOArrayFromRawBackendDataArray(BranchLov, result.resultObjects);
3275
- }
3276
- else {
3277
- this._handleExceptionFromResponse(result);
3278
- return [];
3279
- }
3280
- });
3281
- }
3282
2504
  getSalesPersons(date) {
3283
2505
  return __awaiter(this, void 0, void 0, function* () {
3284
2506
  const result = yield this.connector.getSalesPersons(date);
@@ -3351,36 +2573,6 @@ class TransactionConnectorAdapterService {
3351
2573
  }
3352
2574
  });
3353
2575
  }
3354
- insertCustomer(relation) {
3355
- return __awaiter(this, void 0, void 0, function* () {
3356
- return new Promise((resolve, reject) => {
3357
- return this.connector.insertCustomer(relation).then((result) => {
3358
- if (result.validationResult && result.validationResult.success) {
3359
- resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));
3360
- }
3361
- else {
3362
- this._handleExceptionFromResponse(result);
3363
- reject(null);
3364
- }
3365
- });
3366
- });
3367
- });
3368
- }
3369
- updateCustomer(relation) {
3370
- return __awaiter(this, void 0, void 0, function* () {
3371
- return new Promise((resolve, reject) => {
3372
- return this.connector.updateCustomer(relation).then((result) => {
3373
- if (result.validationResult && result.validationResult.success) {
3374
- resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));
3375
- }
3376
- else {
3377
- this._handleExceptionFromResponse(result);
3378
- reject(null);
3379
- }
3380
- });
3381
- });
3382
- });
3383
- }
3384
2576
  commit() {
3385
2577
  return this.connector.commit();
3386
2578
  }
@@ -4307,60 +3499,79 @@ class TransactionConnectorAdapterService {
4307
3499
  });
4308
3500
  });
4309
3501
  }
4310
- generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers) {
3502
+ getPurchaseOrderEmailLayouts(transactionUUID) {
4311
3503
  return __awaiter(this, void 0, void 0, function* () {
4312
3504
  return new Promise((resolve, reject) => {
4313
- return this.connector.generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers).then((result) => __awaiter(this, void 0, void 0, function* () {
3505
+ return this.connector.getPurchaseOrderEmailLayouts(transactionUUID).then((result) => {
4314
3506
  if (result.validationResult && result.validationResult.success) {
4315
- resolve(true);
3507
+ if (result.resultObject) {
3508
+ resolve(result.resultObject);
3509
+ }
4316
3510
  }
4317
3511
  else {
4318
3512
  reject(result.validationMessagesAsString);
4319
3513
  }
4320
- }));
3514
+ });
4321
3515
  });
4322
3516
  });
4323
3517
  }
4324
- lockCustomerFullObject(relationNr) {
4325
- return new Promise((resolve, reject) => {
4326
- return this.connector.lockCustomerById(relationNr).then((result) => __awaiter(this, void 0, void 0, function* () {
4327
- resolve(result.validationResult);
4328
- }));
4329
- });
4330
- }
4331
- lockSupplierFullObject(relationNr) {
4332
- return new Promise((resolve, reject) => {
4333
- return this.connector.lockSupplierById(relationNr).then((result) => __awaiter(this, void 0, void 0, function* () {
4334
- resolve(result.validationResult);
4335
- }));
4336
- });
4337
- }
4338
- lockEmployeeFullObject(relationNr) {
4339
- return new Promise((resolve, reject) => {
4340
- return this.connector.lockEmployeeById(relationNr).then((result) => __awaiter(this, void 0, void 0, function* () {
4341
- resolve(result.validationResult);
4342
- }));
3518
+ emailOrderConfirmation(emailOrderConfirmation) {
3519
+ return __awaiter(this, void 0, void 0, function* () {
3520
+ return new Promise((resolve, reject) => {
3521
+ return this.connector.emailOrderConfirmation(emailOrderConfirmation).then((result) => {
3522
+ if (result.validationResult && result.validationResult.success) {
3523
+ if (result.resultObject) {
3524
+ resolve(result.resultObject);
3525
+ }
3526
+ }
3527
+ else {
3528
+ reject(result.validationMessagesAsString);
3529
+ }
3530
+ });
3531
+ });
4343
3532
  });
4344
3533
  }
4345
- lockBranchFullObject(relationNr) {
4346
- return new Promise((resolve, reject) => {
4347
- return this.connector.lockBranchById(relationNr).then((result) => __awaiter(this, void 0, void 0, function* () {
4348
- resolve(result.validationResult);
4349
- }));
3534
+ getStockStickerTemplates(data) {
3535
+ return __awaiter(this, void 0, void 0, function* () {
3536
+ return new Promise((resolve, reject) => {
3537
+ // @ts-ignore
3538
+ return this.sharedConnector.getStockStickerPrintLayouts(data).then((result) => {
3539
+ if (result.validationResult && result.validationResult.success) {
3540
+ if (result.resultObject) {
3541
+ resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStickersPrintLayouts, result.resultObject));
3542
+ }
3543
+ }
3544
+ else {
3545
+ reject(result.validationMessagesAsString);
3546
+ }
3547
+ });
3548
+ });
4350
3549
  });
4351
3550
  }
4352
- lockCompanyFullObject(relationNr) {
4353
- return new Promise((resolve, reject) => {
4354
- return this.connector.lockCompanyById(relationNr).then((result) => __awaiter(this, void 0, void 0, function* () {
4355
- resolve(result.validationResult);
4356
- }));
3551
+ generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers) {
3552
+ return __awaiter(this, void 0, void 0, function* () {
3553
+ return new Promise((resolve, reject) => {
3554
+ return this.connector.generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers).then((result) => __awaiter(this, void 0, void 0, function* () {
3555
+ if (result.validationResult && result.validationResult.success) {
3556
+ resolve(true);
3557
+ }
3558
+ else {
3559
+ reject(result.validationMessagesAsString);
3560
+ }
3561
+ }));
3562
+ });
4357
3563
  });
4358
3564
  }
4359
- lockContactPerson(relationNr) {
4360
- return new Promise((resolve, reject) => {
4361
- return this.connector.lockContactPersonById(relationNr).then((result) => __awaiter(this, void 0, void 0, function* () {
4362
- resolve(result.validationResult);
4363
- }));
3565
+ getDeliveryOrderStatus(transId, lineNr) {
3566
+ return __awaiter(this, void 0, void 0, function* () {
3567
+ const response = yield this.connector.getDeliveryOrderStatus(transId, lineNr);
3568
+ if (response && response.validationResult && response.validationResult.success) {
3569
+ return this._boFactory.makeWithRawBackendData(DeliveryOrderStatus, response.resultObject);
3570
+ }
3571
+ else {
3572
+ this._handleExceptionFromResponse(response);
3573
+ return null;
3574
+ }
4364
3575
  });
4365
3576
  }
4366
3577
  _handleExceptionFromResponse(result) {
@@ -4486,16 +3697,6 @@ class TransactionConnectorService {
4486
3697
  saveTransaction(uuid) {
4487
3698
  return this._adapterService.saveTransaction(uuid);
4488
3699
  }
4489
- getCustomerFullObject(relationNo) {
4490
- return this._selectSingleCacheService.requestCache(CustomerFullObject, relationNo, () => {
4491
- return this._adapterService.getCustomerFullObject(relationNo);
4492
- }).getValue();
4493
- }
4494
- getSupplierFullObject(relationNo) {
4495
- return this._selectSingleCacheService.requestCache(SupplierFullObject, relationNo, () => {
4496
- return this._adapterService.getSupplierFullObject(relationNo);
4497
- }).getValue();
4498
- }
4499
3700
  getCashRegisters(branch, group) {
4500
3701
  return __awaiter(this, void 0, void 0, function* () {
4501
3702
  const params = {
@@ -4507,11 +3708,6 @@ class TransactionConnectorService {
4507
3708
  }).getValue(branch, group);
4508
3709
  });
4509
3710
  }
4510
- getRelationNumber(relationId) {
4511
- return __awaiter(this, void 0, void 0, function* () {
4512
- return this._adapterService.getRelationNumber(relationId);
4513
- });
4514
- }
4515
3711
  getPriceLists(code) {
4516
3712
  return __awaiter(this, void 0, void 0, function* () {
4517
3713
  return this._selectMultipleParameterizedCacheService.requestCache(PriceList, (code) => {
@@ -4536,16 +3732,6 @@ class TransactionConnectorService {
4536
3732
  return this._adapterService.getSequenceValue(sequenceName);
4537
3733
  });
4538
3734
  }
4539
- insertCustomer(relation) {
4540
- return __awaiter(this, void 0, void 0, function* () {
4541
- return this._adapterService.insertCustomer(relation);
4542
- });
4543
- }
4544
- updateCustomer(relation) {
4545
- return __awaiter(this, void 0, void 0, function* () {
4546
- return this._adapterService.updateCustomer(relation);
4547
- });
4548
- }
4549
3735
  getDeliveryMethods() {
4550
3736
  return __awaiter(this, void 0, void 0, function* () {
4551
3737
  return this._selectMultipleCacheService.requestCache(DeliveryMethod, () => {
@@ -4575,11 +3761,6 @@ class TransactionConnectorService {
4575
3761
  return this._adapterService.getPostalCodeRetrieval(postcalCode, houseNo);
4576
3762
  });
4577
3763
  }
4578
- getRelationListObjects(relationRequest) {
4579
- return __awaiter(this, void 0, void 0, function* () {
4580
- return this._adapterService.getRelationListObjects(relationRequest);
4581
- });
4582
- }
4583
3764
  addTransactionLine(uuid, articleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr) {
4584
3765
  return __awaiter(this, void 0, void 0, function* () {
4585
3766
  return this._adapterService.addTransactionLine(uuid, articleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr);
@@ -4656,13 +3837,6 @@ class TransactionConnectorService {
4656
3837
  return this._adapterService.getStandardTexts(languageCode);
4657
3838
  });
4658
3839
  }
4659
- getBranches(branchNr) {
4660
- return __awaiter(this, void 0, void 0, function* () {
4661
- return this._selectMultipleParameterizedCacheService.requestCache(BranchLov, (branchNr) => {
4662
- return this._adapterService.getBranches(branchNr);
4663
- }).getValue(branchNr);
4664
- });
4665
- }
4666
3840
  getSalesPersons(date) {
4667
3841
  return __awaiter(this, void 0, void 0, function* () {
4668
3842
  return this._selectMultipleParameterizedCacheService.requestCache(SalesPerson, (date) => {
@@ -4926,23 +4100,25 @@ class TransactionConnectorService {
4926
4100
  generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers) {
4927
4101
  return this._adapterService.generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers);
4928
4102
  }
4929
- lockCustomerFullObject(relationNr) {
4930
- return this._adapterService.lockCustomerFullObject(relationNr);
4931
- }
4932
- lockSupplierFullObject(relationNr) {
4933
- return this._adapterService.lockSupplierFullObject(relationNr);
4934
- }
4935
- lockEmployeeFullObject(relationNr) {
4936
- return this._adapterService.lockEmployeeFullObject(relationNr);
4103
+ getDeliveryOrderStatus(transId, lineId) {
4104
+ return __awaiter(this, void 0, void 0, function* () {
4105
+ return this._adapterService.getDeliveryOrderStatus(transId, lineId);
4106
+ });
4937
4107
  }
4938
- lockBranchFullObject(relationNr) {
4939
- return this._adapterService.lockBranchFullObject(relationNr);
4108
+ getPurchaseOrderEmailLayouts(transactionUUID) {
4109
+ return __awaiter(this, void 0, void 0, function* () {
4110
+ return yield this._adapterService.getPurchaseOrderEmailLayouts(transactionUUID);
4111
+ });
4940
4112
  }
4941
- lockCompanyFullObject(relationNr) {
4942
- return this._adapterService.lockCompanyFullObject(relationNr);
4113
+ emailOrderConfirmation(emailOrderConfirmation) {
4114
+ return __awaiter(this, void 0, void 0, function* () {
4115
+ return yield this._adapterService.emailOrderConfirmation(emailOrderConfirmation);
4116
+ });
4943
4117
  }
4944
- lockContactPerson(relationNr) {
4945
- return this._adapterService.lockContactPerson(relationNr);
4118
+ getStockStickerTemplates(data) {
4119
+ return __awaiter(this, void 0, void 0, function* () {
4120
+ return yield this._adapterService.getStockStickerTemplates(data);
4121
+ });
4946
4122
  }
4947
4123
  }
4948
4124
  TransactionConnectorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionConnectorService_Factory() { return new TransactionConnectorService(i0.ɵɵinject(TransactionConnectorAdapterService), i0.ɵɵinject(SelectSingleCacheService), i0.ɵɵinject(SelectMultipleCacheService), i0.ɵɵinject(SelectMultipleParameterizedCacheService)); }, token: TransactionConnectorService, providedIn: "root" });
@@ -4958,134 +4134,317 @@ TransactionConnectorService.ctorParameters = () => [
4958
4134
  { type: SelectMultipleParameterizedCacheService }
4959
4135
  ];
4960
4136
 
4137
+ class TransactionEventService {
4138
+ constructor() {
4139
+ this.addToCartBySku = new Subject();
4140
+ this.addToCartBySelectorResult = new Subject();
4141
+ this.openShoppingCartModule = new Subject();
4142
+ this.loggedIn = new Subject();
4143
+ this.addNewUserToShoppingCartModule = new Subject();
4144
+ this.addUserRelationShoppingCartModule = new Subject();
4145
+ this.addArticleLine = new Subject();
4146
+ this.addTextLine = new Subject();
4147
+ this.addArticleLineAt = new Subject();
4148
+ this.addTextLineAt = new Subject();
4149
+ this.changeLineSequence = new Subject();
4150
+ this.transactionLineClicked = new Subject();
4151
+ this.rightSidebarClose = new Subject();
4152
+ this.scrollContent = new Subject();
4153
+ this.commitReceivePurchaseOrders = new Subject();
4154
+ this.selectAllLines = new Subject();
4155
+ this.transactionLineChanged = new Subject();
4156
+ this.openSidePanel = new Subject();
4157
+ this.selectAllSalesOrderLinesForPurchase = new Subject();
4158
+ this.generateCommissionOrders = new Subject();
4159
+ this.allowPartialDeliveryChanged = new Subject();
4160
+ this.connectionInitialized = new BehaviorSubject(false);
4161
+ }
4162
+ }
4163
+ TransactionEventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionEventService_Factory() { return new TransactionEventService(); }, token: TransactionEventService, providedIn: "root" });
4164
+ TransactionEventService.decorators = [
4165
+ { type: Injectable, args: [{ providedIn: "root" },] }
4166
+ ];
4167
+
4961
4168
  class ArticleConnectorService {
4962
- constructor(_optionsService) {
4169
+ constructor(_optionsService, _transactionEventService) {
4963
4170
  this._optionsService = _optionsService;
4171
+ this._transactionEventService = _transactionEventService;
4964
4172
  this._boFactory = new BusinessObjectFactory();
4965
- this._optionsService.optionsInitialized.subscribe((initialized) => {
4173
+ this._transactionEventService.connectionInitialized.subscribe((initialized) => {
4966
4174
  if (initialized) {
4967
4175
  this.connect();
4968
4176
  }
4969
4177
  });
4970
4178
  }
4971
- connect() {
4972
- return __awaiter(this, void 0, void 0, function* () {
4973
- this.connector = new Articles(this._optionsService.options);
4179
+ connect() {
4180
+ return __awaiter(this, void 0, void 0, function* () {
4181
+ this.connector = new Articles(this._optionsService.options);
4182
+ });
4183
+ }
4184
+ getWarehouseLocations(warehouseNr) {
4185
+ return __awaiter(this, void 0, void 0, function* () {
4186
+ return new Promise((resolve, reject) => {
4187
+ return this.connector.getStockManagementLocations(warehouseNr).then((response) => {
4188
+ if (response && response.validationResult && response.validationResult.success) {
4189
+ const collection = this._boFactory.makeBOArrayFromRawBackendDataArray(StockLocation, response.resultObjects);
4190
+ resolve(collection);
4191
+ }
4192
+ else {
4193
+ reject(response.validationMessagesAsString);
4194
+ }
4195
+ });
4196
+ });
4197
+ });
4198
+ }
4199
+ searchArticles(request) {
4200
+ return __awaiter(this, void 0, void 0, function* () {
4201
+ return new Promise((resolve, reject) => {
4202
+ return this.connector.searchArticlesLight(request).then((response) => {
4203
+ if (response && response.validationResult && response.validationResult.success) {
4204
+ const collection = this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleLight, response.resultObjects);
4205
+ resolve(collection);
4206
+ }
4207
+ else {
4208
+ reject(response.validationMessagesAsString);
4209
+ }
4210
+ });
4211
+ });
4212
+ });
4213
+ }
4214
+ getMainArticles() {
4215
+ return __awaiter(this, void 0, void 0, function* () {
4216
+ return new Promise((resolve, reject) => {
4217
+ return this.connector.getMainArticles().then((response) => {
4218
+ if (response && response.validationResult && response.validationResult.success) {
4219
+ const collection = this._boFactory.makeBOArrayFromRawBackendDataArray(MainArticle, response.resultObjects);
4220
+ resolve(collection);
4221
+ }
4222
+ else {
4223
+ reject(response.validationMessagesAsString);
4224
+ }
4225
+ });
4226
+ });
4227
+ });
4228
+ }
4229
+ getTurnoverGroups(category) {
4230
+ return __awaiter(this, void 0, void 0, function* () {
4231
+ return new Promise((resolve, reject) => {
4232
+ // const collection = this._collectionService.getCollection(TurnoverGroupImage.name);
4233
+ // if (collection) {
4234
+ // return resolve(collection);
4235
+ // }
4236
+ return this.connector.getTurnoverGroups(category).then((result) => {
4237
+ if (result.validationResult && result.validationResult.success) {
4238
+ const collection = this._boFactory.makeBOArrayFromRawBackendDataArray(TurnoverGroupImage, result.resultObjects);
4239
+ // this._collectionService.cacheCollection(TurnoverGroupImage.name, collection);
4240
+ resolve(collection);
4241
+ }
4242
+ else {
4243
+ reject(result.validationMessagesAsString);
4244
+ }
4245
+ });
4246
+ });
4247
+ });
4248
+ }
4249
+ }
4250
+ ArticleConnectorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ArticleConnectorService_Factory() { return new ArticleConnectorService(i0.ɵɵinject(OptionsService), i0.ɵɵinject(TransactionEventService)); }, token: ArticleConnectorService, providedIn: "root" });
4251
+ ArticleConnectorService.decorators = [
4252
+ { type: Injectable, args: [{
4253
+ providedIn: "root"
4254
+ },] }
4255
+ ];
4256
+ ArticleConnectorService.ctorParameters = () => [
4257
+ { type: OptionsService },
4258
+ { type: TransactionEventService }
4259
+ ];
4260
+
4261
+ class RelationConnectorService {
4262
+ constructor(_optionsService, _errorService, _transactionEventService) {
4263
+ this._optionsService = _optionsService;
4264
+ this._errorService = _errorService;
4265
+ this._transactionEventService = _transactionEventService;
4266
+ this._boFactory = new BusinessObjectFactory();
4267
+ this._transactionEventService.connectionInitialized.subscribe((initialized) => {
4268
+ if (initialized) {
4269
+ this.connect();
4270
+ }
4271
+ });
4272
+ }
4273
+ connect() {
4274
+ return __awaiter(this, void 0, void 0, function* () {
4275
+ this.connector = new RelationApi(this._optionsService.options);
4276
+ });
4277
+ }
4278
+ getCustomerFullObject(relationNo) {
4279
+ return __awaiter(this, void 0, void 0, function* () {
4280
+ const result = yield this.connector.getCustomerFullObject(relationNo);
4281
+ if (result.validationResult && result.validationResult.success) {
4282
+ return this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject);
4283
+ }
4284
+ else {
4285
+ this._handleExceptionFromResponse(result);
4286
+ return null;
4287
+ }
4288
+ });
4289
+ }
4290
+ getSupplierFullObject(relationNo) {
4291
+ return __awaiter(this, void 0, void 0, function* () {
4292
+ const result = yield this.connector.getSupplierFullObject(relationNo);
4293
+ if (result.validationResult && result.validationResult.success) {
4294
+ return this._boFactory.makeWithRawBackendData(SupplierFullObject, result.resultObject);
4295
+ }
4296
+ else {
4297
+ this._handleExceptionFromResponse(result);
4298
+ return null;
4299
+ }
4300
+ });
4301
+ }
4302
+ getRelationListObjects(relationRequest) {
4303
+ return __awaiter(this, void 0, void 0, function* () {
4304
+ const result = yield this.connector.getRelationListObjects(relationRequest);
4305
+ if (result.validationResult && result.validationResult.success) {
4306
+ return this._boFactory.makeBOArrayFromRawBackendDataArray(RelationListObject, result.resultObjects);
4307
+ }
4308
+ else {
4309
+ this._handleExceptionFromResponse(result);
4310
+ return [];
4311
+ }
4312
+ });
4313
+ }
4314
+ getRelationNumber(relationId) {
4315
+ return __awaiter(this, void 0, void 0, function* () {
4316
+ const result = yield this.connector.getRelationNumber(relationId);
4317
+ if (result.validationResult && result.validationResult.success) {
4318
+ return result.resultObject;
4319
+ }
4320
+ else {
4321
+ this._handleExceptionFromResponse(result);
4322
+ return "";
4323
+ }
4324
+ });
4325
+ }
4326
+ getBranches(branchNr) {
4327
+ return __awaiter(this, void 0, void 0, function* () {
4328
+ const result = yield this.connector.getBranches(branchNr);
4329
+ if (result.validationResult && result.validationResult.success) {
4330
+ return this._boFactory.makeBOArrayFromRawBackendDataArray(BranchLov, result.resultObjects);
4331
+ }
4332
+ else {
4333
+ this._handleExceptionFromResponse(result);
4334
+ return [];
4335
+ }
4336
+ });
4337
+ }
4338
+ commit() {
4339
+ return __awaiter(this, void 0, void 0, function* () {
4340
+ const result = yield this.connector.commit();
4341
+ if (result) {
4342
+ return true;
4343
+ }
4344
+ else {
4345
+ this._handleExceptionFromResponse(result);
4346
+ return false;
4347
+ }
4348
+ });
4349
+ }
4350
+ lockCustomerFullObject(relationNr) {
4351
+ return new Promise((resolve, reject) => {
4352
+ return this.connector.lockCustomerById(relationNr).then((result) => __awaiter(this, void 0, void 0, function* () {
4353
+ resolve(result.validationResult);
4354
+ }));
4355
+ });
4356
+ }
4357
+ lockSupplierFullObject(relationNr) {
4358
+ return new Promise((resolve, reject) => {
4359
+ return this.connector.lockSupplierById(relationNr).then((result) => __awaiter(this, void 0, void 0, function* () {
4360
+ resolve(result.validationResult);
4361
+ }));
4362
+ });
4363
+ }
4364
+ lockEmployeeFullObject(relationNr) {
4365
+ return new Promise((resolve, reject) => {
4366
+ return this.connector.lockEmployeeById(relationNr).then((result) => __awaiter(this, void 0, void 0, function* () {
4367
+ resolve(result.validationResult);
4368
+ }));
4974
4369
  });
4975
4370
  }
4976
- getWarehouseLocations(warehouseNr) {
4977
- return __awaiter(this, void 0, void 0, function* () {
4978
- return new Promise((resolve, reject) => {
4979
- return this.connector.getStockManagementLocations(warehouseNr).then((response) => {
4980
- if (response && response.validationResult && response.validationResult.success) {
4981
- const collection = this._boFactory.makeBOArrayFromRawBackendDataArray(StockLocation, response.resultObjects);
4982
- resolve(collection);
4983
- }
4984
- else {
4985
- reject(response.validationMessagesAsString);
4986
- }
4987
- });
4988
- });
4371
+ lockBranchFullObject(relationNr) {
4372
+ return new Promise((resolve, reject) => {
4373
+ return this.connector.lockBranchById(relationNr).then((result) => __awaiter(this, void 0, void 0, function* () {
4374
+ resolve(result.validationResult);
4375
+ }));
4989
4376
  });
4990
4377
  }
4991
- searchArticles(request) {
4992
- return __awaiter(this, void 0, void 0, function* () {
4993
- return new Promise((resolve, reject) => {
4994
- return this.connector.searchArticlesLight(request).then((response) => {
4995
- if (response && response.validationResult && response.validationResult.success) {
4996
- const collection = this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleLight, response.resultObjects);
4997
- resolve(collection);
4998
- }
4999
- else {
5000
- reject(response.validationMessagesAsString);
5001
- }
5002
- });
5003
- });
4378
+ lockCompanyFullObject(relationNr) {
4379
+ return new Promise((resolve, reject) => {
4380
+ return this.connector.lockCompanyById(relationNr).then((result) => __awaiter(this, void 0, void 0, function* () {
4381
+ resolve(result.validationResult);
4382
+ }));
5004
4383
  });
5005
4384
  }
5006
- getMainArticles() {
4385
+ lockContactPerson(relationNr) {
4386
+ return new Promise((resolve, reject) => {
4387
+ return this.connector.lockContactPersonById(relationNr).then((result) => __awaiter(this, void 0, void 0, function* () {
4388
+ resolve(result.validationResult);
4389
+ }));
4390
+ });
4391
+ }
4392
+ insertCustomer(relation) {
5007
4393
  return __awaiter(this, void 0, void 0, function* () {
5008
4394
  return new Promise((resolve, reject) => {
5009
- return this.connector.getMainArticles().then((response) => {
5010
- if (response && response.validationResult && response.validationResult.success) {
5011
- const collection = this._boFactory.makeBOArrayFromRawBackendDataArray(MainArticle, response.resultObjects);
5012
- resolve(collection);
4395
+ return this.connector.insertCustomer(relation).then((result) => {
4396
+ if (result.validationResult && result.validationResult.success) {
4397
+ resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));
5013
4398
  }
5014
4399
  else {
5015
- reject(response.validationMessagesAsString);
4400
+ this._handleExceptionFromResponse(result);
4401
+ reject(null);
5016
4402
  }
5017
4403
  });
5018
4404
  });
5019
4405
  });
5020
4406
  }
5021
- getTurnoverGroups(category) {
4407
+ updateCustomer(relation) {
5022
4408
  return __awaiter(this, void 0, void 0, function* () {
5023
4409
  return new Promise((resolve, reject) => {
5024
- // const collection = this._collectionService.getCollection(TurnoverGroupImage.name);
5025
- // if (collection) {
5026
- // return resolve(collection);
5027
- // }
5028
- return this.connector.getTurnoverGroups(category).then((result) => {
4410
+ return this.connector.updateCustomer(relation).then((result) => {
5029
4411
  if (result.validationResult && result.validationResult.success) {
5030
- const collection = this._boFactory.makeBOArrayFromRawBackendDataArray(TurnoverGroupImage, result.resultObjects);
5031
- // this._collectionService.cacheCollection(TurnoverGroupImage.name, collection);
5032
- resolve(collection);
4412
+ resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));
5033
4413
  }
5034
4414
  else {
5035
- reject(result.validationMessagesAsString);
4415
+ this._handleExceptionFromResponse(result);
4416
+ reject(null);
5036
4417
  }
5037
4418
  });
5038
4419
  });
5039
4420
  });
5040
4421
  }
4422
+ _handleExceptionFromResponse(result) {
4423
+ this._errorService.showValidationError(result);
4424
+ }
5041
4425
  }
5042
- ArticleConnectorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ArticleConnectorService_Factory() { return new ArticleConnectorService(i0.ɵɵinject(OptionsService)); }, token: ArticleConnectorService, providedIn: "root" });
5043
- ArticleConnectorService.decorators = [
4426
+ RelationConnectorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function RelationConnectorService_Factory() { return new RelationConnectorService(i0.ɵɵinject(OptionsService), i0.ɵɵinject(ErrorService), i0.ɵɵinject(TransactionEventService)); }, token: RelationConnectorService, providedIn: "root" });
4427
+ RelationConnectorService.decorators = [
5044
4428
  { type: Injectable, args: [{
5045
4429
  providedIn: "root"
5046
4430
  },] }
5047
4431
  ];
5048
- ArticleConnectorService.ctorParameters = () => [
5049
- { type: OptionsService }
5050
- ];
5051
-
5052
- class TransactionEventService {
5053
- constructor() {
5054
- this.addToCartBySku = new Subject();
5055
- this.addToCartBySelectorResult = new Subject();
5056
- this.openShoppingCartModule = new Subject();
5057
- this.loggedIn = new Subject();
5058
- this.addNewUserToShoppingCartModule = new Subject();
5059
- this.addUserRelationShoppingCartModule = new Subject();
5060
- this.addArticleLine = new Subject();
5061
- this.addTextLine = new Subject();
5062
- this.addArticleLineAt = new Subject();
5063
- this.addTextLineAt = new Subject();
5064
- this.changeLineSequence = new Subject();
5065
- this.transactionLineClicked = new Subject();
5066
- this.rightSidebarClose = new Subject();
5067
- this.scrollContent = new Subject();
5068
- this.commitReceivePurchaseOrders = new Subject();
5069
- this.selectAllLines = new Subject();
5070
- this.transactionLineChanged = new Subject();
5071
- this.openSidePanel = new Subject();
5072
- this.selectAllSalesOrderLinesForPurchase = new Subject();
5073
- this.generateCommissionOrders = new Subject();
5074
- }
5075
- }
5076
- TransactionEventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionEventService_Factory() { return new TransactionEventService(); }, token: TransactionEventService, providedIn: "root" });
5077
- TransactionEventService.decorators = [
5078
- { type: Injectable, args: [{ providedIn: "root" },] }
4432
+ RelationConnectorService.ctorParameters = () => [
4433
+ { type: OptionsService },
4434
+ { type: ErrorService },
4435
+ { type: TransactionEventService }
5079
4436
  ];
5080
4437
 
5081
4438
  class PendingReasonService {
5082
- constructor(dialogService, options, connector, articleConnector, dictionaryService, transactionEventService) {
4439
+ constructor(dialogService, options, connector, sharedService, articleConnector, dictionaryService, transactionEventService, relationConnector) {
5083
4440
  this.dialogService = dialogService;
5084
4441
  this.options = options;
5085
4442
  this.connector = connector;
4443
+ this.sharedService = sharedService;
5086
4444
  this.articleConnector = articleConnector;
5087
4445
  this.dictionaryService = dictionaryService;
5088
4446
  this.transactionEventService = transactionEventService;
4447
+ this.relationConnector = relationConnector;
5089
4448
  this.logout = new Subject();
5090
4449
  this.transactionUpdated = new BehaviorSubject(undefined);
5091
4450
  this.relationUpdated = new BehaviorSubject(undefined);
@@ -5109,7 +4468,9 @@ class PendingReasonService {
5109
4468
  init(options) {
5110
4469
  return __awaiter(this, void 0, void 0, function* () {
5111
4470
  yield this.options.initialize(options);
4471
+ this.sharedService.init(options);
5112
4472
  this.connector.connect();
4473
+ this.transactionEventService.connectionInitialized.next(true);
5113
4474
  });
5114
4475
  }
5115
4476
  cancelAddTransactionLine(lineUuid, remember = true) {
@@ -5242,24 +4603,6 @@ class PendingReasonService {
5242
4603
  return this.handleHeaderOperationStatuses(response);
5243
4604
  });
5244
4605
  }
5245
- getCustomerFullObjectByRelationId(relationId) {
5246
- return __awaiter(this, void 0, void 0, function* () {
5247
- const relationNr = yield this.connector.getRelationNumber(relationId);
5248
- if (relationNr) {
5249
- return yield this.connector.getCustomerFullObject(Number(relationNr));
5250
- }
5251
- return NULL_CUSTOMER_FULL_OBJECT;
5252
- });
5253
- }
5254
- getSupplierFullObjectByRelationId(relationId) {
5255
- return __awaiter(this, void 0, void 0, function* () {
5256
- const relationNr = yield this.connector.getRelationNumber(relationId);
5257
- if (relationNr) {
5258
- return yield this.connector.getSupplierFullObject(Number(relationNr));
5259
- }
5260
- return new SupplierFullObject();
5261
- });
5262
- }
5263
4606
  _confirmAction(uuid, reason, type) {
5264
4607
  return __awaiter(this, void 0, void 0, function* () {
5265
4608
  const reasonRequest = new ResolveLinePendingReasonRequest(uuid, reason, type);
@@ -5325,19 +4668,21 @@ class PendingReasonService {
5325
4668
  _getRelation(relation) {
5326
4669
  if (relation) {
5327
4670
  if (relation.relationType === RelationKind.Customer) {
5328
- this.getCustomerFullObjectByRelationId(relation.relationId).then((customer) => {
5329
- this.relation = customer;
4671
+ this.relationConnector.getRelationNumber(relation.relationId).then((relationNr) => {
4672
+ this.relationConnector.getCustomerFullObject(parseInt(relationNr, 0)).then((customer) => {
4673
+ this.relation = customer;
4674
+ });
5330
4675
  });
5331
4676
  }
5332
4677
  else if (relation.relationType === RelationKind.Supplier) {
5333
- this.getSupplierFullObjectByRelationId(relation.relationId).then((supplier) => {
4678
+ this.relationConnector.getSupplierFullObject(relation.relationId).then((supplier) => {
5334
4679
  this.relation = supplier;
5335
4680
  });
5336
4681
  }
5337
4682
  }
5338
4683
  }
5339
4684
  }
5340
- PendingReasonService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PendingReasonService_Factory() { return new PendingReasonService(i0.ɵɵinject(DialogService), i0.ɵɵinject(OptionsService), i0.ɵɵinject(TransactionConnectorService), i0.ɵɵinject(ArticleConnectorService), i0.ɵɵinject(DictionaryService), i0.ɵɵinject(TransactionEventService)); }, token: PendingReasonService, providedIn: "root" });
4685
+ PendingReasonService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PendingReasonService_Factory() { return new PendingReasonService(i0.ɵɵinject(DialogService), i0.ɵɵinject(OptionsService), i0.ɵɵinject(TransactionConnectorService), i0.ɵɵinject(i4.SharedService), i0.ɵɵinject(ArticleConnectorService), i0.ɵɵinject(DictionaryService), i0.ɵɵinject(TransactionEventService), i0.ɵɵinject(RelationConnectorService)); }, token: PendingReasonService, providedIn: "root" });
5341
4686
  PendingReasonService.decorators = [
5342
4687
  { type: Injectable, args: [{
5343
4688
  providedIn: "root"
@@ -5347,23 +4692,14 @@ PendingReasonService.ctorParameters = () => [
5347
4692
  { type: DialogService },
5348
4693
  { type: OptionsService },
5349
4694
  { type: TransactionConnectorService },
4695
+ { type: SharedService$1 },
5350
4696
  { type: ArticleConnectorService },
5351
4697
  { type: DictionaryService },
5352
- { type: TransactionEventService }
4698
+ { type: TransactionEventService },
4699
+ { type: RelationConnectorService }
5353
4700
  ];
5354
4701
 
5355
4702
  class TransactionService extends PendingReasonService {
5356
- constructor() {
5357
- super(...arguments);
5358
- this._lockMethods = new Map([
5359
- [RelationKind.Customer, (relationNr) => this._lockCustomerFullObject(relationNr)],
5360
- [RelationKind.Supplier, (relationNr) => this._lockSupplierFullObject(relationNr)],
5361
- [RelationKind.Personnel, (relationNr) => this._lockEmployeeFullObject(relationNr)],
5362
- [RelationKind.Branch, (relationNr) => this._lockBranchFullObject(relationNr)],
5363
- [RelationKind.Company, (relationNr) => this._lockCompanyFullObject(relationNr)],
5364
- [RelationKind.ContactPerson, (relationNr) => this._lockContactPerson(relationNr)],
5365
- ]);
5366
- }
5367
4703
  pendingLineOperationStatus(lineOperationStatuses) {
5368
4704
  const status = lineOperationStatuses.find(line => line.pendingReasonType !== PendingReasonType.NONE
5369
4705
  && line.pendingReasonType !== PendingReasonType.NON_CRITICAL_DISCONTINUATION);
@@ -5680,10 +5016,10 @@ class TransactionService extends PendingReasonService {
5680
5016
  // this._cleanRelationBeforeSave();
5681
5017
  this.initializeTransaction();
5682
5018
  if (!this.relation.relationId) {
5683
- this.relation = yield this.connector.insertCustomer(this.relation);
5019
+ this.relation = yield this.relationConnector.insertCustomer(this.relation);
5684
5020
  }
5685
5021
  else {
5686
- this.relation = yield this.connector.updateCustomer(this.relation);
5022
+ this.relation = yield this.relationConnector.updateCustomer(this.relation);
5687
5023
  }
5688
5024
  if (!this.currentTransaction.transactionInfo.relation) {
5689
5025
  return yield this.addRelationToTransaction(this.relation.relationId);
@@ -5719,16 +5055,11 @@ class TransactionService extends PendingReasonService {
5719
5055
  this.connector.getTransactionById(transactionId)
5720
5056
  .then((transaction) => __awaiter(this, void 0, void 0, function* () {
5721
5057
  if (transaction.isSuccess) {
5722
- const lockResponse = yield this.lockTransaction(transaction.transactionInfo.id, 0);
5723
- if (lockResponse && lockResponse.isLockSuccess) {
5058
+ const lockSuccess = yield this.tryToLockTransaction(transaction.transactionInfo.id, transaction.transactionInfo.version);
5059
+ if (lockSuccess) {
5724
5060
  this.rememberCurrentTransaction(transaction);
5725
5061
  this.transactionUpdated.next(transaction);
5726
5062
  }
5727
- else {
5728
- const lockDetails = `${this.dictionaryService.get("BY")}: ${lockResponse.lockedBy}
5729
- ${this.dictionaryService.get("SINCE", false)} ${lockResponse.lockedSince.toLocaleString()}`;
5730
- this.dialogService.showError(this.dictionaryService.get("TRANSACTION_ALREADY_LOCKED"), lockDetails);
5731
- }
5732
5063
  resolve(true);
5733
5064
  }
5734
5065
  else {
@@ -5740,16 +5071,17 @@ class TransactionService extends PendingReasonService {
5740
5071
  });
5741
5072
  });
5742
5073
  }
5743
- lockRelation(relationKind, relationNr) {
5744
- const lockMethod = this._lockMethods.get(relationKind);
5745
- if (lockMethod) {
5746
- return lockMethod.call(this, relationNr);
5747
- }
5748
- else {
5749
- const result = new ValidationResult();
5750
- result.success = false;
5751
- return Promise.resolve(result);
5752
- }
5074
+ tryToLockTransaction(id, version) {
5075
+ return __awaiter(this, void 0, void 0, function* () {
5076
+ const lockResponse = yield this.lockTransaction(id, version);
5077
+ if (lockResponse && !lockResponse.isLockSuccess) {
5078
+ const lockDetails = `${this.dictionaryService.get("BY")}: ${lockResponse.lockedBy}
5079
+ ${this.dictionaryService.get("SINCE", false)} ${lockResponse.lockedSince.toLocaleString()}`;
5080
+ this.dialogService.showError(this.dictionaryService.get("TRANSACTION_ALREADY_LOCKED"), lockDetails);
5081
+ return false;
5082
+ }
5083
+ return true;
5084
+ });
5753
5085
  }
5754
5086
  lockTransaction(transId, version) {
5755
5087
  return this.connector.lockTransactionById(transId, version);
@@ -5799,31 +5131,14 @@ class TransactionService extends PendingReasonService {
5799
5131
  getMainArticles() {
5800
5132
  return this.articleConnector.getMainArticles();
5801
5133
  }
5802
- insertCustomer(relation) {
5803
- return this.connector.insertCustomer(relation);
5804
- }
5805
- updateCustomer(relation) {
5806
- return __awaiter(this, void 0, void 0, function* () {
5807
- return new Promise((resolve, reject) => {
5808
- this.connector.updateCustomer(relation).then((response) => __awaiter(this, void 0, void 0, function* () {
5809
- // this.currentTransaction.transactionInfo.relation = relation;
5810
- resolve(response);
5811
- }))
5812
- .catch((response) => {
5813
- resolve(response);
5814
- });
5815
- });
5816
- });
5817
- }
5818
5134
  getDeliveryMethods() {
5819
5135
  return this.connector.getDeliveryMethods();
5820
5136
  }
5821
5137
  getDeliveryOptions() {
5822
5138
  return this.connector.getDeliveryOptions();
5823
5139
  }
5824
- // todo: move to relation api?
5825
- getRelationListObjects(relationRequest) {
5826
- return this.connector.getRelationListObjects(relationRequest);
5140
+ getSalesPersons(date) {
5141
+ return this.connector.getSalesPersons(date);
5827
5142
  }
5828
5143
  addArticle(articleNo, isReturn = false, aboveLineNr = 0, belowLineNr = 0) {
5829
5144
  return __awaiter(this, void 0, void 0, function* () {
@@ -6002,21 +5317,12 @@ class TransactionService extends PendingReasonService {
6002
5317
  getCashRegisters(branch, group) {
6003
5318
  return this.connector.getCashRegisters(branch, group);
6004
5319
  }
6005
- getRelationNumber(relationId) {
6006
- return this.connector.getRelationNumber(relationId);
6007
- }
6008
5320
  getPriceLists() {
6009
5321
  return this.connector.getPriceLists();
6010
5322
  }
6011
5323
  getVatLists() {
6012
5324
  return this.connector.getVatList();
6013
5325
  }
6014
- getBranches(branchNr) {
6015
- return this.connector.getBranches(branchNr);
6016
- }
6017
- getSalesPersons(date) {
6018
- return this.connector.getSalesPersons(date);
6019
- }
6020
5326
  getTags(category) {
6021
5327
  return this.connector.getTags(category);
6022
5328
  }
@@ -6052,6 +5358,11 @@ class TransactionService extends PendingReasonService {
6052
5358
  return yield this.connector.lockPurchasePortalLines(transIdPurchase, lineId);
6053
5359
  });
6054
5360
  }
5361
+ getDeliveryOrderStatus(transId, lineId) {
5362
+ return __awaiter(this, void 0, void 0, function* () {
5363
+ return yield this.connector.getDeliveryOrderStatus(transId, lineId);
5364
+ });
5365
+ }
6055
5366
  // private _cleanRelationBeforeSave(): void {
6056
5367
  // ArrayUtils.RemoveElementsByFilter(this.currentTransaction.transactionInfo.relation.contactOptions, ((item: ContactOption) => {
6057
5368
  // return isNill(item.value);
@@ -6066,26 +5377,8 @@ class TransactionService extends PendingReasonService {
6066
5377
  }
6067
5378
  });
6068
5379
  }
6069
- _lockCustomerFullObject(relationNr) {
6070
- return this.connector.lockCustomerFullObject(relationNr);
6071
- }
6072
- _lockSupplierFullObject(relationNr) {
6073
- return this.connector.lockSupplierFullObject(relationNr);
6074
- }
6075
- _lockEmployeeFullObject(relationNr) {
6076
- return this.connector.lockEmployeeFullObject(relationNr);
6077
- }
6078
- _lockBranchFullObject(relationNr) {
6079
- return this.connector.lockBranchFullObject(relationNr);
6080
- }
6081
- _lockCompanyFullObject(relationNr) {
6082
- return this.connector.lockCompanyFullObject(relationNr);
6083
- }
6084
- _lockContactPerson(relationNr) {
6085
- return this.connector.lockContactPerson(relationNr);
6086
- }
6087
5380
  }
6088
- TransactionService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionService_Factory() { return new TransactionService(i0.ɵɵinject(DialogService), i0.ɵɵinject(OptionsService), i0.ɵɵinject(TransactionConnectorService), i0.ɵɵinject(ArticleConnectorService), i0.ɵɵinject(DictionaryService), i0.ɵɵinject(TransactionEventService)); }, token: TransactionService, providedIn: "root" });
5381
+ TransactionService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionService_Factory() { return new TransactionService(i0.ɵɵinject(DialogService), i0.ɵɵinject(OptionsService), i0.ɵɵinject(TransactionConnectorService), i0.ɵɵinject(i4.SharedService), i0.ɵɵinject(ArticleConnectorService), i0.ɵɵinject(DictionaryService), i0.ɵɵinject(TransactionEventService), i0.ɵɵinject(RelationConnectorService)); }, token: TransactionService, providedIn: "root" });
6089
5382
  TransactionService.decorators = [
6090
5383
  { type: Injectable, args: [{
6091
5384
  providedIn: "root"
@@ -6128,7 +5421,10 @@ class CheckoutComponent {
6128
5421
  if (valid) {
6129
5422
  const response = yield this.service.saveTransaction();
6130
5423
  if (response && response.isSuccess) {
6131
- this.stepDelivery.completed = yield this.handleSaveDelivery();
5424
+ const lockSuccess = yield this.service.tryToLockTransaction(this.service.currentTransaction.transactionInfo.id, this.service.currentTransaction.transactionInfo.version);
5425
+ if (lockSuccess) {
5426
+ this.stepDelivery.completed = yield this.handleSaveDelivery();
5427
+ }
6132
5428
  }
6133
5429
  }
6134
5430
  }
@@ -6181,6 +5477,8 @@ CheckoutComponent.decorators = [
6181
5477
  <co-stepper #stepper [finishButtonLabel]="'CHECKOUT_FINISH' | localize" (finishStep)="handleFinishStep()">
6182
5478
  <co-stepper-step #stepRelation [index]="1" [label]="'YOUR_DATA' | localize" (validateStep)="handleRelationValidation()">
6183
5479
  <co-checkout-overview-relation-edit #checkoutRelation *ngIf="stepRelation.show" [(relation)]="service.relation"
5480
+ [deliveryAddressNawNr]="deliveryAddressNawNr"
5481
+ [invoiceAddressNawNr]="invoiceAddressNawNr"
6184
5482
  (deliveryAddressChange)="handleDeliveryAddressChange($event)"
6185
5483
  (invoiceAddressChange)="handleInvoiceAddressChange($event)"
6186
5484
  (relationChange)="service.relation = $event"
@@ -6231,11 +5529,10 @@ CheckoutComponent.propDecorators = {
6231
5529
  };
6232
5530
 
6233
5531
  class CheckoutOverviewRelationEditComponent {
6234
- constructor(_formMaster, _boFactory, service) {
5532
+ constructor(_formMaster, service) {
6235
5533
  this._formMaster = _formMaster;
6236
- this._boFactory = _boFactory;
6237
5534
  this.service = service;
6238
- this.relationKind = RelationKind;
5535
+ this.relationKind = RelationKind$1;
6239
5536
  this.icons = Icon;
6240
5537
  this.addressType = AddressType;
6241
5538
  this.validSubmit = new EventEmitter();
@@ -6243,19 +5540,8 @@ class CheckoutOverviewRelationEditComponent {
6243
5540
  this.deliveryAddressChange = new EventEmitter();
6244
5541
  this.invoiceAddressChange = new EventEmitter();
6245
5542
  this.relationChange = new EventEmitter();
6246
- // public formRelation: FormGroup;
6247
- // public accountPassword: string = "";
6248
- // public hide: boolean = true;
6249
- // public gender: GenderType = GenderType.Unspecified;
6250
- // public privacySettings: RelationPrivacySetting[];
6251
- // public addresses: Address[] = [];
6252
5543
  this._relation = new CustomerFullObject();
6253
- // public deliveryAddressIdx: number = 0;
6254
- // public invoiceAddressIdx: number = 0;
6255
- this.editAddressType = AddressType.DeliveryAddress;
6256
5544
  }
6257
- // @ViewChild(FormComponent, {static: true})
6258
- // public relationForm: FormComponent;
6259
5545
  set relation(value) {
6260
5546
  this._relation = value;
6261
5547
  if (this._relation) {
@@ -6271,24 +5557,6 @@ class CheckoutOverviewRelationEditComponent {
6271
5557
  showClass() {
6272
5558
  return true;
6273
5559
  }
6274
- // public addressToEdit: Address;
6275
- // public showSelectAddressDialog: boolean = false;
6276
- // public showCreateAddressDialog: boolean = false;
6277
- // public readonly relType: typeof RelationNameKind = RelationNameKind;
6278
- // public readonly genderType: typeof GenderType = GenderType;
6279
- // public get editFirstAddress(): Address {
6280
- // const firstAddress: Address = this.service.getFirstAddress(this.relation);
6281
- // if (firstAddress) {
6282
- // return firstAddress;
6283
- // } else if (this._relation) {
6284
- // const address: Address = new Address();
6285
- // address.addressType = AddressType.DeliveryAddress;
6286
- // address.startDate = new Date();
6287
- // address.sequence = this._relation.getNextAddressSequence();
6288
- // this._relation.addresses.push(address);
6289
- // return address;
6290
- // }
6291
- // }
6292
5560
  get applicationUser() {
6293
5561
  return this.service.applicationUser;
6294
5562
  }
@@ -6297,10 +5565,6 @@ class CheckoutOverviewRelationEditComponent {
6297
5565
  if (this._relation) {
6298
5566
  this.address = this._relation.getFirstAddressOrCreateNew();
6299
5567
  }
6300
- // this._initForm();
6301
- // this._relation.type = this.relType.Private;
6302
- // this._relation.gender = this.gender;
6303
- // await this.loadPrivacySettings();
6304
5568
  });
6305
5569
  }
6306
5570
  updateRelation(rel) {
@@ -6308,102 +5572,20 @@ class CheckoutOverviewRelationEditComponent {
6308
5572
  this.relationChange.emit(this._relation);
6309
5573
  }
6310
5574
  submit() {
6311
- // return this.relationForm.submit();
6312
5575
  return this._formMaster.submitSlaves();
6313
5576
  }
6314
- // public showNewAddressDialog(deliveryAddress: boolean = true): void {
6315
- // this.editAddressType = deliveryAddress ? AddressType.DeliveryAddress : AddressType.BillingAddress;
6316
- // this.showCreateAddressDialog = true;
6317
- // }
6318
- // public showEditAddressDialog(deliveryAddress: boolean = true): void {
6319
- // this.editAddressType = deliveryAddress ? AddressType.DeliveryAddress : AddressType.BillingAddress;
6320
- // this.showSelectAddressDialog = true;
6321
- // }
6322
- // public setIndexDeliveryAddress(idx: number): void {
6323
- // this.deliveryAddressIdx = idx;
6324
- // this.editAddressType = AddressType.DeliveryAddress;
6325
- // }
6326
- //
6327
- // public setIndexInvoiceAddress(idx: number): void {
6328
- // this.invoiceAddressIdx = idx;
6329
- // this.editAddressType = AddressType.BillingAddress;
6330
- // // this.selectAddress(this.relation.addresses[idx]);
6331
- // }
6332
- // public editAddress(addr: Address): void {
6333
- // this.addressToEdit = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, addr);
6334
- // this.showEditAddressDialog()
6335
- // }
6336
- checkSameAddress(checked) {
6337
- if (checked) {
6338
- this.editAddressType = AddressType.DeliveryAddress;
6339
- // this.selectAddress(this.deliveryAddress);
5577
+ handleNewAddress(type, address) {
5578
+ if (!address.nawNr) { // new address
5579
+ address.addressType = type;
5580
+ address.startDate = new Date();
5581
+ address.sequence = this.relation.getNextAddressSequence();
5582
+ this.relation.addresses.push(address);
6340
5583
  }
6341
5584
  }
6342
- // public saveNewAddress(address: Address): void {
6343
- // address.addressType = this.editAddressType;
6344
- // this.relation.addresses.push(address);
6345
- // this.selectAddress(address);
6346
- // this.showCreateAddressDialog = false;
6347
- // }
6348
- // public saveAddress(address: Address): void {
6349
- // const idx: number = this.relation.addresses.findIndex(a => a.nawNr === address.nawNr);
6350
- // if (idx > -1) {
6351
- // this.relation.addresses[idx] = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, address);
6352
- // }
6353
- // this.showSelectAddressDialog = false;
6354
- // }
6355
- // public selectAddress(address?: Address): void {
6356
- // // if (!this.deliveryOptionsRequest) {
6357
- // // return;
6358
- // // }
6359
- // // if (!address) {
6360
- // // address = this.service.getFirstAddress(this.relation);
6361
- // // }
6362
- // // if (!address) {
6363
- // // return;
6364
- // // }
6365
- // // this._setCountryNameToAddress(address);
6366
- // // if (this.editAddressType === AddressType.DeliveryAddress) {
6367
- // // this.deliveryOptionsRequest.transactionAddress = address.nawNr;
6368
- // // this.deliveryAddress = address;
6369
- // // this.deliveryAddressIdx = this.relation.addresses.findIndex(a => a.nawNr === this.deliveryAddress.nawNr);
6370
- // // }
6371
- // // if (this.invoiceAddressSameAsDeliveryAddress || this.editAddressType !== AddressType.DeliveryAddress) {
6372
- // // this.deliveryOptionsRequest.invoiceAddress = address.nawNr;
6373
- // // this.invoiceAddress = address;
6374
- // // this.invoiceAddressIdx = this.relation.addresses.findIndex(a => a.nawNr === this.invoiceAddress.nawNr);
6375
- // // }
6376
- // this.showSelectAddressDialog = false;
6377
- // }
6378
- // public async loadPrivacySettings(): Promise<void> {
6379
- // this.privacySettings = await this.service.getRelationPrivacySettings();
6380
- // }
6381
- // public async loadMarketing(): Promise<void> {
6382
- // await this.service.getMarketingCodes();
6383
- // }
6384
- // public isShared(relationPrivacySetting: RelationPrivacySetting): boolean {
6385
- // const ownSetting: RelationPrivacySetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());
6386
- // if (ownSetting) {
6387
- // return ownSetting.allowToShare;
6388
- // }
6389
- // return false;
6390
- // }
6391
- // public changeRelationType(value: RelationNameKind): void {
6392
- // this.relation.type = value;
6393
- // }
6394
- // public changePrivacySetting(relationPrivacySetting: RelationPrivacySetting, value: boolean): void {
6395
- // const ownSetting: RelationPrivacySetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());
6396
- // if (ownSetting) {
6397
- // ownSetting.allowToShare = value;
6398
- // } else {
6399
- // this.relationAsCustomer.relationPrivacySettings.push(relationPrivacySetting);
6400
- // }
6401
- // }
6402
- // private _initForm(): void {
6403
- // if (this.relationForm) {
6404
- // this.formRelation = this.relationForm.formGroup;
6405
- // }
6406
- // }
5585
+ checkSameAddress(checked) {
5586
+ this.invoiceAddressNawNr = this.deliveryAddressNawNr;
5587
+ this.invoiceAddressChange.next(this.invoiceAddressNawNr);
5588
+ }
6407
5589
  _setCountryNameToAddress(address) {
6408
5590
  return __awaiter(this, void 0, void 0, function* () {
6409
5591
  if (address.countryId && !address.countryName) {
@@ -6448,6 +5630,7 @@ CheckoutOverviewRelationEditComponent.decorators = [
6448
5630
  [type]="addressType.DeliveryAddress"
6449
5631
  [selectedNawNr]="deliveryAddressNawNr"
6450
5632
  (selectedNawNrChange)="deliveryAddressChange.emit($event)"
5633
+ (addressSaved)="handleNewAddress(addressType.DeliveryAddress, $event)"
6451
5634
  ></co-relation-addresses>
6452
5635
  </div>
6453
5636
  </div>
@@ -6466,6 +5649,7 @@ CheckoutOverviewRelationEditComponent.decorators = [
6466
5649
  [type]="addressType.BillingAddress"
6467
5650
  [selectedNawNr]="invoiceAddressNawNr"
6468
5651
  (selectedNawNrChange)="invoiceAddressChange.emit($event)"
5652
+ (addressSaved)="handleNewAddress(addressType.BillingAddress, $event)"
6469
5653
  ></co-relation-addresses>
6470
5654
  </div>
6471
5655
  </div>
@@ -6525,11 +5709,12 @@ CheckoutOverviewRelationEditComponent.decorators = [
6525
5709
  ];
6526
5710
  CheckoutOverviewRelationEditComponent.ctorParameters = () => [
6527
5711
  { type: FormMasterService },
6528
- { type: BusinessObjectFactory },
6529
5712
  { type: TransactionService }
6530
5713
  ];
6531
5714
  CheckoutOverviewRelationEditComponent.propDecorators = {
6532
5715
  relation: [{ type: Input }],
5716
+ deliveryAddressNawNr: [{ type: Input }],
5717
+ invoiceAddressNawNr: [{ type: Input }],
6533
5718
  validSubmit: [{ type: Output }],
6534
5719
  invalidSubmit: [{ type: Output }],
6535
5720
  deliveryAddressChange: [{ type: Output }],
@@ -6539,10 +5724,9 @@ CheckoutOverviewRelationEditComponent.propDecorators = {
6539
5724
  };
6540
5725
 
6541
5726
  class CheckoutOverviewDeliveryEditComponent {
6542
- constructor(_dictionaryService, _formMasterService, _boFactory, service, iconService) {
5727
+ constructor(_dictionaryService, _formMasterService, service, iconService) {
6543
5728
  this._dictionaryService = _dictionaryService;
6544
5729
  this._formMasterService = _formMasterService;
6545
- this._boFactory = _boFactory;
6546
5730
  this.service = service;
6547
5731
  this.iconService = iconService;
6548
5732
  this.icons = Icon;
@@ -6784,7 +5968,6 @@ CheckoutOverviewDeliveryEditComponent.decorators = [
6784
5968
  CheckoutOverviewDeliveryEditComponent.ctorParameters = () => [
6785
5969
  { type: DictionaryService },
6786
5970
  { type: FormMasterService },
6787
- { type: BusinessObjectFactory },
6788
5971
  { type: TransactionService },
6789
5972
  { type: IconCacheService }
6790
5973
  ];
@@ -7567,10 +6750,9 @@ RelationBaseComponent.propDecorators = {
7567
6750
  };
7568
6751
 
7569
6752
  class RelationAddressSelectComponent extends RelationBaseComponent {
7570
- constructor(_formMasterService, _boFactory) {
6753
+ constructor(_formMasterService) {
7571
6754
  super();
7572
6755
  this._formMasterService = _formMasterService;
7573
- this._boFactory = _boFactory;
7574
6756
  this.icons = Icon;
7575
6757
  this.collection = [];
7576
6758
  this.showAdd = true;
@@ -7582,6 +6764,7 @@ class RelationAddressSelectComponent extends RelationBaseComponent {
7582
6764
  this.showDialog = false;
7583
6765
  this.showNavigateLeft = true;
7584
6766
  this.showNavigateRight = true;
6767
+ this._boFactory = new BusinessObjectFactory();
7585
6768
  this._intersectionCallback = (entries, observer) => {
7586
6769
  const entry = entries[0];
7587
6770
  if (entry.intersectionRatio < 1) {
@@ -7690,8 +6873,7 @@ RelationAddressSelectComponent.decorators = [
7690
6873
  },] }
7691
6874
  ];
7692
6875
  RelationAddressSelectComponent.ctorParameters = () => [
7693
- { type: FormMasterService },
7694
- { type: BusinessObjectFactory }
6876
+ { type: FormMasterService }
7695
6877
  ];
7696
6878
  RelationAddressSelectComponent.propDecorators = {
7697
6879
  content: [{ type: ViewChild, args: ['scrollContainer', { read: ElementRef },] }],
@@ -7729,7 +6911,7 @@ class RelationAddressComponent extends RelationBaseComponent {
7729
6911
  }
7730
6912
  checkForPostalCodeCheckError() {
7731
6913
  return __awaiter(this, void 0, void 0, function* () {
7732
- if (!this.address.postalCode || isNill$1(this.address.houseNo)) {
6914
+ if (!this.address.postalCode || isNill(this.address.houseNo)) {
7733
6915
  this.postalCodeCheckErrorMessage = "";
7734
6916
  return;
7735
6917
  }
@@ -9881,7 +9063,7 @@ var TransactionTypeCategory;
9881
9063
  class TransactionBaseComponent {
9882
9064
  constructor(service) {
9883
9065
  this.service = service;
9884
- this.relationKind = RelationKind$1;
9066
+ this.relationKind = RelationKind;
9885
9067
  // @Input()
9886
9068
  // public set relationId(value: number) {
9887
9069
  // if (value !== undefined) {
@@ -10173,7 +9355,7 @@ TransactionQuickAccessOverviewComponent.decorators = [
10173
9355
  template: `
10174
9356
  <co-input-search
10175
9357
  [placeholder]="'SEARCH_ADD_ARTICLE' | localize"
10176
- [noIcon]="true"
9358
+ [centerLabel]="true"
10177
9359
  ></co-input-search>
10178
9360
  `,
10179
9361
  encapsulation: ViewEncapsulation.None
@@ -10725,37 +9907,72 @@ TransactionOverviewLineComponent.propDecorators = {
10725
9907
  handleMouseLeave: [{ type: HostListener, args: ["mouseleave", ["$event"],] }]
10726
9908
  };
10727
9909
 
9910
+ class TransactionOrderDeliveryService {
9911
+ constructor() {
9912
+ this.totalQuantityToDeliver = 0;
9913
+ this.totalAmountLeftInOrder = 0;
9914
+ }
9915
+ }
9916
+ TransactionOrderDeliveryService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionOrderDeliveryService_Factory() { return new TransactionOrderDeliveryService(); }, token: TransactionOrderDeliveryService, providedIn: "root" });
9917
+ TransactionOrderDeliveryService.decorators = [
9918
+ { type: Injectable, args: [{
9919
+ providedIn: "root"
9920
+ },] }
9921
+ ];
9922
+
10728
9923
  class TransactionOrderDeliveryLineComponent extends TransactionLinesLineBaseComponent {
10729
- constructor(service, _transactionEventService) {
9924
+ constructor(service, _transactionEventService, _transactionOrderDeliveryService) {
10730
9925
  super();
10731
9926
  this.service = service;
10732
9927
  this._transactionEventService = _transactionEventService;
9928
+ this._transactionOrderDeliveryService = _transactionOrderDeliveryService;
10733
9929
  this.localAmount = 1;
10734
9930
  this.splitDelivery = false;
10735
- this.selected = false;
9931
+ this.checkboxSelected = false;
10736
9932
  this._subscriptions = [];
10737
9933
  }
10738
9934
  showClass() {
10739
9935
  return true;
10740
9936
  }
10741
9937
  ngOnInit() {
10742
- this.allowPartialDelivery = this.service.currentTransaction.transactionInfo.allowPartialDelivery;
10743
9938
  this._subscriptions.push(this._transactionEventService.selectAllLines.subscribe((value) => {
10744
- this.selected = value;
10745
- }));
9939
+ if (this.deliveryOrderStatus.quantityToDeliver > 0) {
9940
+ this.checkboxSelected = value;
9941
+ }
9942
+ }), this._transactionEventService.allowPartialDeliveryChanged.subscribe(() => this._handleOrderStatusUpdated()));
10746
9943
  this.transactionKind = this.service.currentTransaction.transactionInfo.transactionKind;
10747
9944
  }
10748
9945
  ngOnDestroy() {
10749
9946
  this._subscriptions.forEach(s => s.unsubscribe());
9947
+ this._transactionOrderDeliveryService.totalQuantityToDeliver = 0;
9948
+ this._transactionOrderDeliveryService.totalAmountLeftInOrder = 0;
9949
+ }
9950
+ getDeliveryOrderStatus() {
9951
+ if (!this.deliveryOrderStatus) {
9952
+ this.service.getDeliveryOrderStatus(this.transactionId, this.line.lineNr).then((result) => {
9953
+ this.deliveryOrderStatus = result;
9954
+ this._transactionOrderDeliveryService.totalQuantityToDeliver += this.deliveryOrderStatus.quantityToDeliver;
9955
+ this._transactionOrderDeliveryService.totalAmountLeftInOrder += this.line.amount - this.line.quantityDelivered;
9956
+ this._handleOrderStatusUpdated();
9957
+ });
9958
+ }
10750
9959
  }
10751
- changeLineAmount(amount) {
9960
+ showNumberPicker() {
9961
+ var _a;
9962
+ return this.service.currentTransaction.transactionInfo.allowPartialDelivery && ((_a = this.deliveryOrderStatus) === null || _a === void 0 ? void 0 : _a.quantityToDeliver) !== 0;
9963
+ }
9964
+ _handleOrderStatusUpdated() {
9965
+ this.checkboxSelected = this.service.currentTransaction.transactionInfo.allowPartialDelivery ?
9966
+ this.deliveryOrderStatus.quantityToDeliver > 0 : this.deliveryOrderStatus.quantityToDeliver === this.line.amount - this.line.quantityDelivered;
9967
+ this.localAmount = this.deliveryOrderStatus.quantityToDeliver;
10752
9968
  }
10753
9969
  }
10754
9970
  TransactionOrderDeliveryLineComponent.decorators = [
10755
9971
  { type: Component, args: [{
10756
9972
  selector: "co-transaction-order-delivery-line",
10757
9973
  template: `
10758
- <co-transaction-base-line [line]="line" [preview]="preview" [checkbox]="true" [checkboxValue]="selected" [actionButtons]="false">
9974
+ <co-transaction-base-line [line]="line" [preview]="preview" [checkbox]="service.currentTransaction.transactionInfo.allowPartialDelivery"
9975
+ [checkboxValue]="checkboxSelected" [hideCheckbox]="deliveryOrderStatus?.quantityToDeliver === 0" [actionButtons]="false" observeVisibility (visible)="getDeliveryOrderStatus()">
10759
9976
  <div class="transaction-line-buttons-grid">
10760
9977
  <div class="row-1">
10761
9978
  <co-transaction-line-warehouse-button [transactionLine]="line" [transactionInfo]="service.currentTransaction.transactionInfo"></co-transaction-line-warehouse-button>
@@ -10766,39 +9983,41 @@ TransactionOrderDeliveryLineComponent.decorators = [
10766
9983
  <co-transaction-line-statusbar [transaction]="line" [transactionKind]="transactionKind"></co-transaction-line-statusbar>
10767
9984
  </div>
10768
9985
  </div>
10769
- <div class="transaction-line-totals">
9986
+ <div class="transaction-line-totals-custom-grid" [class.hidden]="!deliveryOrderStatus">
10770
9987
  <co-editable-label class="transaction-line-totals-total price"
10771
- [model]="(line.price + line.discountAmount) | coCurrency"
10772
- [editModel]="line.displayNetLineTotal"
10773
- [readonly]="true"
9988
+ [model]="(line.price + line.discountAmount) | coCurrency"
9989
+ [crossedOut]="!!line.discountAmount"
9990
+ [editModel]="line.displayNetLineTotal"
9991
+ [readonly]="true"
10774
9992
  ></co-editable-label>
10775
9993
  <co-editable-label class="transaction-line-totals-total price"
10776
- [model]="line.price | coCurrency"
10777
- [readonly]="true"
9994
+ [model]="line.price | coCurrency"
9995
+ [readonly]="true"
10778
9996
  ></co-editable-label>
10779
9997
  <co-editable-label class="transaction-line-totals-total price"
10780
- [model]="line.amount.toString() + 'x'"
10781
- [readonly]="true"
9998
+ [model]="line.amount.toString() + 'x'"
9999
+ [readonly]="true"
10782
10000
  ></co-editable-label>
10783
10001
  <co-editable-label class="transaction-line-totals-total price"
10784
10002
  [model]="line.displayNetLineTotal * line.amount | coCurrency"
10785
10003
  [readonly]="true"
10786
10004
  ></co-editable-label>
10787
- <co-editable-label class="transaction-line-totals-total price"
10788
- [class.fully-delivered]="false"
10789
- [class.partially-delivered]="true"
10790
- [model]="(line.amount - line.quantityDelivered).toString()"
10005
+ <div class="transaction-line-totals-amount" *ngIf="deliveryOrderStatus?.quantityToDeliver !== 0 && service.currentTransaction.transactionInfo.allowPartialDelivery"
10006
+ [class.fully-delivered]="line.quantityDelivered === line.amount"
10007
+ [class.partially-delivered]="line.quantityDelivered !== line.amount">
10008
+ <co-input-number-picker class="amount-number-picker"
10009
+ [(model)]="localAmount"
10010
+ [min]="!service.currentTransaction.transactionInfo.allowPartialDelivery ? line.amount : 1"
10011
+ [max]="line.amount"
10012
+ [readonly]="readonly || !service.currentTransaction.transactionInfo.allowPartialDelivery">
10013
+ </co-input-number-picker>
10014
+ </div>
10015
+ <co-editable-label class="transaction-line-totals-total price" *ngIf="deliveryOrderStatus?.quantityToDeliver === 0 || !service.currentTransaction.transactionInfo.allowPartialDelivery"
10016
+ [class.fully-delivered]="line.quantityDelivered === line.amount"
10017
+ [class.partially-delivered]="line.quantityDelivered !== line.amount"
10018
+ [model]="deliveryOrderStatus?.quantityToDeliver.toString()"
10791
10019
  [readonly]="true"
10792
10020
  ></co-editable-label>
10793
- <div class="transaction-line-totals-amount">
10794
- <co-input-number-picker class="amount-number-picker"
10795
- [(model)]="localAmount"
10796
- [min]="!allowPartialDelivery ? line.amount : 0"
10797
- [max]="line.amount"
10798
- [readonly]="readonly || !allowPartialDelivery"
10799
- (modelChange)="changeLineAmount($event)">
10800
- </co-input-number-picker>
10801
- </div>
10802
10021
  <co-editable-label class="transaction-line-totals-total price discount"
10803
10022
  [model]="'-' + (line.discountAmount | coCurrency)"
10804
10023
  [readonly]="true"
@@ -10811,22 +10030,37 @@ TransactionOrderDeliveryLineComponent.decorators = [
10811
10030
  ];
10812
10031
  TransactionOrderDeliveryLineComponent.ctorParameters = () => [
10813
10032
  { type: TransactionService },
10814
- { type: TransactionEventService }
10033
+ { type: TransactionEventService },
10034
+ { type: TransactionOrderDeliveryService }
10815
10035
  ];
10816
10036
  TransactionOrderDeliveryLineComponent.propDecorators = {
10817
10037
  showClass: [{ type: HostBinding, args: ["class.co-transaction-order-delivery-line",] }]
10818
10038
  };
10819
10039
 
10820
10040
  class TransactionQuickAccessOrderDeliveryComponent extends TransactionBaseComponent {
10821
- constructor(iconService, service, _transactionEventService) {
10041
+ constructor(iconService, service, _transactionEventService, _orderDeliveryService) {
10822
10042
  super(service);
10823
10043
  this.iconService = iconService;
10824
10044
  this.service = service;
10825
10045
  this._transactionEventService = _transactionEventService;
10046
+ this._orderDeliveryService = _orderDeliveryService;
10047
+ this.allowDelivery = false;
10048
+ this._subscriptions = [];
10049
+ this._subscriptions.push(this._transactionEventService.allowPartialDeliveryChanged.subscribe(() => {
10050
+ this.allowDelivery = this.service.currentTransaction.transactionInfo.allowPartialDelivery ||
10051
+ this._orderDeliveryService.totalQuantityToDeliver === this._orderDeliveryService.totalAmountLeftInOrder;
10052
+ }));
10826
10053
  }
10827
10054
  showClass() {
10828
10055
  return true;
10829
10056
  }
10057
+ ngOnDestroy() {
10058
+ this._subscriptions.forEach((subscription) => subscription.unsubscribe());
10059
+ }
10060
+ ngAfterViewInit() {
10061
+ this.allowDelivery = this.service.currentTransaction.transactionInfo.allowPartialDelivery ||
10062
+ this._orderDeliveryService.totalQuantityToDeliver === this._orderDeliveryService.totalAmountLeftInOrder;
10063
+ }
10830
10064
  handleSelectAllLines(value) {
10831
10065
  this._transactionEventService.selectAllLines.next(value);
10832
10066
  }
@@ -10836,13 +10070,13 @@ TransactionQuickAccessOrderDeliveryComponent.decorators = [
10836
10070
  selector: "co-transaction-quick-access-order-delivery",
10837
10071
  template: `
10838
10072
  <div class="quick-access-content-wrapper">
10839
- <div class="select-all-wrapper">
10073
+ <div class="select-all-wrapper" [class.hidden]="!service.currentTransaction.transactionInfo.allowPartialDelivery">
10840
10074
  <co-input-checkbox
10841
10075
  [label]="'SELECT_ALL_LINES' | localize"
10842
10076
  (modelChange)="handleSelectAllLines($event)"
10843
10077
  ></co-input-checkbox>
10844
10078
  </div>
10845
- <div class="send-button-wrapper">
10079
+ <div class="send-button-wrapper" [class.hidden]="!allowDelivery">
10846
10080
  <co-transaction-send-button-dialog></co-transaction-send-button-dialog>
10847
10081
  </div>
10848
10082
  </div>
@@ -10853,7 +10087,8 @@ TransactionQuickAccessOrderDeliveryComponent.decorators = [
10853
10087
  TransactionQuickAccessOrderDeliveryComponent.ctorParameters = () => [
10854
10088
  { type: IconCacheService },
10855
10089
  { type: TransactionService },
10856
- { type: TransactionEventService }
10090
+ { type: TransactionEventService },
10091
+ { type: TransactionOrderDeliveryService }
10857
10092
  ];
10858
10093
  TransactionQuickAccessOrderDeliveryComponent.propDecorators = {
10859
10094
  showClass: [{ type: HostBinding, args: ["class.co-transaction-quick-access-order-delivery",] }]
@@ -11199,6 +10434,7 @@ class TransactionMappingService {
11199
10434
  [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderOverview }, TransactionOverviewLineComponent],
11200
10435
  [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderPurchase }, TransactionPurchaseLineComponent],
11201
10436
  [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderDeliveryNote }, TransactionOrderDeliveryLineComponent],
10437
+ [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderInvoice }, TransactionOrderDeliveryLineComponent],
11202
10438
  [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderReceivedGoods }, TransactionReceiveGoodsLineComponent],
11203
10439
  ]);
11204
10440
  this._transactionFilterComponent = new Map([
@@ -11729,12 +10965,13 @@ SharedConnectorService.ctorParameters = () => [
11729
10965
  ];
11730
10966
 
11731
10967
  class SharedService {
11732
- constructor(_optionsService, _connector) {
10968
+ constructor(_optionsService, _connector, _transactionEventService) {
11733
10969
  this._optionsService = _optionsService;
11734
10970
  this._connector = _connector;
10971
+ this._transactionEventService = _transactionEventService;
11735
10972
  this._subs = [];
11736
- this._subs.push(this._optionsService.optionsLoaded.subscribe((loaded) => {
11737
- if (loaded) {
10973
+ this._subs.push(this._transactionEventService.connectionInitialized.subscribe((initialized) => {
10974
+ if (initialized) {
11738
10975
  this._connector.connect();
11739
10976
  }
11740
10977
  }));
@@ -11749,7 +10986,7 @@ class SharedService {
11749
10986
  return this._connector.getDocumentContent(docId, thumbnail);
11750
10987
  }
11751
10988
  }
11752
- SharedService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SharedService_Factory() { return new SharedService(i0.ɵɵinject(OptionsService), i0.ɵɵinject(SharedConnectorService)); }, token: SharedService, providedIn: "root" });
10989
+ SharedService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SharedService_Factory() { return new SharedService(i0.ɵɵinject(OptionsService), i0.ɵɵinject(SharedConnectorService), i0.ɵɵinject(TransactionEventService)); }, token: SharedService, providedIn: "root" });
11753
10990
  SharedService.decorators = [
11754
10991
  { type: Injectable, args: [{
11755
10992
  providedIn: "root"
@@ -11757,14 +10994,119 @@ SharedService.decorators = [
11757
10994
  ];
11758
10995
  SharedService.ctorParameters = () => [
11759
10996
  { type: OptionsService },
11760
- { type: SharedConnectorService }
10997
+ { type: SharedConnectorService },
10998
+ { type: TransactionEventService }
10999
+ ];
11000
+
11001
+ class RelationService {
11002
+ constructor(_adapterService, _selectMultipleCacheService, _selectSingleCacheService, _selectMultipleParameterizedCacheService) {
11003
+ this._adapterService = _adapterService;
11004
+ this._selectMultipleCacheService = _selectMultipleCacheService;
11005
+ this._selectSingleCacheService = _selectSingleCacheService;
11006
+ this._selectMultipleParameterizedCacheService = _selectMultipleParameterizedCacheService;
11007
+ this._lockMethods = new Map([
11008
+ [RelationKind.Customer, (relationNr) => this._lockCustomerFullObject(relationNr)],
11009
+ [RelationKind.Supplier, (relationNr) => this._lockSupplierFullObject(relationNr)],
11010
+ [RelationKind.Personnel, (relationNr) => this._lockEmployeeFullObject(relationNr)],
11011
+ [RelationKind.Branch, (relationNr) => this._lockBranchFullObject(relationNr)],
11012
+ [RelationKind.Company, (relationNr) => this._lockCompanyFullObject(relationNr)],
11013
+ [RelationKind.ContactPerson, (relationNr) => this._lockContactPerson(relationNr)],
11014
+ ]);
11015
+ this._updateMethods = new Map([
11016
+ [RelationKind.Customer, (relation) => this.updateCustomer(relation)]
11017
+ ]);
11018
+ }
11019
+ getCustomerFullObject(relationNo) {
11020
+ return this._selectSingleCacheService.requestCache(CustomerFullObject, relationNo, () => {
11021
+ return this._adapterService.getCustomerFullObject(relationNo);
11022
+ }).getValue();
11023
+ }
11024
+ getSupplierFullObject(relationNo) {
11025
+ return this._selectSingleCacheService.requestCache(SupplierFullObject, relationNo, () => {
11026
+ return this._adapterService.getSupplierFullObject(relationNo);
11027
+ }).getValue();
11028
+ }
11029
+ insertCustomer(relation) {
11030
+ return this._adapterService.insertCustomer(relation);
11031
+ }
11032
+ updateCustomer(relation) {
11033
+ return __awaiter(this, void 0, void 0, function* () {
11034
+ return this._adapterService.updateCustomer(relation);
11035
+ });
11036
+ }
11037
+ getRelationListObjects(relationRequest) {
11038
+ return this._adapterService.getRelationListObjects(relationRequest);
11039
+ }
11040
+ getRelationNumber(relationId) {
11041
+ return this._adapterService.getRelationNumber(relationId);
11042
+ }
11043
+ getBranches(branchNr) {
11044
+ return this._selectMultipleParameterizedCacheService.requestCache(BranchLov, (branchNr) => {
11045
+ return this._adapterService.getBranches(branchNr);
11046
+ }).getValue(branchNr);
11047
+ }
11048
+ updateRelation(relationKind, relation) {
11049
+ const updateMethod = this._updateMethods.get(relationKind);
11050
+ if (updateMethod) {
11051
+ return updateMethod.call(this, relation);
11052
+ }
11053
+ else {
11054
+ const result = new Relation();
11055
+ return Promise.resolve(result);
11056
+ }
11057
+ }
11058
+ lockRelation(relationKind, relationNr) {
11059
+ const lockMethod = this._lockMethods.get(relationKind);
11060
+ if (lockMethod) {
11061
+ return lockMethod.call(this, relationNr);
11062
+ }
11063
+ else {
11064
+ const result = new ValidationResult();
11065
+ result.success = false;
11066
+ return Promise.resolve(result);
11067
+ }
11068
+ }
11069
+ commit() {
11070
+ return this._adapterService.commit();
11071
+ }
11072
+ _lockCustomerFullObject(relationNr) {
11073
+ return this._adapterService.lockCustomerFullObject(relationNr);
11074
+ }
11075
+ _lockSupplierFullObject(relationNr) {
11076
+ return this._adapterService.lockSupplierFullObject(relationNr);
11077
+ }
11078
+ _lockEmployeeFullObject(relationNr) {
11079
+ return this._adapterService.lockEmployeeFullObject(relationNr);
11080
+ }
11081
+ _lockBranchFullObject(relationNr) {
11082
+ return this._adapterService.lockBranchFullObject(relationNr);
11083
+ }
11084
+ _lockCompanyFullObject(relationNr) {
11085
+ return this._adapterService.lockCompanyFullObject(relationNr);
11086
+ }
11087
+ _lockContactPerson(relationNr) {
11088
+ return this._adapterService.lockContactPerson(relationNr);
11089
+ }
11090
+ }
11091
+ RelationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function RelationService_Factory() { return new RelationService(i0.ɵɵinject(RelationConnectorService), i0.ɵɵinject(SelectMultipleCacheService), i0.ɵɵinject(SelectSingleCacheService), i0.ɵɵinject(SelectMultipleParameterizedCacheService)); }, token: RelationService, providedIn: "root" });
11092
+ RelationService.decorators = [
11093
+ { type: Injectable, args: [{
11094
+ providedIn: "root"
11095
+ },] }
11096
+ ];
11097
+ RelationService.ctorParameters = () => [
11098
+ { type: RelationConnectorService },
11099
+ { type: SelectMultipleCacheService },
11100
+ { type: SelectSingleCacheService },
11101
+ { type: SelectMultipleParameterizedCacheService }
11761
11102
  ];
11762
11103
 
11763
11104
  class AvatarComponent {
11764
- constructor(_transactionService, _sharedService, _colorSequenceService) {
11105
+ constructor(_transactionService, _sharedService, _colorSequenceService, _relationService) {
11765
11106
  this._transactionService = _transactionService;
11766
11107
  this._sharedService = _sharedService;
11767
11108
  this._colorSequenceService = _colorSequenceService;
11109
+ this._relationService = _relationService;
11768
11110
  }
11769
11111
  set image(value) {
11770
11112
  this._image = value;
@@ -11796,7 +11138,7 @@ class AvatarComponent {
11796
11138
  if (!isNaN(this._relationId) && !this.image) {
11797
11139
  const request = new RelationRequest();
11798
11140
  request.relationId = this._relationId;
11799
- this._transactionService.getRelationListObjects(request).then((data) => {
11141
+ this._relationService.getRelationListObjects(request).then((data) => {
11800
11142
  if (data && data.length > 0) {
11801
11143
  this.relation = data[0];
11802
11144
  if (this.relation && this.relation.image && this.relation.image.documentId) {
@@ -11848,7 +11190,8 @@ AvatarComponent.decorators = [
11848
11190
  AvatarComponent.ctorParameters = () => [
11849
11191
  { type: TransactionService },
11850
11192
  { type: SharedService },
11851
- { type: ColorSequenceService }
11193
+ { type: ColorSequenceService },
11194
+ { type: RelationService }
11852
11195
  ];
11853
11196
  AvatarComponent.propDecorators = {
11854
11197
  image: [{ type: Input }],
@@ -12615,11 +11958,12 @@ RelationTypeModule.decorators = [
12615
11958
  ];
12616
11959
 
12617
11960
  class RelationGeneralComponent extends RelationBaseComponent {
12618
- constructor(_service, _dictionaryService, _dialogService) {
11961
+ constructor(_service, _dictionaryService, _dialogService, _relationService) {
12619
11962
  super();
12620
11963
  this._service = _service;
12621
11964
  this._dictionaryService = _dictionaryService;
12622
11965
  this._dialogService = _dialogService;
11966
+ this._relationService = _relationService;
12623
11967
  this.relType = RelationNameKind;
12624
11968
  this.genderType = GenderType;
12625
11969
  this.readonly = false;
@@ -12671,13 +12015,13 @@ class RelationGeneralComponent extends RelationBaseComponent {
12671
12015
  onRelationSuggestionClick(relationSuggested) {
12672
12016
  return __awaiter(this, void 0, void 0, function* () {
12673
12017
  if (relationSuggested) {
12674
- const lockResult = yield this._service.lockRelation(relationSuggested.relationType, parseInt(relationSuggested.relationNr, 0));
12018
+ const lockResult = yield this._relationService.lockRelation(relationSuggested.relationType, parseInt(relationSuggested.relationNr, 0));
12675
12019
  if (!lockResult.success) {
12676
12020
  this._dialogService.showError(this._dictionaryService.get("RELATION_ALREADY_LOCKED"), lockResult.messages[0].message);
12677
12021
  }
12678
12022
  else {
12679
12023
  this.hideSidebar();
12680
- this.relation = yield this._service.getCustomerFullObjectByRelationId(relationSuggested.relationId);
12024
+ this.relation = yield this._relationService.getCustomerFullObject(parseInt(relationSuggested.relationNr));
12681
12025
  this.relationChange.next(this.relation);
12682
12026
  }
12683
12027
  }
@@ -12709,7 +12053,7 @@ class RelationGeneralComponent extends RelationBaseComponent {
12709
12053
  relationRequest.familyName = secondName;
12710
12054
  }
12711
12055
  this.showSidebar();
12712
- this.relationSuggestions = yield this._service.getRelationListObjects(relationRequest);
12056
+ this.relationSuggestions = yield this._relationService.getRelationListObjects(relationRequest);
12713
12057
  });
12714
12058
  }
12715
12059
  }
@@ -12806,7 +12150,8 @@ RelationGeneralComponent.decorators = [
12806
12150
  RelationGeneralComponent.ctorParameters = () => [
12807
12151
  { type: TransactionService },
12808
12152
  { type: DictionaryService },
12809
- { type: DialogService }
12153
+ { type: DialogService },
12154
+ { type: RelationService }
12810
12155
  ];
12811
12156
  RelationGeneralComponent.propDecorators = {
12812
12157
  readonly: [{ type: Input }],
@@ -12929,9 +12274,8 @@ RelationGeneralModule.decorators = [
12929
12274
  ];
12930
12275
 
12931
12276
  class RelationAddressesComponent extends RelationBaseComponent {
12932
- constructor(_boFactory, _formMasterService) {
12277
+ constructor(_formMasterService) {
12933
12278
  super();
12934
- this._boFactory = _boFactory;
12935
12279
  this._formMasterService = _formMasterService;
12936
12280
  this.icons = Icon;
12937
12281
  this.readonly = false;
@@ -12940,7 +12284,9 @@ class RelationAddressesComponent extends RelationBaseComponent {
12940
12284
  this.type = AddressType.DeliveryAddress;
12941
12285
  this.selectedNawNr = 0;
12942
12286
  this.selectedNawNrChange = new EventEmitter();
12287
+ this.addressSaved = new EventEmitter();
12943
12288
  this.showEditAddressDialog = false;
12289
+ this._boFactory = new BusinessObjectFactory();
12944
12290
  }
12945
12291
  showClass() {
12946
12292
  return true;
@@ -12951,16 +12297,7 @@ class RelationAddressesComponent extends RelationBaseComponent {
12951
12297
  }
12952
12298
  }
12953
12299
  saveAddress(address) {
12954
- if (!address.nawNr) { // new address
12955
- address.addressType = this.type;
12956
- this.addresses.push(address);
12957
- }
12958
- else {
12959
- const idx = this.addresses.findIndex(a => a.nawNr === address.nawNr);
12960
- if (idx > -1) {
12961
- this.addresses[idx] = this._boFactory.makeWithRawBackendData(Address, address);
12962
- }
12963
- }
12300
+ this.addressSaved.next(address);
12964
12301
  this.showEditAddressDialog = false;
12965
12302
  }
12966
12303
  showNewAddressDialog() {
@@ -13028,7 +12365,6 @@ RelationAddressesComponent.decorators = [
13028
12365
  },] }
13029
12366
  ];
13030
12367
  RelationAddressesComponent.ctorParameters = () => [
13031
- { type: BusinessObjectFactory },
13032
12368
  { type: FormMasterService }
13033
12369
  ];
13034
12370
  RelationAddressesComponent.propDecorators = {
@@ -13038,6 +12374,7 @@ RelationAddressesComponent.propDecorators = {
13038
12374
  type: [{ type: Input }],
13039
12375
  selectedNawNr: [{ type: Input }],
13040
12376
  selectedNawNrChange: [{ type: Output }],
12377
+ addressSaved: [{ type: Output }],
13041
12378
  showClass: [{ type: HostBinding, args: ["class.co-relation-addresses",] }]
13042
12379
  };
13043
12380
 
@@ -13081,7 +12418,7 @@ class RelationContactDetailsComponent extends RelationBaseComponent {
13081
12418
  preparePrimaryEmail() {
13082
12419
  if (this.relation) {
13083
12420
  this.emailAddress = this.relation.getLowestSequenceOfContactOptionsWithType(CommunicationType.Email);
13084
- if (isNill$1(this.emailAddress)) {
12421
+ if (isNill(this.emailAddress)) {
13085
12422
  this.emailAddress = new ContactOption();
13086
12423
  this.emailAddress.type = CommunicationType.Email;
13087
12424
  this.emailAddress.sequence = 0;
@@ -13092,7 +12429,7 @@ class RelationContactDetailsComponent extends RelationBaseComponent {
13092
12429
  preparePrimaryPhone() {
13093
12430
  if (this.relation) {
13094
12431
  this.phoneNumber = this.relation.getLowestSequenceOfContactOptionsWithType(CommunicationType.Telephone);
13095
- if (isNill$1(this.phoneNumber)) {
12432
+ if (isNill(this.phoneNumber)) {
13096
12433
  this.phoneNumber = new ContactOption();
13097
12434
  this.phoneNumber.type = CommunicationType.Telephone;
13098
12435
  this.phoneNumber.sequence = 0;
@@ -14225,7 +13562,7 @@ DialogHeaderSearchComponent.decorators = [
14225
13562
  template: `
14226
13563
  <div class="dialog-header-search-wrapper">
14227
13564
  <div class="co-transaction-dialog-header-title" [textContent]="title | localize"></div>
14228
- <co-input-search [placeholder]="searchPlaceholder | localize" [noIcon]="true" (modelChange)="handleSearch($event)"></co-input-search>
13565
+ <co-input-search [placeholder]="searchPlaceholder | localize" [centerLabel]="true" (modelChange)="handleSearch($event)"></co-input-search>
14229
13566
  </div>
14230
13567
  `,
14231
13568
  encapsulation: ViewEncapsulation.None
@@ -14365,9 +13702,10 @@ TransactionHeaderDeliveryOptionsModule.decorators = [
14365
13702
  ];
14366
13703
 
14367
13704
  class TransactionHeaderPartialDeliveryComponent extends TransactionHeaderBaseComponent {
14368
- constructor(_transactionService) {
13705
+ constructor(_transactionService, _eventService) {
14369
13706
  super();
14370
13707
  this._transactionService = _transactionService;
13708
+ this._eventService = _eventService;
14371
13709
  this.showClass = true;
14372
13710
  }
14373
13711
  commitPartialDelivery(allow) {
@@ -14379,6 +13717,9 @@ class TransactionHeaderPartialDeliveryComponent extends TransactionHeaderBaseCom
14379
13717
  this.transactionInfo.allowPartialDelivery = oldPartial;
14380
13718
  return success;
14381
13719
  }
13720
+ else {
13721
+ this._eventService.allowPartialDeliveryChanged.next(allow);
13722
+ }
14382
13723
  }
14383
13724
  return true;
14384
13725
  });
@@ -14402,7 +13743,8 @@ TransactionHeaderPartialDeliveryComponent.decorators = [
14402
13743
  },] }
14403
13744
  ];
14404
13745
  TransactionHeaderPartialDeliveryComponent.ctorParameters = () => [
14405
- { type: TransactionService }
13746
+ { type: TransactionService },
13747
+ { type: TransactionEventService }
14406
13748
  ];
14407
13749
  TransactionHeaderPartialDeliveryComponent.propDecorators = {
14408
13750
  showClass: [{ type: HostBinding, args: ["class.co-transaction-header-partial-delivery",] }]
@@ -14713,14 +14055,15 @@ TransactionHeaderDefinitiveModule.decorators = [
14713
14055
  ];
14714
14056
 
14715
14057
  class TransactionHeaderBranchComponent extends TransactionHeaderBaseComponent {
14716
- constructor(_transactionService) {
14058
+ constructor(_transactionService, _relationService) {
14717
14059
  super();
14718
14060
  this._transactionService = _transactionService;
14061
+ this._relationService = _relationService;
14719
14062
  this.simple = false;
14720
14063
  this.fields = { text: "description", value: "relationId" };
14721
14064
  }
14722
14065
  ngOnInit() {
14723
- this._transactionService.getBranches().then((branches) => {
14066
+ this._relationService.getBranches().then((branches) => {
14724
14067
  this.collection = branches;
14725
14068
  });
14726
14069
  }
@@ -14775,7 +14118,8 @@ TransactionHeaderBranchComponent.decorators = [
14775
14118
  },] }
14776
14119
  ];
14777
14120
  TransactionHeaderBranchComponent.ctorParameters = () => [
14778
- { type: TransactionService }
14121
+ { type: TransactionService },
14122
+ { type: RelationService }
14779
14123
  ];
14780
14124
  TransactionHeaderBranchComponent.propDecorators = {
14781
14125
  simple: [{ type: Input }]
@@ -14802,15 +14146,16 @@ TransactionHeaderBranchModule.decorators = [
14802
14146
  ];
14803
14147
 
14804
14148
  class TransactionHeaderAdministrativeRelationComponent extends TransactionHeaderBaseComponent {
14805
- constructor(_transactionService) {
14149
+ constructor(_transactionService, _relationService) {
14806
14150
  super();
14807
14151
  this._transactionService = _transactionService;
14152
+ this._relationService = _relationService;
14808
14153
  this.fields = { text: "displayName", value: "relationId" };
14809
14154
  }
14810
14155
  ngOnInit() {
14811
14156
  const request = new RelationRequest();
14812
- request.relationType = RelationKind.Personnel;
14813
- this._transactionService.getRelationListObjects(request).then((relationListObjects) => {
14157
+ request.relationType = RelationKind$1.Personnel;
14158
+ this._relationService.getRelationListObjects(request).then((relationListObjects) => {
14814
14159
  this.collection = relationListObjects;
14815
14160
  });
14816
14161
  }
@@ -14851,7 +14196,8 @@ TransactionHeaderAdministrativeRelationComponent.decorators = [
14851
14196
  },] }
14852
14197
  ];
14853
14198
  TransactionHeaderAdministrativeRelationComponent.ctorParameters = () => [
14854
- { type: TransactionService }
14199
+ { type: TransactionService },
14200
+ { type: RelationService }
14855
14201
  ];
14856
14202
 
14857
14203
  class TransactionHeaderAdministrativeRelationModule {
@@ -15292,6 +14638,10 @@ TransactionComponent.decorators = [
15292
14638
  [activeCategory]="activeCategory"
15293
14639
  ></co-transaction-quick-access>
15294
14640
 
14641
+ <co-quick-send-button class="quick-send-button" [transaction]="transaction">
14642
+
14643
+ </co-quick-send-button>
14644
+
15295
14645
  <co-transaction-button-bar *ngIf="showButtonBar" class="transaction-lines-header-item"
15296
14646
  [transactionType]="transaction.transactionInfo.transactionKind"
15297
14647
  [selectedCategory]="activeCategory"
@@ -15407,25 +14757,31 @@ TransactionHeaderComponent.propDecorators = {
15407
14757
  };
15408
14758
 
15409
14759
  class TransactionHeaderRelationComponent extends TransactionBaseComponent {
15410
- constructor(service, _dictionary, _dialogService) {
14760
+ constructor(service, _dictionary, _dialogService, _relationService, _formMasterService) {
15411
14761
  super(service);
15412
14762
  this.service = service;
15413
14763
  this._dictionary = _dictionary;
15414
14764
  this._dialogService = _dialogService;
14765
+ this._relationService = _relationService;
14766
+ this._formMasterService = _formMasterService;
15415
14767
  this.addressType = AddressType;
15416
- this.deliveryAddressIdx = 0;
15417
- this.invoiceAddressIdx = 0;
14768
+ this.deliveryAddressNawNr = 0;
14769
+ this.invoiceAddressNawNr = 0;
15418
14770
  this.invoiceAddressSameAsDeliveryAddress = true;
15419
14771
  this.showDialog = false;
15420
14772
  this.categories = [this._dictionary.get('CLIENT_DATA'), this._dictionary.get('PRIVACY_PREFERENCES')];
15421
- this.relationType = RelationKind.Customer;
14773
+ this.relationType = RelationKind$1.Customer;
15422
14774
  this.readonly = false;
15423
14775
  this._relation = new CustomerFullObject();
14776
+ this._boFactory = new BusinessObjectFactory();
15424
14777
  }
15425
14778
  set relation(value) {
15426
14779
  if (value) {
15427
14780
  this._relation = value;
15428
14781
  this.relationType = this._relation.relationType;
14782
+ if (this.relationType === RelationKind$1.Customer) {
14783
+ this.customerGroup = this.relation.customerGroup;
14784
+ }
15429
14785
  }
15430
14786
  }
15431
14787
  get relation() {
@@ -15434,18 +14790,19 @@ class TransactionHeaderRelationComponent extends TransactionBaseComponent {
15434
14790
  showClass() {
15435
14791
  return true;
15436
14792
  }
15437
- updateRelation(rel) {
15438
- // this.relation = rel;
15439
- }
15440
- setIndexDeliveryAddress(idx) {
15441
- this.deliveryAddressIdx = idx;
15442
- // this.editAddressType = AddressType.DeliveryAddress;
15443
- // this.selectAddress(this.relation.addresses[idx]);
14793
+ setIndexDeliveryAddress(nawNr) {
14794
+ const address = this.relation.addresses.find(a => a.nawNr === nawNr);
14795
+ if (address) {
14796
+ // address.searchAddress = true;
14797
+ this.deliveryAddressNawNr = nawNr;
14798
+ }
15444
14799
  }
15445
- setIndexInvoiceAddress(idx) {
15446
- this.invoiceAddressIdx = idx;
15447
- // this.editAddressType = AddressType.BillingAddress;
15448
- // this.selectAddress(this.relation.addresses[idx]);
14800
+ setIndexInvoiceAddress(nawNr) {
14801
+ const address = this.relation.addresses.find(a => a.nawNr === nawNr);
14802
+ if (address) {
14803
+ // address.searchAddress = true;
14804
+ this.invoiceAddressNawNr = nawNr;
14805
+ }
15449
14806
  }
15450
14807
  checkSameAddress(checked) {
15451
14808
  if (checked) {
@@ -15462,14 +14819,14 @@ class TransactionHeaderRelationComponent extends TransactionBaseComponent {
15462
14819
  }
15463
14820
  }
15464
14821
  handleChangeCustomGroup(group) {
15465
- this.customerGroup = group.groepsnummer;
15466
- if (this.relationType === RelationKind.Customer) {
14822
+ this.customerGroup = group;
14823
+ if (this.relationType === RelationKind$1.Customer) {
15467
14824
  this.relation.customerGroup = this.customerGroup;
15468
14825
  }
15469
14826
  }
15470
14827
  handleShowDialog() {
15471
14828
  return __awaiter(this, void 0, void 0, function* () {
15472
- const lockResult = yield this.service.lockRelation(this.relation.relationType, parseInt(this.relation.relationNumber, 0));
14829
+ const lockResult = yield this._relationService.lockRelation(this.relation.relationType, parseInt(this.relation.relationNumber, 0));
15473
14830
  if (!lockResult.success) {
15474
14831
  const question = yield this._dialogService.showYesNo("LOCKED", lockResult.messages[0].message);
15475
14832
  if (question) {
@@ -15483,9 +14840,27 @@ class TransactionHeaderRelationComponent extends TransactionBaseComponent {
15483
14840
  }
15484
14841
  });
15485
14842
  }
15486
- relationSet() {
15487
- if (this.relationType === RelationKind.Customer) {
15488
- this.customerGroup = this.relation.customerGroup;
14843
+ handleOkClick() {
14844
+ if (this._formMasterService.submitSlaves()) {
14845
+ this._relationService.updateRelation(this.relation.relationType, this.relation).then(() => __awaiter(this, void 0, void 0, function* () {
14846
+ if (yield this._relationService.commit()) {
14847
+ this.showDialog = false;
14848
+ }
14849
+ }));
14850
+ }
14851
+ }
14852
+ saveAddress(type, address) {
14853
+ if (!address.nawNr) { // new address
14854
+ address.addressType = type;
14855
+ address.startDate = new Date();
14856
+ address.sequence = this.relation.getNextAddressSequence();
14857
+ this.relation.addresses.push(address);
14858
+ }
14859
+ else {
14860
+ const idx = this.relation.addresses.findIndex(a => a.nawNr === address.nawNr);
14861
+ if (idx > -1) {
14862
+ this.relation.addresses[idx] = this._boFactory.makeWithRawBackendData(Address, address);
14863
+ }
15489
14864
  }
15490
14865
  }
15491
14866
  }
@@ -15512,7 +14887,8 @@ TransactionHeaderRelationComponent.decorators = [
15512
14887
  <div class="header-relation-email" [textContent]="relation.primaryEmail"></div>
15513
14888
  <div class="header-relation-phone" [textContent]="relation.primaryPhoneOrMobileNumber"></div>
15514
14889
  </ng-template>
15515
- <co-dialog class="transaction-header-relation-dialog" [customCssClass]="'co-transaction-small-toolbar'" *ngIf="showDialog" [headerTemplate]="dialogHeader" (closeClick)="showDialog = false">
14890
+ <co-dialog class="transaction-header-relation-dialog" [customCssClass]="'co-transaction-small-toolbar'" *ngIf="showDialog"
14891
+ [headerTemplate]="dialogHeader" [footerTemplate]="dialogFooter" (closeClick)="showDialog = false">
15516
14892
  <ng-template #dialogHeader>
15517
14893
  <div class="co-transaction-dialog-header-title" [textContent]="'CLIENT_INFORMATION' | localize"></div>
15518
14894
  <co-transaction-header-block
@@ -15522,51 +14898,63 @@ TransactionHeaderRelationComponent.decorators = [
15522
14898
  ></co-transaction-header-block>
15523
14899
  <co-transaction-filter-categories [categories]="categories" (categoryClick)="handleNavigationClick($event)"></co-transaction-filter-categories>
15524
14900
  </ng-template>
15525
- <div #navigationItems class="header-relation-navigation-wrapper">
15526
- <div #mainItems class="header-relation-navigation-content">
15527
- <div class="header-relation-section">
15528
- <div class="header-relation-section-label" [textContent]="'PERSONAL_DATA' | localize"></div>
15529
- <co-relation-type
15530
- [readonly]="readonly"
15531
- [relation]="relation"
15532
- ></co-relation-type>
15533
- <ng-container *ngIf="relationType === relationKind.Customer">
15534
- <relation-customer-groups [readonly]="readonly" [model]="customerGroup" (modelChange)="handleChangeCustomGroup($event)" required></relation-customer-groups>
15535
- </ng-container>
15536
- <co-relation-general [readonly]="readonly" [relation]="relation" (relationChange)="updateRelation($event)"></co-relation-general>
15537
- </div>
15538
- <div class="header-relation-section">
15539
- <div class="header-relation-section-label" [textContent]="'ADDRESSES' | localize"></div>
15540
- <co-relation-addresses
15541
- [readonly]="readonly"
15542
- [addresses]="relation.activeAddresses"
15543
- [type]="addressType.DeliveryAddress"
15544
- [selectedNawNr]="deliveryAddressIdx"
15545
- (selectedAddressChange)="setIndexDeliveryAddress($event)"
15546
- ></co-relation-addresses>
15547
- <div class="header-relation-section-label" [textContent]="'INVOICE_ADDRESS' | localize"></div>
15548
- <co-input-checkbox [readonly]="readonly" [(model)]="invoiceAddressSameAsDeliveryAddress" (modelChange)="checkSameAddress($event)" [label]="'SAME_AS_DELIVERY' | localize"></co-input-checkbox>
15549
- <div class="overview-delivery-invoice-address" *ngIf="!invoiceAddressSameAsDeliveryAddress" @showHideInvoiceAddress>
14901
+ <co-form>
14902
+ <div #navigationItems class="header-relation-navigation-wrapper">
14903
+ <div #mainItems class="header-relation-navigation-content">
14904
+ <div class="header-relation-section">
14905
+ <div class="header-relation-section-label" [textContent]="'PERSONAL_DATA' | localize"></div>
14906
+ <co-relation-type
14907
+ [readonly]="readonly"
14908
+ [relation]="relation"
14909
+ ></co-relation-type>
14910
+ <ng-container *ngIf="relationType === relationKind.Customer">
14911
+ <relation-customer-groups [readonly]="readonly" [model]="customerGroup" (modelChange)="handleChangeCustomGroup($event)" required></relation-customer-groups>
14912
+ </ng-container>
14913
+ <co-relation-general [readonly]="readonly" [(relation)]="relation"></co-relation-general>
14914
+ </div>
14915
+ <div class="header-relation-section">
14916
+ <div class="header-relation-section-label" [textContent]="'ADDRESSES' | localize"></div>
15550
14917
  <co-relation-addresses
15551
14918
  [readonly]="readonly"
15552
14919
  [addresses]="relation.activeAddresses"
15553
- [type]="addressType.BillingAddress"
15554
- [selectedNawNr]="invoiceAddressIdx"
15555
- (selectedAddressChange)="setIndexInvoiceAddress($event)"
14920
+ [type]="addressType.DeliveryAddress"
14921
+ [selectedNawNr]="deliveryAddressNawNr"
14922
+ (addressSaved)="saveAddress(addressType.DeliveryAddress, $event)"
14923
+ (selectedNawNrChange)="setIndexDeliveryAddress($event)"
15556
14924
  ></co-relation-addresses>
14925
+ <div class="header-relation-section-label" [textContent]="'INVOICE_ADDRESS' | localize"></div>
14926
+ <co-input-checkbox [readonly]="readonly" [(model)]="invoiceAddressSameAsDeliveryAddress" (modelChange)="checkSameAddress($event)" [label]="'SAME_AS_DELIVERY' | localize"></co-input-checkbox>
14927
+ <div class="overview-delivery-invoice-address" *ngIf="!invoiceAddressSameAsDeliveryAddress" @showHideInvoiceAddress>
14928
+ <co-relation-addresses
14929
+ [readonly]="readonly"
14930
+ [addresses]="relation.activeAddresses"
14931
+ [type]="addressType.BillingAddress"
14932
+ [selectedNawNr]="invoiceAddressNawNr"
14933
+ (addressSaved)="saveAddress(addressType.BillingAddress, $event)"
14934
+ (selectedNawNrChange)="setIndexInvoiceAddress($event)"
14935
+ ></co-relation-addresses>
14936
+ </div>
14937
+ </div>
14938
+ <div class="header-relation-section">
14939
+ <div class="header-relation-section-label" [textContent]="'CONTACT_DETAILS' | localize"></div>
14940
+ <co-relation-contact-details [readonly]="readonly" [relation]="relation"></co-relation-contact-details>
15557
14941
  </div>
15558
14942
  </div>
15559
- <div class="header-relation-section">
15560
- <div class="header-relation-section-label" [textContent]="'CONTACT_DETAILS' | localize"></div>
15561
- <co-relation-contact-details [readonly]="readonly" [relation]="relation"></co-relation-contact-details>
14943
+ <div #preferenceItems class="header-relation-navigation-content">
14944
+ <co-relation-preferences [readonly]="readonly" [relation]="relation"></co-relation-preferences>
15562
14945
  </div>
15563
14946
  </div>
15564
- <div #preferenceItems class="header-relation-navigation-content">
15565
- <co-relation-preferences [readonly]="readonly" [relation]="relation"></co-relation-preferences>
14947
+ </co-form>
14948
+ <ng-template #dialogFooter>
14949
+ <div class="co-transaction-dialog-footer-button-wrapper">
14950
+ <co-button [label]="'OK' | localize" (click)="handleOkClick()"></co-button>
15566
14951
  </div>
15567
- </div>
14952
+ </ng-template>
15568
14953
  </co-dialog>
15569
14954
  `,
14955
+ providers: [
14956
+ FormMasterService
14957
+ ],
15570
14958
  animations: [
15571
14959
  trigger("showHideInvoiceAddress", [
15572
14960
  state("void", style({ height: 0, opacity: 0 })),
@@ -15581,7 +14969,9 @@ TransactionHeaderRelationComponent.decorators = [
15581
14969
  TransactionHeaderRelationComponent.ctorParameters = () => [
15582
14970
  { type: TransactionService },
15583
14971
  { type: DictionaryService },
15584
- { type: DialogService }
14972
+ { type: DialogService },
14973
+ { type: RelationService },
14974
+ { type: FormMasterService }
15585
14975
  ];
15586
14976
  TransactionHeaderRelationComponent.propDecorators = {
15587
14977
  navigationItems: [{ type: ViewChild, args: ['navigationItems', { read: ElementRef },] }],
@@ -15666,7 +15056,9 @@ TransactionHeaderRelationModule.decorators = [
15666
15056
  RelationPreferencesModule,
15667
15057
  PipeModule,
15668
15058
  CoDialogModule,
15669
- TransactionFilterCategoriesModule
15059
+ TransactionFilterCategoriesModule,
15060
+ ButtonModule,
15061
+ FormModule
15670
15062
  ],
15671
15063
  declarations: [
15672
15064
  TransactionHeaderRelationComponent
@@ -15847,7 +15239,7 @@ TransactionHeaderPaymentComponent.decorators = [
15847
15239
  <span [textContent]="'NOG_NIET_GEIMPLEMENTEERD'"></span>
15848
15240
  </div>
15849
15241
  </co-dialog>
15850
- <co-dialog class="payment-dialog" *ngIf="showPaymentDialog"
15242
+ <co-dialog class="payment-dialog" [customCssClass]="'co-transaction-small-toolbar'" *ngIf="showPaymentDialog"
15851
15243
  [modal]="true"
15852
15244
  (closeClick)="showPaymentDialog = false"
15853
15245
  >
@@ -17191,9 +16583,10 @@ TransactionLineSpecialDiscountModule.decorators = [
17191
16583
  ];
17192
16584
 
17193
16585
  class TransactionLineSupplierComponent extends TransactionFilterPopupBaseComponent {
17194
- constructor(_transactionService) {
16586
+ constructor(_transactionService, _relationService) {
17195
16587
  super();
17196
16588
  this._transactionService = _transactionService;
16589
+ this._relationService = _relationService;
17197
16590
  this.codeField = 'relationId';
17198
16591
  this.checkField = 'supplierId';
17199
16592
  this.propsForLabel = ['relationNr', 'displayName'];
@@ -17201,7 +16594,7 @@ class TransactionLineSupplierComponent extends TransactionFilterPopupBaseCompone
17201
16594
  ngOnInit() {
17202
16595
  const request = new RelationRequest();
17203
16596
  request.relationType = RelationKind.Supplier;
17204
- this._transactionService.getRelationListObjects(request).then((relationListObjects) => {
16597
+ this._relationService.getRelationListObjects(request).then((relationListObjects) => {
17205
16598
  this.collection = relationListObjects;
17206
16599
  });
17207
16600
  }
@@ -17235,7 +16628,8 @@ TransactionLineSupplierComponent.decorators = [
17235
16628
  },] }
17236
16629
  ];
17237
16630
  TransactionLineSupplierComponent.ctorParameters = () => [
17238
- { type: TransactionService }
16631
+ { type: TransactionService },
16632
+ { type: RelationService }
17239
16633
  ];
17240
16634
 
17241
16635
  class TransactionLineSupplierModule {
@@ -18337,7 +17731,6 @@ class TransactionLineSidePanelPurchaseComponent {
18337
17731
  this.selectedLineDocBatchArray = data;
18338
17732
  }
18339
17733
  docBatchSaved(data) {
18340
- console.log(data);
18341
17734
  this.isDocBatchSaved = data;
18342
17735
  }
18343
17736
  }
@@ -18453,14 +17846,14 @@ TransactionLineSidePanelModule.decorators = [
18453
17846
  ];
18454
17847
 
18455
17848
  class TransactionArticleTextOverviewComponent {
18456
- constructor(service, _boFactory) {
17849
+ constructor(service) {
18457
17850
  this.service = service;
18458
- this._boFactory = _boFactory;
18459
17851
  this.closeClick = new EventEmitter();
18460
17852
  this.cancelClick = new EventEmitter();
18461
17853
  this.saveClick = new EventEmitter();
18462
17854
  this.collection = [];
18463
17855
  this.showTransactionArticleText = false;
17856
+ this._boFactory = new BusinessObjectFactory();
18464
17857
  }
18465
17858
  set transactionLine(value) {
18466
17859
  if (value) {
@@ -18562,8 +17955,7 @@ TransactionArticleTextOverviewComponent.decorators = [
18562
17955
  },] }
18563
17956
  ];
18564
17957
  TransactionArticleTextOverviewComponent.ctorParameters = () => [
18565
- { type: TransactionService },
18566
- { type: BusinessObjectFactory }
17958
+ { type: TransactionService }
18567
17959
  ];
18568
17960
  TransactionArticleTextOverviewComponent.propDecorators = {
18569
17961
  header: [{ type: Input }],
@@ -18592,9 +17984,6 @@ TransactionArticleTextOverviewModule.decorators = [
18592
17984
  ],
18593
17985
  exports: [
18594
17986
  TransactionArticleTextOverviewComponent
18595
- ],
18596
- providers: [
18597
- BusinessObjectFactory
18598
17987
  ]
18599
17988
  },] }
18600
17989
  ];
@@ -20099,6 +19488,7 @@ class EditableLabelComponent {
20099
19488
  constructor() {
20100
19489
  this.commit = true;
20101
19490
  this.readonly = false;
19491
+ this.crossedOut = false;
20102
19492
  this.editModelChange = new EventEmitter();
20103
19493
  this._editMode = false;
20104
19494
  }
@@ -20133,6 +19523,7 @@ EditableLabelComponent.decorators = [
20133
19523
  selector: "co-editable-label",
20134
19524
  template: `
20135
19525
  <span *ngIf="!editMode || readonly" [textContent]="model"></span>
19526
+ <div class="crossed-out" *ngIf="crossedOut"></div>
20136
19527
  <co-input-text *ngIf="editMode && !readonly"
20137
19528
  class="custom-height"
20138
19529
  [model]="editModel"
@@ -20150,6 +19541,7 @@ EditableLabelComponent.propDecorators = {
20150
19541
  commit: [{ type: Input }],
20151
19542
  editMode: [{ type: Input }],
20152
19543
  readonly: [{ type: Input }],
19544
+ crossedOut: [{ type: Input }],
20153
19545
  editModelChange: [{ type: Output }],
20154
19546
  showClass: [{ type: HostBinding, args: ["class.co-editable-label",] }],
20155
19547
  handleClick: [{ type: HostListener, args: ["click", ["$event"],] }]
@@ -20178,8 +19570,9 @@ class TransactionBaseLineComponent extends TransactionLinesLineBaseComponent {
20178
19570
  this.service = service;
20179
19571
  this.iconCacheService = iconCacheService;
20180
19572
  this._transactionEventService = _transactionEventService;
20181
- this.checkbox = false;
20182
19573
  this.checkboxValue = false;
19574
+ this.checkbox = false;
19575
+ this.hideCheckbox = false;
20183
19576
  this.actionButtons = true;
20184
19577
  this.checkboxValueChanged = new EventEmitter();
20185
19578
  }
@@ -20209,7 +19602,7 @@ TransactionBaseLineComponent.decorators = [
20209
19602
  <div class="transaction-base-line-wrapper" data-action="openSidePanel">
20210
19603
  <ng-container *ngIf="line.isArticle">
20211
19604
  <div class="transaction-base-line-section">
20212
- <co-input-checkbox *ngIf="checkbox" class="transaction-line-checkbox"
19605
+ <co-input-checkbox *ngIf="checkbox" class="transaction-line-checkbox" [class.hidden]="hideCheckbox"
20213
19606
  [model]="checkboxValue"
20214
19607
  (modelChange)="checkboxValueChanged.emit($event)"
20215
19608
  ></co-input-checkbox>
@@ -20248,8 +19641,9 @@ TransactionBaseLineComponent.ctorParameters = () => [
20248
19641
  { type: TransactionEventService }
20249
19642
  ];
20250
19643
  TransactionBaseLineComponent.propDecorators = {
20251
- checkbox: [{ type: Input }],
20252
19644
  checkboxValue: [{ type: Input }],
19645
+ checkbox: [{ type: Input }],
19646
+ hideCheckbox: [{ type: Input }],
20253
19647
  actionButtons: [{ type: Input }],
20254
19648
  checkboxValueChanged: [{ type: Output }],
20255
19649
  showClass: [{ type: HostBinding, args: ["class.co-transaction-base-line",] }]
@@ -20489,7 +19883,7 @@ TransactionLineDeliveryDateButtonComponent.decorators = [
20489
19883
  selector: "co-transaction-line-delivery-date-button",
20490
19884
  template: `
20491
19885
  <div class="transaction-line-button custom-width no-border">
20492
- <span [textContent]="'DELIVERY_DATE' | localize | append:':'" class="small-font"></span>
19886
+ <span [textContent]="'DELIVERY_DATE' | localize | append:':'"></span>
20493
19887
  <span class="co-transaction-overflow-ellipsis" [textContent]="transactionLine.deliveryDate | date:'dd MMM YYYY'"></span>
20494
19888
  <co-icon class="header-delivery-date-icon" [iconData]="iconCacheService.getIcon(icons.CalendarDayRegular)"></co-icon>
20495
19889
  </div>
@@ -20633,7 +20027,8 @@ TransactionOrderDeliveryLineModule.decorators = [
20633
20027
  EditableLabelModule,
20634
20028
  PipeModule,
20635
20029
  InputNumberPickerModule,
20636
- TransactionLineStatusbarModule
20030
+ TransactionLineStatusbarModule,
20031
+ ObserveVisibilityModule
20637
20032
  ],
20638
20033
  declarations: [
20639
20034
  TransactionOrderDeliveryLineComponent
@@ -20670,9 +20065,10 @@ TransactionReceiveGoodsLineModule.decorators = [
20670
20065
  ];
20671
20066
 
20672
20067
  class TransactionLineSupplierButtonComponent extends TransactionLineBaseComponent {
20673
- constructor(_service) {
20068
+ constructor(_service, _relationService) {
20674
20069
  super();
20675
20070
  this._service = _service;
20071
+ this._relationService = _relationService;
20676
20072
  this.showDialogSupplier = false;
20677
20073
  }
20678
20074
  showClass() {
@@ -20681,7 +20077,7 @@ class TransactionLineSupplierButtonComponent extends TransactionLineBaseComponen
20681
20077
  transactionLineSet() {
20682
20078
  return __awaiter(this, void 0, void 0, function* () {
20683
20079
  if (this.transactionLine && this.transactionLine.isArticle) {
20684
- this._service.getSupplierFullObjectByRelationId(this.transactionLine.supplierId).then((supp) => {
20080
+ this._relationService.getSupplierFullObject(this.transactionLine.supplierId).then((supp) => {
20685
20081
  this.transactionLine.supplierDescription = supp ? supp.displayName : "";
20686
20082
  });
20687
20083
  }
@@ -20706,7 +20102,8 @@ TransactionLineSupplierButtonComponent.decorators = [
20706
20102
  },] }
20707
20103
  ];
20708
20104
  TransactionLineSupplierButtonComponent.ctorParameters = () => [
20709
- { type: TransactionService }
20105
+ { type: TransactionService },
20106
+ { type: RelationService }
20710
20107
  ];
20711
20108
  TransactionLineSupplierButtonComponent.propDecorators = {
20712
20109
  showClass: [{ type: HostBinding, args: ["class.co-transaction-line-supplier-button",] }]
@@ -20818,6 +20215,133 @@ TransactionPurchaseLineModule.decorators = [
20818
20215
  },] }
20819
20216
  ];
20820
20217
 
20218
+ class QuickSendButtonComponent {
20219
+ constructor(iconCacheService, _sharedConnectorService, _transactionConnectorService) {
20220
+ this.iconCacheService = iconCacheService;
20221
+ this._sharedConnectorService = _sharedConnectorService;
20222
+ this._transactionConnectorService = _transactionConnectorService;
20223
+ this.icons = Icon;
20224
+ this.isSendIconClicked = false;
20225
+ this.isDotsClicked = false;
20226
+ this.emailLayouts = [];
20227
+ }
20228
+ showClass() {
20229
+ return true;
20230
+ }
20231
+ sendIconClicked() {
20232
+ this.isSendIconClicked = true;
20233
+ }
20234
+ dotsClicked() {
20235
+ this.isDotsClicked = !this.isDotsClicked;
20236
+ }
20237
+ quickSend(data) {
20238
+ if (this.emailSelected) {
20239
+ const emailReport = new EmailOrderConfirmation();
20240
+ emailReport.transId = this.transaction.transactionInfo.transactionNr;
20241
+ this._sharedConnectorService.connector.emailReport(emailReport);
20242
+ }
20243
+ if (this.printSelected) {
20244
+ const printReport = new PrintOrderConfirmation();
20245
+ printReport.transId = this.transaction.transactionInfo.transactionNr;
20246
+ this._sharedConnectorService.connector.printReport(printReport);
20247
+ }
20248
+ if (this.pdfSelected) {
20249
+ const pdfReport = new PdfOrderConfirmation();
20250
+ pdfReport.transId = this.transaction.transactionInfo.transactionNr;
20251
+ this._sharedConnectorService.connector.pdfReport(pdfReport);
20252
+ }
20253
+ if (this.xmlSelected) {
20254
+ return;
20255
+ }
20256
+ }
20257
+ getEmailLayouts() {
20258
+ // this.getEmailAdresses();
20259
+ if (this.emailLayouts.length < 1) {
20260
+ this._transactionConnectorService.getPurchaseOrderEmailLayouts(this.transaction.transactionInfo.uuid).then(result => {
20261
+ this.emailLayouts = result;
20262
+ });
20263
+ }
20264
+ }
20265
+ setSendParams(data) {
20266
+ this.sendParams = data;
20267
+ }
20268
+ getPrintTemplates() {
20269
+ if (!this.printTemplates) {
20270
+ const data = new StockStickersPrintLayouts();
20271
+ this._transactionConnectorService.getStockStickerTemplates(data).then((templates) => {
20272
+ this.printTemplates = templates;
20273
+ });
20274
+ }
20275
+ }
20276
+ sendOrderConfirmationEmail() {
20277
+ let data = new EmailOrderConfirmation();
20278
+ data.toAddresses = "lars-vdv@colijn-it.nl";
20279
+ data.reportId = this.sendParams.reportId;
20280
+ this._transactionConnectorService.emailOrderConfirmation(data);
20281
+ }
20282
+ }
20283
+ QuickSendButtonComponent.decorators = [
20284
+ { type: Component, args: [{
20285
+ selector: "co-quick-send-button",
20286
+ template: `
20287
+ <div class="icons-wrapper">
20288
+ <div class="icon-wrapper-flat-left" (click)="sendIconClicked()">
20289
+ <co-icon [iconData]="iconCacheService.getIcon(icons.ShareSolid)" class="icon-send"></co-icon>
20290
+ <co-icon [iconData]="iconCacheService.getIcon(icons.AtSolid)" class="icon-method"></co-icon>
20291
+ </div>
20292
+ <div class="icons-spacer"></div>
20293
+ <div class="icon-wrapper-flat-right" (click)="dotsClicked()">
20294
+ <co-icon [iconData]="iconCacheService.getIcon(icons.EllipsisVerticalSolid)"></co-icon>
20295
+ </div>
20296
+ </div>
20297
+
20298
+ <ione-send-method-dialog
20299
+ [showDialog]="isDotsClicked"
20300
+ (printButtonClicked)="quickSend($event)"
20301
+ [transactionUUID]="transaction.transactionInfo.uuid"
20302
+ [headerTitle]="'Verzendmethode'"
20303
+ (emailLayoutClicked)="getEmailLayouts()"
20304
+ [emailLayouts]="emailLayouts"
20305
+ (printTemplatesClicked)="getPrintTemplates()"
20306
+ [printLayouts]="printTemplates"
20307
+ (printLayoutParams)="setSendParams($event)"
20308
+ [isDocSignEnabled]="true"
20309
+ (sendEmailClicked)="sendOrderConfirmationEmail()"
20310
+ ></ione-send-method-dialog>
20311
+ `,
20312
+ encapsulation: ViewEncapsulation.None
20313
+ },] }
20314
+ ];
20315
+ QuickSendButtonComponent.ctorParameters = () => [
20316
+ { type: IconCacheService },
20317
+ { type: SharedConnectorService },
20318
+ { type: TransactionConnectorService }
20319
+ ];
20320
+ QuickSendButtonComponent.propDecorators = {
20321
+ showClass: [{ type: HostBinding, args: ["class.co-quick-send-button",] }],
20322
+ transaction: [{ type: Input }]
20323
+ };
20324
+
20325
+ class QuickSendButtonModule {
20326
+ }
20327
+ QuickSendButtonModule.decorators = [
20328
+ { type: NgModule, args: [{
20329
+ imports: [
20330
+ CommonModule,
20331
+ CoreModule,
20332
+ IconModule,
20333
+ SendMethodDialogModule,
20334
+ PipeModule
20335
+ ],
20336
+ declarations: [
20337
+ QuickSendButtonComponent
20338
+ ],
20339
+ exports: [
20340
+ QuickSendButtonComponent
20341
+ ],
20342
+ },] }
20343
+ ];
20344
+
20821
20345
  class TransactionModule {
20822
20346
  }
20823
20347
  TransactionModule.decorators = [
@@ -20847,7 +20371,8 @@ TransactionModule.decorators = [
20847
20371
  TransactionOverviewLineModule,
20848
20372
  TransactionOrderDeliveryLineModule,
20849
20373
  TransactionReceiveGoodsLineModule,
20850
- TransactionPurchaseLineModule
20374
+ TransactionPurchaseLineModule,
20375
+ QuickSendButtonModule
20851
20376
  ],
20852
20377
  declarations: [
20853
20378
  TransactionComponent
@@ -20962,7 +20487,7 @@ TransactionSearchComponent.decorators = [
20962
20487
  (closeButtonClick)="transactionSearchService.handleHideFilter()"
20963
20488
  (resetFilterClick)="transactionSearchService.handleResetFilter()"></co-transaction-filter>
20964
20489
  </div>
20965
- <div class="transaction-search-result-wrapper"
20490
+ <div class="transaction-search-result-wrapper co-transaction-small-toolbar"
20966
20491
  [class.fullscreen]="transactionSearchService.fullscreen"
20967
20492
  [class.sidebar]="!transactionSearchService.fullscreen"
20968
20493
  [class.collapsed]="transactionSearchService.collapsed"
@@ -21420,11 +20945,12 @@ TransactionFilterContentBaseComponent.ctorParameters = () => [
21420
20945
  ];
21421
20946
 
21422
20947
  class TransactionPurchaseOrderFilterContentArticleComponent extends TransactionFilterContentBaseComponent {
21423
- constructor(searchService, filterRequestService, transactionService) {
20948
+ constructor(searchService, filterRequestService, transactionService, _relationService) {
21424
20949
  super(searchService, filterRequestService, transactionService);
21425
20950
  this.searchService = searchService;
21426
20951
  this.filterRequestService = filterRequestService;
21427
20952
  this.transactionService = transactionService;
20953
+ this._relationService = _relationService;
21428
20954
  this.exceedanceCodeFields = { text: "description", value: "code" };
21429
20955
  this.turnoverGroupFields = { text: "description", value: "turnovergroupNr" };
21430
20956
  this.mainArticleFields = { text: "description", value: "articlenumber" };
@@ -21464,7 +20990,7 @@ class TransactionPurchaseOrderFilterContentArticleComponent extends TransactionF
21464
20990
  _setSuppliers() {
21465
20991
  const request = new RelationRequest();
21466
20992
  request.relationType = RelationKind.Supplier;
21467
- this.transactionService.getRelationListObjects(request).then((relationListObjects) => {
20993
+ this._relationService.getRelationListObjects(request).then((relationListObjects) => {
21468
20994
  this.suppliers = new FilterViewmodel(relationListObjects, this.supplierFields).filterItems;
21469
20995
  });
21470
20996
  }
@@ -21540,7 +21066,8 @@ TransactionPurchaseOrderFilterContentArticleComponent.decorators = [
21540
21066
  TransactionPurchaseOrderFilterContentArticleComponent.ctorParameters = () => [
21541
21067
  { type: TransactionSearchService },
21542
21068
  { type: FilterRequestService },
21543
- { type: TransactionService }
21069
+ { type: TransactionService },
21070
+ { type: RelationService }
21544
21071
  ];
21545
21072
  TransactionPurchaseOrderFilterContentArticleComponent.propDecorators = {
21546
21073
  showClass: [{ type: HostBinding, args: ["class.co-transaction-search-filter-content",] }]
@@ -21895,11 +21422,12 @@ TransactionPurchaseOrderFilterContentLogisticsModule.decorators = [
21895
21422
  ];
21896
21423
 
21897
21424
  class TransactionPurchaseOrderFilterContentOrderComponent extends TransactionFilterContentBaseComponent {
21898
- constructor(searchService, filterRequestService, transactionService) {
21425
+ constructor(searchService, filterRequestService, transactionService, relationService) {
21899
21426
  super(searchService, filterRequestService, transactionService);
21900
21427
  this.searchService = searchService;
21901
21428
  this.filterRequestService = filterRequestService;
21902
21429
  this.transactionService = transactionService;
21430
+ this.relationService = relationService;
21903
21431
  this.purchasePersonsFields = { text: "name", value: "relationId" };
21904
21432
  this.tagsFields = { text: "description", value: "tagValueId" };
21905
21433
  this.branchFields = { text: "description", value: "relationId" };
@@ -21937,7 +21465,7 @@ class TransactionPurchaseOrderFilterContentOrderComponent extends TransactionFil
21937
21465
  }
21938
21466
  //Branches
21939
21467
  _setBranches() {
21940
- this.transactionService.getBranches().then((branches) => {
21468
+ this.relationService.getBranches().then((branches) => {
21941
21469
  this.branches = new FilterViewmodel(branches, this.branchFields).filterItems;
21942
21470
  });
21943
21471
  }
@@ -22095,7 +21623,8 @@ TransactionPurchaseOrderFilterContentOrderComponent.decorators = [
22095
21623
  TransactionPurchaseOrderFilterContentOrderComponent.ctorParameters = () => [
22096
21624
  { type: TransactionSearchService },
22097
21625
  { type: FilterRequestService },
22098
- { type: TransactionService }
21626
+ { type: TransactionService },
21627
+ { type: RelationService }
22099
21628
  ];
22100
21629
  TransactionPurchaseOrderFilterContentOrderComponent.propDecorators = {
22101
21630
  showClass: [{ type: HostBinding, args: ["class.co-transaction-search-filter-content",] }]
@@ -22331,7 +21860,6 @@ TransactionSearchHeaderComponent.decorators = [
22331
21860
  template: `
22332
21861
  <div class="transaction-search-header-wrapper">
22333
21862
  <div class="upper-header">
22334
-
22335
21863
  <div class="header-buttons-wrapper">
22336
21864
  <div class="toggle-sidebar-button-wrapper button-wrapper" [ngClass]="fullscreen ? 'fullscreen' : 'sidebar'">
22337
21865
  <co-button [iconData]="fullscreen ? iconSlideIn : iconResize"
@@ -22346,13 +21874,12 @@ TransactionSearchHeaderComponent.decorators = [
22346
21874
  </co-button>
22347
21875
  </div>
22348
21876
  </div>
22349
-
22350
21877
  </div>
22351
21878
  <div class="header-searchbar-wrapper">
22352
21879
  <div>
22353
21880
  <co-input-search class="transaction-search-general"
22354
21881
  [ngClass]="fullscreen ? 'fullscreen' : 'sidebar'"
22355
- [noIcon]="true"
21882
+ [centerLabel]="true"
22356
21883
  [(model)]="searchService.searchRequest.general"
22357
21884
  [placeholder]="'SEARCH_NUMBER_CUSTOMER_OR_DATE' | localize"
22358
21885
  [initFocus]="true"
@@ -22360,13 +21887,11 @@ TransactionSearchHeaderComponent.decorators = [
22360
21887
  </div>
22361
21888
  <div>
22362
21889
  <co-button class="transaction-search-filter-button"
22363
-
22364
21890
  [iconData]="iconCacheService.getIcon(icon.BarsFilter)"
22365
21891
  (click)="filterButtonClick.emit()">
22366
21892
  </co-button>
22367
21893
  </div>
22368
21894
  </div>
22369
-
22370
21895
  <div class="view-mode-buttons-wrapper">
22371
21896
  <co-view-mode-buttons
22372
21897
  *ngIf="fullscreen"
@@ -22800,11 +22325,12 @@ TransactionSearchResultModule.decorators = [
22800
22325
  ];
22801
22326
 
22802
22327
  class TransactionSalesOrderFilterContentArticleComponent extends TransactionFilterContentBaseComponent {
22803
- constructor(searchService, filterRequestService, transactionService) {
22328
+ constructor(searchService, filterRequestService, transactionService, _relationService) {
22804
22329
  super(searchService, filterRequestService, transactionService);
22805
22330
  this.searchService = searchService;
22806
22331
  this.filterRequestService = filterRequestService;
22807
22332
  this.transactionService = transactionService;
22333
+ this._relationService = _relationService;
22808
22334
  this.exceedanceCodeFields = { text: "description", value: "code" };
22809
22335
  this.turnoverGroupFields = { text: "description", value: "turnovergroupNr" };
22810
22336
  this.mainArticleFields = { text: "description", value: "articlenumber" };
@@ -22844,7 +22370,7 @@ class TransactionSalesOrderFilterContentArticleComponent extends TransactionFilt
22844
22370
  _setSuppliers() {
22845
22371
  const request = new RelationRequest();
22846
22372
  request.relationType = RelationKind.Supplier;
22847
- this.transactionService.getRelationListObjects(request).then((relationListObjects) => {
22373
+ this._relationService.getRelationListObjects(request).then((relationListObjects) => {
22848
22374
  this.suppliers = new FilterViewmodel(relationListObjects, this.supplierFields).filterItems;
22849
22375
  });
22850
22376
  }
@@ -22909,7 +22435,8 @@ TransactionSalesOrderFilterContentArticleComponent.decorators = [
22909
22435
  TransactionSalesOrderFilterContentArticleComponent.ctorParameters = () => [
22910
22436
  { type: TransactionSearchService },
22911
22437
  { type: FilterRequestService },
22912
- { type: TransactionService }
22438
+ { type: TransactionService },
22439
+ { type: RelationService }
22913
22440
  ];
22914
22441
  TransactionSalesOrderFilterContentArticleComponent.propDecorators = {
22915
22442
  showClass: [{ type: HostBinding, args: ["class.co-transaction-search-filter-content",] }]
@@ -23191,11 +22718,12 @@ TransactionSalesOrderFilterContentLogisticsModule.decorators = [
23191
22718
  ];
23192
22719
 
23193
22720
  class TransactionSalesOrderFilterContentOrderComponent extends TransactionFilterContentBaseComponent {
23194
- constructor(searchService, filterRequestService, transactionService) {
22721
+ constructor(searchService, filterRequestService, transactionService, relationService) {
23195
22722
  super(searchService, filterRequestService, transactionService);
23196
22723
  this.searchService = searchService;
23197
22724
  this.filterRequestService = filterRequestService;
23198
22725
  this.transactionService = transactionService;
22726
+ this.relationService = relationService;
23199
22727
  this.salesPersonsFields = { text: "name", value: "relationId" };
23200
22728
  this.tagsFields = { text: "description", value: "tagValueId" };
23201
22729
  this.branchFields = { text: "description", value: "relationId" };
@@ -23205,7 +22733,7 @@ class TransactionSalesOrderFilterContentOrderComponent extends TransactionFilter
23205
22733
  this.loadCustomers = (nameFilter) => __awaiter(this, void 0, void 0, function* () {
23206
22734
  const request = new RelationRequest();
23207
22735
  request.familyName = nameFilter;
23208
- return this.transactionService.getRelationListObjects(request).then((relations) => {
22736
+ return this.relationService.getRelationListObjects(request).then((relations) => {
23209
22737
  return new FilterViewmodel(relations, { text: 'familyName', value: 'familyName' }).filterItems;
23210
22738
  });
23211
22739
  });
@@ -23242,7 +22770,7 @@ class TransactionSalesOrderFilterContentOrderComponent extends TransactionFilter
23242
22770
  }
23243
22771
  //Branches
23244
22772
  _setBranches() {
23245
- this.transactionService.getBranches().then((branches) => {
22773
+ this.relationService.getBranches().then((branches) => {
23246
22774
  this.branches = new FilterViewmodel(branches, this.branchFields).filterItems;
23247
22775
  });
23248
22776
  }
@@ -23412,7 +22940,8 @@ TransactionSalesOrderFilterContentOrderComponent.decorators = [
23412
22940
  TransactionSalesOrderFilterContentOrderComponent.ctorParameters = () => [
23413
22941
  { type: TransactionSearchService },
23414
22942
  { type: FilterRequestService },
23415
- { type: TransactionService }
22943
+ { type: TransactionService },
22944
+ { type: RelationService }
23416
22945
  ];
23417
22946
  TransactionSalesOrderFilterContentOrderComponent.propDecorators = {
23418
22947
  showClass: [{ type: HostBinding, args: ["class.co-transaction-search-filter-content",] }]
@@ -23536,5 +23065,5 @@ TransactionLineGridModule.decorators = [
23536
23065
  * Generated bundle index. Do not edit.
23537
23066
  */
23538
23067
 
23539
- export { CheckoutComponent, CheckoutModule, LoaderComponent, LoaderModule, SearchViewMode, SearchbarViewMode, ShoppingCartComponent, ShoppingCartModule, ShoppingCartPreviewComponent, ShoppingCartPreviewModule, TransactionComponent, TransactionConfirmationDetailsComponent, TransactionConfirmationDetailsModule, TransactionConfirmationHistoryComponent, TransactionConfirmationHistoryModule, TransactionHeaderComponent, TransactionHeaderDeliveryComponent, TransactionHeaderDeliveryModule, TransactionHeaderModule, TransactionHeaderOrderComponent, TransactionHeaderOrderModule, TransactionHeaderRelationComponent, TransactionHeaderRelationModule, TransactionLineGridComponent, TransactionLineGridModule, TransactionLineStatusbarComponent, TransactionLineStatusbarModule, TransactionLinesComponent, TransactionLinesModule, TransactionModule, TransactionQuickAccessComponent, TransactionQuickAccessModule, TransactionQuickAccessOrderConfirmationComponent, TransactionQuickAccessOrderConfirmationModule, TransactionQuickAccessReceivedGoodsComponent, TransactionQuickAccessReceivedGoodsModule, TransactionSearchComponent, TransactionSearchModule, TransactionSearchService, TransactionService, TransactionStatusbarComponent, TransactionStatusbarModule, TransactionTotalsComponent, TransactionTotalsModule, PendingReasonService as ɵa, DialogService as ɵb, DialogBaseComponent as ɵba, IconCacheService as ɵbb, CharacteristicAnswerModule as ɵbc, CharacteristicAnswerComponent as ɵbd, WarehouseModule as ɵbe, WarehouseComponent as ɵbf, ImageDisplayComponent as ɵbg, IconComponent as ɵbh, CustomerGroupsComponent as ɵbi, StockStatusIndicatorComponent as ɵbj, LazyRenderMasterDirective as ɵbk, LazyRenderDirective as ɵbl, RelationAddressModule as ɵbm, RelationAddressComponent as ɵbn, RelationBaseComponent as ɵbo, RelationAddressSelectModule as ɵbp, RelationAddressTileModule as ɵbq, TileModule as ɵbr, TileComponent as ɵbs, RelationAddressTileComponent as ɵbt, RelationAddressSelectComponent as ɵbu, BusinessObjectFactory as ɵbv, StepperModule as ɵbw, StepperComponent as ɵbx, StepperStepComponent as ɵby, TransactionLineModule as ɵbz, DynamicComponentService as ɵc, TransactionLineComponent as ɵca, TransactionMappingService as ɵcb, TransactionArticleTextModule as ɵcc, TransactionLineImageAndDescriptionModule as ɵcd, TransactionLineDescriptionModule as ɵce, TransactionLineDescriptionComponent as ɵcf, TransactionLineBaseComponent as ɵcg, TransactionLineImageAndDescriptionComponent as ɵch, TransactionImageService as ɵci, TransactionArticleTextComponent as ɵcj, TransactionReceiveGoodsService as ɵck, DialogTransactionHeaderDiscountModule as ɵcl, TransactionHeaderDiscountPercentageModule as ɵcm, TransactionHeaderDiscountPercentageComponent as ɵcn, TransactionHeaderBaseComponent as ɵco, TransactionHeaderFilterPopupBaseComponent as ɵcp, TransactionHeaderDiscountAmountModule as ɵcq, TransactionHeaderDiscountAmountComponent as ɵcr, TransactionHeaderDiscountTransactionTotalModule as ɵcs, TransactionHeaderDiscountTransactionTotalComponent as ɵct, DialogTransactionHeaderDiscountComponent as ɵcu, DialogTransactionHeaderBaseComponent as ɵcv, AvatarModule as ɵcw, AvatarComponent as ɵcx, SharedService as ɵcy, SharedConnectorService as ɵcz, OptionsService as ɵd, DeliveryTypeTileModule as ɵda, DeliveryTypeTileComponent as ɵdb, PaymentModule as ɵdc, PaymentTileModule as ɵdd, PaymentTileComponent as ɵde, PaymentQrCodeModule as ɵdf, PaymentQrCodeComponent as ɵdg, DownPaymentModule as ɵdh, DownPaymentComponent as ɵdi, PaymentService as ɵdj, PaymentComponent as ɵdk, RelationTypeModule as ɵdl, RelationTypeComponent as ɵdm, RelationGeneralModule as ɵdn, RelationSuggestionsListModule as ɵdo, RelationSuggestionsListItemModule as ɵdp, RelationSuggestionsListItemComponent as ɵdq, RelationSuggestionsListComponent as ɵdr, RelationGeneralComponent as ɵds, RelationAddressesModule as ɵdt, RelationAddressesComponent as ɵdu, RelationContactDetailsModule as ɵdv, RelationContactDetailsComponent as ɵdw, RelationPreferencesModule as ɵdx, RelationPreferencesComponent as ɵdy, TransactionHeaderBlockModule as ɵdz, DictionaryService as ɵe, TransactionHeaderBlockComponent as ɵea, TransactionHeaderDeliveryDateModule as ɵeb, TransactionHeaderDeliveryDateComponent as ɵec, TransactionHeaderDeliveryOptionsModule as ɵed, TransactionHeaderDeliveryOptionsComponent as ɵee, TransactionHeaderRemarksModule as ɵef, TransactionHeaderRemarksComponent as ɵeg, TransactionHeaderReferenceModule as ɵeh, TransactionHeaderReferenceComponent as ɵei, TransactionHeaderRelationReferenceModule as ɵej, TransactionHeaderRelationReferenceComponent as ɵek, TransactionHeaderDeliveryMethodModule as ɵel, TransactionLineCheckboxModule as ɵem, TransactionLineCheckboxListComponent as ɵen, TransactionHeaderDeliveryMethodComponent as ɵeo, TransactionHeaderPreferredDeliveryDateModule as ɵep, TransactionHeaderPreferredDeliveryDateComponent as ɵeq, DialogTransactionHeaderDeliveryMethodModule as ɵer, DialogHeaderSearchModule as ɵes, DialogHeaderSearchComponent as ɵet, DialogTransactionHeaderDeliveryMethodComponent as ɵeu, TransactionHeaderPartialDeliveryModule as ɵev, TransactionHeaderPartialDeliveryComponent as ɵew, TransactionBaseComponent as ɵex, TransactionHeaderDownpaymentPercentageModule as ɵey, TransactionHeaderDownpaymentPercentageComponent as ɵez, TransactionConnectorService as ɵf, TransactionHeaderDownpaymentAmountModule as ɵfa, TransactionHeaderDownpaymentAmountComponent as ɵfb, TransactionHeaderDefinitiveModule as ɵfc, TransactionHeaderDefinitiveComponent as ɵfd, TransactionHeaderBranchModule as ɵfe, TransactionHeaderBranchComponent as ɵff, TransactionHeaderAdministrativeRelationModule as ɵfg, TransactionHeaderAdministrativeRelationComponent as ɵfh, TransactionHeaderMarketingModule as ɵfi, TransactionHeaderMarketingComponent as ɵfj, CheckoutOverviewRelationEditComponent as ɵfk, CheckoutOverviewDeliveryEditComponent as ɵfl, CheckoutOverviewDeliveryAddressComponent as ɵfm, CheckoutOverviewPaymentComponent as ɵfn, CheckoutLoginComponent as ɵfo, TransactionFilterCategoriesModule as ɵfp, TransactionFilterCategoriesComponent as ɵfq, TransactionHeaderPaymentModule as ɵfr, TransactionHeaderPaymentComponent as ɵfs, TransactionLinesGridModule as ɵft, TransactionBaseGridModule as ɵfu, TransactionLineSidePanelModule as ɵfv, TransactionLineSidePanelDefaultModule as ɵfw, TransactionLinePriceModule as ɵfx, TransactionLinePriceComponent as ɵfy, TransactionLinePriceListModule as ɵfz, TransactionConnectorAdapterService as ɵg, TransactionLinePriceListComponent as ɵga, TransactionFilterPopupBaseComponent as ɵgb, TransactionLineVatModule as ɵgc, TransactionLineVatComponent as ɵgd, TransactionLineQuantityModule as ɵge, TransactionLineQuantityComponent as ɵgf, TransactionLineLineDiscountModule as ɵgg, TransactionLineLineDiscountComponent as ɵgh, TransactionLineDeliveryMethodModule as ɵgi, TransactionLineDeliveryMethodComponent as ɵgj, TransactionLineDeliveryDateModule as ɵgk, TransactionLineDeliveryDateComponent as ɵgl, TransactionLineReferenceModule as ɵgm, TransactionLineReferenceComponent as ɵgn, TransactionLineCommissionCodeModule as ɵgo, TransactionLineCommissionCodeComponent as ɵgp, TransactionLineWarehouseModule as ɵgq, TransactionLineWarehouseComponent as ɵgr, TransactionLineDiscountAmountModule as ɵgs, TransactionLineDiscountAmountComponent as ɵgt, TransactionLineQuantumDiscountModule as ɵgu, TransactionLineQuantumDiscountComponent as ɵgv, TransactionLineSpecialDiscountModule as ɵgw, TransactionLineSpecialDiscountComponent as ɵgx, TransactionLineSupplierModule as ɵgy, TransactionLineSupplierComponent as ɵgz, SelectMultipleCacheService as ɵh, TransactionLineSidePanelDefaultComponent as ɵha, TransactionReceivingGoodsHistoryModule as ɵhb, TransactionHistoryGridModule as ɵhc, TransactionHistoryGridStatusModule as ɵhd, TransactionHistoryGridStatusComponent as ɵhe, TransactionHistoryGridComponent as ɵhf, TransactionReceivingGoodsHistoryComponent as ɵhg, TransactionReceivingGoodsDetailsModule as ɵhh, TransactionReceivingGoodsDetailsComponent as ɵhi, ArticleService as ɵhj, TransactionButtonBarModule as ɵhk, AnimatedCheckboxModule as ɵhl, AnimatedCheckboxComponent as ɵhm, TransactionButtonBarComponent as ɵhn, TransactionButtonBarButtonComponent as ɵho, TransactionButtonBarButtonBaseComponent as ɵhp, TransactionSalesPurchaseButtonBarButtonComponent as ɵhq, TransactionLineSidePanelPurchaseModule as ɵhr, DefaultOkCancelButtonsModule as ɵhs, DefaultOkCancelButtonsComponent as ɵht, TransactionLineSidePanelPurchaseComponent as ɵhu, TransactionLineSidePanelComponent as ɵhv, DynamicBaseComponent as ɵhw, TransactionLineActionButtonsModule as ɵhx, TransactionArticleTextOverviewModule as ɵhy, TransactionArticleTextOverviewComponent as ɵhz, BusinessObjectCacheManagerService as ɵi, TransactionLineActionButtonsComponent as ɵia, TransactionBaseGridComponent as ɵib, TransactionGridBaseComponent as ɵic, DialogTransactionLineCommissionCodeModule as ɵid, DialogTransactionLineCommissionCodeComponent as ɵie, DialogTransactionLineBaseComponent as ɵif, DialogTransactionLineWarehouseModule as ɵig, DialogTransactionLineWarehouseComponent as ɵih, DialogTransactionLineWarehouseCcModule as ɵii, DialogTransactionLineWarehouseCcComponent as ɵij, DialogTransactionLineDeliveryMethodModule as ɵik, DialogTransactionLineDeliveryMethodComponent as ɵil, DialogTransactionLineVatModule as ɵim, DialogTransactionLineVatComponent as ɵin, DialogTransactionLineDiscountModule as ɵio, DialogTransactionLinePriceListModule as ɵip, DialogTransactionLinePriceListComponent as ɵiq, DialogTransactionLineDiscountComponent as ɵir, TransactionLinesGridComponent as ɵis, DiscountModule as ɵit, DiscountComponent as ɵiu, TransactionQuickAccessOverviewModule as ɵiv, TransactionQuickAccessOverviewComponent as ɵiw, TransactionQuickAccessOrderDeliveryModule as ɵix, TransactionSendButtonDialogModule as ɵiy, TransactionSendButtonDialogComponent as ɵiz, CacheField as ɵj, TransactionQuickAccessOrderDeliveryComponent as ɵja, TransactionQuickAccessOrderPurchaseModule as ɵjb, TransactionQuickAccessOrderPurchaseComponent as ɵjc, TransactionOrderConfirmationGridModule as ɵjd, TransactionOrderConfirmationGridComponent as ɵje, TransactionReceivedGoodsGridModule as ɵjf, DialogTransactionLineWarehouseLocationModule as ɵjg, TransactionLineWarehouseLocationModule as ɵjh, TransactionLineWarehouseLocationComponent as ɵji, DialogTransactionLineWarehouseLocationComponent as ɵjj, TransactionLineWarehouseLocationButtonModule as ɵjk, TransactionLineWarehouseLocationButtonComponent as ɵjl, TransactionReceivedGoodsGridComponent as ɵjm, ViewModeButtonsModule as ɵjn, ViewModeButtonsComponent as ɵjo, TransactionGridModule as ɵjp, TransactionGridComponent as ɵjq, TransactionTileModule as ɵjr, TransactionTileComponent as ɵjs, TransactionOverviewLineModule as ɵjt, EditableLabelModule as ɵju, EditableLabelComponent as ɵjv, TransactionBaseLineModule as ɵjw, TransactionBaseLineComponent as ɵjx, TransactionLinesLineBaseComponent as ɵjy, TransactionLineCommissionButtonModule as ɵjz, SelectMultipleParameterizedCacheService as ɵk, TransactionLineCommissionButtonComponent as ɵka, TransactionLineWarehouseButtonModule as ɵkb, TransactionLineWarehouseButtonComponent as ɵkc, TransactionLineDeliveryButtonModule as ɵkd, TransactionLineDeliveryButtonComponent as ɵke, TransactionLineDeliveryDateButtonModule as ɵkf, TransactionLineDeliveryDateButtonComponent as ɵkg, TransactionLineAmountModule as ɵkh, TransactionLineAmountComponent as ɵki, TransactionOverviewLineComponent as ɵkj, TransactionOrderDeliveryLineModule as ɵkk, TransactionOrderDeliveryLineComponent as ɵkl, TransactionReceiveGoodsLineModule as ɵkm, TransactionReceiveGoodsLineComponent as ɵkn, TransactionPurchaseLineModule as ɵko, TransactionLineSupplierButtonModule as ɵkp, DialogTransactionLineSupplierModule as ɵkq, DialogTransactionLineSupplierComponent as ɵkr, TransactionLineSupplierButtonComponent as ɵks, TransactionPurchaseLineComponent as ɵkt, TransactionSearchResultModule as ɵku, TransactionSearchSalesOrderTileModule as ɵkv, TransactionSearchSalesOrderTileComponent as ɵkw, TransactionSearchTileBaseComponent as ɵkx, TransactionSearchPurchaseOrderTileModule as ɵky, TransactionSearchPurchaseOrderTileComponent as ɵkz, ErrorService as ɵl, TransactionSearchSalesOrderGridModule as ɵla, TransactionSearchSalesOrderGridComponent as ɵlb, TransactionSearchGridBaseComponent as ɵlc, TransactionSearchPurchaseOrderGridModule as ɵld, TransactionSearchPurchaseOrderGridComponent as ɵle, TransactionSearchHeaderModule as ɵlf, TransactionSearchHeaderComponent as ɵlg, TransactionSearchGridModule as ɵlh, TransactionSearchGridComponent as ɵli, TransactionSearchTileModule as ɵlj, TransactionSearchTileComponent as ɵlk, TransactionSearchResultComponent as ɵll, TransactionSalesOrderFilterModule as ɵlm, TransactionSalesOrderFilterContentOrderModule as ɵln, TransactionFilterItemModule as ɵlo, TransactionFilterItemComponent as ɵlp, TransactionSalesOrderFilterContentOrderComponent as ɵlq, TransactionFilterContentBaseComponent as ɵlr, FilterRequestService as ɵls, TransactionSalesOrderFilterContentLogisticsModule as ɵlt, TransactionFilterHistoricStateModule as ɵlu, TransactionFilterHistoricStateComponent as ɵlv, TransactionSalesOrderFilterContentLogisticsComponent as ɵlw, TransactionSalesOrderFilterContentArticleModule as ɵlx, TransactionSalesOrderFilterContentArticleComponent as ɵly, TransactionSalesOrderFilterComponent as ɵlz, SelectSingleCacheService as ɵm, TransactionFilterBaseComponent as ɵma, TransactionPurchaseOrderFilterModule as ɵmb, TransactionPurchaseOrderFilterContentOrderModule as ɵmc, TransactionPurchaseOrderFilterContentOrderComponent as ɵmd, TransactionPurchaseOrderFilterContentLogisticsModule as ɵme, TransactionPurchaseOrderFilterContentLogisticsComponent as ɵmf, TransactionPurchaseOrderFilterContentArticleModule as ɵmg, TransactionPurchaseOrderFilterContentArticleComponent as ɵmh, TransactionPurchaseOrderFilterComponent as ɵmi, TransactionFilterModule as ɵmj, TransactionFilterComponent as ɵmk, ArticleConnectorService as ɵn, TransactionEventService as ɵo, CoreModule as ɵp, ConfirmationDialogModule as ɵq, PipeModule as ɵr, AppendPipe as ɵs, DeliveryTimePipe as ɵt, DateDurationPipe as ɵu, LocalizePipe as ɵv, CoCurrencyPipe as ɵw, SafeStylePipe as ɵx, SafeHtmlPipe as ɵy, ConfirmationDialogComponent as ɵz };
23068
+ export { CheckoutComponent, CheckoutModule, LoaderComponent, LoaderModule, SearchViewMode, SearchbarViewMode, ShoppingCartComponent, ShoppingCartModule, ShoppingCartPreviewComponent, ShoppingCartPreviewModule, TransactionComponent, TransactionConfirmationDetailsComponent, TransactionConfirmationDetailsModule, TransactionConfirmationHistoryComponent, TransactionConfirmationHistoryModule, TransactionHeaderComponent, TransactionHeaderDeliveryComponent, TransactionHeaderDeliveryModule, TransactionHeaderModule, TransactionHeaderOrderComponent, TransactionHeaderOrderModule, TransactionHeaderRelationComponent, TransactionHeaderRelationModule, TransactionLineGridComponent, TransactionLineGridModule, TransactionLineStatusbarComponent, TransactionLineStatusbarModule, TransactionLinesComponent, TransactionLinesModule, TransactionModule, TransactionQuickAccessComponent, TransactionQuickAccessModule, TransactionQuickAccessOrderConfirmationComponent, TransactionQuickAccessOrderConfirmationModule, TransactionQuickAccessReceivedGoodsComponent, TransactionQuickAccessReceivedGoodsModule, TransactionSearchComponent, TransactionSearchModule, TransactionSearchService, TransactionService, TransactionStatusbarComponent, TransactionStatusbarModule, TransactionTotalsComponent, TransactionTotalsModule, PendingReasonService as ɵa, DialogService as ɵb, ConfirmationDialogComponent as ɵba, DialogBaseComponent as ɵbb, IconCacheService as ɵbc, CharacteristicAnswerModule as ɵbd, CharacteristicAnswerComponent as ɵbe, WarehouseModule as ɵbf, WarehouseComponent as ɵbg, ImageDisplayComponent as ɵbh, IconComponent as ɵbi, CustomerGroupsComponent as ɵbj, StockStatusIndicatorComponent as ɵbk, LazyRenderMasterDirective as ɵbl, LazyRenderDirective as ɵbm, RelationAddressModule as ɵbn, RelationAddressComponent as ɵbo, RelationBaseComponent as ɵbp, RelationAddressSelectModule as ɵbq, RelationAddressTileModule as ɵbr, TileModule as ɵbs, TileComponent as ɵbt, RelationAddressTileComponent as ɵbu, RelationAddressSelectComponent as ɵbv, StepperModule as ɵbw, StepperComponent as ɵbx, StepperStepComponent as ɵby, TransactionLineModule as ɵbz, DynamicComponentService as ɵc, TransactionLineComponent as ɵca, TransactionMappingService as ɵcb, TransactionArticleTextModule as ɵcc, TransactionLineImageAndDescriptionModule as ɵcd, TransactionLineDescriptionModule as ɵce, TransactionLineDescriptionComponent as ɵcf, TransactionLineBaseComponent as ɵcg, TransactionLineImageAndDescriptionComponent as ɵch, TransactionImageService as ɵci, TransactionArticleTextComponent as ɵcj, TransactionReceiveGoodsService as ɵck, DialogTransactionHeaderDiscountModule as ɵcl, TransactionHeaderDiscountPercentageModule as ɵcm, TransactionHeaderDiscountPercentageComponent as ɵcn, TransactionHeaderBaseComponent as ɵco, TransactionHeaderFilterPopupBaseComponent as ɵcp, TransactionHeaderDiscountAmountModule as ɵcq, TransactionHeaderDiscountAmountComponent as ɵcr, TransactionHeaderDiscountTransactionTotalModule as ɵcs, TransactionHeaderDiscountTransactionTotalComponent as ɵct, DialogTransactionHeaderDiscountComponent as ɵcu, DialogTransactionHeaderBaseComponent as ɵcv, AvatarModule as ɵcw, AvatarComponent as ɵcx, SharedService as ɵcy, SharedConnectorService as ɵcz, OptionsService as ɵd, RelationService as ɵda, DeliveryTypeTileModule as ɵdb, DeliveryTypeTileComponent as ɵdc, PaymentModule as ɵdd, PaymentTileModule as ɵde, PaymentTileComponent as ɵdf, PaymentQrCodeModule as ɵdg, PaymentQrCodeComponent as ɵdh, DownPaymentModule as ɵdi, DownPaymentComponent as ɵdj, PaymentService as ɵdk, PaymentComponent as ɵdl, RelationTypeModule as ɵdm, RelationTypeComponent as ɵdn, RelationGeneralModule as ɵdo, RelationSuggestionsListModule as ɵdp, RelationSuggestionsListItemModule as ɵdq, RelationSuggestionsListItemComponent as ɵdr, RelationSuggestionsListComponent as ɵds, RelationGeneralComponent as ɵdt, RelationAddressesModule as ɵdu, RelationAddressesComponent as ɵdv, RelationContactDetailsModule as ɵdw, RelationContactDetailsComponent as ɵdx, RelationPreferencesModule as ɵdy, RelationPreferencesComponent as ɵdz, DictionaryService as ɵe, TransactionHeaderBlockModule as ɵea, TransactionHeaderBlockComponent as ɵeb, TransactionHeaderDeliveryDateModule as ɵec, TransactionHeaderDeliveryDateComponent as ɵed, TransactionHeaderDeliveryOptionsModule as ɵee, TransactionHeaderDeliveryOptionsComponent as ɵef, TransactionHeaderRemarksModule as ɵeg, TransactionHeaderRemarksComponent as ɵeh, TransactionHeaderReferenceModule as ɵei, TransactionHeaderReferenceComponent as ɵej, TransactionHeaderRelationReferenceModule as ɵek, TransactionHeaderRelationReferenceComponent as ɵel, TransactionHeaderDeliveryMethodModule as ɵem, TransactionLineCheckboxModule as ɵen, TransactionLineCheckboxListComponent as ɵeo, TransactionHeaderDeliveryMethodComponent as ɵep, TransactionHeaderPreferredDeliveryDateModule as ɵeq, TransactionHeaderPreferredDeliveryDateComponent as ɵer, DialogTransactionHeaderDeliveryMethodModule as ɵes, DialogHeaderSearchModule as ɵet, DialogHeaderSearchComponent as ɵeu, DialogTransactionHeaderDeliveryMethodComponent as ɵev, TransactionHeaderPartialDeliveryModule as ɵew, TransactionHeaderPartialDeliveryComponent as ɵex, TransactionBaseComponent as ɵey, TransactionHeaderDownpaymentPercentageModule as ɵez, TransactionConnectorService as ɵf, TransactionHeaderDownpaymentPercentageComponent as ɵfa, TransactionHeaderDownpaymentAmountModule as ɵfb, TransactionHeaderDownpaymentAmountComponent as ɵfc, TransactionHeaderDefinitiveModule as ɵfd, TransactionHeaderDefinitiveComponent as ɵfe, TransactionHeaderBranchModule as ɵff, TransactionHeaderBranchComponent as ɵfg, TransactionHeaderAdministrativeRelationModule as ɵfh, TransactionHeaderAdministrativeRelationComponent as ɵfi, TransactionHeaderMarketingModule as ɵfj, TransactionHeaderMarketingComponent as ɵfk, CheckoutOverviewRelationEditComponent as ɵfl, CheckoutOverviewDeliveryEditComponent as ɵfm, CheckoutOverviewDeliveryAddressComponent as ɵfn, CheckoutOverviewPaymentComponent as ɵfo, CheckoutLoginComponent as ɵfp, TransactionFilterCategoriesModule as ɵfq, TransactionFilterCategoriesComponent as ɵfr, TransactionHeaderPaymentModule as ɵfs, TransactionHeaderPaymentComponent as ɵft, TransactionLinesGridModule as ɵfu, TransactionBaseGridModule as ɵfv, TransactionLineSidePanelModule as ɵfw, TransactionLineSidePanelDefaultModule as ɵfx, TransactionLinePriceModule as ɵfy, TransactionLinePriceComponent as ɵfz, TransactionConnectorAdapterService as ɵg, TransactionLinePriceListModule as ɵga, TransactionLinePriceListComponent as ɵgb, TransactionFilterPopupBaseComponent as ɵgc, TransactionLineVatModule as ɵgd, TransactionLineVatComponent as ɵge, TransactionLineQuantityModule as ɵgf, TransactionLineQuantityComponent as ɵgg, TransactionLineLineDiscountModule as ɵgh, TransactionLineLineDiscountComponent as ɵgi, TransactionLineDeliveryMethodModule as ɵgj, TransactionLineDeliveryMethodComponent as ɵgk, TransactionLineDeliveryDateModule as ɵgl, TransactionLineDeliveryDateComponent as ɵgm, TransactionLineReferenceModule as ɵgn, TransactionLineReferenceComponent as ɵgo, TransactionLineCommissionCodeModule as ɵgp, TransactionLineCommissionCodeComponent as ɵgq, TransactionLineWarehouseModule as ɵgr, TransactionLineWarehouseComponent as ɵgs, TransactionLineDiscountAmountModule as ɵgt, TransactionLineDiscountAmountComponent as ɵgu, TransactionLineQuantumDiscountModule as ɵgv, TransactionLineQuantumDiscountComponent as ɵgw, TransactionLineSpecialDiscountModule as ɵgx, TransactionLineSpecialDiscountComponent as ɵgy, TransactionLineSupplierModule as ɵgz, SelectMultipleCacheService as ɵh, TransactionLineSupplierComponent as ɵha, TransactionLineSidePanelDefaultComponent as ɵhb, TransactionReceivingGoodsHistoryModule as ɵhc, TransactionHistoryGridModule as ɵhd, TransactionHistoryGridStatusModule as ɵhe, TransactionHistoryGridStatusComponent as ɵhf, TransactionHistoryGridComponent as ɵhg, TransactionReceivingGoodsHistoryComponent as ɵhh, TransactionReceivingGoodsDetailsModule as ɵhi, TransactionReceivingGoodsDetailsComponent as ɵhj, ArticleService as ɵhk, TransactionButtonBarModule as ɵhl, AnimatedCheckboxModule as ɵhm, AnimatedCheckboxComponent as ɵhn, TransactionButtonBarComponent as ɵho, TransactionButtonBarButtonComponent as ɵhp, TransactionButtonBarButtonBaseComponent as ɵhq, TransactionSalesPurchaseButtonBarButtonComponent as ɵhr, TransactionLineSidePanelPurchaseModule as ɵhs, DefaultOkCancelButtonsModule as ɵht, DefaultOkCancelButtonsComponent as ɵhu, TransactionLineSidePanelPurchaseComponent as ɵhv, TransactionLineSidePanelComponent as ɵhw, DynamicBaseComponent as ɵhx, TransactionLineActionButtonsModule as ɵhy, TransactionArticleTextOverviewModule as ɵhz, BusinessObjectCacheManagerService as ɵi, TransactionArticleTextOverviewComponent as ɵia, TransactionLineActionButtonsComponent as ɵib, TransactionBaseGridComponent as ɵic, TransactionGridBaseComponent as ɵid, DialogTransactionLineCommissionCodeModule as ɵie, DialogTransactionLineCommissionCodeComponent as ɵif, DialogTransactionLineBaseComponent as ɵig, DialogTransactionLineWarehouseModule as ɵih, DialogTransactionLineWarehouseComponent as ɵii, DialogTransactionLineWarehouseCcModule as ɵij, DialogTransactionLineWarehouseCcComponent as ɵik, DialogTransactionLineDeliveryMethodModule as ɵil, DialogTransactionLineDeliveryMethodComponent as ɵim, DialogTransactionLineVatModule as ɵin, DialogTransactionLineVatComponent as ɵio, DialogTransactionLineDiscountModule as ɵip, DialogTransactionLinePriceListModule as ɵiq, DialogTransactionLinePriceListComponent as ɵir, DialogTransactionLineDiscountComponent as ɵis, TransactionLinesGridComponent as ɵit, DiscountModule as ɵiu, DiscountComponent as ɵiv, TransactionQuickAccessOverviewModule as ɵiw, TransactionQuickAccessOverviewComponent as ɵix, TransactionQuickAccessOrderDeliveryModule as ɵiy, TransactionSendButtonDialogModule as ɵiz, CacheField as ɵj, TransactionSendButtonDialogComponent as ɵja, TransactionQuickAccessOrderDeliveryComponent as ɵjb, TransactionOrderDeliveryService as ɵjc, TransactionQuickAccessOrderPurchaseModule as ɵjd, TransactionQuickAccessOrderPurchaseComponent as ɵje, TransactionOrderConfirmationGridModule as ɵjf, TransactionOrderConfirmationGridComponent as ɵjg, TransactionReceivedGoodsGridModule as ɵjh, DialogTransactionLineWarehouseLocationModule as ɵji, TransactionLineWarehouseLocationModule as ɵjj, TransactionLineWarehouseLocationComponent as ɵjk, DialogTransactionLineWarehouseLocationComponent as ɵjl, TransactionLineWarehouseLocationButtonModule as ɵjm, TransactionLineWarehouseLocationButtonComponent as ɵjn, TransactionReceivedGoodsGridComponent as ɵjo, ViewModeButtonsModule as ɵjp, ViewModeButtonsComponent as ɵjq, TransactionGridModule as ɵjr, TransactionGridComponent as ɵjs, TransactionTileModule as ɵjt, TransactionTileComponent as ɵju, TransactionOverviewLineModule as ɵjv, EditableLabelModule as ɵjw, EditableLabelComponent as ɵjx, TransactionBaseLineModule as ɵjy, TransactionBaseLineComponent as ɵjz, SelectMultipleParameterizedCacheService as ɵk, TransactionLinesLineBaseComponent as ɵka, TransactionLineCommissionButtonModule as ɵkb, TransactionLineCommissionButtonComponent as ɵkc, TransactionLineWarehouseButtonModule as ɵkd, TransactionLineWarehouseButtonComponent as ɵke, TransactionLineDeliveryButtonModule as ɵkf, TransactionLineDeliveryButtonComponent as ɵkg, TransactionLineDeliveryDateButtonModule as ɵkh, TransactionLineDeliveryDateButtonComponent as ɵki, TransactionLineAmountModule as ɵkj, TransactionLineAmountComponent as ɵkk, TransactionOverviewLineComponent as ɵkl, TransactionOrderDeliveryLineModule as ɵkm, TransactionOrderDeliveryLineComponent as ɵkn, TransactionReceiveGoodsLineModule as ɵko, TransactionReceiveGoodsLineComponent as ɵkp, TransactionPurchaseLineModule as ɵkq, TransactionLineSupplierButtonModule as ɵkr, DialogTransactionLineSupplierModule as ɵks, DialogTransactionLineSupplierComponent as ɵkt, TransactionLineSupplierButtonComponent as ɵku, TransactionPurchaseLineComponent as ɵkv, QuickSendButtonModule as ɵkw, QuickSendButtonComponent as ɵkx, TransactionSearchResultModule as ɵky, TransactionSearchSalesOrderTileModule as ɵkz, ErrorService as ɵl, TransactionSearchSalesOrderTileComponent as ɵla, TransactionSearchTileBaseComponent as ɵlb, TransactionSearchPurchaseOrderTileModule as ɵlc, TransactionSearchPurchaseOrderTileComponent as ɵld, TransactionSearchSalesOrderGridModule as ɵle, TransactionSearchSalesOrderGridComponent as ɵlf, TransactionSearchGridBaseComponent as ɵlg, TransactionSearchPurchaseOrderGridModule as ɵlh, TransactionSearchPurchaseOrderGridComponent as ɵli, TransactionSearchHeaderModule as ɵlj, TransactionSearchHeaderComponent as ɵlk, TransactionSearchGridModule as ɵll, TransactionSearchGridComponent as ɵlm, TransactionSearchTileModule as ɵln, TransactionSearchTileComponent as ɵlo, TransactionSearchResultComponent as ɵlp, TransactionSalesOrderFilterModule as ɵlq, TransactionSalesOrderFilterContentOrderModule as ɵlr, TransactionFilterItemModule as ɵls, TransactionFilterItemComponent as ɵlt, TransactionSalesOrderFilterContentOrderComponent as ɵlu, TransactionFilterContentBaseComponent as ɵlv, FilterRequestService as ɵlw, TransactionSalesOrderFilterContentLogisticsModule as ɵlx, TransactionFilterHistoricStateModule as ɵly, TransactionFilterHistoricStateComponent as ɵlz, SelectSingleCacheService as ɵm, TransactionSalesOrderFilterContentLogisticsComponent as ɵma, TransactionSalesOrderFilterContentArticleModule as ɵmb, TransactionSalesOrderFilterContentArticleComponent as ɵmc, TransactionSalesOrderFilterComponent as ɵmd, TransactionFilterBaseComponent as ɵme, TransactionPurchaseOrderFilterModule as ɵmf, TransactionPurchaseOrderFilterContentOrderModule as ɵmg, TransactionPurchaseOrderFilterContentOrderComponent as ɵmh, TransactionPurchaseOrderFilterContentLogisticsModule as ɵmi, TransactionPurchaseOrderFilterContentLogisticsComponent as ɵmj, TransactionPurchaseOrderFilterContentArticleModule as ɵmk, TransactionPurchaseOrderFilterContentArticleComponent as ɵml, TransactionPurchaseOrderFilterComponent as ɵmm, TransactionFilterModule as ɵmn, TransactionFilterComponent as ɵmo, ArticleConnectorService as ɵn, TransactionEventService as ɵo, RelationConnectorService as ɵp, CoreModule as ɵq, ConfirmationDialogModule as ɵr, PipeModule as ɵs, AppendPipe as ɵt, DeliveryTimePipe as ɵu, DateDurationPipe as ɵv, LocalizePipe as ɵw, CoCurrencyPipe as ɵx, SafeStylePipe as ɵy, SafeHtmlPipe as ɵz };
23540
23069
  //# sourceMappingURL=colijnit-transaction.js.map