@colijnit/transaction 12.1.7 → 12.1.10

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 (662) hide show
  1. package/README.md +10 -13
  2. package/bundles/colijnit-transaction.umd.js +7754 -6787
  3. package/bundles/colijnit-transaction.umd.js.map +1 -1
  4. package/colijnit-transaction.d.ts +106 -58
  5. package/colijnit-transaction.metadata.json +1 -1
  6. package/esm2015/colijnit-transaction.js +107 -59
  7. package/esm2015/lib/assets/dictionary/text.properties.js +456 -0
  8. package/esm2015/lib/component/checkout/checkout-login/checkout-login.component.js +106 -0
  9. package/esm2015/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +47 -0
  10. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +275 -0
  11. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +538 -0
  12. package/esm2015/lib/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +30 -0
  13. package/esm2015/lib/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +31 -0
  14. package/esm2015/lib/component/checkout/checkout.component.js +132 -0
  15. package/esm2015/lib/component/checkout/checkout.module.js +86 -0
  16. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +52 -0
  17. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.module.js +24 -0
  18. package/esm2015/lib/component/core/base/default-ok-cancel-buttons.component.js +41 -0
  19. package/esm2015/lib/component/core/base/dialog-base.component.js +6 -0
  20. package/esm2015/lib/component/core/base/transaction-base.component.js +94 -0
  21. package/esm2015/lib/component/core/core.module.js +39 -0
  22. package/esm2015/lib/component/core/enum/app-popup-button-type.enum.js +11 -0
  23. package/esm2015/lib/component/core/enum/app-popup-type.enum.js +8 -0
  24. package/esm2015/{app → lib}/component/core/icon/icon.component.js +3 -4
  25. package/esm2015/lib/component/core/image-display/image-display.component.js +29 -0
  26. package/esm2015/lib/component/core/relation/customer-groups.component.js +41 -0
  27. package/esm2015/{app → lib}/component/core/stock-status-indicator/stock-status-indicator.component.js +2 -2
  28. package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.component.js +40 -0
  29. package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.module.js +26 -0
  30. package/esm2015/lib/component/discount/discount.component.js +107 -0
  31. package/esm2015/lib/component/discount/discount.module.js +29 -0
  32. package/esm2015/lib/component/order-confirmation-grid.component/order-confirmation-grid.component.js +70 -0
  33. package/esm2015/lib/component/order-confirmation-grid.component/order-confirmation-grid.module.js +29 -0
  34. package/esm2015/lib/component/order-grid/order-grid.component.js +99 -0
  35. package/esm2015/lib/component/order-grid/order-grid.module.js +28 -0
  36. package/esm2015/lib/component/payment/payment.component.js +73 -0
  37. package/esm2015/lib/component/payment/payment.module.js +27 -0
  38. package/esm2015/lib/component/payment-tile/payment-tile.component.js +32 -0
  39. package/esm2015/lib/component/payment-tile/payment-tile.module.js +25 -0
  40. package/esm2015/lib/component/relation-address/relation-address.component.js +125 -0
  41. package/esm2015/lib/component/relation-address/relation-address.module.js +28 -0
  42. package/esm2015/lib/component/relation-address-select/relation-address-select.component.js +146 -0
  43. package/esm2015/lib/component/relation-address-select/relation-address-select.module.js +33 -0
  44. package/esm2015/lib/component/relation-address-tile/relation-address-tile.component.js +61 -0
  45. package/esm2015/lib/component/relation-address-tile/relation-address-tile.module.js +32 -0
  46. package/esm2015/lib/component/seller-information/seller-information.component.js +61 -0
  47. package/esm2015/lib/component/seller-information/seller-information.module.js +21 -0
  48. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +118 -0
  49. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.module.js +31 -0
  50. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +129 -0
  51. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.js +34 -0
  52. package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +57 -0
  53. package/esm2015/lib/component/shopping-cart/shopping-cart.module.js +27 -0
  54. package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.component.js +55 -0
  55. package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.module.js +29 -0
  56. package/esm2015/lib/component/stepper/component/stepper-step.component.js +40 -0
  57. package/esm2015/lib/component/stepper/stepper.component.js +124 -0
  58. package/esm2015/lib/component/stepper/stepper.module.js +29 -0
  59. package/esm2015/lib/component/tile/tile.component.js +32 -0
  60. package/esm2015/lib/component/tile/tile.module.js +19 -0
  61. package/esm2015/lib/component/transaction/transaction.component.js +154 -0
  62. package/esm2015/lib/component/transaction/transaction.module.js +47 -0
  63. package/esm2015/lib/component/transaction-commit-bar/transaction-commit-bar.component.js +46 -0
  64. package/esm2015/lib/component/transaction-commit-bar/transaction-commit-bar.module.js +27 -0
  65. package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +28 -0
  66. package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.js +27 -0
  67. package/esm2015/lib/component/transaction-header/transaction-header.component.js +46 -0
  68. package/esm2015/lib/component/transaction-header/transaction-header.module.js +27 -0
  69. package/esm2015/lib/component/transaction-header-contact/transaction-header-contact.component.js +34 -0
  70. package/esm2015/lib/component/transaction-header-contact/transaction-header-contact.module.js +19 -0
  71. package/esm2015/lib/component/transaction-header-delivery/transaction-header-delivery.component.js +60 -0
  72. package/esm2015/lib/component/transaction-header-delivery/transaction-header-delivery.module.js +21 -0
  73. package/esm2015/lib/component/transaction-header-relation/transaction-header-relation.component.js +35 -0
  74. package/esm2015/lib/component/transaction-header-relation/transaction-header-relation.module.js +19 -0
  75. package/esm2015/lib/component/transaction-history-grid/transaction-history-grid.component.js +47 -0
  76. package/esm2015/lib/component/transaction-history-grid/transaction-history-grid.module.js +27 -0
  77. package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.js +36 -0
  78. package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.js +23 -0
  79. package/esm2015/lib/component/transaction-line/transaction-line.component.js +282 -0
  80. package/esm2015/lib/component/transaction-line/transaction-line.module.js +30 -0
  81. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +49 -0
  82. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.module.js +23 -0
  83. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.component.js +40 -0
  84. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.module.js +23 -0
  85. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.component.js +48 -0
  86. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.module.js +23 -0
  87. package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.component.js +50 -0
  88. package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.module.js +23 -0
  89. package/esm2015/lib/component/transaction-line-fields/transaction-line-fields-base.component.js +22 -0
  90. package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.component.js +50 -0
  91. package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.module.js +23 -0
  92. package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.component.js +49 -0
  93. package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.module.js +23 -0
  94. package/esm2015/lib/component/transaction-line-fields/transaction-line-price.component.js +49 -0
  95. package/esm2015/lib/component/transaction-line-fields/transaction-line-price.module.js +23 -0
  96. package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.component.js +36 -0
  97. package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.module.js +23 -0
  98. package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.js +50 -0
  99. package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.js +23 -0
  100. package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.component.js +48 -0
  101. package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.module.js +23 -0
  102. package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.component.js +50 -0
  103. package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.module.js +23 -0
  104. package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.component.js +49 -0
  105. package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.module.js +23 -0
  106. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +49 -0
  107. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.module.js +24 -0
  108. package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.component.js +23 -0
  109. package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.module.js +21 -0
  110. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +91 -0
  111. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.js +36 -0
  112. package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.js +134 -0
  113. package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.js +56 -0
  114. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +128 -0
  115. package/esm2015/lib/component/transaction-lines/transaction-lines.module.js +31 -0
  116. package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.component.js +63 -0
  117. package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.module.js +27 -0
  118. package/esm2015/lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component.js +29 -0
  119. package/esm2015/lib/component/transaction-nav-bar/transaction-nav-bar.component.js +65 -0
  120. package/esm2015/lib/component/transaction-nav-bar/transaction-nav-bar.module.js +26 -0
  121. package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.js +39 -0
  122. package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module.js +25 -0
  123. package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.js +28 -0
  124. package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.js +27 -0
  125. package/esm2015/lib/component/transaction-totals/transaction-totals.component.js +44 -0
  126. package/esm2015/lib/component/transaction-totals/transaction-totals.module.js +23 -0
  127. package/esm2015/lib/enum/content-view-mode.enum.js +10 -0
  128. package/esm2015/lib/enum/icon.enum.js +28 -0
  129. package/esm2015/lib/enum/language-code.enum.js +8 -0
  130. package/esm2015/lib/enum/order-discount-type.enum.js +7 -0
  131. package/esm2015/lib/enum/status-type.enum.js +5 -0
  132. package/esm2015/lib/enum/tab-category.enum.js +10 -0
  133. package/esm2015/lib/enum/time-size.type.js +10 -0
  134. package/esm2015/lib/factory/business-object-factory.js +120 -0
  135. package/esm2015/lib/factory/decorators/boolean.decorator.js +102 -0
  136. package/esm2015/lib/factory/decorators/complex-array.decorator.js +55 -0
  137. package/esm2015/lib/factory/decorators/complex-field.decorator.js +57 -0
  138. package/esm2015/lib/factory/decorators/date-field.decorator.js +36 -0
  139. package/esm2015/lib/factory/decorators/string-number.decorator.js +43 -0
  140. package/esm2015/lib/model/business-object.js +81 -0
  141. package/esm2015/lib/model/delivery-type.js +3 -0
  142. package/esm2015/lib/model/icon-svg.js +27 -0
  143. package/esm2015/lib/model/standard-text.js +3 -0
  144. package/esm2015/lib/model/text-value-container.js +3 -0
  145. package/esm2015/lib/pipe/append.pipe.js +17 -0
  146. package/esm2015/lib/pipe/co-currency.pipe.js +47 -0
  147. package/esm2015/lib/pipe/date-duration.pipe.js +57 -0
  148. package/esm2015/lib/pipe/delivery-time.pipe.js +36 -0
  149. package/esm2015/lib/pipe/localize.pipe.js +28 -0
  150. package/esm2015/lib/pipe/pipe.module.js +37 -0
  151. package/esm2015/lib/pipe/safe-html.pipe.js +19 -0
  152. package/esm2015/lib/pipe/safe-style.pipe.js +19 -0
  153. package/esm2015/lib/service/dialog.service.js +76 -0
  154. package/esm2015/lib/service/dictionary.service.js +76 -0
  155. package/esm2015/lib/service/icon-cache.service.js +51 -0
  156. package/esm2015/lib/service/ione-connector-adapter.service.js +836 -0
  157. package/esm2015/lib/service/options.service.js +69 -0
  158. package/esm2015/lib/service/pending-reason.service.js +183 -0
  159. package/esm2015/lib/service/transaction.service.js +679 -0
  160. package/esm2015/lib/utils/array-utils.js +183 -0
  161. package/esm2015/lib/utils/is-nill.function.js +5 -0
  162. package/esm2015/lib/utils/string-utils.js +64 -0
  163. package/esm2015/public_api.js +28 -10
  164. package/fesm2015/colijnit-transaction.js +7894 -6976
  165. package/fesm2015/colijnit-transaction.js.map +1 -1
  166. package/{assets → lib/assets}/dictionary/text.properties.d.ts +0 -0
  167. package/{app → lib}/component/checkout/checkout-login/checkout-login.component.d.ts +0 -0
  168. package/{app → lib}/component/checkout/checkout-login/checkout-login.component.scss +0 -0
  169. package/{app → lib}/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.d.ts +0 -0
  170. package/{app → lib}/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.scss +0 -0
  171. package/{app → lib}/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +23 -36
  172. package/lib/component/checkout/checkout-overview-delivery-edit/style/_layout.scss +98 -0
  173. package/lib/component/checkout/checkout-overview-delivery-edit/style/_material-definition.scss +12 -0
  174. package/lib/component/checkout/checkout-overview-delivery-edit/style/_theme.scss +17 -0
  175. package/lib/component/checkout/checkout-overview-delivery-edit/style/material.scss +7 -0
  176. package/{app → lib}/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +40 -12
  177. package/lib/component/checkout/checkout-overview-relation-edit/style/_layout.scss +125 -0
  178. package/lib/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +18 -0
  179. package/{app → lib}/component/checkout/checkout-overview-relation-edit/style/_theme.scss +1 -1
  180. package/lib/component/checkout/checkout-overview-relation-edit/style/material.scss +10 -0
  181. package/{app → lib}/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.d.ts +0 -0
  182. package/{app → lib}/component/checkout/checkout-relation-suggestions-list/style/_layout.scss +3 -2
  183. package/{app/component/checkout/checkout-overview-relation-address → lib/component/checkout/checkout-relation-suggestions-list}/style/_material-definition.scss +0 -0
  184. package/{app → lib}/component/checkout/checkout-relation-suggestions-list/style/_theme.scss +1 -1
  185. package/{app → lib}/component/checkout/checkout-relation-suggestions-list/style/material.scss +1 -1
  186. package/{app → lib}/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.d.ts +0 -0
  187. package/{app → lib}/component/checkout/checkout-relation-suggestions-list-item/style/_layout.scss +1 -1
  188. package/{app → lib}/component/checkout/checkout-relation-suggestions-list-item/style/_material-definition.scss +0 -0
  189. package/{app → lib}/component/checkout/checkout-relation-suggestions-list-item/style/_theme.scss +1 -1
  190. package/{app/component/core/base → lib/component/checkout/checkout-relation-suggestions-list-item}/style/material.scss +1 -1
  191. package/lib/component/checkout/checkout.component.d.ts +36 -0
  192. package/lib/component/checkout/checkout.module.d.ts +2 -0
  193. package/lib/component/checkout/style/_layout.scss +31 -0
  194. package/lib/component/checkout/style/_material-definition.scss +5 -0
  195. package/lib/component/checkout/style/_theme.scss +8 -0
  196. package/lib/component/checkout/style/material.scss +10 -0
  197. package/lib/component/confirmation-dialog/confirmation-dialog.component.d.ts +12 -0
  198. package/lib/component/confirmation-dialog/confirmation-dialog.module.d.ts +2 -0
  199. package/lib/component/confirmation-dialog/style/_layout.scss +22 -0
  200. package/lib/component/confirmation-dialog/style/_material-definition.scss +2 -0
  201. package/lib/component/confirmation-dialog/style/_theme.scss +6 -0
  202. package/lib/component/confirmation-dialog/style/material.scss +5 -0
  203. package/{app → lib}/component/core/base/default-ok-cancel-buttons.component.d.ts +0 -0
  204. package/lib/component/core/base/dialog-base.component.d.ts +4 -0
  205. package/{app → lib}/component/core/base/style/_layout.scss +1 -1
  206. package/{app/component/checkout/checkout-relation-suggestions-list → lib/component/core/base}/style/_material-definition.scss +0 -0
  207. package/{app → lib}/component/core/base/style/_theme.scss +1 -1
  208. package/{app/component/checkout/checkout-overview-relation-address → lib/component/core/base}/style/material.scss +1 -1
  209. package/{app → lib}/component/core/base/transaction-base.component.d.ts +7 -23
  210. package/{app → lib}/component/core/characteristic-answer/characteristic-answer.component.scss +3 -1
  211. package/{app → lib}/component/core/core.module.d.ts +0 -0
  212. package/lib/component/core/enum/app-popup-button-type.enum.d.ts +9 -0
  213. package/lib/component/core/enum/app-popup-type.enum.d.ts +6 -0
  214. package/{app → lib}/component/core/icon/icon.component.d.ts +3 -2
  215. package/{app → lib}/component/core/icon/icon.component.scss +3 -1
  216. package/lib/component/core/image-display/image-display.component.d.ts +5 -0
  217. package/lib/component/core/image-display/style/_layout.scss +55 -0
  218. package/lib/component/core/image-display/style/_material-definition.scss +4 -0
  219. package/{app → lib}/component/core/image-display/style/_theme.scss +1 -1
  220. package/{app → lib}/component/core/image-display/style/material.scss +1 -1
  221. package/{app → lib}/component/core/relation/customer-groups.component.d.ts +0 -0
  222. package/lib/component/core/relation/relation-customer-groups.component.scss +6 -0
  223. package/{app → lib}/component/core/stock-status-indicator/stock-status-indicator.component.d.ts +0 -0
  224. package/{app → lib}/component/core/stock-status-indicator/stock-status-indicator.component.scss +3 -1
  225. package/lib/component/delivery-type-tile/delivery-type-tile.component.d.ts +10 -0
  226. package/lib/component/delivery-type-tile/delivery-type-tile.module.d.ts +2 -0
  227. package/lib/component/delivery-type-tile/style/_layout.scss +35 -0
  228. package/lib/component/delivery-type-tile/style/_material-definition.scss +16 -0
  229. package/lib/component/delivery-type-tile/style/_theme.scss +6 -0
  230. package/lib/component/delivery-type-tile/style/material.scss +5 -0
  231. package/lib/component/discount/discount.component.d.ts +19 -0
  232. package/lib/component/discount/discount.module.d.ts +2 -0
  233. package/{app/component/checkout/checkout-overview-block/checkout-overview-block.component.scss → lib/component/discount/style/_layout.scss} +0 -0
  234. package/{app/component/core/base → lib/component/discount}/style/_material-definition.scss +0 -0
  235. package/{app/component/checkout/checkout-overview/checkout-overview.component.scss → lib/component/discount/style/_theme.scss} +0 -0
  236. package/{app/component/core/image-display/style/_material-definition.scss → lib/component/discount/style/material.scss} +0 -0
  237. package/lib/component/order-confirmation-create/style/_layout.scss +5 -0
  238. package/lib/component/order-confirmation-create/style/_material-definition.scss +1 -0
  239. package/lib/component/order-confirmation-create/style/_theme.scss +5 -0
  240. package/{app/component/checkout/checkout-relation-suggestions-list-item → lib/component/order-confirmation-create}/style/material.scss +1 -1
  241. package/lib/component/order-confirmation-grid.component/order-confirmation-grid.component.d.ts +15 -0
  242. package/lib/component/order-confirmation-grid.component/order-confirmation-grid.module.d.ts +2 -0
  243. package/lib/component/order-confirmation-grid.component/style/_layout.scss +5 -0
  244. package/lib/component/order-confirmation-grid.component/style/_material-definition.scss +1 -0
  245. package/lib/component/order-confirmation-grid.component/style/_theme.scss +5 -0
  246. package/lib/component/order-confirmation-grid.component/style/material.scss +4 -0
  247. package/lib/component/order-grid/order-grid.component.d.ts +23 -0
  248. package/lib/component/order-grid/order-grid.module.d.ts +2 -0
  249. package/lib/component/order-grid/style/_layout.scss +21 -0
  250. package/lib/component/order-grid/style/_material-definition.scss +2 -0
  251. package/lib/component/order-grid/style/_theme.scss +6 -0
  252. package/lib/component/order-grid/style/material.scss +4 -0
  253. package/lib/component/payment/payment.component.d.ts +18 -0
  254. package/lib/component/payment/payment.module.d.ts +2 -0
  255. package/lib/component/payment/style/_layout.scss +54 -0
  256. package/lib/component/payment/style/_material-definition.scss +17 -0
  257. package/lib/component/payment/style/_theme.scss +16 -0
  258. package/lib/component/payment/style/material.scss +5 -0
  259. package/lib/component/payment-tile/payment-tile.component.d.ts +9 -0
  260. package/lib/component/payment-tile/payment-tile.module.d.ts +2 -0
  261. package/lib/component/payment-tile/style/_layout.scss +22 -0
  262. package/{app/component/core/no-image-display/no-image-display.component.scss → lib/component/payment-tile/style/_material-definition.scss} +0 -0
  263. package/lib/component/payment-tile/style/_theme.scss +6 -0
  264. package/lib/component/payment-tile/style/material.scss +5 -0
  265. package/lib/component/relation-address/relation-address.component.d.ts +28 -0
  266. package/lib/component/relation-address/relation-address.module.d.ts +2 -0
  267. package/lib/component/relation-address/style/_layout.scss +25 -0
  268. package/lib/component/relation-address/style/_material-definition.scss +3 -0
  269. package/lib/component/relation-address/style/_theme.scss +7 -0
  270. package/lib/component/relation-address/style/material.scss +5 -0
  271. package/lib/component/relation-address-select/relation-address-select.component.d.ts +33 -0
  272. package/lib/component/relation-address-select/relation-address-select.module.d.ts +2 -0
  273. package/lib/component/relation-address-select/style/_layout.scss +85 -0
  274. package/lib/component/relation-address-select/style/_material-definition.scss +4 -0
  275. package/lib/component/relation-address-select/style/_theme.scss +6 -0
  276. package/lib/component/relation-address-select/style/material.scss +5 -0
  277. package/lib/component/relation-address-tile/relation-address-tile.component.d.ts +14 -0
  278. package/lib/component/relation-address-tile/relation-address-tile.module.d.ts +2 -0
  279. package/lib/component/relation-address-tile/style/_layout.scss +42 -0
  280. package/lib/component/relation-address-tile/style/_material-definition.scss +16 -0
  281. package/lib/component/relation-address-tile/style/_theme.scss +21 -0
  282. package/lib/component/relation-address-tile/style/material.scss +5 -0
  283. package/lib/component/seller-information/seller-information.component.d.ts +13 -0
  284. package/lib/component/seller-information/seller-information.module.d.ts +2 -0
  285. package/lib/component/seller-information/style/_layout.scss +21 -0
  286. package/lib/component/seller-information/style/_material-definition.scss +2 -0
  287. package/lib/component/seller-information/style/_theme.scss +7 -0
  288. package/lib/component/seller-information/style/material.scss +4 -0
  289. package/lib/component/shared/transaction-article-text/style/_layout.scss +42 -0
  290. package/lib/component/shared/transaction-article-text/style/_material-definition.scss +7 -0
  291. package/lib/component/shared/transaction-article-text/style/_theme.scss +11 -0
  292. package/lib/component/shared/transaction-article-text/style/material.scss +5 -0
  293. package/lib/component/shared/transaction-article-text/transaction-article-text.component.d.ts +31 -0
  294. package/lib/component/shared/transaction-article-text/transaction-article-text.module.d.ts +2 -0
  295. package/lib/component/shared/transaction-article-text-overview/style/_layout.scss +56 -0
  296. package/lib/component/shared/transaction-article-text-overview/style/_material-definition.scss +9 -0
  297. package/lib/component/shared/transaction-article-text-overview/style/_theme.scss +9 -0
  298. package/lib/component/shared/transaction-article-text-overview/style/material.scss +4 -0
  299. package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +30 -0
  300. package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.d.ts +2 -0
  301. package/lib/component/shopping-cart/shopping-cart.component.d.ts +15 -0
  302. package/lib/component/shopping-cart/shopping-cart.module.d.ts +2 -0
  303. package/lib/component/shopping-cart/style/_layout.scss +33 -0
  304. package/lib/component/shopping-cart/style/_material-definition.scss +10 -0
  305. package/lib/component/shopping-cart/style/_theme.scss +14 -0
  306. package/lib/component/shopping-cart/style/material.scss +4 -0
  307. package/{app/component/shopping-cart → lib/component/shopping-cart-OLD}/shopping-cart-manager/shopping-cart-manager.component.scss +4 -2
  308. package/lib/component/shopping-cart-preview/shopping-cart-preview.component.d.ts +13 -0
  309. package/lib/component/shopping-cart-preview/shopping-cart-preview.module.d.ts +2 -0
  310. package/lib/component/shopping-cart-preview/style/_layout.scss +48 -0
  311. package/lib/component/shopping-cart-preview/style/_material-definition.scss +20 -0
  312. package/lib/component/shopping-cart-preview/style/_theme.scss +17 -0
  313. package/lib/component/shopping-cart-preview/style/material.scss +4 -0
  314. package/lib/component/stepper/component/stepper-step.component.d.ts +12 -0
  315. package/lib/component/stepper/stepper.component.d.ts +35 -0
  316. package/lib/component/stepper/stepper.module.d.ts +2 -0
  317. package/lib/component/stepper/style/_layout.scss +107 -0
  318. package/lib/component/stepper/style/_material-definition.scss +18 -0
  319. package/lib/component/stepper/style/_theme.scss +43 -0
  320. package/lib/component/stepper/style/material.scss +4 -0
  321. package/lib/component/tile/style/_layout.scss +36 -0
  322. package/lib/component/tile/style/_material-definition.scss +16 -0
  323. package/lib/component/tile/style/_theme.scss +36 -0
  324. package/lib/component/tile/style/material.scss +4 -0
  325. package/lib/component/tile/tile.component.d.ts +6 -0
  326. package/lib/component/tile/tile.module.d.ts +2 -0
  327. package/lib/component/transaction/style/_layout.scss +31 -0
  328. package/lib/component/transaction/style/_material-definition.scss +7 -0
  329. package/lib/component/transaction/style/_theme.scss +24 -0
  330. package/lib/component/transaction/style/material.scss +11 -0
  331. package/lib/component/transaction/transaction.component.d.ts +39 -0
  332. package/lib/component/transaction/transaction.module.d.ts +2 -0
  333. package/lib/component/transaction-commit-bar/style/_layout.scss +16 -0
  334. package/lib/component/transaction-commit-bar/style/_material-definition.scss +1 -0
  335. package/lib/component/transaction-commit-bar/style/_theme.scss +7 -0
  336. package/lib/component/transaction-commit-bar/style/material.scss +4 -0
  337. package/lib/component/transaction-commit-bar/transaction-commit-bar.component.d.ts +11 -0
  338. package/lib/component/transaction-commit-bar/transaction-commit-bar.module.d.ts +2 -0
  339. package/lib/component/transaction-confirmation-history/style/_layout.scss +7 -0
  340. package/lib/component/transaction-confirmation-history/style/_material-definition.scss +1 -0
  341. package/lib/component/transaction-confirmation-history/style/_theme.scss +7 -0
  342. package/lib/component/transaction-confirmation-history/style/material.scss +4 -0
  343. package/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.d.ts +5 -0
  344. package/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.d.ts +2 -0
  345. package/lib/component/transaction-header/style/_layout.scss +38 -0
  346. package/lib/component/transaction-header/style/_material-definition.scss +8 -0
  347. package/lib/component/transaction-header/style/_theme.scss +11 -0
  348. package/lib/component/transaction-header/style/material.scss +7 -0
  349. package/lib/component/transaction-header/transaction-header.component.d.ts +12 -0
  350. package/lib/component/transaction-header/transaction-header.module.d.ts +2 -0
  351. package/lib/component/transaction-header-contact/style/_layout.scss +25 -0
  352. package/lib/component/transaction-header-contact/style/_material-definition.scss +7 -0
  353. package/lib/component/transaction-header-contact/style/_theme.scss +11 -0
  354. package/lib/component/transaction-header-contact/style/material.scss +4 -0
  355. package/lib/component/transaction-header-contact/transaction-header-contact.component.d.ts +4 -0
  356. package/lib/component/transaction-header-contact/transaction-header-contact.module.d.ts +2 -0
  357. package/lib/component/transaction-header-delivery/style/_layout.scss +54 -0
  358. package/lib/component/transaction-header-delivery/style/_material-definition.scss +12 -0
  359. package/lib/component/transaction-header-delivery/style/_theme.scss +24 -0
  360. package/lib/component/transaction-header-delivery/style/material.scss +4 -0
  361. package/lib/component/transaction-header-delivery/transaction-header-delivery.component.d.ts +13 -0
  362. package/lib/component/transaction-header-delivery/transaction-header-delivery.module.d.ts +2 -0
  363. package/lib/component/transaction-header-relation/style/_layout.scss +25 -0
  364. package/lib/component/transaction-header-relation/style/_material-definition.scss +7 -0
  365. package/lib/component/transaction-header-relation/style/_theme.scss +11 -0
  366. package/lib/component/transaction-header-relation/style/material.scss +4 -0
  367. package/lib/component/transaction-header-relation/transaction-header-relation.component.d.ts +4 -0
  368. package/lib/component/transaction-header-relation/transaction-header-relation.module.d.ts +2 -0
  369. package/lib/component/transaction-history-grid/style/_layout.scss +7 -0
  370. package/{app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.scss → lib/component/transaction-history-grid/style/_material-definition.scss} +0 -0
  371. package/lib/component/transaction-history-grid/style/_theme.scss +7 -0
  372. package/lib/component/transaction-history-grid/style/material.scss +4 -0
  373. package/lib/component/transaction-history-grid/transaction-history-grid.component.d.ts +14 -0
  374. package/lib/component/transaction-history-grid/transaction-history-grid.module.d.ts +2 -0
  375. package/lib/component/transaction-history-grid-status/style/_layout.scss +28 -0
  376. package/{app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.scss → lib/component/transaction-history-grid-status/style/_material-definition.scss} +0 -0
  377. package/lib/component/transaction-history-grid-status/style/_theme.scss +7 -0
  378. package/lib/component/transaction-history-grid-status/style/material.scss +4 -0
  379. package/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.d.ts +9 -0
  380. package/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.d.ts +2 -0
  381. package/lib/component/transaction-line/style/_layout.scss +143 -0
  382. package/lib/component/transaction-line/style/_material-definition.scss +29 -0
  383. package/lib/component/transaction-line/style/_theme.scss +41 -0
  384. package/lib/component/transaction-line/style/material.scss +9 -0
  385. package/lib/component/transaction-line/transaction-line.component.d.ts +52 -0
  386. package/lib/component/transaction-line/transaction-line.module.d.ts +2 -0
  387. package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +12 -0
  388. package/lib/component/transaction-line-fields/transaction-line-commission-code.module.d.ts +2 -0
  389. package/lib/component/transaction-line-fields/transaction-line-delivery-date.component.d.ts +7 -0
  390. package/lib/component/transaction-line-fields/transaction-line-delivery-date.module.d.ts +2 -0
  391. package/lib/component/transaction-line-fields/transaction-line-delivery-method.component.d.ts +12 -0
  392. package/lib/component/transaction-line-fields/transaction-line-delivery-method.module.d.ts +2 -0
  393. package/lib/component/transaction-line-fields/transaction-line-discount-amount.component.d.ts +10 -0
  394. package/lib/component/transaction-line-fields/transaction-line-discount-amount.module.d.ts +2 -0
  395. package/lib/component/transaction-line-fields/transaction-line-fields-base.component.d.ts +6 -0
  396. package/lib/component/transaction-line-fields/transaction-line-line-discount.component.d.ts +10 -0
  397. package/lib/component/transaction-line-fields/transaction-line-line-discount.module.d.ts +2 -0
  398. package/lib/component/transaction-line-fields/transaction-line-price-list.component.d.ts +12 -0
  399. package/lib/component/transaction-line-fields/transaction-line-price-list.module.d.ts +2 -0
  400. package/lib/component/transaction-line-fields/transaction-line-price.component.d.ts +10 -0
  401. package/lib/component/transaction-line-fields/transaction-line-price.module.d.ts +2 -0
  402. package/lib/component/transaction-line-fields/transaction-line-quantity.component.d.ts +7 -0
  403. package/lib/component/transaction-line-fields/transaction-line-quantity.module.d.ts +2 -0
  404. package/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.d.ts +10 -0
  405. package/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.d.ts +2 -0
  406. package/lib/component/transaction-line-fields/transaction-line-reference.component.d.ts +10 -0
  407. package/lib/component/transaction-line-fields/transaction-line-reference.module.d.ts +2 -0
  408. package/lib/component/transaction-line-fields/transaction-line-special-discount.component.d.ts +10 -0
  409. package/lib/component/transaction-line-fields/transaction-line-special-discount.module.d.ts +2 -0
  410. package/lib/component/transaction-line-fields/transaction-line-vat.component.d.ts +12 -0
  411. package/lib/component/transaction-line-fields/transaction-line-vat.module.d.ts +2 -0
  412. package/lib/component/transaction-line-fields/transaction-line-warehouse.component.d.ts +12 -0
  413. package/lib/component/transaction-line-fields/transaction-line-warehouse.module.d.ts +2 -0
  414. package/lib/component/transaction-line-grid/style/_layout.scss +6 -0
  415. package/{app/component/service-order/transaction-sidebar/transaction-line-accordion.component.scss → lib/component/transaction-line-grid/style/_material-definition.scss} +0 -0
  416. package/lib/component/transaction-line-grid/style/_theme.scss +6 -0
  417. package/lib/component/transaction-line-grid/style/material.scss +4 -0
  418. package/lib/component/transaction-line-grid/transaction-line-grid.component.d.ts +5 -0
  419. package/lib/component/transaction-line-grid/transaction-line-grid.module.d.ts +2 -0
  420. package/lib/component/transaction-line-side-panel/style/_layout.scss +64 -0
  421. package/lib/component/transaction-line-side-panel/style/_material-definition.scss +8 -0
  422. package/lib/component/transaction-line-side-panel/style/_theme.scss +9 -0
  423. package/lib/component/transaction-line-side-panel/style/material.scss +9 -0
  424. package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +18 -0
  425. package/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.d.ts +2 -0
  426. package/lib/component/transaction-line-side-panel-default/style/_layout.scss +29 -0
  427. package/lib/component/transaction-line-side-panel-default/style/_material-definition.scss +10 -0
  428. package/lib/component/transaction-line-side-panel-default/style/_theme.scss +7 -0
  429. package/lib/component/transaction-line-side-panel-default/style/material.scss +4 -0
  430. package/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.d.ts +16 -0
  431. package/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.d.ts +2 -0
  432. package/lib/component/transaction-lines/style/_layout.scss +33 -0
  433. package/lib/component/transaction-lines/style/_material-definition.scss +3 -0
  434. package/lib/component/transaction-lines/style/_theme.scss +19 -0
  435. package/lib/component/transaction-lines/style/material.scss +7 -0
  436. package/lib/component/transaction-lines/transaction-lines.component.d.ts +37 -0
  437. package/lib/component/transaction-lines/transaction-lines.module.d.ts +2 -0
  438. package/lib/component/transaction-lines-grid/style/_layout.scss +37 -0
  439. package/lib/component/transaction-lines-grid/style/_material-definition.scss +19 -0
  440. package/lib/component/transaction-lines-grid/style/_theme.scss +15 -0
  441. package/lib/component/transaction-lines-grid/style/material.scss +5 -0
  442. package/lib/component/transaction-lines-grid/transaction-lines-grid.component.d.ts +20 -0
  443. package/lib/component/transaction-lines-grid/transaction-lines-grid.module.d.ts +2 -0
  444. package/lib/component/transaction-nav-bar/style/_layout.scss +13 -0
  445. package/lib/component/transaction-nav-bar/style/_material-definition.scss +1 -0
  446. package/lib/component/transaction-nav-bar/style/_theme.scss +7 -0
  447. package/lib/component/transaction-nav-bar/style/material.scss +4 -0
  448. package/lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component.d.ts +14 -0
  449. package/lib/component/transaction-nav-bar/transaction-nav-bar-button/transaction-nav-bar-button.component.scss +23 -0
  450. package/lib/component/transaction-nav-bar/transaction-nav-bar.component.d.ts +18 -0
  451. package/lib/component/transaction-nav-bar/transaction-nav-bar.module.d.ts +2 -0
  452. package/lib/component/transaction-receiving-goods-details/style/_layout.scss +38 -0
  453. package/lib/component/transaction-receiving-goods-details/style/_material-definition.scss +1 -0
  454. package/lib/component/transaction-receiving-goods-details/style/_theme.scss +7 -0
  455. package/lib/component/transaction-receiving-goods-details/style/material.scss +4 -0
  456. package/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.d.ts +6 -0
  457. package/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module.d.ts +2 -0
  458. package/lib/component/transaction-receiving-goods-history/style/_layout.scss +7 -0
  459. package/lib/component/transaction-receiving-goods-history/style/_material-definition.scss +1 -0
  460. package/lib/component/transaction-receiving-goods-history/style/_theme.scss +7 -0
  461. package/lib/component/transaction-receiving-goods-history/style/material.scss +4 -0
  462. package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.d.ts +5 -0
  463. package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.d.ts +2 -0
  464. package/lib/component/transaction-totals/style/_layout.scss +35 -0
  465. package/lib/component/transaction-totals/style/_material-definition.scss +15 -0
  466. package/lib/component/transaction-totals/style/_theme.scss +10 -0
  467. package/lib/component/transaction-totals/style/material.scss +4 -0
  468. package/lib/component/transaction-totals/transaction-totals.component.d.ts +9 -0
  469. package/lib/component/transaction-totals/transaction-totals.module.d.ts +2 -0
  470. package/{app → lib}/enum/content-view-mode.enum.d.ts +0 -0
  471. package/lib/enum/icon.enum.d.ts +26 -0
  472. package/{app → lib}/enum/language-code.enum.d.ts +0 -0
  473. package/{app → lib}/enum/order-discount-type.enum.d.ts +0 -0
  474. package/lib/enum/status-type.enum.d.ts +3 -0
  475. package/lib/enum/tab-category.enum.d.ts +8 -0
  476. package/{app → lib}/enum/time-size.type.d.ts +0 -0
  477. package/{factory → lib/factory}/business-object-factory.d.ts +1 -1
  478. package/{factory → lib/factory}/decorators/boolean.decorator.d.ts +0 -0
  479. package/{factory → lib/factory}/decorators/complex-array.decorator.d.ts +0 -0
  480. package/{factory → lib/factory}/decorators/complex-field.decorator.d.ts +0 -0
  481. package/{factory → lib/factory}/decorators/date-field.decorator.d.ts +0 -0
  482. package/{factory → lib/factory}/decorators/string-number.decorator.d.ts +0 -0
  483. package/{app → lib}/model/business-object.d.ts +0 -0
  484. package/lib/model/delivery-type.d.ts +7 -0
  485. package/lib/model/icon-svg.d.ts +4 -0
  486. package/{app → lib}/model/standard-text.d.ts +0 -0
  487. package/{app → lib}/model/text-value-container.d.ts +0 -0
  488. package/{app → lib}/pipe/append.pipe.d.ts +0 -0
  489. package/{app → lib}/pipe/co-currency.pipe.d.ts +0 -0
  490. package/{app → lib}/pipe/date-duration.pipe.d.ts +0 -0
  491. package/{app → lib}/pipe/delivery-time.pipe.d.ts +0 -0
  492. package/{app → lib}/pipe/localize.pipe.d.ts +0 -0
  493. package/lib/pipe/pipe.module.d.ts +2 -0
  494. package/lib/pipe/safe-html.pipe.d.ts +7 -0
  495. package/{app/pipe/safe-style-pipe.d.ts → lib/pipe/safe-style.pipe.d.ts} +0 -0
  496. package/lib/service/dialog.service.d.ts +12 -0
  497. package/{app → lib}/service/dictionary.service.d.ts +0 -0
  498. package/lib/service/icon-cache.service.d.ts +18 -0
  499. package/{app → lib}/service/ione-connector-adapter.service.d.ts +34 -13
  500. package/{app → lib}/service/options.service.d.ts +3 -4
  501. package/lib/service/pending-reason.service.d.ts +32 -0
  502. package/{app → lib}/service/transaction.service.d.ts +35 -55
  503. package/{style → lib/style}/_mixin.scss +0 -0
  504. package/{style → lib/style}/_variables.scss +29 -3
  505. package/{utils → lib/utils}/array-utils.d.ts +0 -0
  506. package/{utils → lib/utils}/is-nill.function.d.ts +0 -0
  507. package/{app → lib}/utils/string-utils.d.ts +0 -0
  508. package/package.json +27 -33
  509. package/public_api.d.ts +27 -6
  510. package/app/app.component.scss +0 -39
  511. package/app/component/checkout/checkout/checkout.component.d.ts +0 -34
  512. package/app/component/checkout/checkout/checkout.component.scss +0 -137
  513. package/app/component/checkout/checkout-overview/checkout-overview.component.d.ts +0 -42
  514. package/app/component/checkout/checkout-overview-block/checkout-overview-block.component.d.ts +0 -12
  515. package/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.scss +0 -3
  516. package/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.d.ts +0 -23
  517. package/app/component/checkout/checkout-overview-relation-address/style/_layout.scss +0 -19
  518. package/app/component/checkout/checkout-overview-relation-address/style/_theme.scss +0 -7
  519. package/app/component/checkout/checkout-overview-relation-edit/style/_layout.scss +0 -92
  520. package/app/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +0 -15
  521. package/app/component/checkout/checkout-overview-relation-edit/style/material.scss +0 -5
  522. package/app/component/checkout/checkout-transaction/checkout-transaction.component.d.ts +0 -16
  523. package/app/component/checkout/checkout-transaction/checkout-transaction.component.scss +0 -11
  524. package/app/component/checkout/ione-checkout.component.d.ts +0 -41
  525. package/app/component/checkout/ione-checkout.module.d.ts +0 -2
  526. package/app/component/core/characteristic-answer/characteristic-answer.component.d.ts +0 -22
  527. package/app/component/core/directive/template-wrapper.directive.d.ts +0 -13
  528. package/app/component/core/image-display/image-display.component.d.ts +0 -14
  529. package/app/component/core/image-display/style/_layout.scss +0 -39
  530. package/app/component/core/no-image-display/no-image-display.component.d.ts +0 -5
  531. package/app/component/service-order/ione-service-order-module.d.ts +0 -2
  532. package/app/component/service-order/ione-service-order.component.d.ts +0 -25
  533. package/app/component/service-order/service-order.component.d.ts +0 -52
  534. package/app/component/service-order/service-order.component.scss +0 -152
  535. package/app/component/service-order/summary/transaction-article-summary.component.d.ts +0 -17
  536. package/app/component/service-order/summary/transaction-delivery-summary.component.d.ts +0 -20
  537. package/app/component/service-order/summary/transaction-delivery-summary.component.scss +0 -20
  538. package/app/component/service-order/summary/transaction-order-summary.component.d.ts +0 -16
  539. package/app/component/service-order/summary/transaction-payment-info.component.d.ts +0 -14
  540. package/app/component/service-order/summary/transaction-product-contract-summary.component.d.ts +0 -7
  541. package/app/component/service-order/summary/transaction-product-summary.component.d.ts +0 -15
  542. package/app/component/service-order/summary/transaction-service-status.component.d.ts +0 -15
  543. package/app/component/service-order/summary/transaction-service-summary.component.d.ts +0 -15
  544. package/app/component/service-order/summary/transaction-summary-block.component.d.ts +0 -16
  545. package/app/component/service-order/summary/transaction-summary-block.component.scss +0 -107
  546. package/app/component/service-order/transaction-article-text/transaction-article-text.component.d.ts +0 -33
  547. package/app/component/service-order/transaction-article-text/transaction-article-text.component.scss +0 -6
  548. package/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +0 -23
  549. package/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.d.ts +0 -19
  550. package/app/component/service-order/transaction-header-block/transaction-header-block.component.d.ts +0 -15
  551. package/app/component/service-order/transaction-header-block/transaction-header-block.component.scss +0 -65
  552. package/app/component/service-order/transaction-manager/transaction-manager.component.d.ts +0 -64
  553. package/app/component/service-order/transaction-manager/transaction-manager.component.scss +0 -52
  554. package/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.d.ts +0 -16
  555. package/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.scss +0 -88
  556. package/app/component/service-order/transaction-order-lines/transaction-order-lines.component.d.ts +0 -25
  557. package/app/component/service-order/transaction-order-lines/transaction-order-lines.component.scss +0 -83
  558. package/app/component/service-order/transaction-order-totals/transaction-order-totals.component.d.ts +0 -6
  559. package/app/component/service-order/transaction-order-totals/transaction-order-totals.component.scss +0 -24
  560. package/app/component/service-order/transaction-relation/transaction-relation-address.component.d.ts +0 -22
  561. package/app/component/service-order/transaction-relation/transaction-relation-edit.component.d.ts +0 -29
  562. package/app/component/service-order/transaction-relation/transaction-relation-edit.component.scss +0 -24
  563. package/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.d.ts +0 -11
  564. package/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.d.ts +0 -26
  565. package/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.scss +0 -17
  566. package/app/component/service-order/warehouse/warehouse.component.d.ts +0 -35
  567. package/app/component/service-order/warehouse/warehouse.component.scss +0 -52
  568. package/app/component/shopping-cart/ione-shopping-cart.component.d.ts +0 -71
  569. package/app/component/shopping-cart/ione-shopping-cart.module.d.ts +0 -2
  570. package/app/component/shopping-cart/shopping-cart/shopping-cart.component.d.ts +0 -61
  571. package/app/component/shopping-cart/shopping-cart/shopping-cart.component.scss +0 -79
  572. package/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.d.ts +0 -34
  573. package/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.scss +0 -107
  574. package/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.d.ts +0 -91
  575. package/app/enum/checkout-steps.enum.d.ts +0 -7
  576. package/app/enum/position-grid-row.enum.d.ts +0 -4
  577. package/app/model/transaction-add-text-line-request.d.ts +0 -9
  578. package/app/service/transaction-event.service.d.ts +0 -53
  579. package/esm2015/app/component/checkout/checkout/checkout.component.js +0 -157
  580. package/esm2015/app/component/checkout/checkout-login/checkout-login.component.js +0 -106
  581. package/esm2015/app/component/checkout/checkout-overview/checkout-overview.component.js +0 -185
  582. package/esm2015/app/component/checkout/checkout-overview-block/checkout-overview-block.component.js +0 -47
  583. package/esm2015/app/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +0 -47
  584. package/esm2015/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +0 -420
  585. package/esm2015/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.js +0 -103
  586. package/esm2015/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +0 -377
  587. package/esm2015/app/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +0 -30
  588. package/esm2015/app/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +0 -31
  589. package/esm2015/app/component/checkout/checkout-transaction/checkout-transaction.component.js +0 -55
  590. package/esm2015/app/component/checkout/ione-checkout.component.js +0 -137
  591. package/esm2015/app/component/checkout/ione-checkout.module.js +0 -76
  592. package/esm2015/app/component/core/base/default-ok-cancel-buttons.component.js +0 -41
  593. package/esm2015/app/component/core/base/transaction-base.component.js +0 -146
  594. package/esm2015/app/component/core/characteristic-answer/characteristic-answer.component.js +0 -100
  595. package/esm2015/app/component/core/core.module.js +0 -48
  596. package/esm2015/app/component/core/directive/template-wrapper.directive.js +0 -69
  597. package/esm2015/app/component/core/image-display/image-display.component.js +0 -45
  598. package/esm2015/app/component/core/no-image-display/no-image-display.component.js +0 -26
  599. package/esm2015/app/component/core/relation/customer-groups.component.js +0 -40
  600. package/esm2015/app/component/service-order/ione-service-order-module.js +0 -114
  601. package/esm2015/app/component/service-order/ione-service-order.component.js +0 -96
  602. package/esm2015/app/component/service-order/service-order.component.js +0 -199
  603. package/esm2015/app/component/service-order/summary/transaction-article-summary.component.js +0 -55
  604. package/esm2015/app/component/service-order/summary/transaction-delivery-summary.component.js +0 -59
  605. package/esm2015/app/component/service-order/summary/transaction-order-summary.component.js +0 -43
  606. package/esm2015/app/component/service-order/summary/transaction-payment-info.component.js +0 -35
  607. package/esm2015/app/component/service-order/summary/transaction-product-contract-summary.component.js +0 -38
  608. package/esm2015/app/component/service-order/summary/transaction-product-summary.component.js +0 -41
  609. package/esm2015/app/component/service-order/summary/transaction-service-status.component.js +0 -37
  610. package/esm2015/app/component/service-order/summary/transaction-service-summary.component.js +0 -38
  611. package/esm2015/app/component/service-order/summary/transaction-summary-block.component.js +0 -53
  612. package/esm2015/app/component/service-order/transaction-article-text/transaction-article-text.component.js +0 -140
  613. package/esm2015/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.js +0 -105
  614. package/esm2015/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.js +0 -73
  615. package/esm2015/app/component/service-order/transaction-header-block/transaction-header-block.component.js +0 -83
  616. package/esm2015/app/component/service-order/transaction-manager/transaction-manager.component.js +0 -314
  617. package/esm2015/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.js +0 -76
  618. package/esm2015/app/component/service-order/transaction-order-lines/transaction-order-lines.component.js +0 -71
  619. package/esm2015/app/component/service-order/transaction-order-totals/transaction-order-totals.component.js +0 -36
  620. package/esm2015/app/component/service-order/transaction-relation/transaction-relation-address.component.js +0 -116
  621. package/esm2015/app/component/service-order/transaction-relation/transaction-relation-edit.component.js +0 -225
  622. package/esm2015/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.js +0 -172
  623. package/esm2015/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.js +0 -120
  624. package/esm2015/app/component/service-order/warehouse/warehouse.component.js +0 -133
  625. package/esm2015/app/component/shopping-cart/ione-shopping-cart.component.js +0 -185
  626. package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +0 -62
  627. package/esm2015/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +0 -294
  628. package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +0 -172
  629. package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +0 -451
  630. package/esm2015/app/enum/checkout-steps.enum.js +0 -10
  631. package/esm2015/app/enum/content-view-mode.enum.js +0 -10
  632. package/esm2015/app/enum/language-code.enum.js +0 -8
  633. package/esm2015/app/enum/order-discount-type.enum.js +0 -7
  634. package/esm2015/app/enum/position-grid-row.enum.js +0 -6
  635. package/esm2015/app/enum/time-size.type.js +0 -10
  636. package/esm2015/app/model/business-object.js +0 -81
  637. package/esm2015/app/model/standard-text.js +0 -3
  638. package/esm2015/app/model/text-value-container.js +0 -3
  639. package/esm2015/app/model/transaction-add-text-line-request.js +0 -11
  640. package/esm2015/app/pipe/append.pipe.js +0 -17
  641. package/esm2015/app/pipe/co-currency.pipe.js +0 -47
  642. package/esm2015/app/pipe/date-duration.pipe.js +0 -57
  643. package/esm2015/app/pipe/delivery-time.pipe.js +0 -33
  644. package/esm2015/app/pipe/localize.pipe.js +0 -28
  645. package/esm2015/app/pipe/safe-style-pipe.js +0 -19
  646. package/esm2015/app/service/dictionary.service.js +0 -76
  647. package/esm2015/app/service/ione-connector-adapter.service.js +0 -567
  648. package/esm2015/app/service/options.service.js +0 -91
  649. package/esm2015/app/service/transaction-event.service.js +0 -26
  650. package/esm2015/app/service/transaction.service.js +0 -584
  651. package/esm2015/app/utils/string-utils.js +0 -64
  652. package/esm2015/assets/dictionary/text.properties.js +0 -332
  653. package/esm2015/factory/business-object-factory.js +0 -120
  654. package/esm2015/factory/decorators/boolean.decorator.js +0 -102
  655. package/esm2015/factory/decorators/complex-array.decorator.js +0 -55
  656. package/esm2015/factory/decorators/complex-field.decorator.js +0 -57
  657. package/esm2015/factory/decorators/date-field.decorator.js +0 -36
  658. package/esm2015/factory/decorators/string-number.decorator.js +0 -43
  659. package/esm2015/utils/array-utils.js +0 -183
  660. package/esm2015/utils/is-nill.function.js +0 -5
  661. package/style/styles.scss +0 -367
  662. package/styles.scss +0 -11
