@colijnit/transaction 12.1.58 → 12.1.60

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 (337) hide show
  1. package/bundles/colijnit-transaction.umd.js +2705 -2160
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +223 -203
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +224 -204
  6. package/esm2015/lib/assets/dictionary/text.properties.js +9 -1
  7. package/esm2015/lib/cache/parameter-cache-field.js +2 -2
  8. package/esm2015/lib/cache/service/business-object-cache-manager.service.js +2 -2
  9. package/esm2015/lib/cache/service/select-multiple-cache.service.js +1 -1
  10. package/esm2015/lib/cache/service/select-multiple-parameterized-cache.service.js +1 -1
  11. package/esm2015/lib/cache/service/select-single-cache.service.js +1 -1
  12. package/esm2015/lib/component/animated-checkbox/animated-checkbox.component.js +27 -0
  13. package/esm2015/lib/component/animated-checkbox/animated-checkbox.module.js +21 -0
  14. package/esm2015/lib/component/avatar/avatar.component.js +8 -5
  15. package/esm2015/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +1 -1
  16. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +85 -94
  17. package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +2 -2
  18. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +54 -163
  19. package/esm2015/lib/component/checkout/checkout.component.js +6 -3
  20. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +2 -2
  21. package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.js +2 -2
  22. package/esm2015/lib/component/core/base/components/warehouse/warehouse.component.js +2 -2
  23. package/esm2015/lib/component/core/base/dialog-transaction-line-base.component.js +6 -2
  24. package/esm2015/lib/component/core/base/transaction-filter-popup-base.component.js +8 -7
  25. package/esm2015/lib/component/core/base/transaction-header-base.component.js +3 -3
  26. package/esm2015/lib/component/core/base/transaction-header-filter-popup-base.component.js +111 -0
  27. package/esm2015/lib/component/core/base/transaction-line-base.component.js +2 -4
  28. package/esm2015/lib/component/core/base/transaction-lines-line-base.component.js +5 -3
  29. package/esm2015/lib/component/core/core.module.js +1 -4
  30. package/esm2015/lib/component/core/relation/customer-groups.component.js +4 -1
  31. package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.js +2 -2
  32. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.js +2 -2
  33. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.js +2 -2
  34. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.js +3 -7
  35. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.js +2 -2
  36. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.js +37 -0
  37. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.js +28 -0
  38. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.js +2 -2
  39. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.js +2 -2
  40. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +2 -2
  41. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.js +2 -2
  42. package/esm2015/lib/component/down-payment/down-payment.component.js +2 -2
  43. package/esm2015/lib/component/down-payment/down-payment.module.js +4 -2
  44. package/esm2015/lib/component/editable-label/editable-label.component.js +4 -1
  45. package/esm2015/lib/component/loader/loader.component.js +51 -0
  46. package/esm2015/lib/component/loader/loader.module.js +19 -0
  47. package/esm2015/lib/component/payment/payment.component.js +14 -11
  48. package/esm2015/lib/component/payment/payment.module.js +4 -2
  49. package/esm2015/lib/component/payment-qr-code/payment-qr-code.component.js +2 -2
  50. package/esm2015/lib/component/payment-qr-code/payment-qr-code.module.js +4 -2
  51. package/esm2015/lib/component/quick-send-button/quick-send-button.component.js +116 -0
  52. package/esm2015/lib/component/quick-send-button/quick-send-button.module.js +27 -0
  53. package/esm2015/lib/component/relation/relation-address/relation-address.component.js +4 -4
  54. package/esm2015/lib/component/relation/relation-address-select/relation-address-select.component.js +7 -8
  55. package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.component.js +6 -2
  56. package/esm2015/lib/component/relation/relation-addresses/relation-addresses.component.js +37 -43
  57. package/esm2015/lib/component/relation/relation-addresses/relation-addresses.module.js +5 -3
  58. package/esm2015/lib/component/relation/relation-base.component.js +2 -2
  59. package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +10 -8
  60. package/esm2015/lib/component/relation/relation-general/relation-general.component.js +40 -16
  61. package/esm2015/lib/component/relation/relation-preferences/relation-preferences.component.js +6 -3
  62. package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.js +1 -1
  63. package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.js +1 -1
  64. package/esm2015/lib/component/relation/relation-type/relation-type.component.js +7 -3
  65. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +5 -6
  66. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.js +1 -5
  67. package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +2 -2
  68. package/esm2015/lib/component/tile/tile.component.js +2 -2
  69. package/esm2015/lib/component/transaction/transaction.component.js +7 -3
  70. package/esm2015/lib/component/transaction/transaction.module.js +6 -2
  71. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.js +37 -0
  72. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.js +55 -11
  73. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.js +40 -0
  74. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.component.js +4 -1
  75. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.module.js +10 -3
  76. package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +2 -2
  77. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +4 -9
  78. package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +125 -57
  79. package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.js +5 -3
  80. package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.js +9 -6
  81. package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.component.js +8 -5
  82. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.component.js +16 -6
  83. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.module.js +4 -3
  84. package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +9 -3
  85. package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +10 -8
  86. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.js +15 -0
  87. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +56 -30
  88. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.js +4 -3
  89. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +6 -31
  90. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.js +4 -2
  91. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +87 -0
  92. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.js +45 -0
  93. package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.js +2 -2
  94. package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.component.js +47 -0
  95. package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.module.js +21 -0
  96. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-button.component.js +1 -1
  97. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +3 -3
  98. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.component.js +3 -3
  99. package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.component.js +3 -3
  100. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.component.js +50 -0
  101. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.module.js +28 -0
  102. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.component.js +27 -26
  103. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.module.js +4 -2
  104. package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.component.js +3 -3
  105. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.js +3 -3
  106. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +3 -3
  107. package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +1 -2
  108. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.js +10 -7
  109. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +4 -2
  110. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +24 -22
  111. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.js +4 -2
  112. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.js +52 -0
  113. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.js +28 -0
  114. package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +2 -2
  115. 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
  116. 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
  117. 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
  118. 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
  119. package/esm2015/lib/component/transaction-send-button-dialog/transaction-send-button-dialog.component.js +75 -0
  120. package/esm2015/lib/component/transaction-send-button-dialog/transaction-send-button-dialog.module.js +25 -0
  121. package/esm2015/lib/enum/icon.enum.js +2 -1
  122. package/esm2015/lib/model/icon-svg.js +2 -1
  123. package/esm2015/lib/model/relation-any-type.js +1 -1
  124. package/esm2015/lib/model/transaction-bar-button.js +2 -3
  125. package/esm2015/lib/pipe/co-currency.pipe.js +2 -2
  126. package/esm2015/lib/pipe/date-duration.pipe.js +2 -2
  127. package/esm2015/lib/pipe/delivery-time.pipe.js +2 -2
  128. package/esm2015/lib/service/article-connector.service.js +10 -6
  129. package/esm2015/lib/service/dictionary.service.js +2 -2
  130. package/esm2015/lib/service/error.service.js +1 -1
  131. package/esm2015/lib/service/payment.service.js +1 -1
  132. package/esm2015/lib/service/pending-reason.service.js +31 -31
  133. package/esm2015/lib/service/relation-connector.service.js +192 -0
  134. package/esm2015/lib/service/relation.service.js +120 -0
  135. package/esm2015/lib/service/shared-connector.service.js +2 -2
  136. package/esm2015/lib/service/shared.service.js +10 -6
  137. package/esm2015/lib/service/transaction-connector-adapter.service.js +108 -93
  138. package/esm2015/lib/service/transaction-connector.service.js +36 -45
  139. package/esm2015/lib/service/transaction-event.service.js +6 -2
  140. package/esm2015/lib/service/transaction-mapping.service.js +8 -2
  141. package/esm2015/lib/service/transaction.service.js +68 -75
  142. package/esm2015/public_api.js +3 -1
  143. package/fesm2015/colijnit-transaction.js +2487 -1995
  144. package/fesm2015/colijnit-transaction.js.map +1 -1
  145. package/lib/cache/service/business-object-cache-manager.service.d.ts +2 -1
  146. package/lib/cache/service/select-multiple-cache.service.d.ts +1 -1
  147. package/lib/cache/service/select-multiple-parameterized-cache.service.d.ts +1 -1
  148. package/lib/cache/service/select-single-cache.service.d.ts +2 -1
  149. package/lib/component/animated-checkbox/animated-checkbox.component.d.ts +5 -0
  150. package/lib/component/animated-checkbox/animated-checkbox.module.d.ts +2 -0
  151. package/lib/component/animated-checkbox/style/_layout.scss +78 -0
  152. package/lib/component/animated-checkbox/style/_material-definition.scss +13 -0
  153. package/lib/component/animated-checkbox/style/_theme.scss +4 -0
  154. package/lib/component/animated-checkbox/style/material.scss +4 -0
  155. package/lib/component/avatar/avatar.component.d.ts +5 -3
  156. package/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.d.ts +1 -1
  157. package/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +3 -5
  158. package/lib/component/checkout/checkout-overview-delivery-edit/style/_layout.scss +95 -90
  159. package/lib/component/checkout/checkout-overview-delivery-edit/style/_material-definition.scss +0 -10
  160. package/lib/component/checkout/checkout-overview-delivery-edit/style/_theme.scss +0 -8
  161. package/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.d.ts +2 -2
  162. package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +9 -18
  163. package/lib/component/checkout/checkout-overview-relation-edit/style/_layout.scss +0 -84
  164. package/lib/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +0 -16
  165. package/lib/component/checkout/style/_layout.scss +86 -1
  166. package/lib/component/checkout/style/_material-definition.scss +7 -0
  167. package/lib/component/core/base/components/characteristic-answer/style/_layout.scss +0 -4
  168. package/lib/component/core/base/components/warehouse/style/_layout.scss +0 -4
  169. package/lib/component/core/base/dialog-transaction-line-base.component.d.ts +3 -0
  170. package/lib/component/core/base/transaction-filter-popup-base.component.d.ts +3 -5
  171. package/lib/component/core/base/transaction-header-base.component.d.ts +4 -5
  172. package/lib/component/core/base/transaction-header-filter-popup-base.component.d.ts +38 -0
  173. package/lib/component/core/base/transaction-line-base.component.d.ts +2 -3
  174. package/lib/component/core/base/transaction-lines-line-base.component.d.ts +1 -1
  175. package/lib/component/core/relation/customer-groups.component.d.ts +2 -1
  176. package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_layout.scss +0 -4
  177. package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/style/_layout.scss +4 -5
  178. package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/style/_material-definition.scss +5 -3
  179. package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_layout.scss +0 -4
  180. package/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_layout.scss +0 -4
  181. package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/style/_layout.scss +4 -5
  182. package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/style/_material-definition.scss +5 -3
  183. package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_layout.scss +0 -4
  184. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.d.ts +4 -0
  185. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.d.ts +2 -0
  186. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_layout.scss +11 -0
  187. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_material-definition.scss +2 -0
  188. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_theme.scss +4 -0
  189. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/style/material.scss +4 -0
  190. package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/style/_layout.scss +0 -4
  191. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_layout.scss +0 -4
  192. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_layout.scss +0 -4
  193. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_layout.scss +0 -4
  194. package/lib/component/editable-label/editable-label.component.d.ts +1 -0
  195. package/lib/component/editable-label/style/_layout.scss +9 -0
  196. package/lib/component/editable-label/style/_material-definition.scss +1 -0
  197. package/lib/component/editable-label/style/material.scss +1 -1
  198. package/lib/component/{core → loader}/loader.component.d.ts +1 -0
  199. package/lib/component/loader/loader.module.d.ts +2 -0
  200. package/lib/component/loader/style/_layout.scss +8 -0
  201. package/lib/component/loader/style/_material-definition.scss +1 -0
  202. package/lib/component/loader/style/_theme.scss +10 -0
  203. package/lib/component/loader/style/material.scss +4 -0
  204. package/lib/component/quick-send-button/quick-send-button.component.d.ts +31 -0
  205. package/lib/component/quick-send-button/quick-send-button.module.d.ts +2 -0
  206. package/lib/component/quick-send-button/style/_layout.scss +52 -1
  207. package/lib/component/quick-send-button/style/_material-definition.scss +4 -0
  208. package/lib/component/relation/relation-address/relation-address.component.d.ts +2 -2
  209. package/lib/component/relation/relation-address/style/_layout.scss +3 -0
  210. package/lib/component/relation/relation-address-select/relation-address-select.component.d.ts +3 -4
  211. package/lib/component/relation/relation-address-tile/relation-address-tile.component.d.ts +3 -2
  212. package/lib/component/relation/relation-addresses/relation-addresses.component.d.ts +10 -9
  213. package/lib/component/relation/relation-addresses/style/_layout.scss +2 -6
  214. package/lib/component/relation/relation-base.component.d.ts +2 -2
  215. package/lib/component/relation/relation-contact-details/relation-contact-details.component.d.ts +2 -1
  216. package/lib/component/relation/relation-general/relation-general.component.d.ts +11 -4
  217. package/lib/component/relation/relation-preferences/relation-preferences.component.d.ts +2 -1
  218. package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.d.ts +1 -1
  219. package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.d.ts +1 -1
  220. package/lib/component/relation/relation-type/relation-type.component.d.ts +3 -2
  221. package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +2 -3
  222. package/lib/component/tile/style/_layout.scss +10 -7
  223. package/lib/component/tile/style/_material-definition.scss +2 -1
  224. package/lib/component/transaction/style/_layout.scss +4 -21
  225. package/lib/component/transaction/style/_material-definition.scss +1 -4
  226. package/lib/component/transaction-button-bar/style/_layout.scss +25 -0
  227. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.d.ts +16 -0
  228. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.d.ts +14 -5
  229. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.d.ts +12 -0
  230. package/lib/component/transaction-button-bar/transaction-button-bar.component.d.ts +2 -0
  231. package/lib/component/transaction-header/transaction-header/transaction-header.component.d.ts +1 -1
  232. package/lib/component/transaction-header/transaction-header-payment/style/_material-definition.scss +2 -1
  233. package/lib/component/transaction-header/transaction-header-payment/style/_theme.scss +5 -2
  234. package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.d.ts +21 -12
  235. package/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.d.ts +4 -2
  236. package/lib/component/transaction-header-fields/transaction-header-branch.component.d.ts +5 -3
  237. package/lib/component/transaction-header-fields/transaction-header-delivery-method.component.d.ts +1 -0
  238. package/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.d.ts +3 -1
  239. package/lib/component/transaction-line/transaction-base-line/style/_layout.scss +2 -93
  240. package/lib/component/transaction-line/transaction-base-line/style/_material-definition.scss +6 -0
  241. package/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.d.ts +4 -2
  242. package/lib/component/transaction-line/transaction-line/style/_layout.scss +170 -0
  243. package/lib/component/transaction-line/transaction-line/style/_material-definition.scss +24 -0
  244. package/lib/component/transaction-line/transaction-line/style/_theme.scss +4 -0
  245. package/lib/component/transaction-line/transaction-line/style/material.scss +13 -0
  246. package/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.d.ts +4 -0
  247. package/lib/component/transaction-line/transaction-order-delivery-line/style/_layout.scss +4 -4
  248. package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.d.ts +9 -4
  249. package/lib/component/transaction-line/transaction-overview-line/style/_layout.scss +0 -97
  250. package/lib/component/transaction-line/transaction-overview-line/style/_material-definition.scss +0 -36
  251. package/lib/component/transaction-line/transaction-overview-line/style/_theme.scss +0 -27
  252. package/lib/component/transaction-line/transaction-overview-line/style/material.scss +0 -11
  253. package/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.d.ts +4 -11
  254. package/lib/component/transaction-line/transaction-purchase-line/style/_layout.scss +7 -0
  255. package/lib/component/transaction-line/transaction-purchase-line/style/_material-definition.scss +0 -0
  256. package/lib/component/transaction-line/transaction-purchase-line/style/_theme.scss +4 -0
  257. package/lib/component/transaction-line/transaction-purchase-line/style/material.scss +4 -0
  258. package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.d.ts +19 -0
  259. package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.d.ts +2 -0
  260. package/lib/component/transaction-line-checkbox-list/style/_layout.scss +8 -4
  261. package/lib/component/transaction-line-checkbox-list/style/_material-definition.scss +1 -0
  262. package/lib/component/transaction-line-fields/transaction-line-amount.component.d.ts +10 -0
  263. package/lib/component/transaction-line-fields/transaction-line-amount.module.d.ts +2 -0
  264. package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +3 -3
  265. package/lib/component/transaction-line-fields/transaction-line-delivery-method.component.d.ts +2 -2
  266. package/lib/component/transaction-line-fields/transaction-line-price-list.component.d.ts +2 -2
  267. package/lib/component/transaction-line-fields/transaction-line-supplier-button.component.d.ts +11 -0
  268. package/lib/component/transaction-line-fields/transaction-line-supplier-button.module.d.ts +2 -0
  269. package/lib/component/transaction-line-fields/transaction-line-supplier.component.d.ts +10 -7
  270. package/lib/component/transaction-line-fields/transaction-line-vat.component.d.ts +2 -2
  271. package/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.d.ts +2 -2
  272. package/lib/component/transaction-line-fields/transaction-line-warehouse.component.d.ts +2 -2
  273. package/lib/component/transaction-line-image-and-description/style/_layout.scss +16 -13
  274. package/lib/component/transaction-line-image-and-description/style/_material-definition.scss +21 -1
  275. package/lib/component/transaction-line-image-and-description/style/_theme.scss +18 -1
  276. package/lib/component/transaction-line-statusbar/style/_layout.scss +4 -0
  277. package/lib/component/transaction-lines/style/material.scss +2 -0
  278. package/lib/component/transaction-quick-access/transaction-quick-access/style/_layout.scss +5 -1
  279. package/lib/component/transaction-quick-access/transaction-quick-access/style/_material-definition.scss +2 -1
  280. package/lib/component/transaction-quick-access/transaction-quick-access/style/material.scss +1 -0
  281. package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.d.ts +5 -3
  282. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_layout.scss +5 -48
  283. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +10 -7
  284. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_layout.scss +8 -0
  285. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_material-definition.scss +0 -0
  286. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_theme.scss +4 -0
  287. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/material.scss +5 -0
  288. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.d.ts +13 -0
  289. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.d.ts +2 -0
  290. 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
  291. 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
  292. 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
  293. 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
  294. package/lib/component/transaction-send-button-dialog/style/_layout.scss +47 -0
  295. package/lib/component/transaction-send-button-dialog/style/_material-definition.scss +13 -0
  296. package/lib/component/transaction-send-button-dialog/style/_theme.scss +24 -0
  297. package/lib/component/transaction-send-button-dialog/style/material.scss +4 -0
  298. package/lib/component/transaction-send-button-dialog/transaction-send-button-dialog.component.d.ts +16 -0
  299. package/lib/component/transaction-send-button-dialog/transaction-send-button-dialog.module.d.ts +2 -0
  300. package/lib/enum/icon.enum.d.ts +1 -0
  301. package/lib/model/relation-any-type.d.ts +2 -2
  302. package/lib/model/transaction-bar-button.d.ts +4 -1
  303. package/lib/service/article-connector.service.d.ts +3 -1
  304. package/lib/service/error.service.d.ts +1 -1
  305. package/lib/service/pending-reason.service.d.ts +9 -5
  306. package/lib/service/relation-connector.service.d.ts +34 -0
  307. package/lib/service/relation.service.d.ts +37 -0
  308. package/lib/service/shared.service.d.ts +3 -1
  309. package/lib/service/transaction-connector-adapter.service.d.ts +20 -18
  310. package/lib/service/transaction-connector.service.d.ts +18 -18
  311. package/lib/service/transaction-event.service.d.ts +6 -2
  312. package/lib/service/transaction.service.d.ts +13 -15
  313. package/lib/style/_variables.scss +6 -3
  314. package/lib/style/transaction-globals.scss +12 -1
  315. package/package.json +9 -3
  316. package/public_api.d.ts +2 -0
  317. package/esm2015/lib/component/core/loader.component.js +0 -44
  318. package/esm2015/lib/factory/business-object-factory.js +0 -120
  319. package/esm2015/lib/factory/decorators/boolean.decorator.js +0 -102
  320. package/esm2015/lib/factory/decorators/complex-array.decorator.js +0 -55
  321. package/esm2015/lib/factory/decorators/complex-field.decorator.js +0 -57
  322. package/esm2015/lib/factory/decorators/date-field.decorator.js +0 -36
  323. package/esm2015/lib/factory/decorators/string-number.decorator.js +0 -43
  324. package/esm2015/lib/model/business-object.js +0 -81
  325. package/esm2015/lib/utils/array-utils.js +0 -183
  326. package/esm2015/lib/utils/is-nill.function.js +0 -5
  327. package/esm2015/lib/utils/string-utils.js +0 -64
  328. package/lib/factory/business-object-factory.d.ts +0 -23
  329. package/lib/factory/decorators/boolean.decorator.d.ts +0 -43
  330. package/lib/factory/decorators/complex-array.decorator.d.ts +0 -25
  331. package/lib/factory/decorators/complex-field.decorator.d.ts +0 -25
  332. package/lib/factory/decorators/date-field.decorator.d.ts +0 -17
  333. package/lib/factory/decorators/string-number.decorator.d.ts +0 -22
  334. package/lib/model/business-object.d.ts +0 -7
  335. package/lib/utils/array-utils.d.ts +0 -57
  336. package/lib/utils/is-nill.function.d.ts +0 -1
  337. package/lib/utils/string-utils.d.ts +0 -22
