@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
@@ -2,11 +2,13 @@ import { OnDestroy } from "@angular/core";
2
2
  import { OptionsService } from "./options.service";
3
3
  import { SharedConnectorService } from "./shared-connector.service";
4
4
  import { CoDocument } from "@colijnit/sharedapi/build/model/co-document.bo";
5
+ import { TransactionEventService } from "./transaction-event.service";
5
6
  export declare class SharedService implements OnDestroy {
6
7
  private _optionsService;
7
8
  private _connector;
9
+ private _transactionEventService;
8
10
  private _subs;
9
- constructor(_optionsService: OptionsService, _connector: SharedConnectorService);
11
+ constructor(_optionsService: OptionsService, _connector: SharedConnectorService, _transactionEventService: TransactionEventService);
10
12
  ngOnDestroy(): void;
11
13
  selectDocsByTableKey(table: string, key: string): Promise<CoDocument[]>;
12
14
  getDocumentContent(docId: number, thumbnail?: boolean): Promise<string>;
@@ -1,24 +1,17 @@
1
1
  import { Marketing } from "@colijnit/transactionapi/build/model/marketing.bo";
2
- import { CustomerFullObject } from "@colijnit/transactionapi/build/model/customer-full-object.bo";
3
2
  import { TransactionInfoResponse } from "@colijnit/transactionapi/build/model/transaction-info-response.bo";
4
3
  import { TransactionKind } from "@colijnit/transactionapi/build/enum/transaction-kind.enum";
5
4
  import { Country } from "@colijnit/transactionapi/build/model/country.bo";
6
- import { PrivacySetting } from "@colijnit/transactionapi/build/model/privacy-setting.bo";
7
- import { RelationPrivacySetting } from "@colijnit/transactionapi/build/model/relation-privacy-setting.bo";
8
5
  import { SequenceName } from "@colijnit/transactionapi/build/enum/sequence-name.enum";
9
6
  import { DeliveryMethod } from "@colijnit/transactionapi/build/model/delivery-method.bo";
10
7
  import { DeliveryOption } from "@colijnit/transactionapi/build/model/delivery-option.bo";
11
8
  import { SetTransactionDeliveryOptionsRequest } from "@colijnit/transactionapi/build/model/set-transaction-delivery-options-request.bo";
12
9
  import { GetPostalCodeRetrievalOutputParams } from "@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params";
13
- import { RelationListObject } from "@colijnit/transactionapi/build/model/relation-list-object.bo";
14
- import { RelationRequest } from "@colijnit/transactionapi/build/model/relation-request";
15
10
  import { TransactionLineType } from "@colijnit/transactionapi/build/enum/transaction-line-type.enum";
16
- import { CoDomainValue } from "@colijnit/transactionapi/build/model/co-domain-value.bo";
17
11
  import { TransactionArticleWarehouse } from "@colijnit/transactionapi/build/model/transaction-article-warehouse.bo";
18
12
  import { ArticleFullObject } from "@colijnit/transactionapi/build/model/article-full-object";
19
13
  import { TransactionResponseBase } from "@colijnit/transactionapi/build/model/transaction-response-base.bo";
20
14
  import { Transaction } from "@colijnit/transactionapi/build/transaction";
21
- import { DataServiceResponseData } from "@colijnit/transactionapi/build/model/data-service-response-data";
22
15
  import { StandardText } from "../model/standard-text";
23
16
  import { CustomerGroup } from "@colijnit/transactionapi/build/model/customer-group.bo";
24
17
  import { TransactionLineInfo } from "@colijnit/transactionapi/build/model/transaction-line-info.bo";
@@ -29,9 +22,6 @@ import { PriceList } from "@colijnit/transactionapi/build/model/price-list";
29
22
  import { Vat } from "@colijnit/transactionapi/build/model/vat";
30
23
  import { DiscountType } from "@colijnit/transactionapi/build/enum/discount-type.enum";
31
24
  import { TransactionSearchViewRequest } from "@colijnit/transactionapi/build/model/transaction-search-view-request";
32
- import { BranchLov } from "@colijnit/transactionapi/build/model/branch-lov.bo";
33
- import { SalesPerson } from "@colijnit/transactionapi/build/model/sales-person.bo";
34
- import { Tag } from "@colijnit/transactionapi/build/model/tag";
35
25
  import { OnHoldCode } from "@colijnit/transactionapi/build/model/on-hold-code.bo";
36
26
  import { Warehouse } from "@colijnit/transactionapi/build/model/warehouse.bo";
37
27
  import { CodeDescription } from "@colijnit/transactionapi/build/model/code-description";
@@ -48,17 +38,27 @@ import { PaymentLinkStatus } from "@colijnit/transactionapi/build/model/payment-
48
38
  import { SelectMultipleCacheService } from "../cache/service/select-multiple-cache.service";
49
39
  import { SelectMultipleParameterizedCacheService } from "../cache/service/select-multiple-parameterized-cache.service";
50
40
  import { ErrorService } from "./error.service";
51
- import { SupplierFullObject } from "@colijnit/transactionapi/build/model/supplier-full-object.bo";
52
41
  import { GetPurchaseOrderConfirmation } from "@colijnit/transactionapi/build/model/get-purchase-order-confirmation";
53
42
  import { TransactionDownPaymentInfo } from "@colijnit/transactionapi/build/model/transaction-down-payment-info.bo";
54
43
  import { TransactionLockResult } from "@colijnit/transactionapi/build/model/transaction-lock-result.bo";
55
- import { ValidationResult } from "@colijnit/transactionapi/build/model/validation-result";
44
+ import { PrivacySetting } from "@colijnit/mainapi/build/model/privacy-setting.bo";
45
+ import { DataServiceResponseData } from "@colijnit/ioneconnector/build/model/data-service-response-data";
46
+ import { RelationPrivacySetting } from "@colijnit/relationapi/build/model/relation-privacy-setting.bo";
47
+ import { CoDomainValue } from "@colijnit/mainapi/build/model/co-domain-value.bo";
48
+ import { Tag } from "@colijnit/mainapi/build/model/tag";
49
+ import { DeliveryOrderStatus } from "@colijnit/transactionapi/build/model/delivery-order-status.bo";
50
+ import { SalesPerson } from "@colijnit/relationapi/build/model/sales-person.bo";
51
+ import { StockStickersEmailLayouts } from "@colijnit/sharedapi/build/model/report/stock-stickers-email-layouts.bo";
52
+ import { StockStickersPrintLayouts } from "@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo";
53
+ import { Sharedapi } from "@colijnit/sharedapi/build/sharedapi";
54
+ import { EmailOrderConfirmation } from "@colijnit/transactionapi/build/model/report/email-order-confirmation";
56
55
  export declare class TransactionConnectorAdapterService {
57
56
  private _optionsService;
58
57
  private _selectMultipleCacheService;
59
58
  private _selectMultipleParameterizedCacheService;
60
59
  private _errorService;
61
60
  connector: Transaction;
61
+ sharedConnector: Sharedapi;
62
62
  private _boFactory;
63
63
  constructor(_optionsService: OptionsService, _selectMultipleCacheService: SelectMultipleCacheService, _selectMultipleParameterizedCacheService: SelectMultipleParameterizedCacheService, _errorService: ErrorService);
64
64
  connect(): Promise<void>;
@@ -75,10 +75,7 @@ export declare class TransactionConnectorAdapterService {
75
75
  getTransactionByNrAndKind(kind: TransactionKind, transactionNo: number): Promise<TransactionInfoResponse>;
76
76
  getTransactionById(transactionId: number): Promise<TransactionInfoResponse>;
77
77
  lockTransactionById(transactionId: number, version: number): Promise<TransactionLockResult>;
78
- getCustomerFullObject(relationNo: number): Promise<CustomerFullObject>;
79
- getSupplierFullObject(relationNo: number): Promise<SupplierFullObject>;
80
78
  getCashRegisters(branch?: string, group?: number): Promise<CashRegister[]>;
81
- getRelationNumber(relationId: number): Promise<string>;
82
79
  getPriceLists(code?: string): Promise<PriceList[]>;
83
80
  getVatList(onlyValid?: boolean): Promise<Vat[]>;
84
81
  searchTransactions(request: TransactionSearchViewRequest): Promise<TransactionSearchResult>;
@@ -86,21 +83,17 @@ export declare class TransactionConnectorAdapterService {
86
83
  getDeliveryMethods(): Promise<DeliveryMethod[]>;
87
84
  getDeliveryOptions(): Promise<DeliveryOption[]>;
88
85
  getPostalCodeRetrieval(postcalCode: string, houseNo: string): Promise<GetPostalCodeRetrievalOutputParams>;
89
- getRelationListObjects(relationRequest: RelationRequest): Promise<RelationListObject[]>;
90
86
  getCommissionCodes(languageCode: string): Promise<CoDomainValue[]>;
91
87
  getInOutCollection(languageCode: string): Promise<CoDomainValue[]>;
92
88
  getTransactionArticleWarehouses(goodId: number): Promise<TransactionArticleWarehouse[]>;
93
89
  getTextTypes(languageCode: string): Promise<CoDomainValue[]>;
94
90
  getStandardTexts(languageCode: string): Promise<StandardText[]>;
95
- getBranches(branchNr?: string): Promise<BranchLov[]>;
96
91
  getSalesPersons(date?: Date): Promise<SalesPerson[]>;
97
92
  getTags(category: number): Promise<Tag[]>;
98
93
  getOnHoldCodes(): Promise<OnHoldCode[]>;
99
94
  getWarehouses(branchNr?: string): Promise<Warehouse[]>;
100
95
  getHistoricStateValues(): Promise<CodeDescription[]>;
101
96
  getPaymentMethods(): Promise<PaymentMethod[]>;
102
- insertCustomer(relation: CustomerFullObject): Promise<CustomerFullObject>;
103
- updateCustomer(relation: CustomerFullObject): Promise<CustomerFullObject>;
104
97
  commit(): Promise<DataServiceResponseData>;
105
98
  createTransaction(kind: TransactionKind, branchNr: string): Promise<TransactionInfoResponse>;
106
99
  saveTransaction(uuid: string): Promise<TransactionInfoResponse>;
@@ -161,12 +154,10 @@ export declare class TransactionConnectorAdapterService {
161
154
  updatePurchasePortalLines(purchasePortalLine: PurchasePortalLine): Promise<DataServiceResponseData>;
162
155
  purchaseOrderConfirmation(purchaseOrderConfirmation: GetPurchaseOrderConfirmation): Promise<DataServiceResponseData>;
163
156
  lockPurchasePortalLines(transIdPurchase: number, lineId: number): Promise<boolean>;
157
+ getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]>;
158
+ emailOrderConfirmation(emailOrderConfirmation: EmailOrderConfirmation): Promise<boolean>;
159
+ getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]>;
164
160
  generateCommissionOrders(transId: number, onlyGenerateForDirectSellSuppliers: boolean): Promise<boolean>;
165
- lockCustomerFullObject(relationNr: number): Promise<ValidationResult>;
166
- lockSupplierFullObject(relationNr: number): Promise<ValidationResult>;
167
- lockEmployeeFullObject(relationNr: number): Promise<ValidationResult>;
168
- lockBranchFullObject(relationNr: number): Promise<ValidationResult>;
169
- lockCompanyFullObject(relationNr: number): Promise<ValidationResult>;
170
- lockContactPerson(relationNr: number): Promise<ValidationResult>;
161
+ getDeliveryOrderStatus(transId: number, lineNr: number): Promise<DeliveryOrderStatus>;
171
162
  private _handleExceptionFromResponse;
172
163
  }
@@ -1,23 +1,16 @@
1
1
  import { Marketing } from "@colijnit/transactionapi/build/model/marketing.bo";
2
- import { CustomerFullObject } from "@colijnit/transactionapi/build/model/customer-full-object.bo";
3
2
  import { TransactionInfoResponse } from "@colijnit/transactionapi/build/model/transaction-info-response.bo";
4
3
  import { TransactionKind } from "@colijnit/transactionapi/build/enum/transaction-kind.enum";
5
4
  import { Country } from "@colijnit/transactionapi/build/model/country.bo";
6
- import { PrivacySetting } from "@colijnit/transactionapi/build/model/privacy-setting.bo";
7
- import { RelationPrivacySetting } from "@colijnit/transactionapi/build/model/relation-privacy-setting.bo";
8
5
  import { SequenceName } from "@colijnit/transactionapi/build/enum/sequence-name.enum";
9
6
  import { DeliveryMethod } from "@colijnit/transactionapi/build/model/delivery-method.bo";
10
7
  import { DeliveryOption } from "@colijnit/transactionapi/build/model/delivery-option.bo";
11
8
  import { SetTransactionDeliveryOptionsRequest } from "@colijnit/transactionapi/build/model/set-transaction-delivery-options-request.bo";
12
9
  import { GetPostalCodeRetrievalOutputParams } from "@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params";
13
- import { RelationListObject } from "@colijnit/transactionapi/build/model/relation-list-object.bo";
14
- import { RelationRequest } from "@colijnit/transactionapi/build/model/relation-request";
15
10
  import { TransactionLineType } from "@colijnit/transactionapi/build/enum/transaction-line-type.enum";
16
- import { CoDomainValue } from "@colijnit/transactionapi/build/model/co-domain-value.bo";
17
11
  import { TransactionArticleWarehouse } from "@colijnit/transactionapi/build/model/transaction-article-warehouse.bo";
18
12
  import { ArticleFullObject } from "@colijnit/transactionapi/build/model/article-full-object";
19
13
  import { TransactionResponseBase } from "@colijnit/transactionapi/build/model/transaction-response-base.bo";
20
- import { DataServiceResponseData } from "@colijnit/transactionapi/build/model/data-service-response-data";
21
14
  import { StandardText } from "../model/standard-text";
22
15
  import { CustomerGroup } from "@colijnit/transactionapi/build/model/customer-group.bo";
23
16
  import { TransactionLineInfo } from "@colijnit/transactionapi/build/model/transaction-line-info.bo";
@@ -27,9 +20,6 @@ import { PriceList } from "@colijnit/transactionapi/build/model/price-list";
27
20
  import { Vat } from "@colijnit/transactionapi/build/model/vat";
28
21
  import { DiscountType } from "@colijnit/transactionapi/build/enum/discount-type.enum";
29
22
  import { TransactionSearchViewRequest } from "@colijnit/transactionapi/build/model/transaction-search-view-request";
30
- import { BranchLov } from "@colijnit/transactionapi/build/model/branch-lov.bo";
31
- import { SalesPerson } from "@colijnit/transactionapi/build/model/sales-person.bo";
32
- import { Tag } from "@colijnit/transactionapi/build/model/tag";
33
23
  import { OnHoldCode } from "@colijnit/transactionapi/build/model/on-hold-code.bo";
34
24
  import { Warehouse } from "@colijnit/transactionapi/build/model/warehouse.bo";
35
25
  import { CodeDescription } from "@colijnit/transactionapi/build/model/code-description";
@@ -47,10 +37,18 @@ import { SelectMultipleCacheService } from "../cache/service/select-multiple-cac
47
37
  import { SelectMultipleParameterizedCacheService } from "../cache/service/select-multiple-parameterized-cache.service";
48
38
  import { TransactionConnectorAdapterService } from "./transaction-connector-adapter.service";
49
39
  import { SelectSingleCacheService } from "../cache/service/select-single-cache.service";
50
- import { SupplierFullObject } from "@colijnit/transactionapi/build/model/supplier-full-object.bo";
51
40
  import { GetPurchaseOrderConfirmation } from "@colijnit/transactionapi/build/model/get-purchase-order-confirmation";
52
41
  import { TransactionLockResult } from "@colijnit/transactionapi/build/model/transaction-lock-result.bo";
53
- import { ValidationResult } from "@colijnit/transactionapi/build/model/validation-result";
42
+ import { PrivacySetting } from "@colijnit/mainapi/build/model/privacy-setting.bo";
43
+ import { RelationPrivacySetting } from "@colijnit/relationapi/build/model/relation-privacy-setting.bo";
44
+ import { DataServiceResponseData } from "@colijnit/ioneconnector/build/model/data-service-response-data";
45
+ import { CoDomainValue } from "@colijnit/mainapi/build/model/co-domain-value.bo";
46
+ import { SalesPerson } from "@colijnit/relationapi/build/model/sales-person.bo";
47
+ import { Tag } from "@colijnit/mainapi/build/model/tag";
48
+ import { DeliveryOrderStatus } from "@colijnit/transactionapi/build/model/delivery-order-status.bo";
49
+ import { StockStickersEmailLayouts } from "@colijnit/sharedapi/build/model/report/stock-stickers-email-layouts.bo";
50
+ import { StockStickersPrintLayouts } from "@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo";
51
+ import { EmailOrderConfirmation } from "@colijnit/transactionapi/build/model/report/email-order-confirmation";
54
52
  export declare class TransactionConnectorService {
55
53
  private _adapterService;
56
54
  private _selectSingleCacheService;
@@ -74,22 +72,16 @@ export declare class TransactionConnectorService {
74
72
  lockTransactionById(transId: number, version: number): Promise<TransactionLockResult>;
75
73
  commit(): Promise<DataServiceResponseData>;
76
74
  saveTransaction(uuid: string): Promise<TransactionInfoResponse>;
77
- getCustomerFullObject(relationNo: number): Promise<CustomerFullObject>;
78
- getSupplierFullObject(relationNo: number): Promise<SupplierFullObject>;
79
75
  getCashRegisters(branch?: string, group?: number): Promise<CashRegister[]>;
80
- getRelationNumber(relationId: number): Promise<string>;
81
76
  getPriceLists(code?: string): Promise<PriceList[]>;
82
77
  getVatList(onlyValid?: boolean): Promise<Vat[]>;
83
78
  searchTransactions(request: TransactionSearchViewRequest): Promise<TransactionSearchResult>;
84
79
  getSequenceValue(sequenceName: SequenceName): Promise<number>;
85
- insertCustomer(relation: CustomerFullObject): Promise<CustomerFullObject>;
86
- updateCustomer(relation: CustomerFullObject): Promise<CustomerFullObject>;
87
80
  getDeliveryMethods(): Promise<DeliveryMethod[]>;
88
81
  getDeliveryOptions(): Promise<DeliveryOption[]>;
89
82
  addRelationToTransaction(uuid: string, relationId: number): Promise<TransactionInfoResponse>;
90
83
  setTransactionDeliveryOptions(transactionDeliveryOptionsRequest: SetTransactionDeliveryOptionsRequest): Promise<TransactionResponseBase>;
91
84
  getPostalCodeRetrieval(postcalCode: string, houseNo: string): Promise<GetPostalCodeRetrievalOutputParams>;
92
- getRelationListObjects(relationRequest: RelationRequest): Promise<RelationListObject[]>;
93
85
  addTransactionLine(uuid: string, articleLine: TransactionLineType, articleNo: string, amount: number, warehouseNo: number, commissionCode: string, isReturn: boolean, aboveLineNr: number, belowLineNr: number): Promise<TransactionInfoResponse>;
94
86
  addTextLineToTransaction(uuid: string, showOnDocuments: number, text: string, amount: number, articleBound: boolean, refArticleLineNr: number, aboveLineNr?: number, belowLineNr?: number): Promise<TransactionInfoResponse>;
95
87
  changeLineSequence(uuid: string, lineUuid: string, aboveLineNr?: number, belowLineNr?: number): Promise<TransactionInfoResponse>;
@@ -104,7 +96,6 @@ export declare class TransactionConnectorService {
104
96
  setRelationByUser(uuid: string, username: string, password: string): Promise<boolean>;
105
97
  getTextTypes(languageCode: string): Promise<CoDomainValue[]>;
106
98
  getStandardTexts(languageCode: string): Promise<StandardText[]>;
107
- getBranches(branchNr?: string): Promise<BranchLov[]>;
108
99
  getSalesPersons(date?: Date): Promise<SalesPerson[]>;
109
100
  getTags(category: number): Promise<Tag[]>;
110
101
  getOnHoldCodes(): Promise<OnHoldCode[]>;
@@ -156,10 +147,8 @@ export declare class TransactionConnectorService {
156
147
  purchaseOrderConfirmation(purchaseOrderConfirmation: GetPurchaseOrderConfirmation): Promise<DataServiceResponseData>;
157
148
  lockPurchasePortalLines(transIdPurchase: number, lineId: number): Promise<boolean>;
158
149
  generateCommissionOrders(transId: number, onlyGenerateForDirectSellSuppliers: boolean): Promise<boolean>;
159
- lockCustomerFullObject(relationNr: number): Promise<ValidationResult>;
160
- lockSupplierFullObject(relationNr: number): Promise<ValidationResult>;
161
- lockEmployeeFullObject(relationNr: number): Promise<ValidationResult>;
162
- lockBranchFullObject(relationNr: number): Promise<ValidationResult>;
163
- lockCompanyFullObject(relationNr: number): Promise<ValidationResult>;
164
- lockContactPerson(relationNr: number): Promise<ValidationResult>;
150
+ getDeliveryOrderStatus(transId: number, lineId: number): Promise<DeliveryOrderStatus>;
151
+ getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]>;
152
+ emailOrderConfirmation(emailOrderConfirmation: EmailOrderConfirmation): Promise<boolean>;
153
+ getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]>;
165
154
  }
@@ -1,9 +1,9 @@
1
- import { Subject } from "rxjs";
2
- import { BusinessObject } from "@colijnit/transactionapi/build/model/business-object";
1
+ import { BehaviorSubject, Subject } from "rxjs";
3
2
  import { PositionGridRow } from "../enum/position-grid-row.enum";
4
3
  import { Scroll } from "@angular/router";
5
4
  import { TransactionLineInfo } from "@colijnit/transactionapi/build/model/transaction-line-info.bo";
6
5
  import { GoodsReceiptStatusWithHistory } from "@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo";
6
+ import { BusinessObject } from "@colijnit/ioneconnector/build/model/business-object";
7
7
  export declare class TransactionEventService {
8
8
  readonly addToCartBySku: Subject<{
9
9
  sku: string;
@@ -64,4 +64,6 @@ export declare class TransactionEventService {
64
64
  readonly openSidePanel: Subject<TransactionLineInfo>;
65
65
  readonly selectAllSalesOrderLinesForPurchase: Subject<boolean>;
66
66
  readonly generateCommissionOrders: Subject<boolean>;
67
+ readonly allowPartialDeliveryChanged: Subject<boolean>;
68
+ readonly connectionInitialized: BehaviorSubject<boolean>;
67
69
  }
@@ -1,30 +1,20 @@
1
1
  import { DiscountType } from "@colijnit/transactionapi/build/enum/discount-type.enum";
2
2
  import { TransactionLineType } from "@colijnit/transactionapi/build/enum/transaction-line-type.enum";
3
3
  import { ArticleFullObject } from "@colijnit/transactionapi/build/model/article-full-object";
4
- import { BranchLov } from "@colijnit/transactionapi/build/model/branch-lov.bo";
5
4
  import { CashRegister } from "@colijnit/transactionapi/build/model/cash-register";
6
- import { CoDomainValue } from "@colijnit/transactionapi/build/model/co-domain-value.bo";
7
5
  import { CodeDescription } from "@colijnit/transactionapi/build/model/code-description";
8
6
  import { Country } from "@colijnit/transactionapi/build/model/country.bo";
9
- import { CustomerFullObject } from "@colijnit/transactionapi/build/model/customer-full-object.bo";
10
7
  import { CustomerGroup } from "@colijnit/transactionapi/build/model/customer-group.bo";
11
- import { DataServiceResponseData } from "@colijnit/transactionapi/build/model/data-service-response-data";
12
8
  import { DeliveryMethod } from "@colijnit/transactionapi/build/model/delivery-method.bo";
13
9
  import { DeliveryOption } from "@colijnit/transactionapi/build/model/delivery-option.bo";
14
10
  import { LineOperationStatus } from "@colijnit/transactionapi/build/model/line-operation-status.bo";
15
11
  import { Marketing } from "@colijnit/transactionapi/build/model/marketing.bo";
16
12
  import { OnHoldCode } from "@colijnit/transactionapi/build/model/on-hold-code.bo";
17
13
  import { PriceList } from "@colijnit/transactionapi/build/model/price-list";
18
- import { RelationListObject } from "@colijnit/transactionapi/build/model/relation-list-object.bo";
19
- import { RelationPrivacySetting } from "@colijnit/transactionapi/build/model/relation-privacy-setting.bo";
20
- import { RelationRequest } from "@colijnit/transactionapi/build/model/relation-request";
21
- import { SalesPerson } from "@colijnit/transactionapi/build/model/sales-person.bo";
22
- import { Tag } from "@colijnit/transactionapi/build/model/tag";
23
14
  import { TransactionArticleWarehouse } from "@colijnit/transactionapi/build/model/transaction-article-warehouse.bo";
24
15
  import { TransactionInfoResponse } from "@colijnit/transactionapi/build/model/transaction-info-response.bo";
25
16
  import { TransactionLineInfo } from "@colijnit/transactionapi/build/model/transaction-line-info.bo";
26
17
  import { TransactionSearchViewRequest } from "@colijnit/transactionapi/build/model/transaction-search-view-request";
27
- import { ValidationResult } from "@colijnit/transactionapi/build/model/validation-result";
28
18
  import { Vat } from "@colijnit/transactionapi/build/model/vat";
29
19
  import { Warehouse } from "@colijnit/transactionapi/build/model/warehouse.bo";
30
20
  import { StandardText } from "../model/standard-text";
@@ -41,9 +31,13 @@ import { PurchasePortalLine } from "@colijnit/transactionapi/build/model/purchas
41
31
  import { TransactionSearchResult } from "../model/transaction-search-result";
42
32
  import { GetPurchaseOrderConfirmation } from "@colijnit/transactionapi/build/model/get-purchase-order-confirmation";
43
33
  import { TransactionLockResult } from "@colijnit/transactionapi/build/model/transaction-lock-result.bo";
44
- import { RelationKind } from "@colijnit/transactionapi/build/enum/relation-kind.enum";
34
+ import { DataServiceResponseData } from "@colijnit/ioneconnector/build/model/data-service-response-data";
35
+ import { Tag } from "@colijnit/mainapi/build/model/tag";
36
+ import { CoDomainValue } from "@colijnit/mainapi/build/model/co-domain-value.bo";
37
+ import { RelationPrivacySetting } from "@colijnit/relationapi/build/model/relation-privacy-setting.bo";
38
+ import { DeliveryOrderStatus } from "@colijnit/transactionapi/build/model/delivery-order-status.bo";
39
+ import { SalesPerson } from "@colijnit/relationapi/build/model/sales-person.bo";
45
40
  export declare class TransactionService extends PendingReasonService {
46
- private readonly _lockMethods;
47
41
  pendingLineOperationStatus(lineOperationStatuses: LineOperationStatus[]): LineOperationStatus | undefined;
48
42
  updatePriceTransactionLine(uuid: string, lineUuid: string, price: number): Promise<boolean>;
49
43
  updateReferenceTransactionLine(uuid: string, lineUuid: string, reference: string): Promise<boolean>;
@@ -82,7 +76,7 @@ export declare class TransactionService extends PendingReasonService {
82
76
  getArticleBoundTextLinesOfArticleLine(articleLineUuid: string): Promise<TransactionLineInfo[]>;
83
77
  createTransaction(): Promise<boolean>;
84
78
  getTransactionById(transactionId: number): Promise<boolean>;
85
- lockRelation(relationKind: RelationKind, relationNr: number): Promise<ValidationResult>;
79
+ tryToLockTransaction(id: number, version: number): Promise<boolean>;
86
80
  lockTransaction(transId: number, version: number): Promise<TransactionLockResult>;
87
81
  commit(): Promise<DataServiceResponseData>;
88
82
  saveTransaction(close?: boolean): Promise<TransactionInfoResponse>;
@@ -94,11 +88,9 @@ export declare class TransactionService extends PendingReasonService {
94
88
  getMarketingCodes(): Promise<Marketing[]>;
95
89
  getArticles(request: ArticleExtendedRequest): Promise<ArticleLight[]>;
96
90
  getMainArticles(): Promise<MainArticle[]>;
97
- insertCustomer(relation: CustomerFullObject): Promise<CustomerFullObject>;
98
- updateCustomer(relation: CustomerFullObject): Promise<CustomerFullObject>;
99
91
  getDeliveryMethods(): Promise<DeliveryMethod[]>;
100
92
  getDeliveryOptions(): Promise<DeliveryOption[]>;
101
- getRelationListObjects(relationRequest: RelationRequest): Promise<RelationListObject[]>;
93
+ getSalesPersons(date?: Date): Promise<SalesPerson[]>;
102
94
  addArticle(articleNo: string, isReturn?: boolean, aboveLineNr?: number, belowLineNr?: number): Promise<boolean>;
103
95
  addTransactionLine(lineType: TransactionLineType, articleNo: string, amount: number, warehouseNo?: number, commissionCode?: string, isReturn?: boolean, aboveLineNr?: number, belowLineNr?: number, remember?: boolean): Promise<TransactionInfoResponse>;
104
96
  addTextLine(showOnDocuments: number, text: string, amount: number, articleBound: boolean, refArticleLineNr: number, aboveLineNr?: number, belowLineNr?: number, remember?: boolean): Promise<TransactionInfoResponse>;
@@ -117,11 +109,8 @@ export declare class TransactionService extends PendingReasonService {
117
109
  getGoodIdFromArticleNr(sku: string): Promise<number>;
118
110
  getCountry(countryCode: string): Promise<Country>;
119
111
  getCashRegisters(branch?: string, group?: number): Promise<CashRegister[]>;
120
- getRelationNumber(relationId: number): Promise<string>;
121
112
  getPriceLists(): Promise<PriceList[]>;
122
113
  getVatLists(): Promise<Vat[]>;
123
- getBranches(branchNr?: string): Promise<BranchLov[]>;
124
- getSalesPersons(date?: Date): Promise<SalesPerson[]>;
125
114
  getTags(category: number): Promise<Tag[]>;
126
115
  getOnHoldCodes(): Promise<OnHoldCode[]>;
127
116
  getWarehouses(branchNr?: string): Promise<Warehouse[]>;
@@ -131,11 +120,6 @@ export declare class TransactionService extends PendingReasonService {
131
120
  purchaseOrderConfirmation(purchaseOrderConfirmation: GetPurchaseOrderConfirmation): Promise<DataServiceResponseData>;
132
121
  updatePurchasePortalLines(purchasePortalLine: PurchasePortalLine): Promise<DataServiceResponseData>;
133
122
  lockPurchasePortalLines(transIdPurchase: number, lineId: number): Promise<boolean>;
123
+ getDeliveryOrderStatus(transId: number, lineId: number): Promise<DeliveryOrderStatus>;
134
124
  private _checkAndCreateTransaction;
135
- private _lockCustomerFullObject;
136
- private _lockSupplierFullObject;
137
- private _lockEmployeeFullObject;
138
- private _lockBranchFullObject;
139
- private _lockCompanyFullObject;
140
- private _lockContactPerson;
141
125
  }
@@ -94,34 +94,34 @@ $tp-transaction-dialog-footer-justify-content: center !default;
94
94
  $tp-transaction-dialog-footer-column-gap: 10px !default;
95
95
 
96
96
  /* core components override */
97
- $cc-color-action: $tp-color-font;
98
- $cc-btn-color: $tp-color-action;
99
- $cc-checkbox-border-radius: 7px;
100
- $cc-checkbox-check-background-color: white;
101
- $cc-checkbox-check-border-color: #5FDCB3;
102
- $cc-checkbox-check-color: #5FDCB3;
103
- $cc-radio-button-height: 32px;
104
- $cc-item-size: 40px;
97
+ $cc-color-action: $tp-color-font !default;
98
+ $cc-btn-color: $tp-color-action !default;
99
+ $cc-checkbox-border-radius: 7px !default;
100
+ $cc-checkbox-check-background-color: white !default;
101
+ $cc-checkbox-check-border-color: #5FDCB3 !default;
102
+ $cc-checkbox-check-color: #5FDCB3 !default;
103
+ $cc-radio-button-height: 32px !default;
104
+ $cc-item-size: 50px !default;
105
105
 
106
- $cc-co-dialog-header-text-color: $tp-color-font;
107
- $cc-co-dialog-header-padding: 0 0 20px 0;
108
- $cc-co-dialog-header-margin: 0 0 20px 0;
109
- $cc-co-dialog-padding: 30px 30px 60px 30px;
106
+ $cc-co-dialog-header-text-color: $tp-color-font !default;
107
+ $cc-co-dialog-header-padding: 0 0 20px 0 !default;
108
+ $cc-co-dialog-header-margin: 0 0 20px 0 !default;
109
+ $cc-co-dialog-padding: 30px 30px 60px 30px !default;
110
110
 
111
- $cc-btn-border-radius: 5px;
112
- $cc-btn-height: 36px;
111
+ $cc-btn-border-radius: 5px !default;
112
+ $cc-btn-height: 36px !default;
113
113
 
114
- $cc-co-dialog-header-close-button-background-color: $tp-color-action;
114
+ $cc-co-dialog-header-close-button-background-color: $tp-color-action !default;
115
115
 
116
- $cc-collapsible-content-padding: 10px 0px 0px 0px;
116
+ $cc-collapsible-content-padding: 10px 0px 0px 0px !default;
117
117
 
118
- $cc-co-commit-buttons-button-background: none;
118
+ $cc-co-commit-buttons-button-background: none !default;
119
119
 
120
- $cc-simple-grid-header-border-color: white;
121
- $cc-simple-grid-header-font-size: 11px;
122
- $cc-simple-grid-cell-padding: 0 5px;
123
- $cc-simple-grid-row-selected-background-color: #f0f5ff;
124
- $cc-simple-grid-row-height: 60px;
120
+ $cc-simple-grid-header-border-color: white !default;
121
+ $cc-simple-grid-header-font-size: 11px !default;
122
+ $cc-simple-grid-cell-padding: 0 5px !default;
123
+ $cc-simple-grid-row-selected-background-color: #f0f5ff !default;
124
+ $cc-simple-grid-row-height: 60px !default;
125
125
 
126
- $cc-co-carousel-padding: 10px 20px;
126
+ $cc-co-carousel-padding: 10px 20px !default;
127
127
  /****************************/
package/package.json CHANGED
@@ -1,13 +1,19 @@
1
1
  {
2
2
  "name": "@colijnit/transaction",
3
- "version": "12.1.59",
3
+ "version": "12.1.61",
4
4
  "description": "Colijn IT transaction module for Angular 12",
5
5
  "private": false,
6
6
  "peerDependencies": {
7
7
  "@angular/common": "^12.2.0",
8
8
  "@angular/core": "^12.2.0",
9
- "@colijnit/corecomponents_v12": ">=12.0.77",
10
- "@colijnit/transactionapi": ">=1.1.48",
9
+ "@colijnit/articleapi": ">=1.0.15",
10
+ "@colijnit/corecomponents_v12": ">=12.0.81",
11
+ "@colijnit/ioneconnector": ">=2.1.8",
12
+ "@colijnit/mainapi": ">=1.0.2",
13
+ "@colijnit/relationapi": ">=1.0.2",
14
+ "@colijnit/sharedapi": ">=1.0.10",
15
+ "@colijnit/sharedcomponents": ">=1.0.28",
16
+ "@colijnit/transactionapi": ">=1.1.54",
11
17
  "@syncfusion/ej2-angular-buttons": ">=19.3.44",
12
18
  "@syncfusion/ej2-angular-calendars": ">=19.3.44",
13
19
  "@syncfusion/ej2-angular-dropdowns": ">=19.3.45",
@@ -1,120 +0,0 @@
1
- import { ComplexFieldDecorator } from "./decorators/complex-field.decorator";
2
- import { ComplexArrayDecorator } from "./decorators/complex-array.decorator";
3
- import { BooleanTextDecorator } from "./decorators/boolean.decorator";
4
- import { DateFieldFieldDecorator } from "./decorators/date-field.decorator";
5
- import { StringNumberDecorator } from "./decorators/string-number.decorator";
6
- import { isNill } from "../utils/is-nill.function";
7
- import { ArrayUtils } from "../utils/array-utils";
8
- import { BusinessObject } from "../model/business-object";
9
- // Factory service creates businessobjects, using their decorators in the process.
10
- export class BusinessObjectFactory {
11
- constructor() {
12
- }
13
- /**
14
- * Creates and returns a new business data object instance of given class, with all given data properties applied to it in a
15
- * complex-aware style. That is, all properties on given class that are decorated with @ComplexField(..) or @ComplexArray(..) decorators
16
- * become strongly typed business objects, with methods that are usable and such.
17
- *
18
- * @param modelClass
19
- * @param {Object} rawData The object with all (possibly raw/flat/not alive) data to be applied to the created model object
20
- */
21
- makeWithRawBackendData(modelClass, rawData) {
22
- if (!modelClass) {
23
- return undefined;
24
- }
25
- if (typeof modelClass !== typeof BusinessObject) {
26
- return undefined;
27
- }
28
- const model = new modelClass();
29
- this._copyAllPropertiesDecoratorProcessedFrom(rawData, model);
30
- return model;
31
- }
32
- // see makeWithRawBackendData, this is a loop-wrapper around that method
33
- makeBOArrayFromRawBackendDataArray(modelClass, arrayOfRawDatas) {
34
- if (!modelClass) {
35
- return undefined;
36
- }
37
- const trueClientBos = [];
38
- if (arrayOfRawDatas) {
39
- for (let i = 0, len = arrayOfRawDatas.length; i < len; i++) {
40
- trueClientBos.push(this.makeWithRawBackendData(modelClass, arrayOfRawDatas[i]));
41
- }
42
- }
43
- return trueClientBos;
44
- }
45
- instantiateNewBo(modelClass) {
46
- return this.makeWithRawBackendData(modelClass, {});
47
- }
48
- /**
49
- * Applies all properties of given 'source' object to the given 'destination' businessobject, if destination has that property.
50
- * Works with the @ComplexField(), @ComplexArray, @BooleanText, @CoInject and @DateField annotations of given destination model.
51
- *
52
- * @param sourceData Raw data to copy to destination model
53
- * @param {BusinessObject} destinationModel InOut: The annotated businessobject to apply source properties to
54
- */
55
- _copyAllPropertiesDecoratorProcessedFrom(sourceData, destinationModel) {
56
- if (!sourceData || !destinationModel) {
57
- return;
58
- }
59
- // process all source data into destinationModel
60
- for (const srcPropKey in sourceData) {
61
- if (!sourceData.hasOwnProperty(srcPropKey)) {
62
- continue;
63
- }
64
- const srcPropVal = sourceData[srcPropKey];
65
- if (ComplexFieldDecorator.IsComplexField(destinationModel, srcPropKey)) {
66
- const classOfField = ComplexFieldDecorator.GetComplexFieldType(destinationModel, srcPropKey);
67
- destinationModel[srcPropKey] = this.makeWithRawBackendData(classOfField, srcPropVal);
68
- }
69
- else if (ComplexArrayDecorator.IsComplexArray(destinationModel, srcPropKey)) {
70
- const sourceArray = srcPropVal;
71
- if (!sourceArray) {
72
- continue;
73
- }
74
- const classOfArrayItems = ComplexArrayDecorator.GetComplexArrayType(destinationModel, srcPropKey);
75
- const tempArray = [];
76
- for (let i = 0, len = sourceArray.length; i < len; i++) {
77
- tempArray.push(this.makeWithRawBackendData(classOfArrayItems, sourceArray[i]));
78
- }
79
- destinationModel[srcPropKey] = tempArray;
80
- }
81
- else if (BooleanTextDecorator.IsBooleanTextField(destinationModel, srcPropKey)) {
82
- // logical 'true' and 'false' also allowed as incoming values for @BooleanText() properties: then just copy their value
83
- if (typeof srcPropVal === "boolean") {
84
- destinationModel[srcPropKey] = srcPropVal;
85
- // here, it should be a 'J' or 'N' (or 'T' or 'F'): assign the associated boolean value
86
- }
87
- else {
88
- destinationModel[srcPropKey] = BooleanTextDecorator.GetLogicalBooleanValue(srcPropVal);
89
- }
90
- }
91
- else if (DateFieldFieldDecorator.IsDateField(destinationModel, srcPropKey)) {
92
- destinationModel[srcPropKey] = DateFieldFieldDecorator.StringAsDate(srcPropVal);
93
- }
94
- else if (StringNumberDecorator.IsStringNumber(destinationModel, srcPropKey)) {
95
- destinationModel[srcPropKey] = StringNumberDecorator.StringAsNumber(srcPropVal);
96
- }
97
- // non-decorated prop
98
- else {
99
- if (isNill(srcPropVal)) {
100
- destinationModel[srcPropKey] = undefined;
101
- }
102
- else if (Array.isArray(srcPropVal)) {
103
- destinationModel[srcPropKey] = ArrayUtils.CloneArray(srcPropVal);
104
- }
105
- else if (typeof srcPropVal === "object") {
106
- if (srcPropVal instanceof Map) { //just copy the value in case of maps
107
- destinationModel[srcPropKey] = srcPropVal;
108
- }
109
- else {
110
- destinationModel[srcPropKey] = Object.assign({}, srcPropVal);
111
- }
112
- }
113
- else {
114
- destinationModel[srcPropKey] = srcPropVal;
115
- }
116
- }
117
- }
118
- }
119
- }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2ZhY3RvcnkvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsa0ZBQWtGO0FBQ2xGLE1BQU0sT0FBTyxxQkFBcUI7SUFDOUI7SUFDQSxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLHNCQUFzQixDQUFDLFVBQWUsRUFBRSxPQUFlO1FBQzFELElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDYixPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUNELElBQUksT0FBTyxVQUFVLEtBQUssT0FBTyxjQUFjLEVBQUU7WUFDN0MsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFFRCxNQUFNLEtBQUssR0FBbUIsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsd0NBQXdDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCx3RUFBd0U7SUFDakUsa0NBQWtDLENBQUMsVUFBZSxFQUFFLGVBQXlCO1FBQ2hGLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDYixPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELE1BQU0sYUFBYSxHQUFxQixFQUFFLENBQUM7UUFDM0MsSUFBSSxlQUFlLEVBQUU7WUFDakIsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsR0FBRyxHQUFXLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDeEUsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbkY7U0FDSjtRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxVQUFlO1FBQ25DLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssd0NBQXdDLENBQUMsVUFBZSxFQUFFLGdCQUFnQztRQUM5RixJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDbEMsT0FBTztTQUNWO1FBRUQsZ0RBQWdEO1FBQ2hELEtBQUssTUFBTSxVQUFVLElBQUksVUFBVSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN4QyxTQUFTO2FBQ1o7WUFFRCxNQUFNLFVBQVUsR0FBUSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFL0MsSUFBSSxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLEVBQUU7Z0JBQ3BFLE1BQU0sWUFBWSxHQUFRLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUNsRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2FBQ3hGO2lCQUFNLElBQUkscUJBQXFCLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxFQUFFO2dCQUMzRSxNQUFNLFdBQVcsR0FBVSxVQUFVLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxXQUFXLEVBQUU7b0JBQ2QsU0FBUztpQkFDWjtnQkFDRCxNQUFNLGlCQUFpQixHQUFRLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUN2RyxNQUFNLFNBQVMsR0FBVSxFQUFFLENBQUM7Z0JBQzVCLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ3BFLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2xGO2dCQUNELGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxHQUFHLFNBQVMsQ0FBQzthQUM1QztpQkFBTSxJQUFJLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxFQUFFO2dCQUM5RSx1SEFBdUg7Z0JBQ3ZILElBQUksT0FBTyxVQUFVLEtBQUssU0FBUyxFQUFFO29CQUNqQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQzFDLHVGQUF1RjtpQkFDMUY7cUJBQU07b0JBQ0gsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQzFGO2FBQ0o7aUJBQU0sSUFBSSx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLEVBQUU7Z0JBQzFFLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxHQUFHLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNuRjtpQkFBTSxJQUFJLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsRUFBRTtnQkFDM0UsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcscUJBQXFCLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ25GO1lBQ0QscUJBQXFCO2lCQUNoQjtnQkFDRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRTtvQkFDcEIsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsU0FBUyxDQUFDO2lCQUM1QztxQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ2xDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3BFO3FCQUFNLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFO29CQUN2QyxJQUFJLFVBQVUsWUFBWSxHQUFHLEVBQUUsRUFBRSxxQ0FBcUM7d0JBQ2xFLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztxQkFDN0M7eUJBQU07d0JBQ0gsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7cUJBQ2hFO2lCQUNKO3FCQUFNO29CQUNILGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDN0M7YUFDSjtTQUNKO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wbGV4RmllbGREZWNvcmF0b3J9IGZyb20gXCIuL2RlY29yYXRvcnMvY29tcGxleC1maWVsZC5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtDb21wbGV4QXJyYXlEZWNvcmF0b3J9IGZyb20gXCIuL2RlY29yYXRvcnMvY29tcGxleC1hcnJheS5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtCb29sZWFuVGV4dERlY29yYXRvcn0gZnJvbSBcIi4vZGVjb3JhdG9ycy9ib29sZWFuLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge0RhdGVGaWVsZEZpZWxkRGVjb3JhdG9yfSBmcm9tIFwiLi9kZWNvcmF0b3JzL2RhdGUtZmllbGQuZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7U3RyaW5nTnVtYmVyRGVjb3JhdG9yfSBmcm9tIFwiLi9kZWNvcmF0b3JzL3N0cmluZy1udW1iZXIuZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7aXNOaWxsfSBmcm9tIFwiLi4vdXRpbHMvaXMtbmlsbC5mdW5jdGlvblwiO1xyXG5pbXBvcnQge0FycmF5VXRpbHN9IGZyb20gXCIuLi91dGlscy9hcnJheS11dGlsc1wiO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0fSBmcm9tIFwiLi4vbW9kZWwvYnVzaW5lc3Mtb2JqZWN0XCI7XHJcblxyXG4vLyBGYWN0b3J5IHNlcnZpY2UgY3JlYXRlcyBidXNpbmVzc29iamVjdHMsIHVzaW5nIHRoZWlyIGRlY29yYXRvcnMgaW4gdGhlIHByb2Nlc3MuXHJcbmV4cG9ydCBjbGFzcyBCdXNpbmVzc09iamVjdEZhY3Rvcnkge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGFuZCByZXR1cm5zIGEgbmV3IGJ1c2luZXNzIGRhdGEgb2JqZWN0IGluc3RhbmNlIG9mIGdpdmVuIGNsYXNzLCB3aXRoIGFsbCBnaXZlbiBkYXRhIHByb3BlcnRpZXMgYXBwbGllZCB0byBpdCBpbiBhXHJcbiAgICAgKiBjb21wbGV4LWF3YXJlIHN0eWxlLiBUaGF0IGlzLCBhbGwgcHJvcGVydGllcyBvbiBnaXZlbiBjbGFzcyB0aGF0IGFyZSBkZWNvcmF0ZWQgd2l0aCBAQ29tcGxleEZpZWxkKC4uKSBvciBAQ29tcGxleEFycmF5KC4uKSBkZWNvcmF0b3JzXHJcbiAgICAgKiBiZWNvbWUgc3Ryb25nbHkgdHlwZWQgYnVzaW5lc3Mgb2JqZWN0cywgd2l0aCBtZXRob2RzIHRoYXQgYXJlIHVzYWJsZSBhbmQgc3VjaC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gbW9kZWxDbGFzc1xyXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHJhd0RhdGEgVGhlIG9iamVjdCB3aXRoIGFsbCAocG9zc2libHkgcmF3L2ZsYXQvbm90IGFsaXZlKSBkYXRhIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGNyZWF0ZWQgbW9kZWwgb2JqZWN0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtYWtlV2l0aFJhd0JhY2tlbmREYXRhKG1vZGVsQ2xhc3M6IGFueSwgcmF3RGF0YTogT2JqZWN0KTogQnVzaW5lc3NPYmplY3Qge1xyXG4gICAgICAgIGlmICghbW9kZWxDbGFzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHlwZW9mIG1vZGVsQ2xhc3MgIT09IHR5cGVvZiBCdXNpbmVzc09iamVjdCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbW9kZWw6IEJ1c2luZXNzT2JqZWN0ID0gbmV3IG1vZGVsQ2xhc3MoKTtcclxuICAgICAgICB0aGlzLl9jb3B5QWxsUHJvcGVydGllc0RlY29yYXRvclByb2Nlc3NlZEZyb20ocmF3RGF0YSwgbW9kZWwpO1xyXG4gICAgICAgIHJldHVybiBtb2RlbDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBzZWUgbWFrZVdpdGhSYXdCYWNrZW5kRGF0YSwgdGhpcyBpcyBhIGxvb3Atd3JhcHBlciBhcm91bmQgdGhhdCBtZXRob2RcclxuICAgIHB1YmxpYyBtYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KG1vZGVsQ2xhc3M6IGFueSwgYXJyYXlPZlJhd0RhdGFzOiBPYmplY3RbXSk6IEJ1c2luZXNzT2JqZWN0W10ge1xyXG4gICAgICAgIGlmICghbW9kZWxDbGFzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdHJ1ZUNsaWVudEJvczogQnVzaW5lc3NPYmplY3RbXSA9IFtdO1xyXG4gICAgICAgIGlmIChhcnJheU9mUmF3RGF0YXMpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbGVuOiBudW1iZXIgPSBhcnJheU9mUmF3RGF0YXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIHRydWVDbGllbnRCb3MucHVzaCh0aGlzLm1ha2VXaXRoUmF3QmFja2VuZERhdGEobW9kZWxDbGFzcywgYXJyYXlPZlJhd0RhdGFzW2ldKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWVDbGllbnRCb3M7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGluc3RhbnRpYXRlTmV3Qm8obW9kZWxDbGFzczogYW55KTogQnVzaW5lc3NPYmplY3Qge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1ha2VXaXRoUmF3QmFja2VuZERhdGEobW9kZWxDbGFzcywge30pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXBwbGllcyBhbGwgcHJvcGVydGllcyBvZiBnaXZlbiAnc291cmNlJyBvYmplY3QgdG8gdGhlIGdpdmVuICdkZXN0aW5hdGlvbicgYnVzaW5lc3NvYmplY3QsIGlmIGRlc3RpbmF0aW9uIGhhcyB0aGF0IHByb3BlcnR5LlxyXG4gICAgICogV29ya3Mgd2l0aCB0aGUgQENvbXBsZXhGaWVsZCgpLCBAQ29tcGxleEFycmF5LCBAQm9vbGVhblRleHQsIEBDb0luamVjdCBhbmQgQERhdGVGaWVsZCBhbm5vdGF0aW9ucyBvZiBnaXZlbiBkZXN0aW5hdGlvbiBtb2RlbC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gc291cmNlRGF0YSBSYXcgZGF0YSB0byBjb3B5IHRvIGRlc3RpbmF0aW9uIG1vZGVsXHJcbiAgICAgKiBAcGFyYW0ge0J1c2luZXNzT2JqZWN0fSBkZXN0aW5hdGlvbk1vZGVsIEluT3V0OiBUaGUgYW5ub3RhdGVkIGJ1c2luZXNzb2JqZWN0IHRvIGFwcGx5IHNvdXJjZSBwcm9wZXJ0aWVzIHRvXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2NvcHlBbGxQcm9wZXJ0aWVzRGVjb3JhdG9yUHJvY2Vzc2VkRnJvbShzb3VyY2VEYXRhOiBhbnksIGRlc3RpbmF0aW9uTW9kZWw6IEJ1c2luZXNzT2JqZWN0KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFzb3VyY2VEYXRhIHx8ICFkZXN0aW5hdGlvbk1vZGVsKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHByb2Nlc3MgYWxsIHNvdXJjZSBkYXRhIGludG8gZGVzdGluYXRpb25Nb2RlbFxyXG4gICAgICAgIGZvciAoY29uc3Qgc3JjUHJvcEtleSBpbiBzb3VyY2VEYXRhKSB7XHJcbiAgICAgICAgICAgIGlmICghc291cmNlRGF0YS5oYXNPd25Qcm9wZXJ0eShzcmNQcm9wS2V5KSkge1xyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHNyY1Byb3BWYWw6IGFueSA9IHNvdXJjZURhdGFbc3JjUHJvcEtleV07XHJcblxyXG4gICAgICAgICAgICBpZiAoQ29tcGxleEZpZWxkRGVjb3JhdG9yLklzQ29tcGxleEZpZWxkKGRlc3RpbmF0aW9uTW9kZWwsIHNyY1Byb3BLZXkpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjbGFzc09mRmllbGQ6IGFueSA9IENvbXBsZXhGaWVsZERlY29yYXRvci5HZXRDb21wbGV4RmllbGRUeXBlKGRlc3RpbmF0aW9uTW9kZWwsIHNyY1Byb3BLZXkpO1xyXG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IHRoaXMubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShjbGFzc09mRmllbGQsIHNyY1Byb3BWYWwpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKENvbXBsZXhBcnJheURlY29yYXRvci5Jc0NvbXBsZXhBcnJheShkZXN0aW5hdGlvbk1vZGVsLCBzcmNQcm9wS2V5KSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc291cmNlQXJyYXk6IGFueVtdID0gc3JjUHJvcFZhbDtcclxuICAgICAgICAgICAgICAgIGlmICghc291cmNlQXJyYXkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IGNsYXNzT2ZBcnJheUl0ZW1zOiBhbnkgPSBDb21wbGV4QXJyYXlEZWNvcmF0b3IuR2V0Q29tcGxleEFycmF5VHlwZShkZXN0aW5hdGlvbk1vZGVsLCBzcmNQcm9wS2V5KTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRlbXBBcnJheTogYW55W10gPSBbXTtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gc291cmNlQXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZW1wQXJyYXkucHVzaCh0aGlzLm1ha2VXaXRoUmF3QmFja2VuZERhdGEoY2xhc3NPZkFycmF5SXRlbXMsIHNvdXJjZUFycmF5W2ldKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gdGVtcEFycmF5O1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKEJvb2xlYW5UZXh0RGVjb3JhdG9yLklzQm9vbGVhblRleHRGaWVsZChkZXN0aW5hdGlvbk1vZGVsLCBzcmNQcm9wS2V5KSkge1xyXG4gICAgICAgICAgICAgICAgLy8gbG9naWNhbCAndHJ1ZScgYW5kICdmYWxzZScgYWxzbyBhbGxvd2VkIGFzIGluY29taW5nIHZhbHVlcyBmb3IgQEJvb2xlYW5UZXh0KCkgcHJvcGVydGllczogdGhlbiBqdXN0IGNvcHkgdGhlaXIgdmFsdWVcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygc3JjUHJvcFZhbCA9PT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gc3JjUHJvcFZhbDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBoZXJlLCBpdCBzaG91bGQgYmUgYSAnSicgb3IgJ04nIChvciAnVCcgb3IgJ0YnKTogYXNzaWduIHRoZSBhc3NvY2lhdGVkIGJvb2xlYW4gdmFsdWVcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IEJvb2xlYW5UZXh0RGVjb3JhdG9yLkdldExvZ2ljYWxCb29sZWFuVmFsdWUoc3JjUHJvcFZhbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoRGF0ZUZpZWxkRmllbGREZWNvcmF0b3IuSXNEYXRlRmllbGQoZGVzdGluYXRpb25Nb2RlbCwgc3JjUHJvcEtleSkpIHtcclxuICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSBEYXRlRmllbGRGaWVsZERlY29yYXRvci5TdHJpbmdBc0RhdGUoc3JjUHJvcFZhbCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoU3RyaW5nTnVtYmVyRGVjb3JhdG9yLklzU3RyaW5nTnVtYmVyKGRlc3RpbmF0aW9uTW9kZWwsIHNyY1Byb3BLZXkpKSB7XHJcbiAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gU3RyaW5nTnVtYmVyRGVjb3JhdG9yLlN0cmluZ0FzTnVtYmVyKHNyY1Byb3BWYWwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIG5vbi1kZWNvcmF0ZWQgcHJvcFxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmIChpc05pbGwoc3JjUHJvcFZhbCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHNyY1Byb3BWYWwpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IEFycmF5VXRpbHMuQ2xvbmVBcnJheShzcmNQcm9wVmFsKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHNyY1Byb3BWYWwgPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc3JjUHJvcFZhbCBpbnN0YW5jZW9mIE1hcCkgeyAvL2p1c3QgY29weSB0aGUgdmFsdWUgaW4gY2FzZSBvZiBtYXBzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSBzcmNQcm9wVmFsO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSBPYmplY3QuYXNzaWduKHt9LCBzcmNQcm9wVmFsKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSBzcmNQcm9wVmFsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==