@@ -0,0 +1,27 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { CoreModule } from "../core/core.module";
4
+ import { PipeModule } from "../../pipe/pipe.module";
5
+ import { TransactionReceivingGoodsHistoryComponent } from "./transaction-receiving-goods-history.component";
6
+ import { SimpleGridModule } from "@colijnit/corecomponents_v12";
7
+ import { TransactionHistoryGridModule } from "../transaction-history-grid/transaction-history-grid.module";
8
+ export class TransactionReceivingGoodsHistoryModule {
9
+ }
10
+ TransactionReceivingGoodsHistoryModule.decorators = [
11
+ { type: NgModule, args: [{
12
+ imports: [
13
+ CommonModule,
14
+ CoreModule,
15
+ PipeModule,
16
+ SimpleGridModule,
17
+ TransactionHistoryGridModule
18
+ ],
19
+ declarations: [
20
+ TransactionReceivingGoodsHistoryComponent
21
+ ],
22
+ exports: [
23
+ TransactionReceivingGoodsHistoryComponent
24
+ ]
25
+ },] }
26
+ ];
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcmVjZWl2aW5nLWdvb2RzLWhpc3RvcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcmVjZWl2aW5nLWdvb2RzLWhpc3RvcnkvdHJhbnNhY3Rpb24tcmVjZWl2aW5nLWdvb2RzLWhpc3RvcnkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLHlDQUF5QyxFQUFDLE1BQU0saURBQWlELENBQUM7QUFDMUcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFpQnpHLE1BQU0sT0FBTyxzQ0FBc0M7OztZQWZsRCxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osVUFBVTtvQkFDVixVQUFVO29CQUNWLGdCQUFnQjtvQkFDaEIsNEJBQTRCO2lCQUM3QjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1oseUNBQXlDO2lCQUMxQztnQkFDRCxPQUFPLEVBQUU7b0JBQ1AseUNBQXlDO2lCQUMxQzthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtDb3JlTW9kdWxlfSBmcm9tIFwiLi4vY29yZS9jb3JlLm1vZHVsZVwiO1xyXG5pbXBvcnQge1BpcGVNb2R1bGV9IGZyb20gXCIuLi8uLi9waXBlL3BpcGUubW9kdWxlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZWNlaXZpbmdHb29kc0hpc3RvcnlDb21wb25lbnR9IGZyb20gXCIuL3RyYW5zYWN0aW9uLXJlY2VpdmluZy1nb29kcy1oaXN0b3J5LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NpbXBsZUdyaWRNb2R1bGV9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IaXN0b3J5R3JpZE1vZHVsZX0gZnJvbSBcIi4uL3RyYW5zYWN0aW9uLWhpc3RvcnktZ3JpZC90cmFuc2FjdGlvbi1oaXN0b3J5LWdyaWQubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIENvcmVNb2R1bGUsXHJcbiAgICBQaXBlTW9kdWxlLFxyXG4gICAgU2ltcGxlR3JpZE1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uSGlzdG9yeUdyaWRNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVHJhbnNhY3Rpb25SZWNlaXZpbmdHb29kc0hpc3RvcnlDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFRyYW5zYWN0aW9uUmVjZWl2aW5nR29vZHNIaXN0b3J5Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25SZWNlaXZpbmdHb29kc0hpc3RvcnlNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
2
+ export class TransactionTotalsComponent {
3
+ constructor() {
4
+ this.showDiscount = false;
5
+ this.discountClick = new EventEmitter();
6
+ }
7
+ showClass() {
8
+ return true;
9
+ }
10
+ }
11
+ TransactionTotalsComponent.decorators = [
12
+ { type: Component, args: [{
13
+ selector: "co-transaction-totals",
14
+ template: `
15
+ <div class="transaction-totals-wrapper">
16
+ <span class="totals-gross label" [textContent]="'ORDER_GROSS' | localize"></span>
17
+ <span class="totals-gross value" [textContent]="totals?.grossAmount | coCurrency: true"></span>
18
+ <ng-container *ngIf="totals?.discountAmount">
19
+ <span class="totals-discount-amount label" [textContent]="'DISCOUNT_AMOUNT' | localize"></span>
20
+ <span class="totals-discount-amount value" [textContent]="totals?.discountAmount | coCurrency: true"></span>
21
+ </ng-container>
22
+ <ng-container *ngIf="totals?.transactionDiscountAmount">
23
+ <span class="totals-discount label" [textContent]="'TRANSACTION_DISCOUNT' | localize"></span>
24
+ <span class="totals-discount value" [textContent]="totals?.transactionDiscountAmount | coCurrency: true"></span>
25
+ </ng-container>
26
+ <ng-container *ngIf="totals?.transactionDiscountPercentage">
27
+ <span class="totals-discount-percentage label" [textContent]="'TRANSACTION_DISCOUNT_PERC' | localize"></span>
28
+ <span class="totals-discount-percentage value" [textContent]="totals?.transactionDiscountPercentage.toString() | append:' %'"></span>
29
+ </ng-container>
30
+ <span class="totals-net label" [textContent]="'ORDER_NET'| localize"></span>
31
+ <span class="totals-net value" [textContent]="totals?.netAmount | coCurrency: true"></span>
32
+ <a *ngIf="showDiscount" class="add-discount label" (click)="discountClick.emit($event)" [textContent]="'ADD_DISCOUNTS' | localize"></a>
33
+ </div>
34
+ `,
35
+ encapsulation: ViewEncapsulation.None
36
+ },] }
37
+ ];
38
+ TransactionTotalsComponent.propDecorators = {
39
+ totals: [{ type: Input }],
40
+ showDiscount: [{ type: Input }],
41
+ discountClick: [{ type: Output }],
42
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-totals",] }]
43
+ };
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tdG90YWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXRvdGFscy90cmFuc2FjdGlvbi10b3RhbHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBNEJyRyxNQUFNLE9BQU8sMEJBQTBCO0lBekJ2QztRQThCUyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUc5QixrQkFBYSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO0lBU2xGLENBQUM7SUFOUSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7WUF0Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztxQkFFRSxLQUFLOzJCQUdMLEtBQUs7NEJBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVG90YWx9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tdG90YWwuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRyYW5zYWN0aW9uLXRvdGFsc1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tdG90YWxzLXdyYXBwZXJcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0b3RhbHMtZ3Jvc3MgbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ09SREVSX0dST1NTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInRvdGFscy1ncm9zcyB2YWx1ZVwiIFt0ZXh0Q29udGVudF09XCJ0b3RhbHM/Lmdyb3NzQW1vdW50IHwgY29DdXJyZW5jeTogdHJ1ZVwiPjwvc3Bhbj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvdGFscz8uZGlzY291bnRBbW91bnRcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRvdGFscy1kaXNjb3VudC1hbW91bnQgbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0RJU0NPVU5UX0FNT1VOVCcgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRvdGFscy1kaXNjb3VudC1hbW91bnQgdmFsdWVcIiBbdGV4dENvbnRlbnRdPVwidG90YWxzPy5kaXNjb3VudEFtb3VudCB8IGNvQ3VycmVuY3k6IHRydWVcIj48L3NwYW4+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG90YWxzPy50cmFuc2FjdGlvbkRpc2NvdW50QW1vdW50XCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b3RhbHMtZGlzY291bnQgbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1RSQU5TQUNUSU9OX0RJU0NPVU5UJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidG90YWxzLWRpc2NvdW50IHZhbHVlXCIgW3RleHRDb250ZW50XT1cInRvdGFscz8udHJhbnNhY3Rpb25EaXNjb3VudEFtb3VudCB8IGNvQ3VycmVuY3k6IHRydWVcIj48L3NwYW4+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG90YWxzPy50cmFuc2FjdGlvbkRpc2NvdW50UGVyY2VudGFnZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidG90YWxzLWRpc2NvdW50LXBlcmNlbnRhZ2UgbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1RSQU5TQUNUSU9OX0RJU0NPVU5UX1BFUkMnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b3RhbHMtZGlzY291bnQtcGVyY2VudGFnZSB2YWx1ZVwiIFt0ZXh0Q29udGVudF09XCJ0b3RhbHM/LnRyYW5zYWN0aW9uRGlzY291bnRQZXJjZW50YWdlLnRvU3RyaW5nKCkgfCBhcHBlbmQ6JyAlJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidG90YWxzLW5ldCBsYWJlbFwiIFt0ZXh0Q29udGVudF09XCInT1JERVJfTkVUJ3wgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidG90YWxzLW5ldCB2YWx1ZVwiIFt0ZXh0Q29udGVudF09XCJ0b3RhbHM/Lm5ldEFtb3VudCB8IGNvQ3VycmVuY3k6IHRydWVcIj48L3NwYW4+XHJcbiAgICAgIDxhICpuZ0lmPVwic2hvd0Rpc2NvdW50XCIgY2xhc3M9XCJhZGQtZGlzY291bnQgbGFiZWxcIiAoY2xpY2spPVwiZGlzY291bnRDbGljay5lbWl0KCRldmVudClcIiBbdGV4dENvbnRlbnRdPVwiJ0FERF9ESVNDT1VOVFMnIHwgbG9jYWxpemVcIj48L2E+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uVG90YWxzQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0b3RhbHM6IFRyYW5zYWN0aW9uVG90YWw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dEaXNjb3VudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGlzY291bnRDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi10b3RhbHNcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGVhZGVyOiBzdHJpbmc7XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { CoreModule } from "../core/core.module";
4
+ import { TransactionTotalsComponent } from "./transaction-totals.component";
5
+ import { PipeModule } from "../../pipe/pipe.module";
6
+ export class TransactionTotalsModule {
7
+ }
8
+ TransactionTotalsModule.decorators = [
9
+ { type: NgModule, args: [{
10
+ imports: [
11
+ CommonModule,
12
+ CoreModule,
13
+ PipeModule
14
+ ],
15
+ declarations: [
16
+ TransactionTotalsComponent
17
+ ],
18
+ exports: [
19
+ TransactionTotalsComponent
20
+ ]
21
+ },] }
22
+ ];
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tdG90YWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXRvdGFscy90cmFuc2FjdGlvbi10b3RhbHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFlbEQsTUFBTSxPQUFPLHVCQUF1Qjs7O1lBYm5DLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixVQUFVO29CQUNWLFVBQVU7aUJBQ2I7Z0JBQ0gsWUFBWSxFQUFFO29CQUNaLDBCQUEwQjtpQkFDM0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDBCQUEwQjtpQkFDM0I7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSBcIi4uL2NvcmUvY29yZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblRvdGFsc0NvbXBvbmVudH0gZnJvbSBcIi4vdHJhbnNhY3Rpb24tdG90YWxzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1BpcGVNb2R1bGV9IGZyb20gXCIuLi8uLi9waXBlL3BpcGUubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBDb3JlTW9kdWxlLFxyXG4gICAgICAgIFBpcGVNb2R1bGVcclxuICAgIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUcmFuc2FjdGlvblRvdGFsc0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVHJhbnNhY3Rpb25Ub3RhbHNDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblRvdGFsc01vZHVsZSB7XHJcbn1cclxuIl19
@@ -0,0 +1,10 @@
1
+ // The different view modes for content, e.g. list, grid, ..
2
+ export var ContentViewMode;
3
+ (function (ContentViewMode) {
4
+ ContentViewMode[ContentViewMode["List"] = 0] = "List";
5
+ ContentViewMode[ContentViewMode["Grid"] = 1] = "Grid";
6
+ ContentViewMode[ContentViewMode["GridExpanded"] = 2] = "GridExpanded";
7
+ ContentViewMode[ContentViewMode["MasterDetail"] = 3] = "MasterDetail";
8
+ ContentViewMode[ContentViewMode["Timeline"] = 4] = "Timeline";
9
+ })(ContentViewMode || (ContentViewMode = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC12aWV3LW1vZGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvZW51bS9jb250ZW50LXZpZXctbW9kZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RCxNQUFNLENBQU4sSUFBWSxlQU1YO0FBTkQsV0FBWSxlQUFlO0lBQ3pCLHFEQUFJLENBQUE7SUFDSixxREFBSSxDQUFBO0lBQ0oscUVBQVksQ0FBQTtJQUNaLHFFQUFZLENBQUE7SUFDWiw2REFBUSxDQUFBO0FBQ1YsQ0FBQyxFQU5XLGVBQWUsS0FBZixlQUFlLFFBTTFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhlIGRpZmZlcmVudCB2aWV3IG1vZGVzIGZvciBjb250ZW50LCBlLmcuIGxpc3QsIGdyaWQsIC4uXHJcbmV4cG9ydCBlbnVtIENvbnRlbnRWaWV3TW9kZSB7XHJcbiAgTGlzdCxcclxuICBHcmlkLFxyXG4gIEdyaWRFeHBhbmRlZCxcclxuICBNYXN0ZXJEZXRhaWwsXHJcbiAgVGltZWxpbmUsXHJcbn1cclxuIl19
@@ -0,0 +1,28 @@
1
+ /** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/
2
+ export var Icon;
3
+ (function (Icon) {
4
+ Icon["ArrowPointDown"] = "arrow_point_down";
5
+ Icon["ArrowPointLeft"] = "arrow_point_left";
6
+ Icon["ArrowPointRight"] = "arrow_point_right";
7
+ Icon["Barcode"] = "barcode";
8
+ Icon["CalendarDay"] = "calendar_day";
9
+ Icon["Cancel"] = "cancel";
10
+ Icon["CashRegister"] = "cash_register";
11
+ Icon["DeliveryTruck"] = "delivery_truck";
12
+ Icon["EditPencil"] = "edit_pencil";
13
+ Icon["IdealLogo"] = "ideal_logo";
14
+ Icon["MapMarker"] = "map_marker";
15
+ Icon["MasterDetail"] = "master_detail";
16
+ Icon["Menu"] = "menu";
17
+ Icon["PlusRound"] = "plus_round";
18
+ Icon["SidePanel"] = "side_panel";
19
+ Icon["Tag"] = "tag";
20
+ Icon["ThickLines"] = "thick_lines";
21
+ Icon["ThinLines"] = "thin_lines";
22
+ Icon["TriangleDown"] = "triangle_down";
23
+ Icon["TriangleUp"] = "triangle_up";
24
+ Icon["Truck"] = "truck";
25
+ Icon["Txt"] = "txt";
26
+ Icon["Warehouse"] = "warehouse";
27
+ })(Icon || (Icon = {}));
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9lbnVtL2ljb24uZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnR0FBZ0c7QUFFaEcsTUFBTSxDQUFOLElBQVksSUF3Qlg7QUF4QkQsV0FBWSxJQUFJO0lBQ1osMkNBQW1DLENBQUE7SUFDbkMsMkNBQW1DLENBQUE7SUFDbkMsNkNBQXFDLENBQUE7SUFDckMsMkJBQW1CLENBQUE7SUFDbkIsb0NBQTRCLENBQUE7SUFDNUIseUJBQWlCLENBQUE7SUFDakIsc0NBQThCLENBQUE7SUFDOUIsd0NBQWdDLENBQUE7SUFDaEMsa0NBQTBCLENBQUE7SUFDMUIsZ0NBQXdCLENBQUE7SUFDeEIsZ0NBQXdCLENBQUE7SUFDeEIsc0NBQThCLENBQUE7SUFDOUIscUJBQWEsQ0FBQTtJQUNiLGdDQUF3QixDQUFBO0lBQ3hCLGdDQUF3QixDQUFBO0lBQ3hCLG1CQUFXLENBQUE7SUFDWCxrQ0FBMEIsQ0FBQTtJQUMxQixnQ0FBd0IsQ0FBQTtJQUN4QixzQ0FBOEIsQ0FBQTtJQUM5QixrQ0FBMEIsQ0FBQTtJQUMxQix1QkFBZSxDQUFBO0lBQ2YsbUJBQVcsQ0FBQTtJQUNYLCtCQUF1QixDQUFBO0FBQzNCLENBQUMsRUF4QlcsSUFBSSxLQUFKLElBQUksUUF3QmYiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQVVUTyBHRU5FUkFURUQgRklMRS4gRE8gTk9UIENIQU5HRS4uIE9SIFlPVSBXSUxMIFNVRkZFUiBUSEUgQ09OU0VRVUVOQ0VTIE9GIFlPVVIgQUNUSU9OUyAqKi9cblxuZXhwb3J0IGVudW0gSWNvbiB7XG4gICAgQXJyb3dQb2ludERvd24gPSBcImFycm93X3BvaW50X2Rvd25cIixcbiAgICBBcnJvd1BvaW50TGVmdCA9IFwiYXJyb3dfcG9pbnRfbGVmdFwiLFxuICAgIEFycm93UG9pbnRSaWdodCA9IFwiYXJyb3dfcG9pbnRfcmlnaHRcIixcbiAgICBCYXJjb2RlID0gXCJiYXJjb2RlXCIsXG4gICAgQ2FsZW5kYXJEYXkgPSBcImNhbGVuZGFyX2RheVwiLFxuICAgIENhbmNlbCA9IFwiY2FuY2VsXCIsXG4gICAgQ2FzaFJlZ2lzdGVyID0gXCJjYXNoX3JlZ2lzdGVyXCIsXG4gICAgRGVsaXZlcnlUcnVjayA9IFwiZGVsaXZlcnlfdHJ1Y2tcIixcbiAgICBFZGl0UGVuY2lsID0gXCJlZGl0X3BlbmNpbFwiLFxuICAgIElkZWFsTG9nbyA9IFwiaWRlYWxfbG9nb1wiLFxuICAgIE1hcE1hcmtlciA9IFwibWFwX21hcmtlclwiLFxuICAgIE1hc3RlckRldGFpbCA9IFwibWFzdGVyX2RldGFpbFwiLFxuICAgIE1lbnUgPSBcIm1lbnVcIixcbiAgICBQbHVzUm91bmQgPSBcInBsdXNfcm91bmRcIixcbiAgICBTaWRlUGFuZWwgPSBcInNpZGVfcGFuZWxcIixcbiAgICBUYWcgPSBcInRhZ1wiLFxuICAgIFRoaWNrTGluZXMgPSBcInRoaWNrX2xpbmVzXCIsXG4gICAgVGhpbkxpbmVzID0gXCJ0aGluX2xpbmVzXCIsXG4gICAgVHJpYW5nbGVEb3duID0gXCJ0cmlhbmdsZV9kb3duXCIsXG4gICAgVHJpYW5nbGVVcCA9IFwidHJpYW5nbGVfdXBcIixcbiAgICBUcnVjayA9IFwidHJ1Y2tcIixcbiAgICBUeHQgPSBcInR4dFwiLFxuICAgIFdhcmVob3VzZSA9IFwid2FyZWhvdXNlXCJcbn0iXX0=
@@ -0,0 +1,8 @@
1
+ export var LanguageCode;
2
+ (function (LanguageCode) {
3
+ LanguageCode["Dutch"] = "nl-NL";
4
+ LanguageCode["English"] = "en-GB";
5
+ LanguageCode["German"] = "de-DE";
6
+ LanguageCode["French"] = "fr-FR";
7
+ })(LanguageCode || (LanguageCode = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtY29kZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9lbnVtL2xhbmd1YWdlLWNvZGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxZQUtYO0FBTEQsV0FBWSxZQUFZO0lBQ3RCLCtCQUFlLENBQUE7SUFDZixpQ0FBaUIsQ0FBQTtJQUNqQixnQ0FBZ0IsQ0FBQTtJQUNoQixnQ0FBZ0IsQ0FBQTtBQUNsQixDQUFDLEVBTFcsWUFBWSxLQUFaLFlBQVksUUFLdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBMYW5ndWFnZUNvZGUge1xyXG4gIER1dGNoID0gXCJubC1OTFwiLFxyXG4gIEVuZ2xpc2ggPSBcImVuLUdCXCIsXHJcbiAgR2VybWFuID0gXCJkZS1ERVwiLFxyXG4gIEZyZW5jaCA9IFwiZnItRlJcIixcclxufVxyXG4iXX0=
@@ -0,0 +1,7 @@
1
+ export var OrderDiscountType;
2
+ (function (OrderDiscountType) {
3
+ OrderDiscountType["DiscountAmount"] = "DISCOUNT_AMOUNT";
4
+ OrderDiscountType["DiscountPercentage"] = "DISCOUNT_PERCENTAGE";
5
+ OrderDiscountType["OrderTotal"] = "ORDER_TOTAL";
6
+ })(OrderDiscountType || (OrderDiscountType = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGlzY291bnQtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9lbnVtL29yZGVyLWRpc2NvdW50LXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFJWDtBQUpELFdBQVksaUJBQWlCO0lBQzNCLHVEQUFrQyxDQUFBO0lBQ2xDLCtEQUEwQyxDQUFBO0lBQzFDLCtDQUEwQixDQUFBO0FBQzVCLENBQUMsRUFKVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSTVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gT3JkZXJEaXNjb3VudFR5cGUge1xyXG4gIERpc2NvdW50QW1vdW50ID0gXCJESVNDT1VOVF9BTU9VTlRcIixcclxuICBEaXNjb3VudFBlcmNlbnRhZ2UgPSBcIkRJU0NPVU5UX1BFUkNFTlRBR0VcIixcclxuICBPcmRlclRvdGFsID0gXCJPUkRFUl9UT1RBTFwiXHJcbn1cclxuIl19
@@ -0,0 +1,5 @@
1
+ export var StatusType;
2
+ (function (StatusType) {
3
+ StatusType["Unknown"] = "UNKNOWN";
4
+ })(StatusType || (StatusType = {}));
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvZW51bS9zdGF0dXMtdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFVBRVg7QUFGRCxXQUFZLFVBQVU7SUFDcEIsaUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUZXLFVBQVUsS0FBVixVQUFVLFFBRXJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU3RhdHVzVHlwZSB7XHJcbiAgVW5rbm93biA9IFwiVU5LTk9XTlwiLFxyXG59XHJcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ export var TabCategory;
2
+ (function (TabCategory) {
3
+ TabCategory[TabCategory["Overview"] = 0] = "Overview";
4
+ TabCategory[TabCategory["OrderConfirmation"] = 1] = "OrderConfirmation";
5
+ TabCategory[TabCategory["Transport"] = 2] = "Transport";
6
+ TabCategory[TabCategory["ReceivedGoods"] = 3] = "ReceivedGoods";
7
+ TabCategory[TabCategory["InvoiceCheck"] = 4] = "InvoiceCheck";
8
+ TabCategory[TabCategory["Menu"] = 5] = "Menu";
9
+ })(TabCategory || (TabCategory = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNhdGVnb3J5LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2VudW0vdGFiLWNhdGVnb3J5LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FPWDtBQVBELFdBQVksV0FBVztJQUNyQixxREFBUSxDQUFBO0lBQ1IsdUVBQWlCLENBQUE7SUFDakIsdURBQVMsQ0FBQTtJQUNULCtEQUFhLENBQUE7SUFDYiw2REFBWSxDQUFBO0lBQ1osNkNBQUksQ0FBQTtBQUNOLENBQUMsRUFQVyxXQUFXLEtBQVgsV0FBVyxRQU90QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFRhYkNhdGVnb3J5IHtcclxuICBPdmVydmlldyxcclxuICBPcmRlckNvbmZpcm1hdGlvbixcclxuICBUcmFuc3BvcnQsXHJcbiAgUmVjZWl2ZWRHb29kcyxcclxuICBJbnZvaWNlQ2hlY2ssXHJcbiAgTWVudVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ // Time size types, as in 'days' or 'weeks' or 'months'.
2
+ export var TimeSizeType;
3
+ (function (TimeSizeType) {
4
+ TimeSizeType["Hours"] = "hours";
5
+ TimeSizeType["Days"] = "days";
6
+ TimeSizeType["Weeks"] = "weeks";
7
+ TimeSizeType["Months"] = "months";
8
+ TimeSizeType["Years"] = "years";
9
+ })(TimeSizeType || (TimeSizeType = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1zaXplLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2VudW0vdGltZS1zaXplLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE1BQU0sQ0FBTixJQUFZLFlBTVg7QUFORCxXQUFZLFlBQVk7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7SUFDYiwrQkFBZSxDQUFBO0lBQ2YsaUNBQWlCLENBQUE7SUFDakIsK0JBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTlcsWUFBWSxLQUFaLFlBQVksUUFNdkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaW1lIHNpemUgdHlwZXMsIGFzIGluICdkYXlzJyBvciAnd2Vla3MnIG9yICdtb250aHMnLlxyXG5leHBvcnQgZW51bSBUaW1lU2l6ZVR5cGUge1xyXG4gIEhvdXJzID0gXCJob3Vyc1wiLFxyXG4gIERheXMgPSBcImRheXNcIixcclxuICBXZWVrcyA9IFwid2Vla3NcIixcclxuICBNb250aHMgPSBcIm1vbnRoc1wiLFxyXG4gIFllYXJzID0gXCJ5ZWFyc1wiXHJcbn1cclxuIl19
@@ -0,0 +1,120 @@
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==
@@ -0,0 +1,102 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2ZhY3RvcnkvZGVjb3JhdG9ycy9ib29sZWFuLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUMvRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUN2RyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUN4RyxPQUFPLEVBQXFCLHNCQUFzQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFFMUgsTUFBTSxnQkFBZ0IsR0FBVyxlQUFlLENBQUM7QUFDakQsTUFBTSxnQkFBZ0IsR0FBVyxlQUFlLENBQUM7QUFDakQsTUFBTSxnQkFBZ0IsR0FBVyxlQUFlLENBQUM7QUFFakQ7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFvQjtJQUM1QyxPQUFPLFVBQVUsTUFBVyxFQUFFLFdBQW1CO1FBQzdDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDekIsT0FBTztTQUNWO1FBQ0Qsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtZQUN2QixPQUFPLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDdkU7YUFBTSxJQUFJLElBQUksS0FBSyxHQUFHLEVBQUU7WUFDckIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQ3ZFO2FBQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFO1lBQ25CLE9BQU8sQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztTQUN2RTtJQUNMLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxpRUFBaUU7QUFDakUsTUFBTSxPQUFPLG9CQUFvQjtJQUU3Qjs7O09BR0c7SUFDSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBYyxFQUFFLFdBQW1CO1FBQ2hFLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ3ZELE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxDQUNILE9BQU8sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxLQUFLLElBQUk7O2dCQUVuRSxPQUFPLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsS0FBSyxJQUFJOztnQkFFbkUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUssSUFBSSxDQUN0RSxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxVQUF1QztRQUN4RSxPQUFPLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsV0FBbUI7UUFDL0QsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDdkQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFFRCxJQUFJLFNBQVMsR0FBUSxTQUFTLENBQUM7UUFFL0IsTUFBTSxVQUFVLEdBQVksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWhELElBQUksb0JBQW9CLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBRTtZQUN4RCxTQUFTLEdBQUcsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEQ7YUFBTSxJQUFJLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBRTtZQUNuRSxTQUFTLEdBQUcsMEJBQTBCLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdEQ7YUFBTSxJQUFJLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQUU7WUFDakUsU0FBUyxHQUFHLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsT0FBTyxTQUFzQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQWMsRUFBRSxXQUFtQjtRQUMzRCxPQUFPLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFjLEVBQUUsV0FBbUI7UUFDL0QsT0FBTyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQWMsRUFBRSxXQUFtQjtRQUM3RCxPQUFPLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBWSxFQUFFLE1BQWMsRUFBRSxXQUFtQjtRQUNwRSxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLFdBQVcsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JILENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7R2V0WWVzTm9EYkJvb2xlYW5WYWx1ZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3llcy1uby1kYi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtHZXRUcnVlRmFsc2VEYkJvb2xlYW5WYWx1ZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RydWUtZmFsc2UtZGItdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7R2V0T25lWmVyb0RiQm9vbGVhblZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vb25lLXplcm8tYm9vbC1kYi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtEYkJvb2xlYW5WYWx1ZVR5cGUsIEdldExvZ2ljYWxCb29sZWFuVmFsdWV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9kYi1ib29sZWFuLXZhbHVlLXR5cGUuZW51bVwiO1xyXG5cclxuY29uc3QgUFJPUF9NRVRBX0tFWV9KTjogc3RyaW5nID0gXCJib29sZWFuVGV4dEpOXCI7XHJcbmNvbnN0IFBST1BfTUVUQV9LRVlfVEY6IHN0cmluZyA9IFwiYm9vbGVhblRleHRURlwiO1xyXG5jb25zdCBQUk9QX01FVEFfS0VZXzEwOiBzdHJpbmcgPSBcImJvb2xlYW5UZXh0MTBcIjtcclxuXHJcbi8qKlxyXG4gKiBUaGVyZSBhcmUgJ0onLCAnVCcsICdOJywgJ0YnLCAwIGFuZCAxICdib29sZWFuIHZhbHVlcycgaW4gdGhlIGRhdGFiYXNlLiBUaGVzZSBzaG91bGQgYmUgdHJhbnNsYXRlZCB0byB0cnVlIGFuZCBmYWxzZSBib29sZWFuIHZhbHVlcyBpblxyXG4gKiBvdXIgY2xpZW50IGFwcGxpY2F0aW9uLlxyXG4gKlxyXG4gKiBUaGUgdmFsdWVzICdKJyBhbmQgJ04nIHNlZW0gdG8gYmUgbW9zdCBjb21tb25seSB1c2VkLiBUaGlzIGlzIHRoZSBkZWZhdWx0IHNldHRpbmcgd2hlbiB1c2luZyB0aGlzIGRlY29yYXRvci5cclxuICogWW91IGNhbiBwYXNzICdUJyBvciAxIGZvciB0aGUgb3RoZXIgdmFyaWFudHMgYXMgZm9sbG93czpcclxuICpcclxuICogVXNhZ2U6XHJcbiAqXHJcbiAqIEBCb29sZWFuVGV4dCgpIG9yIEBCb29sZWFuVGV4dChcIkpcIikgKHRoZSBkZWZhdWx0LCB1c2VzIFllc05vRGJUeXBlIGNoYXIgdmFsdWVzKVxyXG4gKiBwdWJsaWMgZm9vOiBib29sZWFuIC8vICdKJyBhbmQgJ04nIGJlY29tZSB0cnVlIGFuZCBmYWxzZSBhZnRlciBCdXNpbmVzc09iamVjdEZhY3RvcnlTZXJ2aWNlIGFuZCAtU2VyaWFsaXplclNlcnZpY2UgcHJvY2Vzc2luZ1xyXG4gKlxyXG4gKiBAQm9vbGVhblRleHQoJ1QnKSAodXNlcyBUcnVlRmFsc2VEYlR5cGUgY2hhciB2YWx1ZXMpXHJcbiAqIHB1YmxpYyBiYXI6IGJvb2xlYW4gLy8gJ1QnIGFuZCAnRicgYmVjb21lIHRydWUgYW5kIGZhbHNlIGFmdGVyIEJ1c2luZXNzT2JqZWN0RmFjdG9yeVNlcnZpY2UgYW5kIC1TZXJpYWxpemVyU2VydmljZSBwcm9jZXNzaW5nXHJcbiAqXHJcbiAqIEBCb29sZWFuVGV4dCgxKVxyXG4gKiBwdWJsaWMgYmF6OiBib29sZWFuIC8vIDEgYW5kIDAgYmVjb21lIHRydWUgYW5kIGZhbHNlIGFmdGVyIEJ1c2luZXNzT2JqZWN0RmFjdG9yeVNlcnZpY2UgYW5kIC1TZXJpYWxpemVyU2VydmljZSBwcm9jZXNzaW5nXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gQm9vbGVhblRleHQodHlwZT86IFwiSlwiIHwgXCJUXCIgfCAxKTogUHJvcGVydHlEZWNvcmF0b3Ige1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGJ5IGRlZmF1bHQsIGl0J3MgYSBKIE4gYm9vbGVhbiB0ZXh0XHJcbiAgICAgICAgaWYgKCF0eXBlIHx8IHR5cGUgPT09IFwiSlwiKSB7XHJcbiAgICAgICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoUFJPUF9NRVRBX0tFWV9KTiwgdHJ1ZSwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBcIlRcIikge1xyXG4gICAgICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFBST1BfTUVUQV9LRVlfVEYsIHRydWUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gMSkge1xyXG4gICAgICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFBST1BfTUVUQV9LRVlfMTAsIHRydWUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuXHJcbi8vIFV0aWxpdHkgZnVuY3Rpb24gaG9sZGVyIG9mIHRoZSBCb29sZWFuVGV4dERlY29yYXRvciBkZWNvcmF0b3IuXHJcbmV4cG9ydCBjbGFzcyBCb29sZWFuVGV4dERlY29yYXRvciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgZ2l2ZW4gcHJvcGVydHkgKGFzIGEgc3RyaW5nKSBvbiBnaXZlbiBvYmplY3QgaXMgYSBib29sZWFuIHRleHQgZmllbGQuIFRoYXQgaXMsIGl0J3MgYSBmaWVsZCB0aGF0IGlzIGRlY29yYXRlZFxyXG4gICAgICogd2l0aCB0aGUgQEJvb2xlYW5UZXh0IGRlY29yYXRvci5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBJc0Jvb2xlYW5UZXh0RmllbGQodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRhcmdldCB8fCAhcHJvcGVydHlLZXkgfHwgdHlwZW9mIHRhcmdldCAhPT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoUFJPUF9NRVRBX0tFWV9KTiwgdGFyZ2V0LCBwcm9wZXJ0eUtleSkgPT09IHRydWVcclxuICAgICAgICAgICAgfHxcclxuICAgICAgICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShQUk9QX01FVEFfS0VZX1RGLCB0YXJnZXQsIHByb3BlcnR5S2V5KSA9PT0gdHJ1ZVxyXG4gICAgICAgICAgICB8fFxyXG4gICAgICAgICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKFBST1BfTUVUQV9LRVlfMTAsIHRhcmdldCwgcHJvcGVydHlLZXkpID09PSB0cnVlXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGxvZ2ljYWwgdHJ1ZSBvciBmYWxzZSB2YWx1ZSBvZiBnaXZlbiBjaGFyYWN0ZXIgKCdKJywgJ04nLCAnVCcgb3IgJ0YnKSBvciBudW1iZXIgKDAgb3IgMSkuXHJcbiAgICAgKiBSZXR1cm5zIFVOREVGSU5FRCBpZiBnaXZlbiBib29sQ2hhciB3YXMgbm90IHJlY29nbmlzZWQgYXMgYSBib29sZWFuIHRleHQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0TG9naWNhbEJvb2xlYW5WYWx1ZShkYkJvb2xDaGFyOiBEYkJvb2xlYW5WYWx1ZVR5cGUgfCBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gR2V0TG9naWNhbEJvb2xlYW5WYWx1ZShkYkJvb2xDaGFyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGJvb2xlYW4gY2hhcmFjdGVyIC8gbnVtYmVyIG9mIGdpdmVuIGxvZ2ljYWwgYm9vbCBwcm9wZXJ0eSBvbiB0YXJnZXQgb2JqZWN0LiBVc2VzIGl0cyBAQm9vbGVhblRleHQoKSBhbm5vdGF0aW9uIHRvIGRlY2lkZVxyXG4gICAgICogd2hhdCBjaGFyYWN0ZXIgLyBudW1iZXIgdG8gcmV0dXJuLlxyXG4gICAgICogVXNlZCBpbiBCdXNpbmVzc09iamVjdFNlcmlhbGl6ZXJTZXJ2aWNlU2VydmljZSB0byBjb252ZXJ0IGxvZ2ljYWwgYm9vbHMgdG8gdGhlaXIgb3JpZ2luYWwgYm9vbGVhbiBjaGFyYWN0ZXIuXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfG51bWJlcn0gVGhlIG9yaWdpbmFsLCByZXZlcnNlLWVuZ2luZWVyZWQgYm9vbGVhbiBjaGFyYWN0ZXIgKG9yIG51bWJlcikgb2YgZ2l2ZW4gb2JqZWN0IHByb3BlcnR5LCBvciB1bmRlZmluZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0RGJCb29sZWFuVmFsdWUodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBEYkJvb2xlYW5WYWx1ZVR5cGUge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSB8fCB0eXBlb2YgdGFyZ2V0ICE9PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgZGJCb29sVmFsOiBhbnkgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgICAgIGNvbnN0IGN1ckJvb2xWYWw6IGJvb2xlYW4gPSB0YXJnZXRbcHJvcGVydHlLZXldO1xyXG5cclxuICAgICAgICBpZiAoQm9vbGVhblRleHREZWNvcmF0b3IuX0lzSmFOZWVQcm9wKHRhcmdldCwgcHJvcGVydHlLZXkpKSB7XHJcbiAgICAgICAgICAgIGRiQm9vbFZhbCA9IEdldFllc05vRGJCb29sZWFuVmFsdWUoY3VyQm9vbFZhbCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChCb29sZWFuVGV4dERlY29yYXRvci5fSXNUcnVlRmFsc2VQcm9wKHRhcmdldCwgcHJvcGVydHlLZXkpKSB7XHJcbiAgICAgICAgICAgIGRiQm9vbFZhbCA9IEdldFRydWVGYWxzZURiQm9vbGVhblZhbHVlKGN1ckJvb2xWYWwpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoQm9vbGVhblRleHREZWNvcmF0b3IuX0lzWmVyb09uZVByb3AodGFyZ2V0LCBwcm9wZXJ0eUtleSkpIHtcclxuICAgICAgICAgICAgZGJCb29sVmFsID0gR2V0T25lWmVyb0RiQm9vbGVhblZhbHVlKGN1ckJvb2xWYWwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGRiQm9vbFZhbCBhcyBhbnkgYXMgRGJCb29sZWFuVmFsdWVUeXBlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIF9Jc0phTmVlUHJvcCh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBCb29sZWFuVGV4dERlY29yYXRvci5fSXNQcm9wKFBST1BfTUVUQV9LRVlfSk4sIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIF9Jc1RydWVGYWxzZVByb3AodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQm9vbGVhblRleHREZWNvcmF0b3IuX0lzUHJvcChQUk9QX01FVEFfS0VZX1RGLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBfSXNaZXJvT25lUHJvcCh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBCb29sZWFuVGV4dERlY29yYXRvci5fSXNQcm9wKFBST1BfTUVUQV9LRVlfMTAsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIF9Jc1Byb3AocHJvcDogc3RyaW5nLCB0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhIXRhcmdldCAmJiAhIXByb3BlcnR5S2V5ICYmIHR5cGVvZiB0YXJnZXQgPT09IFwib2JqZWN0XCIgJiYgUmVmbGVjdC5oYXNNZXRhZGF0YShwcm9wLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,55 @@
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==
@@ -0,0 +1,57 @@
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 = "complexField";
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 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
+ * @ComplexField(Transaction)
15
+ * public transaction: Transaction
16
+ *
17
+ * Also keeps track of a "complexFieldProps" metadata on the class-level, as a reflect-metadata workaround to be able to
18
+ * retrieve all properties that have the @ComplexField(..) decorator (impossible with current Reflect API).
19
+ */
20
+ export function ComplexField(type) {
21
+ return function (target, propertyKey) {
22
+ if (!target || !propertyKey) {
23
+ return;
24
+ }
25
+ // warn the programmer if given type was undefined; it's probably an import order glitch that caused this, because decorators seem
26
+ // to be immediately processed when a class is first imported
27
+ if (!type) {
28
+ // eslint-disable-next-line no-console
29
+ console.warn(`@ComplexField(type): type was UNDEFINED. Called on prop (${ObjectUtils.GetClassName(target)}, ${propertyKey}). ` +
30
+ `Class will not properly serialize and deserialize now. We've always been able to fix this by CHANGING IMPORT ORDERS ` +
31
+ `where both classes and their dependencies are used, e.g. factory, repository or models..`);
32
+ return;
33
+ }
34
+ Reflect.defineMetadata(PROP_META_KEY, type, target, propertyKey);
35
+ };
36
+ }
37
+ // Utility function holder of the ComplexFieldDecorator decorator.
38
+ export class ComplexFieldDecorator {
39
+ /**
40
+ * Returns whether given property (as a string) on given object is a complex field. A complex field is a field that is decorated
41
+ * with the @ComplexField decorator.
42
+ */
43
+ static IsComplexField(target, propertyKey) {
44
+ if (!target || !propertyKey || typeof target !== "object") {
45
+ return false;
46
+ }
47
+ return (notNill(Reflect.getMetadata(PROP_META_KEY, target, propertyKey)));
48
+ }
49
+ // Returns the VALUE of the @ComplexField(VALUE) property decorator on the given propertyKey on the given modelObject.
50
+ static GetComplexFieldType(target, propertyKey) {
51
+ if (!target || !propertyKey || typeof target !== "object") {
52
+ return undefined;
53
+ }
54
+ return Reflect.getMetadata(PROP_META_KEY, target, propertyKey);
55
+ }
56
+ }
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxleC1maWVsZC5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2ZhY3RvcnkvZGVjb3JhdG9ycy9jb21wbGV4LWZpZWxkLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDeEYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBRTlFLE1BQU0sYUFBYSxHQUFXLGNBQWMsQ0FBQztBQUU3Qzs7R0FFRztBQUVIOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBUztJQUNsQyxPQUFPLFVBQVUsTUFBVyxFQUFFLFdBQW1CO1FBQzdDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDekIsT0FBTztTQUNWO1FBRUQsa0lBQWtJO1FBQ2xJLDZEQUE2RDtRQUM3RCxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1Qsc0NBQXNDO1lBQ3BDLE9BQU8sQ0FBQyxJQUFJLENBQUMsNERBQTRELFdBQVcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssV0FBVyxLQUFLO2dCQUMxSCxzSEFBc0g7Z0JBQ3RILDBGQUEwRixDQUFDLENBQUM7WUFDaEcsT0FBTztTQUNWO1FBQ0QsT0FBTyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyRSxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBTyxxQkFBcUI7SUFFOUI7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFjLEVBQUUsV0FBbUI7UUFDNUQsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDdkQsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELHNIQUFzSDtJQUMvRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsTUFBYyxFQUFFLFdBQW1CO1FBQ2pFLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ3ZELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtub3ROaWxsfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3V0aWxzL2Z1bmN0aW9uL25vdC1uaWxsLmZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvb2JqZWN0LXV0aWxzXCI7XHJcblxyXG5jb25zdCBQUk9QX01FVEFfS0VZOiBzdHJpbmcgPSBcImNvbXBsZXhGaWVsZFwiO1xyXG5cclxuLyoqXHJcbiAqICEhIGp1c3QgYSBUQUcgREVDT1JBVE9SIGZvciBub3csIHRoZXJlIGlzIG5vIGNvZGUgdGhhdCB1c2VzIHRoaXMgbWV0YSBkYXRhIHdpdGhpbiB0aGUgaW9uZSBjb25uZWN0b3IgbGliIGl0c2VsZi5cclxuICovXHJcblxyXG4vKipcclxuICogUHJvcGVydHkgZGVjb3JhdG9yIGZvciBwcm9wZXJ0aWVzIG9mIGJ1c2luZXNzb2JqZWN0IGNsYXNzZXMgdGhhdCBhcmUgb3RoZXIgc3Ryb25nbHkgdHlwZWQgYnVzaW5lc3NvYmplY3RzLlxyXG4gKiBFbnN1cmVzIHRoYXQgdGhlIEJ1c2luZXNzT2JqZWN0RmFjdG9yeVNlcnZpY2UgbWFrZXMgcHJvcGVybHkgdHlwZWQgb2JqZWN0cyBmcm9tIGluY29taW5nIHJhdyBwZXJzaXN0ZW5jZSBkYXRhLiBPdGhlcndpc2Ugd2UgY291bGRuJ3QgYWRkIG1ldGhvZHNcclxuICogdG8gb3VyIG93biBidXNpbmVzc29iamVjdHMgYW5kIHVzZSB0aGVtLCBzaW5jZSBhbGwgZmllbGRzIHdvdWxkIGJlIGZsYXQgZGF0YSB3aXRob3V0IG1ldGhvZHMgYWZ0ZXIgQnVzaW5lc3NPYmplY3RGYWN0b3J5U2VydmljZSBjcmVhdGlvbi5cclxuICpcclxuICogVXNhZ2U6XHJcbiAqXHJcbiAqIEBDb21wbGV4RmllbGQoVHJhbnNhY3Rpb24pXHJcbiAqIHB1YmxpYyB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25cclxuICpcclxuICogQWxzbyBrZWVwcyB0cmFjayBvZiBhIFwiY29tcGxleEZpZWxkUHJvcHNcIiBtZXRhZGF0YSBvbiB0aGUgY2xhc3MtbGV2ZWwsIGFzIGEgcmVmbGVjdC1tZXRhZGF0YSB3b3JrYXJvdW5kIHRvIGJlIGFibGUgdG9cclxuICogcmV0cmlldmUgYWxsIHByb3BlcnRpZXMgdGhhdCBoYXZlIHRoZSBAQ29tcGxleEZpZWxkKC4uKSBkZWNvcmF0b3IgKGltcG9zc2libGUgd2l0aCBjdXJyZW50IFJlZmxlY3QgQVBJKS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBDb21wbGV4RmllbGQodHlwZTogYW55KTogUHJvcGVydHlEZWNvcmF0b3Ige1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGFyZ2V0IHx8ICFwcm9wZXJ0eUtleSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyB3YXJuIHRoZSBwcm9ncmFtbWVyIGlmIGdpdmVuIHR5cGUgd2FzIHVuZGVmaW5lZDsgaXQncyBwcm9iYWJseSBhbiBpbXBvcnQgb3JkZXIgZ2xpdGNoIHRoYXQgY2F1c2VkIHRoaXMsIGJlY2F1c2UgZGVjb3JhdG9ycyBzZWVtXHJcbiAgICAgICAgLy8gdG8gYmUgaW1tZWRpYXRlbHkgcHJvY2Vzc2VkIHdoZW4gYSBjbGFzcyBpcyBmaXJzdCBpbXBvcnRlZFxyXG4gICAgICAgIGlmICghdHlwZSkge1xyXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKGBAQ29tcGxleEZpZWxkKHR5cGUpOiB0eXBlIHdhcyBVTkRFRklORUQuIENhbGxlZCBvbiBwcm9wICgke09iamVjdFV0aWxzLkdldENsYXNzTmFtZSh0YXJnZXQpfSwgJHtwcm9wZXJ0eUtleX0pLiBgICtcclxuICAgICAgICAgICAgICAgIGBDbGFzcyB3aWxsIG5vdCBwcm9wZXJseSBzZXJpYWxpemUgYW5kIGRlc2VyaWFsaXplIG5vdy4gV2UndmUgYWx3YXlzIGJlZW4gYWJsZSB0byBmaXggdGhpcyBieSBDSEFOR0lORyBJTVBPUlQgT1JERVJTIGAgK1xyXG4gICAgICAgICAgICAgICAgYHdoZXJlIGJvdGggY2xhc3NlcyBhbmQgdGhlaXIgZGVwZW5kZW5jaWVzIGFyZSB1c2VkLCBlLmcuIGZhY3RvcnksIHJlcG9zaXRvcnkgb3IgbW9kZWxzLi5gKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFBST1BfTUVUQV9LRVksIHR5cGUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgfTtcclxufVxyXG5cclxuLy8gVXRpbGl0eSBmdW5jdGlvbiBob2xkZXIgb2YgdGhlIENvbXBsZXhGaWVsZERlY29yYXRvciBkZWNvcmF0b3IuXHJcbmV4cG9ydCBjbGFzcyBDb21wbGV4RmllbGREZWNvcmF0b3Ige1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB3aGV0aGVyIGdpdmVuIHByb3BlcnR5IChhcyBhIHN0cmluZykgb24gZ2l2ZW4gb2JqZWN0IGlzIGEgY29tcGxleCBmaWVsZC4gQSBjb21wbGV4IGZpZWxkIGlzIGEgZmllbGQgdGhhdCBpcyBkZWNvcmF0ZWRcclxuICAgICAqIHdpdGggdGhlIEBDb21wbGV4RmllbGQgZGVjb3JhdG9yLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIElzQ29tcGxleEZpZWxkKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gKG5vdE5pbGwoUmVmbGVjdC5nZXRNZXRhZGF0YShQUk9QX01FVEFfS0VZLCB0YXJnZXQsIHByb3BlcnR5S2V5KSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgdGhlIFZBTFVFIG9mIHRoZSBAQ29tcGxleEZpZWxkKFZBTFVFKSBwcm9wZXJ0eSBkZWNvcmF0b3Igb24gdGhlIGdpdmVuIHByb3BlcnR5S2V5IG9uIHRoZSBnaXZlbiBtb2RlbE9iamVjdC5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0Q29tcGxleEZpZWxkVHlwZSh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoUFJPUF9NRVRBX0tFWSwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICB9XHJcbn1cclxuIl19