@@ -1,25 +1,16 @@
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";
@@ -39,6 +30,13 @@ import { GetPurchasePortalLine } from "@colijnit/transactionapi/build/model/get-
39
30
  import { PurchasePortalLine } from "@colijnit/transactionapi/build/model/purchase-portal-line.bo";
40
31
  import { TransactionSearchResult } from "../model/transaction-search-result";
41
32
  import { GetPurchaseOrderConfirmation } from "@colijnit/transactionapi/build/model/get-purchase-order-confirmation";
33
+ import { TransactionLockResult } from "@colijnit/transactionapi/build/model/transaction-lock-result.bo";
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";
42
40
  export declare class TransactionService extends PendingReasonService {
43
41
  pendingLineOperationStatus(lineOperationStatuses: LineOperationStatus[]): LineOperationStatus | undefined;
44
42
  updatePriceTransactionLine(uuid: string, lineUuid: string, price: number): Promise<boolean>;
@@ -66,9 +64,11 @@ export declare class TransactionService extends PendingReasonService {
66
64
  updatePriceListTransactionLine(uuid: string, lineUuid: string, priceList: string): Promise<boolean>;
67
65
  updateVatTransactionLine(uuid: string, lineUuid: string, id: number): Promise<boolean>;
68
66
  updateCommissionCodeTransactionLine(uuid: string, lineUuid: string, code: string): Promise<boolean>;
67
+ updateSupplierTransactionLine(uuid: string, lineUuid: string, id: number): Promise<boolean>;
69
68
  updateWarehouseTransactionLine(uuid: string, lineUuid: string, warehouseNumber: number): Promise<boolean>;
70
69
  updateDeliveryMethodTransactionLine(uuid: string, lineUuid: string, method: string): Promise<boolean>;
71
70
  updateDiscountTransactionLine(uuid: string, lineUuid: string, type: DiscountType, discount: number, reason?: string, code?: string): Promise<boolean>;
71
+ generateCommissionOrders(transId: number, onlyGenerateForDirectSellSuppliers: boolean): Promise<boolean>;
72
72
  searchTransactions(request: TransactionSearchViewRequest): Promise<TransactionSearchResult>;
73
73
  saveRelation(): Promise<boolean>;
74
74
  getSequenceValue(): Promise<number>;
@@ -76,6 +76,8 @@ export declare class TransactionService extends PendingReasonService {
76
76
  getArticleBoundTextLinesOfArticleLine(articleLineUuid: string): Promise<TransactionLineInfo[]>;
77
77
  createTransaction(): Promise<boolean>;
78
78
  getTransactionById(transactionId: number): Promise<boolean>;
79
+ tryToLockTransaction(id: number, version: number): Promise<boolean>;
80
+ lockTransaction(transId: number, version: number): Promise<TransactionLockResult>;
79
81
  commit(): Promise<DataServiceResponseData>;
80
82
  saveTransaction(close?: boolean): Promise<TransactionInfoResponse>;
81
83
  addRelationToTransaction(relationId: number): Promise<boolean>;
@@ -86,11 +88,9 @@ export declare class TransactionService extends PendingReasonService {
86
88
  getMarketingCodes(): Promise<Marketing[]>;
87
89
  getArticles(request: ArticleExtendedRequest): Promise<ArticleLight[]>;
88
90
  getMainArticles(): Promise<MainArticle[]>;
89
- insertCustomer(relation: CustomerFullObject): Promise<CustomerFullObject>;
90
- updateCustomer(relation: CustomerFullObject): Promise<CustomerFullObject>;
91
91
  getDeliveryMethods(): Promise<DeliveryMethod[]>;
92
92
  getDeliveryOptions(): Promise<DeliveryOption[]>;
93
- getRelationListObjects(relationRequest: RelationRequest): Promise<RelationListObject[]>;
93
+ getSalesPersons(date?: Date): Promise<SalesPerson[]>;
94
94
  addArticle(articleNo: string, isReturn?: boolean, aboveLineNr?: number, belowLineNr?: number): Promise<boolean>;
95
95
  addTransactionLine(lineType: TransactionLineType, articleNo: string, amount: number, warehouseNo?: number, commissionCode?: string, isReturn?: boolean, aboveLineNr?: number, belowLineNr?: number, remember?: boolean): Promise<TransactionInfoResponse>;
96
96
  addTextLine(showOnDocuments: number, text: string, amount: number, articleBound: boolean, refArticleLineNr: number, aboveLineNr?: number, belowLineNr?: number, remember?: boolean): Promise<TransactionInfoResponse>;
@@ -109,11 +109,8 @@ export declare class TransactionService extends PendingReasonService {
109
109
  getGoodIdFromArticleNr(sku: string): Promise<number>;
110
110
  getCountry(countryCode: string): Promise<Country>;
111
111
  getCashRegisters(branch?: string, group?: number): Promise<CashRegister[]>;
112
- getRelationNumber(relationId: number): Promise<string>;
113
112
  getPriceLists(): Promise<PriceList[]>;
114
113
  getVatLists(): Promise<Vat[]>;
115
- getBranches(branchNr?: string): Promise<BranchLov[]>;
116
- getSalesPersons(date?: Date): Promise<SalesPerson[]>;
117
114
  getTags(category: number): Promise<Tag[]>;
118
115
  getOnHoldCodes(): Promise<OnHoldCode[]>;
119
116
  getWarehouses(branchNr?: string): Promise<Warehouse[]>;
@@ -123,5 +120,6 @@ export declare class TransactionService extends PendingReasonService {
123
120
  purchaseOrderConfirmation(purchaseOrderConfirmation: GetPurchaseOrderConfirmation): Promise<DataServiceResponseData>;
124
121
  updatePurchasePortalLines(purchasePortalLine: PurchasePortalLine): Promise<DataServiceResponseData>;
125
122
  lockPurchasePortalLines(transIdPurchase: number, lineId: number): Promise<boolean>;
123
+ getDeliveryOrderStatus(transId: number, lineId: number): Promise<DeliveryOrderStatus>;
126
124
  private _checkAndCreateTransaction;
127
125
  }
@@ -60,7 +60,7 @@ $tp-action-size-pico: 14px !default;
60
60
 
61
61
  $tp-size-header-height: 60px !default;
62
62
 
63
- $tp-default-background-accent: #f5f5fa !default;
63
+ $tp-default-background-accent: #f5f5fc !default;
64
64
  $tp-default-border-radius: 5px !default;
65
65
  $tp-default-button-height: 26px;
66
66
 
@@ -88,9 +88,10 @@ $tp-transaction-header-font-size: 14px !default;
88
88
  $tp-transaction-header-font-color: $tp-color-dark !default;
89
89
 
90
90
  $tp-transaction-dialog-header-title-font-size: $tp-font-size-big !default;
91
- $tp-transaction-dialog-header-title-margin: 0 0 10px 0 !default;
91
+ $tp-transaction-dialog-header-title-margin: 0 0 20px 0 !default;
92
92
  $tp-transaction-dialog-header-title-font-weight: bold !default;
93
93
  $tp-transaction-dialog-footer-justify-content: center !default;
94
+ $tp-transaction-dialog-footer-column-gap: 10px !default;
94
95
 
95
96
  /* core components override */
96
97
  $cc-color-action: $tp-color-font;
@@ -100,7 +101,7 @@ $cc-checkbox-check-background-color: white;
100
101
  $cc-checkbox-check-border-color: #5FDCB3;
101
102
  $cc-checkbox-check-color: #5FDCB3;
102
103
  $cc-radio-button-height: 32px;
103
- $cc-item-size: 40px;
104
+ $cc-item-size: 50px;
104
105
 
105
106
  $cc-co-dialog-header-text-color: $tp-color-font;
106
107
  $cc-co-dialog-header-padding: 0 0 20px 0;
@@ -121,4 +122,6 @@ $cc-simple-grid-header-font-size: 11px;
121
122
  $cc-simple-grid-cell-padding: 0 5px;
122
123
  $cc-simple-grid-row-selected-background-color: #f0f5ff;
123
124
  $cc-simple-grid-row-height: 60px;
125
+
126
+ $cc-co-carousel-padding: 10px 20px;
124
127
  /****************************/
@@ -1,4 +1,4 @@
1
- @import url('https://fonts.googleapis.com/css2?family=Public+Sans&display=swap');
1
+ @import url('https://fonts.googleapis.com/css2?family=Public+Sans:wght@100;200;300;400;500;600;800;900&display=swap');
2
2
 
3
3
  @import "~@colijnit/sharedcomponents/lib/style/sharedcomponents-globals";
4
4
 
@@ -94,6 +94,12 @@ $stopPoint: 10%;
94
94
  font-weight: $tp-transaction-dialog-header-title-font-weight;
95
95
  }
96
96
 
97
+ .co-transaction-dialog-footer-button-wrapper {
98
+ display: flex;
99
+ justify-content: $tp-transaction-dialog-footer-justify-content;
100
+ column-gap: $tp-transaction-dialog-footer-column-gap;
101
+ }
102
+
97
103
  .transaction-line-button {
98
104
  font-size: $tp-transaction-line-button-font-size;
99
105
  font-weight: $tp-transaction-line-button-font-weight;
@@ -120,6 +126,9 @@ $stopPoint: 10%;
120
126
  &.big {
121
127
  width: $tp-transaction-line-button-big-width;
122
128
  }
129
+ &.full-width {
130
+ width: 100%;
131
+ }
123
132
  }
124
133
  &.center-align {
125
134
  justify-content: center;
@@ -130,3 +139,5 @@ $stopPoint: 10%;
130
139
  color: $tp-color-negative-value;
131
140
  }
132
141
 
142
+
143
+
package/package.json CHANGED
@@ -1,13 +1,19 @@
1
1
  {
2
2
  "name": "@colijnit/transaction",
3
- "version": "12.1.58",
3
+ "version": "12.1.60",
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",
package/public_api.d.ts CHANGED
@@ -4,6 +4,8 @@ export * from "./lib/component/shopping-cart/shopping-cart.component";
4
4
  export * from "./lib/component/shopping-cart/shopping-cart.module";
5
5
  export * from "./lib/component/shopping-cart-preview/shopping-cart-preview.component";
6
6
  export * from "./lib/component/shopping-cart-preview/shopping-cart-preview.module";
7
+ export * from "./lib/component/loader/loader.component";
8
+ export * from "./lib/component/loader/loader.module";
7
9
  export * from "./lib/component/transaction/transaction.component";
8
10
  export * from "./lib/component/transaction/transaction.module";
9
11
  export * from "./lib/component/transaction-search/transaction-search.component";
@@ -1,44 +0,0 @@
1
- import { Component } from "@angular/core";
2
- export class LoaderComponent {
3
- }
4
- LoaderComponent.decorators = [
5
- { type: Component, args: [{
6
- selector: "transaction-loader",
7
- template: `
8
- <div class="transaction-loader">
9
- <svg width="38" height="38" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg">
10
- <defs>
11
- <linearGradient x1="8.042%" y1="0%" x2="65.682%" y2="23.865%" id="a">
12
- <stop stop-color="#000" stop-opacity="0" offset="0%"/>
13
- <stop stop-color="#000" stop-opacity=".631" offset="63.146%"/>
14
- <stop stop-color="#000" offset="100%"/>
15
- </linearGradient>
16
- </defs>
17
- <g fill="none" fill-rule="evenodd">
18
- <g transform="translate(1 1)">
19
- <path d="M36 18c0-9.94-8.06-18-18-18" id="Oval-2" stroke="url(#a)" stroke-width="2">
20
- <animateTransform
21
- attributeName="transform"
22
- type="rotate"
23
- from="0 18 18"
24
- to="360 18 18"
25
- dur="0.9s"
26
- repeatCount="indefinite" />
27
- </path>
28
- <circle fill="#000" cx="36" cy="18" r="1">
29
- <animateTransform
30
- attributeName="transform"
31
- type="rotate"
32
- from="0 18 18"
33
- to="360 18 18"
34
- dur="0.9s"
35
- repeatCount="indefinite" />
36
- </circle>
37
- </g>
38
- </g>
39
- </svg>
40
- </div>
41
- `
42
- },] }
43
- ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2NvcmUvbG9hZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBd0N4QyxNQUFNLE9BQU8sZUFBZTs7O1lBdEMzQixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBa0NQO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInRyYW5zYWN0aW9uLWxvYWRlclwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxvYWRlclwiPlxyXG4gICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMzhcIiBoZWlnaHQ9XCIzOFwiIHZpZXdCb3g9XCIwIDAgMzggMzhcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9XCI4LjA0MiVcIiB5MT1cIjAlXCIgeDI9XCI2NS42ODIlXCIgeTI9XCIyMy44NjUlXCIgaWQ9XCJhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9XCIjMDAwXCIgc3RvcC1vcGFjaXR5PVwiMFwiIG9mZnNldD1cIjAlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwiIzAwMFwiIHN0b3Atb3BhY2l0eT1cIi42MzFcIiBvZmZzZXQ9XCI2My4xNDYlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwiIzAwMFwiIG9mZnNldD1cIjEwMCVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cclxuICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgIDxnIGZpbGw9XCJub25lXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxIDEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMzYgMThjMC05Ljk0LTguMDYtMTgtMTgtMThcIiBpZD1cIk92YWwtMlwiIHN0cm9rZT1cInVybCgjYSlcIiBzdHJva2Utd2lkdGg9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YW5pbWF0ZVRyYW5zZm9ybVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPVwidHJhbnNmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInJvdGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb209XCIwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG89XCIzNjAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXI9XCIwLjlzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGZpbGw9XCIjMDAwXCIgY3g9XCIzNlwiIGN5PVwiMThcIiByPVwiMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFuaW1hdGVUcmFuc2Zvcm1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlTmFtZT1cInRyYW5zZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyb3RhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tPVwiMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvPVwiMzYwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyPVwiMC45c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PVwiaW5kZWZpbml0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvY2lyY2xlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2FkZXJDb21wb25lbnQge1xyXG59XHJcbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2ZhY3RvcnkvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsa0ZBQWtGO0FBQ2xGLE1BQU0sT0FBTyxxQkFBcUI7SUFDOUI7SUFDQSxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLHNCQUFzQixDQUFDLFVBQWUsRUFBRSxPQUFlO1FBQzFELElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDYixPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUNELElBQUksT0FBTyxVQUFVLEtBQUssT0FBTyxjQUFjLEVBQUU7WUFDN0MsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFFRCxNQUFNLEtBQUssR0FBbUIsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsd0NBQXdDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCx3RUFBd0U7SUFDakUsa0NB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QUFHLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNuRjtpQkFBTSxJQUFJLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsRUFBRTtnQkFDM0UsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcscUJBQXFCLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ25GO1lBQ0QscUJBQXFCO2lCQUNoQjtnQkFDRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRTtvQkFDcEIsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsU0FBUyxDQUFDO2lCQUM1QztxQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ2xDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3BFO3FCQUFNLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFO29CQUN2QyxJQUFJLFVBQVUsWUFBWSxHQUFHLEVBQUUsRUFBRSxxQ0FBcUM7d0JBQ2xFLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztxQkFDN0M7eUJBQU07d0JBQ0gsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7cUJBQ2hFO2lCQUNKO3FCQUFNO29CQUNILGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDN0M7YUFDSjtTQUNKO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wbGV4RmllbGREZWNvcmF0b3J9IGZyb20gXCIuL2RlY29yYXRvcnMvY29tcGxleC1maWVsZC5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtDb21wbGV4QXJyYXlEZWNvcmF0b3J9IGZyb20gXCIuL2RlY29yYXRvcnMvY29tcGxleC1hcnJheS5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtCb29sZWFuVGV4dERlY29yYXRvcn0gZnJvbSBcIi4vZGVjb3JhdG9ycy9ib29sZWFuLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge0RhdGVGaWVsZEZpZWxkRGVjb3JhdG9yfSBmcm9tIFwiLi9kZWNvcmF0b3JzL2RhdGUtZmllbGQuZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7U3RyaW5nTnVtYmVyRGVjb3JhdG9yfSBmcm9tIFwiLi9kZWNvcmF0b3JzL3N0cmluZy1udW1iZXIuZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7aXNOaWxsfSBmcm9tIFwiLi4vdXRpbHMvaXMtbmlsbC5mdW5jdGlvblwiO1xyXG5pbXBvcnQge0FycmF5VXRpbHN9IGZyb20gXCIuLi91dGlscy9hcnJheS11dGlsc1wiO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0fSBmcm9tIFwiLi4vbW9kZWwvYnVzaW5lc3Mtb2JqZWN0XCI7XHJcblxyXG4vLyBGYWN0b3J5IHNlcnZpY2UgY3JlYXRlcyBidXNpbmVzc29iamVjdHMsIHVzaW5nIHRoZWlyIGRlY29yYXRvcnMgaW4gdGhlIHByb2Nlc3MuXHJcbmV4cG9ydCBjbGFzcyBCdXNpbmVzc09iamVjdEZhY3Rvcnkge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGFuZCByZXR1cm5zIGEgbmV3IGJ1c2luZXNzIGRhdGEgb2JqZWN0IGluc3RhbmNlIG9mIGdpdmVuIGNsYXNzLCB3aXRoIGFsbCBnaXZlbiBkYXRhIHByb3BlcnRpZXMgYXBwbGllZCB0byBpdCBpbiBhXHJcbiAgICAgKiBjb21wbGV4LWF3YXJlIHN0eWxlLiBUaGF0IGlzLCBhbGwgcHJvcGVydGllcyBvbiBnaXZlbiBjbGFzcyB0aGF0IGFyZSBkZWNvcmF0ZWQgd2l0aCBAQ29tcGxleEZpZWxkKC4uKSBvciBAQ29tcGxleEFycmF5KC4uKSBkZWNvcmF0b3JzXHJcbiAgICAgKiBiZWNvbWUgc3Ryb25nbHkgdHlwZWQgYnVzaW5lc3Mgb2JqZWN0cywgd2l0aCBtZXRob2RzIHRoYXQgYXJlIHVzYWJsZSBhbmQgc3VjaC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gbW9kZWxDbGFzc1xyXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHJhd0RhdGEgVGhlIG9iamVjdCB3aXRoIGFsbCAocG9zc2libHkgcmF3L2ZsYXQvbm90IGFsaXZlKSBkYXRhIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGNyZWF0ZWQgbW9kZWwgb2JqZWN0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtYWtlV2l0aFJhd0JhY2tlbmREYXRhKG1vZGVsQ2xhc3M6IGFueSwgcmF3RGF0YTogT2JqZWN0KTogQnVzaW5lc3NPYmplY3Qge1xyXG4gICAgICAgIGlmICghbW9kZWxDbGFzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHlwZW9mIG1vZGVsQ2xhc3MgIT09IHR5cGVvZiBCdXNpbmVzc09iamVjdCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbW9kZWw6IEJ1c2luZXNzT2JqZWN0ID0gbmV3IG1vZGVsQ2xhc3MoKTtcclxuICAgICAgICB0aGlzLl9jb3B5QWxsUHJvcGVydGllc0RlY29yYXRvclByb2Nlc3NlZEZyb20ocmF3RGF0YSwgbW9kZWwpO1xyXG4gICAgICAgIHJldHVybiBtb2RlbDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBzZWUgbWFrZVdpdGhSYXdCYWNrZW5kRGF0YSwgdGhpcyBpcyBhIGxvb3Atd3JhcHBlciBhcm91bmQgdGhhdCBtZXRob2RcclxuICAgIHB1YmxpYyBtYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KG1vZGVsQ2xhc3M6IGFueSwgYXJyYXlPZlJhd0RhdGFzOiBPYmplY3RbXSk6IEJ1c2luZXNzT2JqZWN0W10ge1xyXG4gICAgICAgIGlmICghbW9kZWxDbGFzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdHJ1ZUNsaWVudEJvczogQnVzaW5lc3NPYmplY3RbXSA9IFtdO1xyXG4gICAgICAgIGlmIChhcnJheU9mUmF3RGF0YXMpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbGVuOiBudW1iZXIgPSBhcnJheU9mUmF3RGF0YXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIHRydWVDbGllbnRCb3MucHVzaCh0aGlzLm1ha2VXaXRoUmF3QmFja2VuZERhdGEobW9kZWxDbGFzcywgYXJyYXlPZlJhd0RhdGFzW2ldKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWVDbGllbnRCb3M7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGluc3RhbnRpYXRlTmV3Qm8obW9kZWxDbGFzczogYW55KTogQnVzaW5lc3NPYmplY3Qge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1ha2VXaXRoUmF3QmFja2VuZERhdGEobW9kZWxDbGFzcywge30pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXBwbGllcyBhbGwgcHJvcGVydGllcyBvZiBnaXZlbiAnc291cmNlJyBvYmplY3QgdG8gdGhlIGdpdmVuICdkZXN0aW5hdGlvbicgYnVzaW5lc3NvYmplY3QsIGlmIGRlc3RpbmF0aW9uIGhhcyB0aGF0IHByb3BlcnR5LlxyXG4gICAgICogV29ya3Mgd2l0aCB0aGUgQENvbXBsZXhGaWVsZCgpLCBAQ29tcGxleEFycmF5LCBAQm9vbGVhblRleHQsIEBDb0luamVjdCBhbmQgQERhdGVGaWVsZCBhbm5vdGF0aW9ucyBvZiBnaXZlbiBkZXN0aW5hdGlvbiBtb2RlbC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gc291cmNlRGF0YSBSYXcgZGF0YSB0byBjb3B5IHRvIGRlc3RpbmF0aW9uIG1vZGVsXHJcbiAgICAgKiBAcGFyYW0ge0J1c2luZXNzT2JqZWN0fSBkZXN0aW5hdGlvbk1vZGVsIEluT3V0OiBUaGUgYW5ub3RhdGVkIGJ1c2luZXNzb2JqZWN0IHRvIGFwcGx5IHNvdXJjZSBwcm9wZXJ0aWVzIHRvXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2NvcHlBbGxQcm9wZXJ0aWVzRGVjb3JhdG9yUHJvY2Vzc2VkRnJvbShzb3VyY2VEYXRhOiBhbnksIGRlc3RpbmF0aW9uTW9kZWw6IEJ1c2luZXNzT2JqZWN0KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFzb3VyY2VEYXRhIHx8ICFkZXN0aW5hdGlvbk1vZGVsKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHByb2Nlc3MgYWxsIHNvdXJjZSBkYXRhIGludG8gZGVzdGluYXRpb25Nb2RlbFxyXG4gICAgICAgIGZvciAoY29uc3Qgc3JjUHJvcEtleSBpbiBzb3VyY2VEYXRhKSB7XHJcbiAgICAgICAgICAgIGlmICghc291cmNlRGF0YS5oYXNPd25Qcm9wZXJ0eShzcmNQcm9wS2V5KSkge1xyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHNyY1Byb3BWYWw6IGFueSA9IHNvdXJjZURhdGFbc3JjUHJvcEtleV07XHJcblxyXG4gICAgICAgICAgICBpZiAoQ29tcGxleEZpZWxkRGVjb3JhdG9yLklzQ29tcGxleEZpZWxkKGRlc3RpbmF0aW9uTW9kZWwsIHNyY1Byb3BLZXkpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjbGFzc09mRmllbGQ6IGFueSA9IENvbXBsZXhGaWVsZERlY29yYXRvci5HZXRDb21wbGV4RmllbGRUeXBlKGRlc3RpbmF0aW9uTW9kZWwsIHNyY1Byb3BLZXkpO1xyXG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IHRoaXMubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShjbGFzc09mRmllbGQsIHNyY1Byb3BWYWwpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKENvbXBsZXhBcnJheURlY29yYXRvci5Jc0NvbXBsZXhBcnJheShkZXN0aW5hdGlvbk1vZGVsLCBzcmNQcm9wS2V5KSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc291cmNlQXJyYXk6IGFueVtdID0gc3JjUHJvcFZhbDtcclxuICAgICAgICAgICAgICAgIGlmICghc291cmNlQXJyYXkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IGNsYXNzT2ZBcnJheUl0ZW1zOiBhbnkgPSBDb21wbGV4QXJyYXlEZWNvcmF0b3IuR2V0Q29tcGxleEFycmF5VHlwZShkZXN0aW5hdGlvbk1vZGVsLCBzcmNQcm9wS2V5KTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRlbXBBcnJheTogYW55W10gPSBbXTtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDAsIGxlbjogbnVtYmVyID0gc291cmNlQXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZW1wQXJyYXkucHVzaCh0aGlzLm1ha2VXaXRoUmF3QmFja2VuZERhdGEoY2xhc3NPZkFycmF5SXRlbXMsIHNvdXJjZUFycmF5W2ldKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gdGVtcEFycmF5O1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKEJvb2xlYW5UZXh0RGVjb3JhdG9yLklzQm9vbGVhblRleHRGaWVsZChkZXN0aW5hdGlvbk1vZGVsLCBzcmNQcm9wS2V5KSkge1xyXG4gICAgICAgICAgICAgICAgLy8gbG9naWNhbCAndHJ1ZScgYW5kICdmYWxzZScgYWxzbyBhbGxvd2VkIGFzIGluY29taW5nIHZhbHVlcyBmb3IgQEJvb2xlYW5UZXh0KCkgcHJvcGVydGllczogdGhlbiBqdXN0IGNvcHkgdGhlaXIgdmFsdWVcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygc3JjUHJvcFZhbCA9PT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gc3JjUHJvcFZhbDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBoZXJlLCBpdCBzaG91bGQgYmUgYSAnSicgb3IgJ04nIChvciAnVCcgb3IgJ0YnKTogYXNzaWduIHRoZSBhc3NvY2lhdGVkIGJvb2xlYW4gdmFsdWVcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IEJvb2xlYW5UZXh0RGVjb3JhdG9yLkdldExvZ2ljYWxCb29sZWFuVmFsdWUoc3JjUHJvcFZhbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoRGF0ZUZpZWxkRmllbGREZWNvcmF0b3IuSXNEYXRlRmllbGQoZGVzdGluYXRpb25Nb2RlbCwgc3JjUHJvcEtleSkpIHtcclxuICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSBEYXRlRmllbGRGaWVsZERlY29yYXRvci5TdHJpbmdBc0RhdGUoc3JjUHJvcFZhbCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoU3RyaW5nTnVtYmVyRGVjb3JhdG9yLklzU3RyaW5nTnVtYmVyKGRlc3RpbmF0aW9uTW9kZWwsIHNyY1Byb3BLZXkpKSB7XHJcbiAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gU3RyaW5nTnVtYmVyRGVjb3JhdG9yLlN0cmluZ0FzTnVtYmVyKHNyY1Byb3BWYWwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIG5vbi1kZWNvcmF0ZWQgcHJvcFxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmIChpc05pbGwoc3JjUHJvcFZhbCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHNyY1Byb3BWYWwpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IEFycmF5VXRpbHMuQ2xvbmVBcnJheShzcmNQcm9wVmFsKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHNyY1Byb3BWYWwgPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc3JjUHJvcFZhbCBpbnN0YW5jZW9mIE1hcCkgeyAvL2p1c3QgY29weSB0aGUgdmFsdWUgaW4gY2FzZSBvZiBtYXBzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSBzcmNQcm9wVmFsO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSBPYmplY3QuYXNzaWduKHt9LCBzcmNQcm9wVmFsKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSBzcmNQcm9wVmFsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,102 +0,0 @@
1
- import { GetYesNoDbBooleanValue } from "@colijnit/transactionapi/build/enum/yes-no-db-type.enum";
2
- import { GetTrueFalseDbBooleanValue } from "@colijnit/transactionapi/build/enum/true-false-db-type.enum";
3
- import { GetOneZeroDbBooleanValue } from "@colijnit/transactionapi/build/enum/one-zero-bool-db-type.enum";
4
- import { GetLogicalBooleanValue } from "@colijnit/transactionapi/build/enum/db-boolean-value-type.enum";
5
- const PROP_META_KEY_JN = "booleanTextJN";
6
- const PROP_META_KEY_TF = "booleanTextTF";
7
- const PROP_META_KEY_10 = "booleanText10";
8
- /**
9
- * 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
10
- * our client application.
11
- *
12
- * The values 'J' and 'N' seem to be most commonly used. This is the default setting when using this decorator.
13
- * You can pass 'T' or 1 for the other variants as follows:
14
- *
15
- * Usage:
16
- *
17
- * @BooleanText() or @BooleanText("J") (the default, uses YesNoDbType char values)
18
- * public foo: boolean // 'J' and 'N' become true and false after BusinessObjectFactoryService and -SerializerService processing
19
- *
20
- * @BooleanText('T') (uses TrueFalseDbType char values)
21
- * public bar: boolean // 'T' and 'F' become true and false after BusinessObjectFactoryService and -SerializerService processing
22
- *
23
- * @BooleanText(1)
24
- * public baz: boolean // 1 and 0 become true and false after BusinessObjectFactoryService and -SerializerService processing
25
- */
26
- export function BooleanText(type) {
27
- return function (target, propertyKey) {
28
- if (!target || !propertyKey) {
29
- return;
30
- }
31
- // by default, it's a J N boolean text
32
- if (!type || type === "J") {
33
- Reflect.defineMetadata(PROP_META_KEY_JN, true, target, propertyKey);
34
- }
35
- else if (type === "T") {
36
- Reflect.defineMetadata(PROP_META_KEY_TF, true, target, propertyKey);
37
- }
38
- else if (type === 1) {
39
- Reflect.defineMetadata(PROP_META_KEY_10, true, target, propertyKey);
40
- }
41
- };
42
- }
43
- // Utility function holder of the BooleanTextDecorator decorator.
44
- export class BooleanTextDecorator {
45
- /**
46
- * Returns whether given property (as a string) on given object is a boolean text field. That is, it's a field that is decorated
47
- * with the @BooleanText decorator.
48
- */
49
- static IsBooleanTextField(target, propertyKey) {
50
- if (!target || !propertyKey || typeof target !== "object") {
51
- return false;
52
- }
53
- return (Reflect.getMetadata(PROP_META_KEY_JN, target, propertyKey) === true
54
- ||
55
- Reflect.getMetadata(PROP_META_KEY_TF, target, propertyKey) === true
56
- ||
57
- Reflect.getMetadata(PROP_META_KEY_10, target, propertyKey) === true);
58
- }
59
- /**
60
- * Returns the logical true or false value of given character ('J', 'N', 'T' or 'F') or number (0 or 1).
61
- * Returns UNDEFINED if given boolChar was not recognised as a boolean text.
62
- */
63
- static GetLogicalBooleanValue(dbBoolChar) {
64
- return GetLogicalBooleanValue(dbBoolChar);
65
- }
66
- /**
67
- * Returns the boolean character / number of given logical bool property on target object. Uses its @BooleanText() annotation to decide
68
- * what character / number to return.
69
- * Used in BusinessObjectSerializerServiceService to convert logical bools to their original boolean character.
70
- * @returns {string|number} The original, reverse-engineered boolean character (or number) of given object property, or undefined.
71
- */
72
- static GetDbBooleanValue(target, propertyKey) {
73
- if (!target || !propertyKey || typeof target !== "object") {
74
- return undefined;
75
- }
76
- let dbBoolVal = undefined;
77
- const curBoolVal = target[propertyKey];
78
- if (BooleanTextDecorator._IsJaNeeProp(target, propertyKey)) {
79
- dbBoolVal = GetYesNoDbBooleanValue(curBoolVal);
80
- }
81
- else if (BooleanTextDecorator._IsTrueFalseProp(target, propertyKey)) {
82
- dbBoolVal = GetTrueFalseDbBooleanValue(curBoolVal);
83
- }
84
- else if (BooleanTextDecorator._IsZeroOneProp(target, propertyKey)) {
85
- dbBoolVal = GetOneZeroDbBooleanValue(curBoolVal);
86
- }
87
- return dbBoolVal;
88
- }
89
- static _IsJaNeeProp(target, propertyKey) {
90
- return BooleanTextDecorator._IsProp(PROP_META_KEY_JN, target, propertyKey);
91
- }
92
- static _IsTrueFalseProp(target, propertyKey) {
93
- return BooleanTextDecorator._IsProp(PROP_META_KEY_TF, target, propertyKey);
94
- }
95
- static _IsZeroOneProp(target, propertyKey) {
96
- return BooleanTextDecorator._IsProp(PROP_META_KEY_10, target, propertyKey);
97
- }
98
- static _IsProp(prop, target, propertyKey) {
99
- return !!target && !!propertyKey && typeof target === "object" && Reflect.hasMetadata(prop, target, propertyKey);
100
- }
101
- }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2ZhY3RvcnkvZGVjb3JhdG9ycy9ib29sZWFuLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUMvRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUN2RyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUN4RyxPQUFPLEVBQXFCLHNCQUFzQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFFMUgsTUFBTSxnQkFBZ0IsR0FBVyxlQUFlLENBQUM7QUFDakQsTUFBTSxnQkFBZ0IsR0FBVyxlQUFlLENBQUM7QUFDakQsTUFBTSxnQkFBZ0IsR0FBVyxlQUFlLENBQUM7QUFFakQ7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFvQjtJQUM1QyxPQUFPLFVBQVUsTUFBVyxFQUFFLFdBQW1CO1FBQzdDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDekIsT0FBTztTQUNWO1FBQ0Qsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtZQUN2QixPQUFPLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDdkU7YUFBTSxJQUFJLElBQUksS0FBSyxHQUFHLEVBQUU7WUFDckIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQ3ZFO2FBQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFO1lBQ25CLE9BQU8sQ0FB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ZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3llcy1uby1kYi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtHZXRUcnVlRmFsc2VEYkJvb2xlYW5WYWx1ZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RydWUtZmFsc2UtZGItdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7R2V0T25lWmVyb0RiQm9vbGVhblZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vb25lLXplcm8tYm9vbC1kYi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtEYkJvb2xlYW5WYWx1ZVR5cGUsIEdldExvZ2ljYWxCb29sZWFuVmFsdWV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9kYi1ib29sZWFuLXZhbHVlLXR5cGUuZW51bVwiO1xyXG5cclxuY29uc3QgUFJPUF9NRVRBX0tFWV9KTjogc3RyaW5nID0gXCJib29sZWFuVGV4dEpOXCI7XHJcbmNvbnN0IFBST1BfTUVUQV9LRVlfVEY6IHN0cmluZyA9IFwiYm9vbGVhblRleHRURlwiO1xyXG5jb25zdCBQUk9QX01FVEFfS0VZXzEwOiBzdHJpbmcgPSBcImJvb2xlYW5UZXh0MTBcIjtcclxuXHJcbi8qKlxyXG4gKiBUaGVyZSBhcmUgJ0onLCAnVCcsICdOJywgJ0YnLCAwIGFuZCAxICdib29sZWFuIHZhbHVlcycgaW4gdGhlIGRhdGFiYXNlLiBUaGVzZSBzaG91bGQgYmUgdHJhbnNsYXRlZCB0byB0cnVlIGFuZCBmYWxzZSBib29sZWFuIHZhbHVlcyBpblxyXG4gKiBvdXIgY2xpZW50IGFwcGxpY2F0aW9uLlxyXG4gKlxyXG4gKiBUaGUgdmFsdWVzICdKJyBhbmQgJ04nIHNlZW0gdG8gYmUgbW9zdCBjb21tb25seSB1c2VkLiBUaGlzIGlzIHRoZSBkZWZhdWx0IHNldHRpbmcgd2hlbiB1c2luZyB0aGlzIGRlY29yYXRvci5cclxuICogWW91IGNhbiBwYXNzICdUJyBvciAxIGZvciB0aGUgb3RoZXIgdmFyaWFudHMgYXMgZm9sbG93czpcclxuICpcclxuICogVXNhZ2U6XHJcbiAqXHJcbiAqIEBCb29sZWFuVGV4dCgpIG9yIEBCb29sZWFuVGV4dChcIkpcIikgKHRoZSBkZWZhdWx0LCB1c2VzIFllc05vRGJUeXBlIGNoYXIgdmFsdWVzKVxyXG4gKiBwdWJsaWMgZm9vOiBib29sZWFuIC8vICdKJyBhbmQgJ04nIGJlY29tZSB0cnVlIGFuZCBmYWxzZSBhZnRlciBCdXNpbmVzc09iamVjdEZhY3RvcnlTZXJ2aWNlIGFuZCAtU2VyaWFsaXplclNlcnZpY2UgcHJvY2Vzc2luZ1xyXG4gKlxyXG4gKiBAQm9vbGVhblRleHQoJ1QnKSAodXNlcyBUcnVlRmFsc2VEYlR5cGUgY2hhciB2YWx1ZXMpXHJcbiAqIHB1YmxpYyBiYXI6IGJvb2xlYW4gLy8gJ1QnIGFuZCAnRicgYmVjb21lIHRydWUgYW5kIGZhbHNlIGFmdGVyIEJ1c2luZXNzT2JqZWN0RmFjdG9yeVNlcnZpY2UgYW5kIC1TZXJpYWxpemVyU2VydmljZSBwcm9jZXNzaW5nXHJcbiAqXHJcbiAqIEBCb29sZWFuVGV4dCgxKVxyXG4gKiBwdWJsaWMgYmF6OiBib29sZWFuIC8vIDEgYW5kIDAgYmVjb21lIHRydWUgYW5kIGZhbHNlIGFmdGVyIEJ1c2luZXNzT2JqZWN0RmFjdG9yeVNlcnZpY2UgYW5kIC1TZXJpYWxpemVyU2VydmljZSBwcm9jZXNzaW5nXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gQm9vbGVhblRleHQodHlwZT86IFwiSlwiIHwgXCJUXCIgfCAxKTogUHJvcGVydHlEZWNvcmF0b3Ige1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGJ5IGRlZmF1bHQsIGl0J3MgYSBKIE4gYm9vbGVhbiB0ZXh0XHJcbiAgICAgICAgaWYgKCF0eXBlIHx8IHR5cGUgPT09IFwiSlwiKSB7XHJcbiAgICAgICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoUFJPUF9NRVRBX0tFWV9KTiwgdHJ1ZSwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBcIlRcIikge1xyXG4gICAgICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFBST1BfTUVUQV9LRVlfVEYsIHRydWUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gMSkge1xyXG4gICAgICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFBST1BfTUVUQV9LRVlfMTAsIHRydWUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuXHJcbi8vIFV0aWxpdHkgZnVuY3Rpb24gaG9sZGVyIG9mIHRoZSBCb29sZWFuVGV4dERlY29yYXRvciBkZWNvcmF0b3IuXHJcbmV4cG9ydCBjbGFzcyBCb29sZWFuVGV4dERlY29yYXRvciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgZ2l2ZW4gcHJvcGVydHkgKGFzIGEgc3RyaW5nKSBvbiBnaXZlbiBvYmplY3QgaXMgYSBib29sZWFuIHRleHQgZmllbGQuIFRoYXQgaXMsIGl0J3MgYSBmaWVsZCB0aGF0IGlzIGRlY29yYXRlZFxyXG4gICAgICogd2l0aCB0aGUgQEJvb2xlYW5UZXh0IGRlY29yYXRvci5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBJc0Jvb2xlYW5UZXh0RmllbGQodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRhcmdldCB8fCAhcHJvcGVydHlLZXkgfHwgdHlwZW9mIHRhcmdldCAhPT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoUFJPUF9NRVRBX0tFWV9KTiwgdGFyZ2V0LCBwcm9wZXJ0eUtleSkgPT09IHRydWVcclxuICAgICAgICAgICAgfHxcclxuICAgICAgICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShQUk9QX01FVEFfS0VZX1RGLCB0YXJnZXQsIHByb3BlcnR5S2V5KSA9PT0gdHJ1ZVxyXG4gICAgICAgICAgICB8fFxyXG4gICAgICAgICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKFBST1BfTUVUQV9LRVlfMTAsIHRhcmdldCwgcHJvcGVydHlLZXkpID09PSB0cnVlXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGxvZ2ljYWwgdHJ1ZSBvciBmYWxzZSB2YWx1ZSBvZiBnaXZlbiBjaGFyYWN0ZXIgKCdKJywgJ04nLCAnVCcgb3IgJ0YnKSBvciBudW1iZXIgKDAgb3IgMSkuXHJcbiAgICAgKiBSZXR1cm5zIFVOREVGSU5FRCBpZiBnaXZlbiBib29sQ2hhciB3YXMgbm90IHJlY29nbmlzZWQgYXMgYSBib29sZWFuIHRleHQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0TG9naWNhbEJvb2xlYW5WYWx1ZShkYkJvb2xDaGFyOiBEYkJvb2xlYW5WYWx1ZVR5cGUgfCBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gR2V0TG9naWNhbEJvb2xlYW5WYWx1ZShkYkJvb2xDaGFyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGJvb2xlYW4gY2hhcmFjdGVyIC8gbnVtYmVyIG9mIGdpdmVuIGxvZ2ljYWwgYm9vbCBwcm9wZXJ0eSBvbiB0YXJnZXQgb2JqZWN0LiBVc2VzIGl0cyBAQm9vbGVhblRleHQoKSBhbm5vdGF0aW9uIHRvIGRlY2lkZVxyXG4gICAgICogd2hhdCBjaGFyYWN0ZXIgLyBudW1iZXIgdG8gcmV0dXJuLlxyXG4gICAgICogVXNlZCBpbiBCdXNpbmVzc09iamVjdFNlcmlhbGl6ZXJTZXJ2aWNlU2VydmljZSB0byBjb252ZXJ0IGxvZ2ljYWwgYm9vbHMgdG8gdGhlaXIgb3JpZ2luYWwgYm9vbGVhbiBjaGFyYWN0ZXIuXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfG51bWJlcn0gVGhlIG9yaWdpbmFsLCByZXZlcnNlLWVuZ2luZWVyZWQgYm9vbGVhbiBjaGFyYWN0ZXIgKG9yIG51bWJlcikgb2YgZ2l2ZW4gb2JqZWN0IHByb3BlcnR5LCBvciB1bmRlZmluZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0RGJCb29sZWFuVmFsdWUodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBEYkJvb2xlYW5WYWx1ZVR5cGUge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSB8fCB0eXBlb2YgdGFyZ2V0ICE9PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgZGJCb29sVmFsOiBhbnkgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgICAgIGNvbnN0IGN1ckJvb2xWYWw6IGJvb2xlYW4gPSB0YXJnZXRbcHJvcGVydHlLZXldO1xyXG5cclxuICAgICAgICBpZiAoQm9vbGVhblRleHREZWNvcmF0b3IuX0lzSmFOZWVQcm9wKHRhcmdldCwgcHJvcGVydHlLZXkpKSB7XHJcbiAgICAgICAgICAgIGRiQm9vbFZhbCA9IEdldFllc05vRGJCb29sZWFuVmFsdWUoY3VyQm9vbFZhbCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChCb29sZWFuVGV4dERlY29yYXRvci5fSXNUcnVlRmFsc2VQcm9wKHRhcmdldCwgcHJvcGVydHlLZXkpKSB7XHJcbiAgICAgICAgICAgIGRiQm9vbFZhbCA9IEdldFRydWVGYWxzZURiQm9vbGVhblZhbHVlKGN1ckJvb2xWYWwpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoQm9vbGVhblRleHREZWNvcmF0b3IuX0lzWmVyb09uZVByb3AodGFyZ2V0LCBwcm9wZXJ0eUtleSkpIHtcclxuICAgICAgICAgICAgZGJCb29sVmFsID0gR2V0T25lWmVyb0RiQm9vbGVhblZhbHVlKGN1ckJvb2xWYWwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGRiQm9vbFZhbCBhcyBhbnkgYXMgRGJCb29sZWFuVmFsdWVUeXBlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIF9Jc0phTmVlUHJvcCh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBCb29sZWFuVGV4dERlY29yYXRvci5fSXNQcm9wKFBST1BfTUVUQV9LRVlfSk4sIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIF9Jc1RydWVGYWxzZVByb3AodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQm9vbGVhblRleHREZWNvcmF0b3IuX0lzUHJvcChQUk9QX01FVEFfS0VZX1RGLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBfSXNaZXJvT25lUHJvcCh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBCb29sZWFuVGV4dERlY29yYXRvci5fSXNQcm9wKFBST1BfTUVUQV9LRVlfMTAsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIF9Jc1Byb3AocHJvcDogc3RyaW5nLCB0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhIXRhcmdldCAmJiAhIXByb3BlcnR5S2V5ICYmIHR5cGVvZiB0YXJnZXQgPT09IFwib2JqZWN0XCIgJiYgUmVmbGVjdC5oYXNNZXRhZGF0YShwcm9wLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,55 +0,0 @@
1
- import { notNill } from "@colijnit/transactionapi/build/utils/function/not-nill.function";
2
- import { ObjectUtils } from "@colijnit/transactionapi/build/utils/object-utils";
3
- const PROP_META_KEY = "complexArray";
4
- /**
5
- * !! just a TAG DECORATOR for now, there is no code that uses this meta data within the ione connector lib itself.
6
- */
7
- /**
8
- * Property decorator for properties of businessobject classes that are an array of other strongly typed businessobjects.
9
- * Ensures that the BusinessObjectFactoryService makes properly typed objects from incoming raw persistence data. Otherwise we couldn't add methods
10
- * to our own businessobjects and use them, since all fields would be flat data without methods after BusinessObjectFactoryService creation.
11
- *
12
- * Usage:
13
- *
14
- * @ComplexArray(TransactionLine)
15
- * public transactionLines: TransactionLine[]
16
- */
17
- export function ComplexArray(type) {
18
- return function (target, propertyKey) {
19
- if (!target || !propertyKey || typeof target !== "object") {
20
- return;
21
- }
22
- // warn the programmer if given type was undefined; it's probably an import order glitch that caused this, because decorators seem
23
- // to be immediately processed when a class is first imported
24
- if (!type) {
25
- console.warn(`@ComplexArray(type): type was UNDEFINED. Called on prop (${ObjectUtils.GetClassName(target)}, ${propertyKey}). ` +
26
- `Class will not properly serialize and deserialize now. We've always been able to fix this by CHANGING IMPORT ORDERS ` +
27
- `where both classes and their dependencies are used, e.g. factory, repository or models..`);
28
- return;
29
- }
30
- Reflect.defineMetadata(PROP_META_KEY, type, target, propertyKey);
31
- };
32
- }
33
- // Utility function holder of the ComplexArrayDecorator decorator.
34
- export class ComplexArrayDecorator {
35
- /**
36
- * Returns whether given property (as a string) on given object is a complex array. A complex array is an array field that is decorated
37
- * with the @ComplexArray decorator.
38
- */
39
- static IsComplexArray(target, propertyKey) {
40
- if (!target || !propertyKey || typeof target !== "object") {
41
- return false;
42
- }
43
- return (notNill(Reflect.getMetadata(PROP_META_KEY, target, propertyKey)));
44
- }
45
- /**
46
- * Returns the VALUE of the @ComplexArray(VALUE) property decorator on the given propertyKey on the given modelobject.
47
- */
48
- static GetComplexArrayType(target, propertyKey) {
49
- if (!target || !propertyKey || typeof target !== "object") {
50
- return undefined;
51
- }
52
- return Reflect.getMetadata(PROP_META_KEY, target, propertyKey);
53
- }
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxleC1hcnJheS5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2ZhY3RvcnkvZGVjb3JhdG9ycy9jb21wbGV4LWFycmF5LmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDeEYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBRTlFLE1BQU0sYUFBYSxHQUFXLGNBQWMsQ0FBQztBQUU3Qzs7R0FFRztBQUVIOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBUztJQUNsQyxPQUFPLFVBQVUsTUFBVyxFQUFFLFdBQW1CO1FBQzdDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ3ZELE9BQU87U0FDVjtRQUNELGtJQUFrSTtRQUNsSSw2REFBNkQ7UUFDN0QsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsNERBQTRELFdBQVcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssV0FBVyxLQUFLO2dCQUMxSCxzSEFBc0g7Z0JBQ3RILDBGQUEwRixDQUFDLENBQUM7WUFDaEcsT0FBTztTQUNWO1FBQ0QsT0FBTyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyRSxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBTyxxQkFBcUI7SUFDOUI7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFjLEVBQUUsV0FBbUI7UUFDNUQsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDdkQsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQWMsRUFBRSxXQUFtQjtRQUNqRSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtZQUN2RCxPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bm90TmlsbH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC91dGlscy9mdW5jdGlvbi9ub3QtbmlsbC5mdW5jdGlvblwiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3V0aWxzL29iamVjdC11dGlsc1wiO1xyXG5cclxuY29uc3QgUFJPUF9NRVRBX0tFWTogc3RyaW5nID0gXCJjb21wbGV4QXJyYXlcIjtcclxuXHJcbi8qKlxyXG4gKiAhISBqdXN0IGEgVEFHIERFQ09SQVRPUiBmb3Igbm93LCB0aGVyZSBpcyBubyBjb2RlIHRoYXQgdXNlcyB0aGlzIG1ldGEgZGF0YSB3aXRoaW4gdGhlIGlvbmUgY29ubmVjdG9yIGxpYiBpdHNlbGYuXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIFByb3BlcnR5IGRlY29yYXRvciBmb3IgcHJvcGVydGllcyBvZiBidXNpbmVzc29iamVjdCBjbGFzc2VzIHRoYXQgYXJlIGFuIGFycmF5IG9mIG90aGVyIHN0cm9uZ2x5IHR5cGVkIGJ1c2luZXNzb2JqZWN0cy5cclxuICogRW5zdXJlcyB0aGF0IHRoZSBCdXNpbmVzc09iamVjdEZhY3RvcnlTZXJ2aWNlIG1ha2VzIHByb3Blcmx5IHR5cGVkIG9iamVjdHMgZnJvbSBpbmNvbWluZyByYXcgcGVyc2lzdGVuY2UgZGF0YS4gT3RoZXJ3aXNlIHdlIGNvdWxkbid0IGFkZCBtZXRob2RzXHJcbiAqIHRvIG91ciBvd24gYnVzaW5lc3NvYmplY3RzIGFuZCB1c2UgdGhlbSwgc2luY2UgYWxsIGZpZWxkcyB3b3VsZCBiZSBmbGF0IGRhdGEgd2l0aG91dCBtZXRob2RzIGFmdGVyIEJ1c2luZXNzT2JqZWN0RmFjdG9yeVNlcnZpY2UgY3JlYXRpb24uXHJcbiAqXHJcbiAqIFVzYWdlOlxyXG4gKlxyXG4gKiBAQ29tcGxleEFycmF5KFRyYW5zYWN0aW9uTGluZSlcclxuICogcHVibGljIHRyYW5zYWN0aW9uTGluZXM6IFRyYW5zYWN0aW9uTGluZVtdXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gQ29tcGxleEFycmF5KHR5cGU6IGFueSk6IFByb3BlcnR5RGVjb3JhdG9yIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRhcmdldCB8fCAhcHJvcGVydHlLZXkgfHwgdHlwZW9mIHRhcmdldCAhPT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHdhcm4gdGhlIHByb2dyYW1tZXIgaWYgZ2l2ZW4gdHlwZSB3YXMgdW5kZWZpbmVkOyBpdCdzIHByb2JhYmx5IGFuIGltcG9ydCBvcmRlciBnbGl0Y2ggdGhhdCBjYXVzZWQgdGhpcywgYmVjYXVzZSBkZWNvcmF0b3JzIHNlZW1cclxuICAgICAgICAvLyB0byBiZSBpbW1lZGlhdGVseSBwcm9jZXNzZWQgd2hlbiBhIGNsYXNzIGlzIGZpcnN0IGltcG9ydGVkXHJcbiAgICAgICAgaWYgKCF0eXBlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgQENvbXBsZXhBcnJheSh0eXBlKTogdHlwZSB3YXMgVU5ERUZJTkVELiBDYWxsZWQgb24gcHJvcCAoJHtPYmplY3RVdGlscy5HZXRDbGFzc05hbWUodGFyZ2V0KX0sICR7cHJvcGVydHlLZXl9KS4gYCArXHJcbiAgICAgICAgICAgICAgICBgQ2xhc3Mgd2lsbCBub3QgcHJvcGVybHkgc2VyaWFsaXplIGFuZCBkZXNlcmlhbGl6ZSBub3cuIFdlJ3ZlIGFsd2F5cyBiZWVuIGFibGUgdG8gZml4IHRoaXMgYnkgQ0hBTkdJTkcgSU1QT1JUIE9SREVSUyBgICtcclxuICAgICAgICAgICAgICAgIGB3aGVyZSBib3RoIGNsYXNzZXMgYW5kIHRoZWlyIGRlcGVuZGVuY2llcyBhcmUgdXNlZCwgZS5nLiBmYWN0b3J5LCByZXBvc2l0b3J5IG9yIG1vZGVscy4uYCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShQUk9QX01FVEFfS0VZLCB0eXBlLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH07XHJcbn1cclxuXHJcbi8vIFV0aWxpdHkgZnVuY3Rpb24gaG9sZGVyIG9mIHRoZSBDb21wbGV4QXJyYXlEZWNvcmF0b3IgZGVjb3JhdG9yLlxyXG5leHBvcnQgY2xhc3MgQ29tcGxleEFycmF5RGVjb3JhdG9yIHtcclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB3aGV0aGVyIGdpdmVuIHByb3BlcnR5IChhcyBhIHN0cmluZykgb24gZ2l2ZW4gb2JqZWN0IGlzIGEgY29tcGxleCBhcnJheS4gQSBjb21wbGV4IGFycmF5IGlzIGFuIGFycmF5IGZpZWxkIHRoYXQgaXMgZGVjb3JhdGVkXHJcbiAgICAgKiB3aXRoIHRoZSBAQ29tcGxleEFycmF5IGRlY29yYXRvci5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBJc0NvbXBsZXhBcnJheSh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSB8fCB0eXBlb2YgdGFyZ2V0ICE9PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiAobm90TmlsbChSZWZsZWN0LmdldE1ldGFkYXRhKFBST1BfTUVUQV9LRVksIHRhcmdldCwgcHJvcGVydHlLZXkpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBWQUxVRSBvZiB0aGUgQENvbXBsZXhBcnJheShWQUxVRSkgcHJvcGVydHkgZGVjb3JhdG9yIG9uIHRoZSBnaXZlbiBwcm9wZXJ0eUtleSBvbiB0aGUgZ2l2ZW4gbW9kZWxvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0Q29tcGxleEFycmF5VHlwZSh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKFBST1BfTUVUQV9LRVksIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==