@colijnit/transaction 12.1.26 → 12.1.28

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 (261) hide show
  1. package/bundles/colijnit-transaction.umd.js +7484 -4864
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +207 -166
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +208 -167
  6. package/esm2015/lib/assets/dictionary/text.properties.js +13 -7
  7. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +33 -37
  8. package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +92 -0
  9. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +170 -396
  10. package/esm2015/lib/component/checkout/checkout.component.js +25 -16
  11. package/esm2015/lib/component/checkout/checkout.module.js +47 -9
  12. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +16 -12
  13. package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.js +24 -15
  14. package/esm2015/lib/component/core/base/transaction-base.component.js +15 -27
  15. package/esm2015/lib/component/core/base/transaction-filter-content-base.component.js +5 -1
  16. package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.component.js +15 -6
  17. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-base.component.js +30 -0
  18. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.js +30 -0
  19. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.js +25 -0
  20. package/esm2015/lib/component/discount/discount.component.js +31 -28
  21. package/esm2015/lib/component/payment/payment.component.js +61 -13
  22. package/esm2015/lib/component/payment-qr-code/payment-qr-code.component.js +2 -21
  23. package/esm2015/lib/component/relation/relation-address/relation-address.component.js +129 -0
  24. package/esm2015/lib/component/relation/relation-address/relation-address.module.js +29 -0
  25. package/esm2015/lib/component/relation/relation-address-select/relation-address-select.component.js +148 -0
  26. package/esm2015/lib/component/relation/relation-address-select/relation-address-select.module.js +33 -0
  27. package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.component.js +61 -0
  28. package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.module.js +32 -0
  29. package/esm2015/lib/component/relation/relation-addresses/relation-addresses.component.js +95 -0
  30. package/esm2015/lib/component/relation/relation-addresses/relation-addresses.module.js +30 -0
  31. package/esm2015/lib/component/relation/relation-base.component.js +31 -0
  32. package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +63 -0
  33. package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.module.js +24 -0
  34. package/esm2015/lib/component/relation/relation-general/relation-general.component.js +195 -0
  35. package/esm2015/lib/component/relation/relation-general/relation-general.module.js +27 -0
  36. package/esm2015/lib/component/relation/relation-preferences/relation-preferences.component.js +65 -0
  37. package/esm2015/lib/component/relation/relation-preferences/relation-preferences.module.js +21 -0
  38. package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.js +30 -0
  39. package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.js +21 -0
  40. package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.js +31 -0
  41. package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.js +19 -0
  42. package/esm2015/lib/component/relation/relation-type/relation-type.component.js +48 -0
  43. package/esm2015/lib/component/relation/relation-type/relation-type.module.js +23 -0
  44. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +31 -32
  45. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +20 -22
  46. package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.js +18 -3
  47. package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.js +4 -2
  48. package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +2 -2
  49. package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +25 -3
  50. package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.js +19 -6
  51. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +22 -3
  52. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.js +6 -2
  53. package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +110 -8
  54. package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.js +25 -2
  55. package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.js +58 -0
  56. package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.js +23 -0
  57. package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.component.js +60 -0
  58. package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.module.js +23 -0
  59. package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.component.js +44 -0
  60. package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.module.js +23 -0
  61. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.component.js +3 -3
  62. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.module.js +23 -0
  63. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.component.js +69 -0
  64. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.module.js +25 -0
  65. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options.component.js +69 -0
  66. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options.module.js +23 -0
  67. package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.js +81 -0
  68. package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.js +23 -0
  69. package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.js +81 -0
  70. package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.js +23 -0
  71. package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.component.js +54 -0
  72. package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.module.js +23 -0
  73. package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +44 -0
  74. package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.js +23 -0
  75. package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.js +80 -0
  76. package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.js +23 -0
  77. package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.component.js +80 -0
  78. package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.module.js +23 -0
  79. package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.component.js +80 -0
  80. package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.module.js +23 -0
  81. package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.component.js +80 -0
  82. package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.module.js +23 -0
  83. package/esm2015/lib/component/transaction-line/transaction-line.component.js +2 -2
  84. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +32 -9
  85. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.module.js +4 -3
  86. package/esm2015/lib/component/transaction-line-fields/transaction-line-fields-base.component.js +3 -1
  87. package/esm2015/lib/component/transaction-search/transaction-search.component.js +2 -2
  88. package/esm2015/lib/service/collection-cache.service.js +14 -12
  89. package/esm2015/lib/service/dialog.service.js +7 -1
  90. package/esm2015/lib/service/payment.service.js +23 -7
  91. package/esm2015/lib/service/pending-reason.service.js +22 -20
  92. package/esm2015/lib/service/transaction-connector.service.js +240 -2
  93. package/esm2015/lib/service/transaction.service.js +240 -37
  94. package/esm2015/public_api.js +4 -3
  95. package/fesm2015/colijnit-transaction.js +3687 -1385
  96. package/fesm2015/colijnit-transaction.js.map +1 -1
  97. package/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +1 -0
  98. package/lib/component/checkout/checkout-overview-delivery-edit/style/material.scss +2 -2
  99. package/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.d.ts +17 -0
  100. package/lib/component/checkout/checkout-overview-payment/style/_layout.scss +47 -0
  101. package/lib/component/checkout/checkout-overview-payment/style/_material-definition.scss +18 -0
  102. package/lib/component/checkout/checkout-overview-payment/style/_theme.scss +21 -0
  103. package/lib/component/checkout/checkout-overview-payment/style/material.scss +4 -0
  104. package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +12 -56
  105. package/lib/component/checkout/checkout-overview-relation-edit/style/_layout.scss +9 -42
  106. package/lib/component/checkout/checkout-overview-relation-edit/style/material.scss +1 -2
  107. package/lib/component/checkout/checkout.component.d.ts +4 -2
  108. package/lib/component/checkout/style/_layout.scss +3 -0
  109. package/lib/component/checkout/style/material.scss +1 -1
  110. package/lib/component/confirmation-dialog/style/_layout.scss +0 -1
  111. package/lib/component/core/base/components/transaction-header-block/style/_layout.scss +25 -0
  112. package/lib/component/core/base/components/transaction-header-block/style/_material-definition.scss +2 -1
  113. package/lib/component/core/base/components/transaction-header-block/style/_theme.scss +6 -0
  114. package/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.d.ts +3 -1
  115. package/lib/component/core/base/transaction-base.component.d.ts +0 -6
  116. package/lib/component/core/base/transaction-filter-content-base.component.d.ts +1 -0
  117. package/lib/component/delivery-type-tile/delivery-type-tile.component.d.ts +3 -1
  118. package/lib/component/dialog/transaction-line/dialog-transaction-line-base.component.d.ts +9 -0
  119. package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.d.ts +6 -0
  120. package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.d.ts +2 -0
  121. package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_layout.scss +15 -0
  122. package/lib/component/{checkout/checkout-relation-suggestions-list → dialog/transaction-line/dialog-transaction-line-commission-code}/style/_material-definition.scss +0 -0
  123. package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_theme.scss +4 -0
  124. package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/material.scss +4 -0
  125. package/lib/component/payment/payment.component.d.ts +14 -2
  126. package/lib/component/payment/style/_layout.scss +1 -1
  127. package/lib/component/payment-qr-code/payment-qr-code.component.d.ts +2 -11
  128. package/lib/component/{relation-address → relation/relation-address}/relation-address.component.d.ts +6 -6
  129. package/lib/component/{relation-address → relation/relation-address}/relation-address.module.d.ts +0 -0
  130. package/lib/component/{relation-address → relation/relation-address}/style/_layout.scss +0 -2
  131. package/lib/component/{relation-address → relation/relation-address}/style/_material-definition.scss +0 -0
  132. package/lib/component/{relation-address → relation/relation-address}/style/_theme.scss +0 -3
  133. package/lib/component/relation/relation-address/style/material.scss +5 -0
  134. package/lib/component/{relation-address-select → relation/relation-address-select}/relation-address-select.component.d.ts +4 -3
  135. package/lib/component/{relation-address-select → relation/relation-address-select}/relation-address-select.module.d.ts +0 -0
  136. package/lib/component/{relation-address-select → relation/relation-address-select}/style/_layout.scss +0 -2
  137. package/lib/component/{relation-address-select → relation/relation-address-select}/style/_material-definition.scss +0 -0
  138. package/lib/component/{relation-address-select → relation/relation-address-select}/style/_theme.scss +0 -2
  139. package/lib/component/{relation-address-select → relation/relation-address-select}/style/material.scss +1 -0
  140. package/lib/component/{relation-address-tile → relation/relation-address-tile}/relation-address-tile.component.d.ts +1 -1
  141. package/lib/component/{relation-address-tile → relation/relation-address-tile}/relation-address-tile.module.d.ts +0 -0
  142. package/lib/component/{relation-address-tile → relation/relation-address-tile}/style/_layout.scss +0 -2
  143. package/lib/component/{relation-address-tile → relation/relation-address-tile}/style/_material-definition.scss +0 -0
  144. package/lib/component/{relation-address-tile → relation/relation-address-tile}/style/_theme.scss +0 -2
  145. package/lib/component/relation/relation-address-tile/style/material.scss +5 -0
  146. package/lib/component/relation/relation-addresses/relation-addresses.component.d.ts +23 -0
  147. package/lib/component/relation/relation-addresses/relation-addresses.module.d.ts +2 -0
  148. package/lib/component/relation/relation-addresses/style/_layout.scss +19 -0
  149. package/lib/component/relation/relation-addresses/style/_material-definition.scss +1 -0
  150. package/lib/component/relation/relation-addresses/style/_theme.scss +4 -0
  151. package/lib/component/relation/relation-addresses/style/material.scss +4 -0
  152. package/lib/component/relation/relation-base.component.d.ts +11 -0
  153. package/lib/component/relation/relation-contact-details/relation-contact-details.component.d.ts +11 -0
  154. package/lib/component/relation/relation-contact-details/relation-contact-details.module.d.ts +2 -0
  155. package/lib/component/relation/relation-contact-details/style/_layout.scss +6 -0
  156. package/lib/component/relation/relation-contact-details/style/_material-definition.scss +0 -0
  157. package/lib/component/relation/relation-contact-details/style/_theme.scss +6 -0
  158. package/lib/component/relation/relation-contact-details/style/material.scss +4 -0
  159. package/lib/component/relation/relation-general/relation-general.component.d.ts +25 -0
  160. package/lib/component/relation/relation-general/relation-general.module.d.ts +2 -0
  161. package/lib/component/relation/relation-general/style/_layout.scss +37 -0
  162. package/lib/component/relation/relation-general/style/_material-definition.scss +2 -0
  163. package/lib/component/relation/relation-general/style/_theme.scss +4 -0
  164. package/lib/component/relation/relation-general/style/material.scss +5 -0
  165. package/lib/component/relation/relation-preferences/relation-preferences.component.d.ts +14 -0
  166. package/lib/component/relation/relation-preferences/relation-preferences.module.d.ts +2 -0
  167. package/lib/component/relation/relation-preferences/style/_layout.scss +17 -0
  168. package/lib/component/relation/relation-preferences/style/_material-definition.scss +0 -0
  169. package/lib/component/relation/relation-preferences/style/_theme.scss +4 -0
  170. package/lib/component/relation/relation-preferences/style/material.scss +4 -0
  171. package/lib/component/{checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.d.ts → relation/relation-suggestions-list/relation-suggestions-list.component.d.ts} +1 -1
  172. package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.d.ts +2 -0
  173. package/lib/component/relation/relation-suggestions-list/style/_layout.scss +6 -0
  174. package/lib/component/relation/relation-suggestions-list/style/_material-definition.scss +0 -0
  175. package/lib/component/relation/relation-suggestions-list/style/_theme.scss +4 -0
  176. package/lib/component/relation/relation-suggestions-list/style/material.scss +5 -0
  177. package/lib/component/{checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.d.ts → relation/relation-suggestions-list-item/relation-suggestions-list-item.component.d.ts} +1 -1
  178. package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.d.ts +2 -0
  179. package/lib/component/relation/relation-suggestions-list-item/style/_layout.scss +32 -0
  180. package/lib/component/relation/relation-suggestions-list-item/style/_material-definition.scss +8 -0
  181. package/lib/component/relation/relation-suggestions-list-item/style/_theme.scss +4 -0
  182. package/lib/component/relation/relation-suggestions-list-item/style/material.scss +4 -0
  183. package/lib/component/relation/relation-type/relation-type.component.d.ts +10 -0
  184. package/lib/component/relation/relation-type/relation-type.module.d.ts +2 -0
  185. package/lib/component/relation/relation-type/style/_layout.scss +11 -0
  186. package/lib/component/relation/relation-type/style/_material-definition.scss +0 -0
  187. package/lib/component/relation/relation-type/style/_theme.scss +4 -0
  188. package/lib/component/relation/relation-type/style/material.scss +4 -0
  189. package/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.d.ts +4 -1
  190. package/lib/component/transaction-header/style/material.scss +3 -3
  191. package/lib/component/transaction-header/transaction-header-delivery/style/_layout.scss +13 -0
  192. package/lib/component/transaction-header/transaction-header-delivery/style/_material-definition.scss +4 -0
  193. package/lib/component/transaction-header/transaction-header-delivery/style/_theme.scss +4 -0
  194. package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.d.ts +2 -0
  195. package/lib/component/transaction-header/transaction-header-payment/style/_layout.scss +17 -0
  196. package/lib/component/transaction-header/transaction-header-payment/style/_material-definition.scss +2 -2
  197. package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +1 -0
  198. package/lib/component/transaction-header/transaction-header-relation/style/_layout.scss +43 -0
  199. package/lib/component/transaction-header/transaction-header-relation/style/_material-definition.scss +10 -0
  200. package/lib/component/transaction-header/transaction-header-relation/style/_theme.scss +7 -0
  201. package/lib/component/transaction-header/transaction-header-relation/style/material.scss +11 -0
  202. package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.d.ts +22 -0
  203. package/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.d.ts +13 -0
  204. package/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.d.ts +2 -0
  205. package/lib/component/transaction-header-fields/transaction-header-branch.component.d.ts +13 -0
  206. package/lib/component/transaction-header-fields/transaction-header-branch.module.d.ts +2 -0
  207. package/lib/component/transaction-header-fields/transaction-header-definitive.component.d.ts +8 -0
  208. package/lib/component/transaction-header-fields/transaction-header-definitive.module.d.ts +2 -0
  209. package/lib/component/transaction-header-fields/transaction-header-delivery-date.module.d.ts +2 -0
  210. package/lib/component/transaction-header-fields/transaction-header-delivery-method.component.d.ts +15 -0
  211. package/lib/component/transaction-header-fields/transaction-header-delivery-method.module.d.ts +2 -0
  212. package/lib/component/transaction-header-fields/transaction-header-delivery-options.component.d.ts +20 -0
  213. package/lib/component/transaction-header-fields/transaction-header-delivery-options.module.d.ts +2 -0
  214. package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.d.ts +17 -0
  215. package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.d.ts +2 -0
  216. package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.d.ts +17 -0
  217. package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.d.ts +2 -0
  218. package/lib/component/transaction-header-fields/transaction-header-marketing.component.d.ts +13 -0
  219. package/lib/component/transaction-header-fields/transaction-header-marketing.module.d.ts +2 -0
  220. package/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.d.ts +8 -0
  221. package/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.d.ts +2 -0
  222. package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.d.ts +17 -0
  223. package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.d.ts +2 -0
  224. package/lib/component/transaction-header-fields/transaction-header-reference.component.d.ts +17 -0
  225. package/lib/component/transaction-header-fields/transaction-header-reference.module.d.ts +2 -0
  226. package/lib/component/transaction-header-fields/transaction-header-relation-reference.component.d.ts +17 -0
  227. package/lib/component/transaction-header-fields/transaction-header-relation-reference.module.d.ts +2 -0
  228. package/lib/component/transaction-header-fields/transaction-header-remarks.component.d.ts +17 -0
  229. package/lib/component/transaction-header-fields/transaction-header-remarks.module.d.ts +2 -0
  230. package/lib/component/transaction-line/style/_layout.scss +12 -28
  231. package/lib/component/transaction-line/style/material.scss +1 -0
  232. package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +10 -0
  233. package/lib/component/transaction-line-fields/transaction-line-fields-base.component.d.ts +1 -0
  234. package/lib/service/dialog.service.d.ts +4 -1
  235. package/lib/service/payment.service.d.ts +6 -2
  236. package/lib/service/pending-reason.service.d.ts +3 -2
  237. package/lib/service/transaction-connector.service.d.ts +17 -0
  238. package/lib/service/transaction.service.d.ts +14 -3
  239. package/package.json +3 -3
  240. package/public_api.d.ts +3 -2
  241. package/esm2015/lib/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +0 -30
  242. package/esm2015/lib/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +0 -31
  243. package/esm2015/lib/component/relation-address/relation-address.component.js +0 -125
  244. package/esm2015/lib/component/relation-address/relation-address.module.js +0 -28
  245. package/esm2015/lib/component/relation-address-select/relation-address-select.component.js +0 -146
  246. package/esm2015/lib/component/relation-address-select/relation-address-select.module.js +0 -33
  247. package/esm2015/lib/component/relation-address-tile/relation-address-tile.component.js +0 -61
  248. package/esm2015/lib/component/relation-address-tile/relation-address-tile.module.js +0 -32
  249. package/esm2015/lib/component/transaction-header/transaction-header.component.js +0 -41
  250. package/esm2015/lib/component/transaction-header/transaction-header.module.js +0 -29
  251. package/lib/component/checkout/checkout-relation-suggestions-list/style/_layout.scss +0 -8
  252. package/lib/component/checkout/checkout-relation-suggestions-list/style/_theme.scss +0 -6
  253. package/lib/component/checkout/checkout-relation-suggestions-list/style/material.scss +0 -4
  254. package/lib/component/checkout/checkout-relation-suggestions-list-item/style/_layout.scss +0 -34
  255. package/lib/component/checkout/checkout-relation-suggestions-list-item/style/_material-definition.scss +0 -8
  256. package/lib/component/checkout/checkout-relation-suggestions-list-item/style/_theme.scss +0 -6
  257. package/lib/component/checkout/checkout-relation-suggestions-list-item/style/material.scss +0 -3
  258. package/lib/component/relation-address/style/material.scss +0 -4
  259. package/lib/component/relation-address-tile/style/material.scss +0 -4
  260. package/lib/component/transaction-header/transaction-header.component.d.ts +0 -10
  261. package/lib/component/transaction-header/transaction-header.module.d.ts +0 -2
@@ -0,0 +1,129 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
3
+ import { Address } from "@colijnit/transactionapi/build/model/address.bo";
4
+ import { isNill } from "@colijnit/transactionapi/build/utils/function/is-nill.function";
5
+ import { TransactionConnectorService } from "../../../service/transaction-connector.service";
6
+ import { StringUtils } from "../../../utils/string-utils";
7
+ import { DictionaryService } from "../../../service/dictionary.service";
8
+ import { FormMasterService } from "@colijnit/corecomponents_v12";
9
+ import { RelationBaseComponent } from "../relation-base.component";
10
+ export class RelationAddressComponent extends RelationBaseComponent {
11
+ constructor(_dictionary, _connector, _formMasterService) {
12
+ super();
13
+ this._dictionary = _dictionary;
14
+ this._connector = _connector;
15
+ this._formMasterService = _formMasterService;
16
+ this.address = new Address();
17
+ this.showButtons = true;
18
+ this.saveClick = new EventEmitter();
19
+ this.cancelClick = new EventEmitter();
20
+ this.countries = [];
21
+ this.fields = { text: "description", value: "code" };
22
+ this.postalCodeCheckErrorMessage = "";
23
+ this._prevPostalCodeForCheck = "";
24
+ }
25
+ showClass() {
26
+ return true;
27
+ }
28
+ ngOnInit() {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ this._connector.getCountries().then((countries) => {
31
+ this.countries = countries;
32
+ });
33
+ });
34
+ }
35
+ submitForm() {
36
+ if (this._formMasterService.submitSlaves()) {
37
+ this.saveClick.next(this.address);
38
+ }
39
+ }
40
+ checkForPostalCodeCheckError() {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ if (!this.address.postalCode || isNill(this.address.houseNo)) {
43
+ this.postalCodeCheckErrorMessage = "";
44
+ return;
45
+ }
46
+ if (this._prevPostalCodeForCheck !== this.address.postalCode || this._prevHouseNoForCheck !== this.address.houseNo) {
47
+ this._prevPostalCodeForCheck = this.address.postalCode;
48
+ this._prevHouseNoForCheck = this.address.houseNo;
49
+ const postalCodeResponse = yield this._connector.getPostalCodeRetrieval((this.address.postalCode ? this.address.postalCode : ""), StringUtils.ParseString(this.address.houseNo));
50
+ if (postalCodeResponse && postalCodeResponse.isBadAddress) {
51
+ this.postalCodeCheckErrorMessage = this._dictionary.get("UNKNOWN_ADDRESS_CHECK_IT");
52
+ }
53
+ else {
54
+ this.postalCodeCheckErrorMessage = "";
55
+ this.address.streetName = postalCodeResponse.street;
56
+ this.address.city = postalCodeResponse.city;
57
+ }
58
+ }
59
+ });
60
+ }
61
+ changeHouseNo() {
62
+ this.address.houseNo = Number(this.address.houseNo);
63
+ }
64
+ }
65
+ RelationAddressComponent.decorators = [
66
+ { type: Component, args: [{
67
+ selector: "co-relation-address",
68
+ template: `
69
+ <label *ngIf=label [textContent]="label | localize"
70
+ class="checkout-label-h3"
71
+ ></label>
72
+ <co-form>
73
+ <div class="relation-address-data-row default">
74
+ <co-input-combo-box [(model)]="address.countryId"
75
+ [collection]="countries"
76
+ [fields]="fields"
77
+ [placeholder]="'COUNTRY'| localize"
78
+ [required]="true"
79
+ ></co-input-combo-box>
80
+ </div>
81
+ <div class="relation-address-data-row default">
82
+ <co-input-text [(model)]="address.postalCode"
83
+ [placeholder]="'POSTAL_CODE' | localize"
84
+ (blur)="checkForPostalCodeCheckError()"
85
+ required
86
+ ></co-input-text>
87
+ <co-input-text class="default-width"
88
+ [(model)]="address.houseNo"
89
+ [placeholder]="'HOUSE_NO' | localize"
90
+ (blur)="checkForPostalCodeCheckError()"
91
+ (modelChange)="changeHouseNo()"
92
+ required
93
+ ></co-input-text>
94
+ <co-input-text [(model)]="address.houseNoAddition"
95
+ [placeholder]="'HOUSE_NO_ADDITION' | localize"
96
+ ></co-input-text>
97
+ </div>
98
+ <div class="relation-address-data-row default">
99
+ <co-input-text [(model)]="address.streetName" [placeholder]="'STREET' | localize" required></co-input-text>
100
+ </div>
101
+ <div class="relation-address-data-row default">
102
+ <co-input-text [(model)]="address.city" [placeholder]="'CITY' | localize" required></co-input-text>
103
+ </div>
104
+ <div class="relation-address-button-wrapper" *ngIf="showButtons">
105
+ <co-button [label]="'SAVE' | localize" (click)="submitForm()"></co-button>
106
+ <co-button [label]="'CANCEL' | localize" (click)="cancelClick.emit()"></co-button>
107
+ </div>
108
+ </co-form>
109
+ `,
110
+ providers: [
111
+ FormMasterService
112
+ ],
113
+ encapsulation: ViewEncapsulation.None
114
+ },] }
115
+ ];
116
+ RelationAddressComponent.ctorParameters = () => [
117
+ { type: DictionaryService },
118
+ { type: TransactionConnectorService },
119
+ { type: FormMasterService }
120
+ ];
121
+ RelationAddressComponent.propDecorators = {
122
+ address: [{ type: Input }],
123
+ label: [{ type: Input }],
124
+ showButtons: [{ type: Input }],
125
+ saveClick: [{ type: Output }],
126
+ cancelClick: [{ type: Output }],
127
+ showClass: [{ type: HostBinding, args: ["class.co-relation-address",] }]
128
+ };
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzL3JlbGF0aW9uLWFkZHJlc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saURBQWlELENBQUM7QUFFeEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ3RGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRTNGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQXFEakUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHFCQUFxQjtJQTRCakUsWUFDVSxXQUE4QixFQUM5QixVQUF1QyxFQUN2QyxrQkFBcUM7UUFFN0MsS0FBSyxFQUFFLENBQUM7UUFKQSxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsZUFBVSxHQUFWLFVBQVUsQ0FBNkI7UUFDdkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQTdCeEMsWUFBTyxHQUFZLElBQUksT0FBTyxFQUFFLENBQUM7UUFNakMsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFHNUIsY0FBUyxHQUEwQixJQUFJLFlBQVks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dEIsS0FBSztvQkFHTCxLQUFLOzBCQUdMLEtBQUs7d0JBR0wsTUFBTTswQkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7QWRkcmVzc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hZGRyZXNzLmJvXCI7XG5pbXBvcnQge0NvdW50cnl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY291bnRyeS5ib1wiO1xuaW1wb3J0IHtpc05pbGx9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvZnVuY3Rpb24vaXMtbmlsbC5mdW5jdGlvblwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWNvbm5lY3Rvci5zZXJ2aWNlXCI7XG5pbXBvcnQge0dldFBvc3RhbENvZGVSZXRyaWV2YWxPdXRwdXRQYXJhbXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ2V0LXBvc3RhbC1jb2RlLXJldHJpZXZhbC1vdXRwdXQtcGFyYW1zXCI7XG5pbXBvcnQge1N0cmluZ1V0aWxzfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvc3RyaW5nLXV0aWxzXCI7XG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcbmltcG9ydCB7Rm9ybU1hc3RlclNlcnZpY2V9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XG5pbXBvcnQge1JlbGF0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uL3JlbGF0aW9uLWJhc2UuY29tcG9uZW50XCI7XG5pbXBvcnQge1JlbGF0aW9uQW55VHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZVwiO1xuaW1wb3J0IHtBZGRyZXNzVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2FkZHJlc3MtdHlwZS5lbnVtXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjby1yZWxhdGlvbi1hZGRyZXNzXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGxhYmVsICpuZ0lmPWxhYmVsIFt0ZXh0Q29udGVudF09XCJsYWJlbCB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgPjwvbGFiZWw+XG4gICAgPGNvLWZvcm0+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1kYXRhLXJvdyBkZWZhdWx0XCI+XG4gICAgICAgIDxjby1pbnB1dC1jb21iby1ib3ggWyhtb2RlbCldPVwiYWRkcmVzcy5jb3VudHJ5SWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImNvdW50cmllc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkc109XCJmaWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ09VTlRSWSd8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgID48L2NvLWlucHV0LWNvbWJvLWJveD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWFkZHJlc3MtZGF0YS1yb3cgZGVmYXVsdFwiPlxuICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJhZGRyZXNzLnBvc3RhbENvZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BPU1RBTF9DT0RFJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwiY2hlY2tGb3JQb3N0YWxDb2RlQ2hlY2tFcnJvcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgPGNvLWlucHV0LXRleHQgY2xhc3M9XCJkZWZhdWx0LXdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYWRkcmVzcy5ob3VzZU5vXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidIT1VTRV9OTycgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cImNoZWNrRm9yUG9zdGFsQ29kZUNoZWNrRXJyb3IoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VIb3VzZU5vKClcIlxuICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJhZGRyZXNzLmhvdXNlTm9BZGRpdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInSE9VU0VfTk9fQURESVRJT04nIHwgbG9jYWxpemVcIlxuICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1kYXRhLXJvdyBkZWZhdWx0XCI+XG4gICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFkZHJlc3Muc3RyZWV0TmFtZVwiIFtwbGFjZWhvbGRlcl09XCInU1RSRUVUJyB8IGxvY2FsaXplXCIgcmVxdWlyZWQ+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1kYXRhLXJvdyBkZWZhdWx0XCI+XG4gICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFkZHJlc3MuY2l0eVwiIFtwbGFjZWhvbGRlcl09XCInQ0lUWScgfCBsb2NhbGl6ZVwiIHJlcXVpcmVkPjwvY28taW5wdXQtdGV4dD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWFkZHJlc3MtYnV0dG9uLXdyYXBwZXJcIiAqbmdJZj1cInNob3dCdXR0b25zXCI+XG4gICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidTQVZFJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cInN1Ym1pdEZvcm0oKVwiPjwvY28tYnV0dG9uPlxuICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInQ0FOQ0VMJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cImNhbmNlbENsaWNrLmVtaXQoKVwiPjwvY28tYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9jby1mb3JtPlxuICBgLFxuICBwcm92aWRlcnM6IFtcbiAgICBGb3JtTWFzdGVyU2VydmljZVxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uQWRkcmVzc0NvbXBvbmVudCBleHRlbmRzIFJlbGF0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZGRyZXNzOiBBZGRyZXNzID0gbmV3IEFkZHJlc3MoKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd0J1dHRvbnM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2F2ZUNsaWNrOiBFdmVudEVtaXR0ZXI8QWRkcmVzcz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFkZHJlc3M+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjYW5jZWxDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXJlbGF0aW9uLWFkZHJlc3NcIilcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBjb3VudHJpZXM6IENvdW50cnlbXSA9IFtdO1xuICBwdWJsaWMgZmllbGRzOiBPYmplY3QgPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xuXG4gIHB1YmxpYyBwb3N0YWxDb2RlQ2hlY2tFcnJvck1lc3NhZ2U6IHN0cmluZyA9IFwiXCI7XG4gIHByaXZhdGUgX3ByZXZQb3N0YWxDb2RlRm9yQ2hlY2s6IHN0cmluZyA9IFwiXCI7XG4gIHByaXZhdGUgX3ByZXZIb3VzZU5vRm9yQ2hlY2s6IG51bWJlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZGljdGlvbmFyeTogRGljdGlvbmFyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY29ubmVjdG9yOiBUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZm9ybU1hc3RlclNlcnZpY2U6IEZvcm1NYXN0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLl9jb25uZWN0b3IuZ2V0Q291bnRyaWVzKCkudGhlbigoY291bnRyaWVzOiBDb3VudHJ5W10pID0+IHtcbiAgICAgIHRoaXMuY291bnRyaWVzID0gY291bnRyaWVzO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdEZvcm0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2Zvcm1NYXN0ZXJTZXJ2aWNlLnN1Ym1pdFNsYXZlcygpKSB7XG4gICAgICB0aGlzLnNhdmVDbGljay5uZXh0KHRoaXMuYWRkcmVzcyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGNoZWNrRm9yUG9zdGFsQ29kZUNoZWNrRXJyb3IoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmFkZHJlc3MucG9zdGFsQ29kZSB8fCBpc05pbGwodGhpcy5hZGRyZXNzLmhvdXNlTm8pKSB7XG4gICAgICB0aGlzLnBvc3RhbENvZGVDaGVja0Vycm9yTWVzc2FnZSA9IFwiXCI7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3ByZXZQb3N0YWxDb2RlRm9yQ2hlY2sgIT09IHRoaXMuYWRkcmVzcy5wb3N0YWxDb2RlIHx8IHRoaXMuX3ByZXZIb3VzZU5vRm9yQ2hlY2sgIT09IHRoaXMuYWRkcmVzcy5ob3VzZU5vKSB7XG4gICAgICB0aGlzLl9wcmV2UG9zdGFsQ29kZUZvckNoZWNrID0gdGhpcy5hZGRyZXNzLnBvc3RhbENvZGU7XG4gICAgICB0aGlzLl9wcmV2SG91c2VOb0ZvckNoZWNrID0gdGhpcy5hZGRyZXNzLmhvdXNlTm87XG4gICAgICBjb25zdCBwb3N0YWxDb2RlUmVzcG9uc2U6IEdldFBvc3RhbENvZGVSZXRyaWV2YWxPdXRwdXRQYXJhbXMgPSBhd2FpdCB0aGlzLl9jb25uZWN0b3IuZ2V0UG9zdGFsQ29kZVJldHJpZXZhbCgodGhpcy5hZGRyZXNzLnBvc3RhbENvZGUgPyB0aGlzLmFkZHJlc3MucG9zdGFsQ29kZSA6IFwiXCIpLFxuICAgICAgU3RyaW5nVXRpbHMuUGFyc2VTdHJpbmcodGhpcy5hZGRyZXNzLmhvdXNlTm8pKTtcbiAgICAgIGlmIChwb3N0YWxDb2RlUmVzcG9uc2UgJiYgcG9zdGFsQ29kZVJlc3BvbnNlLmlzQmFkQWRkcmVzcykge1xuICAgICAgICB0aGlzLnBvc3RhbENvZGVDaGVja0Vycm9yTWVzc2FnZSA9IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiVU5LTk9XTl9BRERSRVNTX0NIRUNLX0lUXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wb3N0YWxDb2RlQ2hlY2tFcnJvck1lc3NhZ2UgPSBcIlwiO1xuICAgICAgICB0aGlzLmFkZHJlc3Muc3RyZWV0TmFtZSA9IHBvc3RhbENvZGVSZXNwb25zZS5zdHJlZXQ7XG4gICAgICAgIHRoaXMuYWRkcmVzcy5jaXR5ID0gcG9zdGFsQ29kZVJlc3BvbnNlLmNpdHk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoYW5nZUhvdXNlTm8oKTogdm9pZCB7XG4gICAgdGhpcy5hZGRyZXNzLmhvdXNlTm8gPSBOdW1iZXIodGhpcy5hZGRyZXNzLmhvdXNlTm8pO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { RelationAddressComponent } from "./relation-address.component";
4
+ import { ButtonModule, FormModule, InputComboBoxModule, InputTextModule } from "@colijnit/corecomponents_v12";
5
+ import { CoreModule } from "../../core/core.module";
6
+ import { PipeModule } from "../../../pipe/pipe.module";
7
+ export class RelationAddressModule {
8
+ }
9
+ RelationAddressModule.decorators = [
10
+ { type: NgModule, args: [{
11
+ imports: [
12
+ CommonModule,
13
+ InputComboBoxModule,
14
+ InputTextModule,
15
+ CoreModule,
16
+ FormModule,
17
+ ButtonModule,
18
+ PipeModule,
19
+ PipeModule
20
+ ],
21
+ declarations: [
22
+ RelationAddressComponent
23
+ ],
24
+ exports: [
25
+ RelationAddressComponent
26
+ ]
27
+ },] }
28
+ ];
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzL3JlbGF0aW9uLWFkZHJlc3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFvQnJELE1BQU0sT0FBTyxxQkFBcUI7OztZQWxCakMsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLG1CQUFtQjtvQkFDbkIsZUFBZTtvQkFDZixVQUFVO29CQUNWLFVBQVU7b0JBQ1YsWUFBWTtvQkFDWixVQUFVO29CQUNWLFVBQVU7aUJBQ1g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHdCQUF3QjtpQkFDekI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHdCQUF3QjtpQkFDekI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzQ29tcG9uZW50fSBmcm9tIFwiLi9yZWxhdGlvbi1hZGRyZXNzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0J1dHRvbk1vZHVsZSwgRm9ybU1vZHVsZSwgSW5wdXRDb21ib0JveE1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0NvcmVNb2R1bGV9IGZyb20gXCIuLi8uLi9jb3JlL2NvcmUubW9kdWxlXCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSBcIi4uLy4uLy4uL3BpcGUvcGlwZS5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSW5wdXRDb21ib0JveE1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIENvcmVNb2R1bGUsXHJcbiAgICBGb3JtTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgUGlwZU1vZHVsZSxcclxuICAgIFBpcGVNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUmVsYXRpb25BZGRyZXNzQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBSZWxhdGlvbkFkZHJlc3NDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkFkZHJlc3NNb2R1bGUge1xyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,148 @@
1
+ import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from "@angular/core";
2
+ import { Address } from "@colijnit/transactionapi/build/model/address.bo";
3
+ import { Icon } from "../../../enum/icon.enum";
4
+ import { FormMasterService } from "@colijnit/corecomponents_v12";
5
+ import { BusinessObjectFactory } from "../../../factory/business-object-factory";
6
+ import { AddressType } from "@colijnit/transactionapi/build/enum/address-type.enum";
7
+ import { animate, state, style, transition, trigger } from "@angular/animations";
8
+ import { RelationBaseComponent } from "../relation-base.component";
9
+ export class RelationAddressSelectComponent extends RelationBaseComponent {
10
+ constructor(_formMasterService, _boFactory) {
11
+ super();
12
+ this._formMasterService = _formMasterService;
13
+ this._boFactory = _boFactory;
14
+ this.icons = Icon;
15
+ this.collection = [];
16
+ this.showAdd = true;
17
+ this.addressAdded = new EventEmitter();
18
+ this.addressUpdated = new EventEmitter();
19
+ this.addressSelected = new EventEmitter();
20
+ this.cancelClick = new EventEmitter();
21
+ this.selectedIdx = 0;
22
+ this.showDialog = false;
23
+ this.showNavigateLeft = true;
24
+ this.showNavigateRight = true;
25
+ this._intersectionCallback = (entries, observer) => {
26
+ const entry = entries[0];
27
+ if (entry.intersectionRatio < 1) {
28
+ this.showNavigateRight = true;
29
+ }
30
+ else {
31
+ this._hideButtons();
32
+ }
33
+ };
34
+ }
35
+ set content(content) {
36
+ if (content) {
37
+ this.scrollContainer = content;
38
+ this._initObserver();
39
+ }
40
+ }
41
+ showClass() {
42
+ return true;
43
+ }
44
+ selectAddress() {
45
+ this.addressSelected.next(this.collection[this.selectedIdx]);
46
+ }
47
+ createAddress() {
48
+ this.addressToEdit = new Address();
49
+ this.addressToEdit.addressType = AddressType.DeliveryAddress;
50
+ this.showDialog = true;
51
+ }
52
+ saveAddress(address) {
53
+ if (this._formMasterService.submitSlaves()) {
54
+ if (address.getId()) {
55
+ this.collection[this.selectedIdx] = this._boFactory.makeWithRawBackendData(Address, address);
56
+ }
57
+ else {
58
+ this.collection.push(address);
59
+ }
60
+ this.showDialog = false;
61
+ }
62
+ }
63
+ editAddress() {
64
+ const address = this.collection[this.selectedIdx];
65
+ if (address) {
66
+ this.addressToEdit = this._boFactory.makeWithRawBackendData(Address, address);
67
+ this.showDialog = true;
68
+ }
69
+ }
70
+ _initObserver() {
71
+ if (this.scrollContainer && this.scrollContainer.nativeElement) {
72
+ const intersectionOptions = {
73
+ root: null,
74
+ rootMargin: '0px',
75
+ threshold: 1.0
76
+ };
77
+ this.observer = new IntersectionObserver(this._intersectionCallback, intersectionOptions);
78
+ this.observer.observe(this.scrollContainer.nativeElement);
79
+ }
80
+ }
81
+ _hideButtons() {
82
+ this.showNavigateLeft = false;
83
+ this.showNavigateRight = false;
84
+ }
85
+ }
86
+ RelationAddressSelectComponent.decorators = [
87
+ { type: Component, args: [{
88
+ selector: "co-relation-address-select",
89
+ template: `
90
+ <div class="relation-address-content" #scrollContainer>
91
+ <co-relation-address-tile *ngFor="let address of collection; let index = index"
92
+ [address]="address"
93
+ [selected]="index === selectedIdx"
94
+ (click)="selectedIdx = index">
95
+ </co-relation-address-tile>
96
+ <co-relation-address-tile *ngIf="showAdd" [actAsAddTile]="true" (addAddressClicked)="createAddress()"></co-relation-address-tile>
97
+ <div class="relation-address-navigate left" *ngIf="showNavigateLeft" @showHideNavigationButton>
98
+ <icon [icon]="icons.ArrowPointLeft"></icon>
99
+ </div>
100
+ <div class="relation-address-navigate right" *ngIf="showNavigateRight" @showHideNavigationButton>
101
+ <icon [icon]="icons.ArrowPointRight"></icon>
102
+ </div>
103
+ </div>
104
+ <div class="relation-address-change">
105
+ <icon class="relation-address-icon" [icon]="icons.ArrowPointRight"></icon>
106
+ <div [textContent]="'Wijzig adres'" (click)="editAddress()"></div>
107
+ </div>
108
+ <div class="relation-address-select-button-wrapper">
109
+ <co-button [label]="'SAVE' | localize" (click)="selectAddress()"></co-button>
110
+ <co-button [label]="'CANCEL' | localize" (click)="cancelClick.emit()"></co-button>
111
+ </div>
112
+ <co-dialog *ngIf="showDialog">
113
+ <co-relation-address
114
+ [relation]="relation"
115
+ (saveClick)="saveAddress($event)"
116
+ (cancelClick)="showDialog = false"
117
+ ></co-relation-address>
118
+ </co-dialog>
119
+ `,
120
+ providers: [
121
+ FormMasterService
122
+ ],
123
+ animations: [
124
+ trigger("showHideNavigationButton", [
125
+ state("void", style({ opacity: 0 })),
126
+ state("*", style({ opacity: 1 })),
127
+ transition("void => *", animate("200ms ease-in-out")),
128
+ transition("* => void", animate("200ms ease-out"))
129
+ ])
130
+ ],
131
+ encapsulation: ViewEncapsulation.None
132
+ },] }
133
+ ];
134
+ RelationAddressSelectComponent.ctorParameters = () => [
135
+ { type: FormMasterService },
136
+ { type: BusinessObjectFactory }
137
+ ];
138
+ RelationAddressSelectComponent.propDecorators = {
139
+ content: [{ type: ViewChild, args: ['scrollContainer', { read: ElementRef },] }],
140
+ showClass: [{ type: HostBinding, args: ["class.co-relation-address-select",] }],
141
+ collection: [{ type: Input }],
142
+ showAdd: [{ type: Input }],
143
+ addressAdded: [{ type: Output }],
144
+ addressUpdated: [{ type: Output }],
145
+ addressSelected: [{ type: Output }],
146
+ cancelClick: [{ type: Output }]
147
+ };
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvcmVsYXRpb24vcmVsYXRpb24tYWRkcmVzcy1zZWxlY3QvcmVsYXRpb24tYWRkcmVzcy1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDbEYsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQWdEakUsTUFBTSxPQUFPLDhCQUErQixTQUFRLHFCQUFxQjtJQTBDdkUsWUFDVSxrQkFBcUMsRUFDckMsVUFBaUM7UUFFekMsS0FBSyxFQUFFLENBQUM7UUFIQSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLGVBQVUsR0FBVixVQUFVLENBQXVCO1FBM0MzQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQWVuQyxlQUFVLEdBQWMsRUFBRSxDQUFD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IEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FkZHJlc3N9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYWRkcmVzcy5ib1wiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0Zvcm1NYXN0ZXJTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0RmFjdG9yeX0gZnJvbSBcIi4uLy4uLy4uL2ZhY3RvcnkvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnlcIjtcclxuaW1wb3J0IHtBZGRyZXNzVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2FkZHJlc3MtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQge1JlbGF0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uL3JlbGF0aW9uLWJhc2UuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1yZWxhdGlvbi1hZGRyZXNzLXNlbGVjdFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1jb250ZW50XCIgI3Njcm9sbENvbnRhaW5lcj5cclxuICAgICAgPGNvLXJlbGF0aW9uLWFkZHJlc3MtdGlsZSAqbmdGb3I9XCJsZXQgYWRkcmVzcyBvZiBjb2xsZWN0aW9uOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZHJlc3NdPVwiYWRkcmVzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cImluZGV4ID09PSBzZWxlY3RlZElkeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkSWR4ID0gaW5kZXhcIj5cclxuICAgICAgPC9jby1yZWxhdGlvbi1hZGRyZXNzLXRpbGU+XHJcbiAgICAgIDxjby1yZWxhdGlvbi1hZGRyZXNzLXRpbGUgKm5nSWY9XCJzaG93QWRkXCIgW2FjdEFzQWRkVGlsZV09XCJ0cnVlXCIgKGFkZEFkZHJlc3NDbGlja2VkKT1cImNyZWF0ZUFkZHJlc3MoKVwiPjwvY28tcmVsYXRpb24tYWRkcmVzcy10aWxlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1uYXZpZ2F0ZSBsZWZ0XCIgKm5nSWY9XCJzaG93TmF2aWdhdGVMZWZ0XCIgQHNob3dIaWRlTmF2aWdhdGlvbkJ1dHRvbj5cclxuICAgICAgICA8aWNvbiBbaWNvbl09XCJpY29ucy5BcnJvd1BvaW50TGVmdFwiPjwvaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1hZGRyZXNzLW5hdmlnYXRlIHJpZ2h0XCIgKm5nSWY9XCJzaG93TmF2aWdhdGVSaWdodFwiIEBzaG93SGlkZU5hdmlnYXRpb25CdXR0b24+XHJcbiAgICAgICAgPGljb24gW2ljb25dPVwiaWNvbnMuQXJyb3dQb2ludFJpZ2h0XCI+PC9pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWFkZHJlc3MtY2hhbmdlXCI+XHJcbiAgICAgIDxpY29uIGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1pY29uXCIgW2ljb25dPVwiaWNvbnMuQXJyb3dQb2ludFJpZ2h0XCI+PC9pY29uPlxyXG4gICAgICA8ZGl2IFt0ZXh0Q29udGVudF09XCInV2lqemlnIGFkcmVzJ1wiIChjbGljayk9XCJlZGl0QWRkcmVzcygpXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1hZGRyZXNzLXNlbGVjdC1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInU0FWRScgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJzZWxlY3RBZGRyZXNzKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgPGNvLWJ1dHRvbiBbbGFiZWxdPVwiJ0NBTkNFTCcgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJjYW5jZWxDbGljay5lbWl0KClcIj48L2NvLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dEaWFsb2dcIj5cclxuICAgICAgPGNvLXJlbGF0aW9uLWFkZHJlc3NcclxuICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxyXG4gICAgICAgIChzYXZlQ2xpY2spPVwic2F2ZUFkZHJlc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNhbmNlbENsaWNrKT1cInNob3dEaWFsb2cgPSBmYWxzZVwiXHJcbiAgICAgID48L2NvLXJlbGF0aW9uLWFkZHJlc3M+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRm9ybU1hc3RlclNlcnZpY2VcclxuICBdLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXCJzaG93SGlkZU5hdmlnYXRpb25CdXR0b25cIiwgW1xyXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe29wYWNpdHk6IDB9KSksXHJcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7b3BhY2l0eTogMX0pKSxcclxuICAgICAgdHJhbnNpdGlvbihcInZvaWQgPT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxyXG4gICAgICB0cmFuc2l0aW9uKFwiKiA9PiB2b2lkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSlcclxuICAgIF0pXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkFkZHJlc3NTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBSZWxhdGlvbkJhc2VDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKCdzY3JvbGxDb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgc2V0IGNvbnRlbnQoY29udGVudCkge1xyXG4gICAgaWYgKGNvbnRlbnQpIHtcclxuICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIgPSBjb250ZW50O1xyXG4gICAgICB0aGlzLl9pbml0T2JzZXJ2ZXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXJlbGF0aW9uLWFkZHJlc3Mtc2VsZWN0XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29sbGVjdGlvbjogQWRkcmVzc1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dBZGQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkcmVzc0FkZGVkOiBFdmVudEVtaXR0ZXI8QWRkcmVzcz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFkZHJlc3M+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRyZXNzVXBkYXRlZDogRXZlbnRFbWl0dGVyPEFkZHJlc3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRyZXNzPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkcmVzc1NlbGVjdGVkOiBFdmVudEVtaXR0ZXI8QWRkcmVzcz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFkZHJlc3M+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjYW5jZWxDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRJZHg6IG51bWJlciA9IDA7XHJcblxyXG4gIHB1YmxpYyBhZGRyZXNzVG9FZGl0OiBBZGRyZXNzO1xyXG4gIHB1YmxpYyBzaG93RGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNjcm9sbENvbnRhaW5lcjogRWxlbWVudFJlZjtcclxuICBwdWJsaWMgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyO1xyXG4gIHB1YmxpYyBzaG93TmF2aWdhdGVMZWZ0OiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd05hdmlnYXRlUmlnaHQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2Zvcm1NYXN0ZXJTZXJ2aWNlOiBGb3JtTWFzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgX2JvRmFjdG9yeTogQnVzaW5lc3NPYmplY3RGYWN0b3J5XHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdEFkZHJlc3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZHJlc3NTZWxlY3RlZC5uZXh0KHRoaXMuY29sbGVjdGlvblt0aGlzLnNlbGVjdGVkSWR4XSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3JlYXRlQWRkcmVzcygpOiB2b2lkIHtcclxuICAgIHRoaXMuYWRkcmVzc1RvRWRpdCA9IG5ldyBBZGRyZXNzKCk7XHJcbiAgICB0aGlzLmFkZHJlc3NUb0VkaXQuYWRkcmVzc1R5cGUgPSBBZGRyZXNzVHlwZS5EZWxpdmVyeUFkZHJlc3M7XHJcbiAgICB0aGlzLnNob3dEaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVBZGRyZXNzKGFkZHJlc3M6IEFkZHJlc3MpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKSkge1xyXG4gICAgICBpZiAoYWRkcmVzcy5nZXRJZCgpKSB7XHJcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9uW3RoaXMuc2VsZWN0ZWRJZHhdID0gPEFkZHJlc3M+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQWRkcmVzcywgYWRkcmVzcyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9uLnB1c2goYWRkcmVzcyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zaG93RGlhbG9nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZWRpdEFkZHJlc3MoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhZGRyZXNzOiBBZGRyZXNzID0gdGhpcy5jb2xsZWN0aW9uW3RoaXMuc2VsZWN0ZWRJZHhdO1xyXG4gICAgaWYgKGFkZHJlc3MpIHtcclxuICAgICAgdGhpcy5hZGRyZXNzVG9FZGl0ID0gPEFkZHJlc3M+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQWRkcmVzcywgYWRkcmVzcyk7XHJcbiAgICAgIHRoaXMuc2hvd0RpYWxvZyA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0T2JzZXJ2ZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zY3JvbGxDb250YWluZXIgJiYgdGhpcy5zY3JvbGxDb250YWluZXIubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICBjb25zdCBpbnRlcnNlY3Rpb25PcHRpb25zID0ge1xyXG4gICAgICAgIHJvb3Q6IG51bGwsXHJcbiAgICAgICAgcm9vdE1hcmdpbjogJzBweCcsXHJcbiAgICAgICAgdGhyZXNob2xkOiAxLjBcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcih0aGlzLl9pbnRlcnNlY3Rpb25DYWxsYmFjaywgaW50ZXJzZWN0aW9uT3B0aW9ucyk7XHJcbiAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnNjcm9sbENvbnRhaW5lci5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ludGVyc2VjdGlvbkNhbGxiYWNrID0gKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7XHJcbiAgICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07XHJcbiAgICBpZiAoZW50cnkuaW50ZXJzZWN0aW9uUmF0aW8gPCAxKSB7XHJcbiAgICAgIHRoaXMuc2hvd05hdmlnYXRlUmlnaHQgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faGlkZUJ1dHRvbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hpZGVCdXR0b25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93TmF2aWdhdGVMZWZ0ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dOYXZpZ2F0ZVJpZ2h0ID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { RelationAddressSelectComponent } from "./relation-address-select.component";
4
+ import { CoreModule } from "../../core/core.module";
5
+ import { ButtonModule, CoDialogModule, FormModule, IconModule, InputRadioButtonModule } from "@colijnit/corecomponents_v12";
6
+ import { RelationAddressModule } from "../relation-address/relation-address.module";
7
+ import { RelationAddressTileModule } from "../relation-address-tile/relation-address-tile.module";
8
+ import { PipeModule } from "../../../pipe/pipe.module";
9
+ export class RelationAddressSelectModule {
10
+ }
11
+ RelationAddressSelectModule.decorators = [
12
+ { type: NgModule, args: [{
13
+ imports: [
14
+ CommonModule,
15
+ CoreModule,
16
+ InputRadioButtonModule,
17
+ IconModule,
18
+ CoDialogModule,
19
+ RelationAddressModule,
20
+ FormModule,
21
+ ButtonModule,
22
+ RelationAddressTileModule,
23
+ PipeModule
24
+ ],
25
+ declarations: [
26
+ RelationAddressSelectComponent
27
+ ],
28
+ exports: [
29
+ RelationAddressSelectComponent
30
+ ]
31
+ },] }
32
+ ];
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy1zZWxlY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvcmVsYXRpb24vcmVsYXRpb24tYWRkcmVzcy1zZWxlY3QvcmVsYXRpb24tYWRkcmVzcy1zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLHNCQUFzQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDMUgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDbEYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDaEcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBc0JyRCxNQUFNLE9BQU8sMkJBQTJCOzs7WUFwQnZDLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixVQUFVO29CQUNWLHNCQUFzQjtvQkFDdEIsVUFBVTtvQkFDVixjQUFjO29CQUNkLHFCQUFxQjtvQkFDckIsVUFBVTtvQkFDVixZQUFZO29CQUNaLHlCQUF5QjtvQkFDekIsVUFBVTtpQkFDYjtnQkFDSCxZQUFZLEVBQUU7b0JBQ1osOEJBQThCO2lCQUMvQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsOEJBQThCO2lCQUMvQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtSZWxhdGlvbkFkZHJlc3NTZWxlY3RDb21wb25lbnR9IGZyb20gXCIuL3JlbGF0aW9uLWFkZHJlc3Mtc2VsZWN0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0NvcmVNb2R1bGV9IGZyb20gXCIuLi8uLi9jb3JlL2NvcmUubW9kdWxlXCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBDb0RpYWxvZ01vZHVsZSwgRm9ybU1vZHVsZSwgSWNvbk1vZHVsZSwgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtSZWxhdGlvbkFkZHJlc3NNb2R1bGV9IGZyb20gXCIuLi9yZWxhdGlvbi1hZGRyZXNzL3JlbGF0aW9uLWFkZHJlc3MubW9kdWxlXCI7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzVGlsZU1vZHVsZX0gZnJvbSBcIi4uL3JlbGF0aW9uLWFkZHJlc3MtdGlsZS9yZWxhdGlvbi1hZGRyZXNzLXRpbGUubW9kdWxlXCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSBcIi4uLy4uLy4uL3BpcGUvcGlwZS5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIENvcmVNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZSxcclxuICAgICAgICBJY29uTW9kdWxlLFxyXG4gICAgICAgIENvRGlhbG9nTW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uQWRkcmVzc01vZHVsZSxcclxuICAgICAgICBGb3JtTW9kdWxlLFxyXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkFkZHJlc3NUaWxlTW9kdWxlLFxyXG4gICAgICAgIFBpcGVNb2R1bGVcclxuICAgIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBSZWxhdGlvbkFkZHJlc3NTZWxlY3RDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJlbGF0aW9uQWRkcmVzc1NlbGVjdENvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uQWRkcmVzc1NlbGVjdE1vZHVsZSB7XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,61 @@
1
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
2
+ import { Icon } from "../../../enum/icon.enum";
3
+ export class RelationAddressTileComponent {
4
+ constructor() {
5
+ this.icons = Icon;
6
+ this.actAsAddTile = false;
7
+ this.selected = false;
8
+ this.selectedChange = new EventEmitter();
9
+ this.addAddressClicked = new EventEmitter();
10
+ this.editAddressClicked = new EventEmitter();
11
+ }
12
+ showClass() {
13
+ return true;
14
+ }
15
+ handleEditAddressClick(event) {
16
+ event.preventDefault();
17
+ event.stopPropagation();
18
+ event.stopImmediatePropagation();
19
+ this.editAddressClicked.next(this.address);
20
+ }
21
+ }
22
+ RelationAddressTileComponent.decorators = [
23
+ { type: Component, args: [{
24
+ selector: "co-relation-address-tile",
25
+ template: `
26
+ <ng-container *ngIf="!actAsAddTile">
27
+ <co-tile [selected]="selected" (selectedChange)="selectedChange.emit($event)">
28
+ <div class="relation-content-wrapper">
29
+ <span class="relation-address-type" [textContent]="address.displayType | localize"></span>
30
+ <span class="relation-address-name" [textContent]="address.addressName"></span>
31
+ <span class="relation-address-address" [textContent]="address.displayAddress"></span>
32
+ <span class="relation-address-postal" [textContent]="address.displayPostal"></span>
33
+ <span class="relation-address-country" [textContent]="address.displayCountry"></span>
34
+ </div>
35
+ <div class="relation-address-edit" (click)="handleEditAddressClick($event)">
36
+ <icon class="relation-address-edit-icon" [icon]="icons.EditPencil"></icon>
37
+ </div>
38
+ </co-tile>
39
+ </ng-container>
40
+ <ng-container *ngIf="actAsAddTile">
41
+ <co-tile (click)="addAddressClicked.emit()">
42
+ <div class="relation-content-wrapper">
43
+ <icon class="relation-address-icon" [icon]="icons.PlusRound"></icon>
44
+ <span [textContent]="'ADDRESS_ADD' | localize"></span>
45
+ </div>
46
+ </co-tile>
47
+ </ng-container>
48
+ `,
49
+ encapsulation: ViewEncapsulation.None
50
+ },] }
51
+ ];
52
+ RelationAddressTileComponent.propDecorators = {
53
+ showClass: [{ type: HostBinding, args: ["class.co-relation-address-tile",] }],
54
+ address: [{ type: Input }],
55
+ actAsAddTile: [{ type: Input }],
56
+ selected: [{ type: Input }],
57
+ selectedChange: [{ type: Output }],
58
+ addAddressClicked: [{ type: Output }],
59
+ editAddressClicked: [{ type: Output }]
60
+ };
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy10aWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uL3JlbGF0aW9uLWFkZHJlc3MtdGlsZS9yZWxhdGlvbi1hZGRyZXNzLXRpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJHLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQThCN0MsTUFBTSxPQUFPLDRCQUE0QjtJQTVCekM7UUE2QmtCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBV25DLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRzlCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsbUJBQWMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUdwRSxzQkFBaUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdqRSx1QkFBa0IsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQVFqRixDQUFDO0lBNUJRLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFvQk0sc0JBQXNCLENBQUMsS0FBaUI7UUFDN0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDOzs7WUEzREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7Ozt3QkFJRSxXQUFXLFNBQUMsZ0NBQWdDO3NCQUs1QyxLQUFLOzJCQUdMLEtBQUs7dUJBR0wsS0FBSzs2QkFHTCxNQUFNO2dDQUdOLE1BQU07aUNBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBZGRyZXNzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2FkZHJlc3MuYm9cIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXJlbGF0aW9uLWFkZHJlc3MtdGlsZVwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWFjdEFzQWRkVGlsZVwiPlxyXG4gICAgICA8Y28tdGlsZSBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIiAoc2VsZWN0ZWRDaGFuZ2UpPVwic2VsZWN0ZWRDaGFuZ2UuZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZWxhdGlvbi1hZGRyZXNzLXR5cGVcIiBbdGV4dENvbnRlbnRdPVwiYWRkcmVzcy5kaXNwbGF5VHlwZSB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZWxhdGlvbi1hZGRyZXNzLW5hbWVcIiBbdGV4dENvbnRlbnRdPVwiYWRkcmVzcy5hZGRyZXNzTmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1hZGRyZXNzXCIgW3RleHRDb250ZW50XT1cImFkZHJlc3MuZGlzcGxheUFkZHJlc3NcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlbGF0aW9uLWFkZHJlc3MtcG9zdGFsXCIgW3RleHRDb250ZW50XT1cImFkZHJlc3MuZGlzcGxheVBvc3RhbFwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1jb3VudHJ5XCIgW3RleHRDb250ZW50XT1cImFkZHJlc3MuZGlzcGxheUNvdW50cnlcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWFkZHJlc3MtZWRpdFwiIChjbGljayk9XCJoYW5kbGVFZGl0QWRkcmVzc0NsaWNrKCRldmVudClcIj5cclxuICAgICAgICAgIDxpY29uIGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1lZGl0LWljb25cIiBbaWNvbl09XCJpY29ucy5FZGl0UGVuY2lsXCI+PC9pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2NvLXRpbGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3RBc0FkZFRpbGVcIj5cclxuICAgICAgPGNvLXRpbGUgKGNsaWNrKT1cImFkZEFkZHJlc3NDbGlja2VkLmVtaXQoKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxpY29uIGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1pY29uXCIgW2ljb25dPVwiaWNvbnMuUGx1c1JvdW5kXCI+PC9pY29uPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidBRERSRVNTX0FERCcgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9jby10aWxlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkFkZHJlc3NUaWxlQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tcmVsYXRpb24tYWRkcmVzcy10aWxlXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkcmVzczogQWRkcmVzcztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWN0QXNBZGRUaWxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkQWRkcmVzc0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGVkaXRBZGRyZXNzQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEFkZHJlc3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxBZGRyZXNzPigpO1xyXG5cclxuICBwdWJsaWMgaGFuZGxlRWRpdEFkZHJlc3NDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmVkaXRBZGRyZXNzQ2xpY2tlZC5uZXh0KHRoaXMuYWRkcmVzcyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { RelationAddressTileComponent } from "./relation-address-tile.component";
4
+ import { ButtonModule, CoDialogModule, FormModule, InputRadioButtonModule } from "@colijnit/corecomponents_v12";
5
+ import { CoreModule } from "../../core/core.module";
6
+ import { RelationAddressModule } from "../relation-address/relation-address.module";
7
+ import { PipeModule } from "../../../pipe/pipe.module";
8
+ import { TileModule } from "../../tile/tile.module";
9
+ export class RelationAddressTileModule {
10
+ }
11
+ RelationAddressTileModule.decorators = [
12
+ { type: NgModule, args: [{
13
+ imports: [
14
+ CommonModule,
15
+ InputRadioButtonModule,
16
+ CoreModule,
17
+ CoDialogModule,
18
+ RelationAddressModule,
19
+ ButtonModule,
20
+ FormModule,
21
+ PipeModule,
22
+ TileModule
23
+ ],
24
+ declarations: [
25
+ RelationAddressTileComponent
26
+ ],
27
+ exports: [
28
+ RelationAddressTileComponent
29
+ ]
30
+ },] }
31
+ ];
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzcy10aWxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uL3JlbGF0aW9uLWFkZHJlc3MtdGlsZS9yZWxhdGlvbi1hZGRyZXNzLXRpbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBcUJsRCxNQUFNLE9BQU8seUJBQXlCOzs7WUFuQnJDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixzQkFBc0I7b0JBQ3RCLFVBQVU7b0JBQ1YsY0FBYztvQkFDZCxxQkFBcUI7b0JBQ3JCLFlBQVk7b0JBQ1osVUFBVTtvQkFDVixVQUFVO29CQUNWLFVBQVU7aUJBQ1g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLDRCQUE0QjtpQkFDN0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDRCQUE0QjtpQkFDN0I7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzVGlsZUNvbXBvbmVudH0gZnJvbSBcIi4vcmVsYXRpb24tYWRkcmVzcy10aWxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0J1dHRvbk1vZHVsZSwgQ29EaWFsb2dNb2R1bGUsIEZvcm1Nb2R1bGUsIElucHV0UmFkaW9CdXR0b25Nb2R1bGV9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSBcIi4uLy4uL2NvcmUvY29yZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtSZWxhdGlvbkFkZHJlc3NNb2R1bGV9IGZyb20gXCIuLi9yZWxhdGlvbi1hZGRyZXNzL3JlbGF0aW9uLWFkZHJlc3MubW9kdWxlXCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSBcIi4uLy4uLy4uL3BpcGUvcGlwZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtUaWxlTW9kdWxlfSBmcm9tIFwiLi4vLi4vdGlsZS90aWxlLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJbnB1dFJhZGlvQnV0dG9uTW9kdWxlLFxyXG4gICAgQ29yZU1vZHVsZSxcclxuICAgIENvRGlhbG9nTW9kdWxlLFxyXG4gICAgUmVsYXRpb25BZGRyZXNzTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgRm9ybU1vZHVsZSxcclxuICAgIFBpcGVNb2R1bGUsXHJcbiAgICBUaWxlTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFJlbGF0aW9uQWRkcmVzc1RpbGVDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJlbGF0aW9uQWRkcmVzc1RpbGVDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkFkZHJlc3NUaWxlTW9kdWxlIHtcclxuXHJcbn1cclxuIl19
@@ -0,0 +1,95 @@
1
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
2
+ import { Address } from "@colijnit/transactionapi/build/model/address.bo";
3
+ import { Icon } from "../../../enum/icon.enum";
4
+ import { AddressType } from "@colijnit/transactionapi/build/enum/address-type.enum";
5
+ import { BusinessObjectFactory } from "../../../factory/business-object-factory";
6
+ import { RelationBaseComponent } from "../relation-base.component";
7
+ export class RelationAddressesComponent extends RelationBaseComponent {
8
+ constructor(_boFactory) {
9
+ super();
10
+ this._boFactory = _boFactory;
11
+ this.icons = Icon;
12
+ this.addresses = [];
13
+ this.type = AddressType.DeliveryAddress;
14
+ this.selectedAddressIdx = 0;
15
+ this.selectedAddressChange = new EventEmitter();
16
+ this.selectedAddressNawNrChange = new EventEmitter();
17
+ this.showEditAddressDialog = false;
18
+ }
19
+ showClass() {
20
+ return true;
21
+ }
22
+ saveAddress(address) {
23
+ if (!this.addressToEdit) { // new address
24
+ address.addressType = this.type;
25
+ this.addresses.push(address);
26
+ }
27
+ else {
28
+ const idx = this.addresses.findIndex(a => a.nawNr === address.nawNr);
29
+ if (idx > -1) {
30
+ this.addresses[idx] = this._boFactory.makeWithRawBackendData(Address, address);
31
+ }
32
+ }
33
+ this.showEditAddressDialog = false;
34
+ }
35
+ showNewAddressDialog() {
36
+ this.addressToEdit = undefined;
37
+ this.showEditAddressDialog = true;
38
+ }
39
+ setIndexAddress(idx) {
40
+ this.selectedAddressIdx = idx;
41
+ this.selectedAddressChange.emit(idx);
42
+ const nawNr = this.addresses[this.selectedAddressIdx].nawNr;
43
+ this.selectedAddressNawNrChange.emit(nawNr);
44
+ }
45
+ editAddress(addr) {
46
+ this.addressToEdit = this._boFactory.makeWithRawBackendData(Address, addr);
47
+ this.showEditAddressDialog = true;
48
+ }
49
+ }
50
+ RelationAddressesComponent.decorators = [
51
+ { type: Component, args: [{
52
+ selector: "co-relation-addresses",
53
+ template: `
54
+ <div class="default-data-row">
55
+ <co-carousel-3d *ngIf="addresses && addresses.length > 1"
56
+ [tileWidth]="200"
57
+ [tileHeight]="100"
58
+ [selectedIndex]="selectedAddressIdx"
59
+ (indexSelected)="setIndexAddress($event)">
60
+ <co-relation-address-tile #carouselItem *ngFor="let address of addresses; let index = index"
61
+ [address]="address"
62
+ [selected]="selectedAddressIdx === index"
63
+ (editAddressClicked)="editAddress($event)"
64
+ ></co-relation-address-tile>
65
+ </co-carousel-3d>
66
+ </div>
67
+ <div class="default-data-row">
68
+ <div class="relation-address-new">
69
+ <icon class="relation-address-icon" [icon]="icons.ArrowPointRight"></icon>
70
+ <div [textContent]="'ADDRESS_ADD' | localize" (click)="showNewAddressDialog()"></div>
71
+ </div>
72
+ </div>
73
+ <co-dialog *ngIf="showEditAddressDialog">
74
+ <co-relation-address
75
+ [relation]="relation"
76
+ (saveClick)="saveAddress($event)"
77
+ (cancelClick)="showEditAddressDialog = false"
78
+ ></co-relation-address>
79
+ </co-dialog>
80
+ `,
81
+ encapsulation: ViewEncapsulation.None
82
+ },] }
83
+ ];
84
+ RelationAddressesComponent.ctorParameters = () => [
85
+ { type: BusinessObjectFactory }
86
+ ];
87
+ RelationAddressesComponent.propDecorators = {
88
+ addresses: [{ type: Input }],
89
+ type: [{ type: Input }],
90
+ selectedAddressIdx: [{ type: Input }],
91
+ selectedAddressChange: [{ type: Output }],
92
+ selectedAddressNawNrChange: [{ type: Output }],
93
+ showClass: [{ type: HostBinding, args: ["class.co-relation-addresses",] }]
94
+ };
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYWRkcmVzc2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3JlbGF0aW9uL3JlbGF0aW9uLWFkZHJlc3Nlcy9yZWxhdGlvbi1hZGRyZXNzZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN4RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBa0NqRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEscUJBQXFCO0lBMEJuRSxZQUFvQixVQUFpQztRQUNuRCxLQUFLLEVBQUUsQ0FBQztRQURVLGVBQVUsR0FBVixVQUFVLENBQXVCO1FBekJyQyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxjQUFTLEdBQWMsRUFBRSxDQUFDO1FBRzFCLFNBQUksR0FBZ0IsV0FBVyxDQUFDLGVBQWUsQ0FBQztRQUdoRCx1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFHL0IsMEJBQXFCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHekUsK0JBQTBCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFPOUUsMEJBQXFCLEdBQVksS0FBSyxDQUFDO0lBSzlDLENBQUM7SUFUTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBU00sV0FBVyxDQUFDLE9BQWdCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsY0FBYztZQUN2QyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDOUI7YUFBTTtZQUNMLE1BQU0sR0FBRyxHQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0UsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBcUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDbEc7U0FDRjtRQUNELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxlQUFlLENBQUMsR0FBVztRQUNoQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxDQUFDO1FBQzlCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsTUFBTSxLQUFLLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDcEUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sV0FBVyxDQUFDLElBQWE7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBcUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztJQUNwQyxDQUFDOzs7WUExRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFsQ08scUJBQXFCOzs7d0JBc0MxQixLQUFLO21CQUdMLEtBQUs7aUNBR0wsS0FBSztvQ0FHTCxNQUFNO3lDQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBZGRyZXNzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2FkZHJlc3MuYm9cIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtBZGRyZXNzVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2FkZHJlc3MtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RGYWN0b3J5fSBmcm9tIFwiLi4vLi4vLi4vZmFjdG9yeS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeVwiO1xyXG5pbXBvcnQge1JlbGF0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uL3JlbGF0aW9uLWJhc2UuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1yZWxhdGlvbi1hZGRyZXNzZXNcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZGF0YS1yb3dcIj5cclxuICAgICAgPGNvLWNhcm91c2VsLTNkICpuZ0lmPVwiYWRkcmVzc2VzICYmIGFkZHJlc3Nlcy5sZW5ndGggPiAxXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0aWxlV2lkdGhdPVwiMjAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0aWxlSGVpZ2h0XT1cIjEwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEFkZHJlc3NJZHhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGluZGV4U2VsZWN0ZWQpPVwic2V0SW5kZXhBZGRyZXNzKCRldmVudClcIj5cclxuICAgICAgICA8Y28tcmVsYXRpb24tYWRkcmVzcy10aWxlICNjYXJvdXNlbEl0ZW0gKm5nRm9yPVwibGV0IGFkZHJlc3Mgb2YgYWRkcmVzc2VzOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkcmVzc109XCJhZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZEFkZHJlc3NJZHggPT09IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlZGl0QWRkcmVzc0NsaWNrZWQpPVwiZWRpdEFkZHJlc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvY28tcmVsYXRpb24tYWRkcmVzcy10aWxlPlxyXG4gICAgICA8L2NvLWNhcm91c2VsLTNkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1kYXRhLXJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tYWRkcmVzcy1uZXdcIj5cclxuICAgICAgICA8aWNvbiBjbGFzcz1cInJlbGF0aW9uLWFkZHJlc3MtaWNvblwiIFtpY29uXT1cImljb25zLkFycm93UG9pbnRSaWdodFwiPjwvaWNvbj5cclxuICAgICAgICA8ZGl2IFt0ZXh0Q29udGVudF09XCInQUREUkVTU19BREQnIHwgbG9jYWxpemVcIiAoY2xpY2spPVwic2hvd05ld0FkZHJlc3NEaWFsb2coKVwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dFZGl0QWRkcmVzc0RpYWxvZ1wiPlxyXG4gICAgICA8Y28tcmVsYXRpb24tYWRkcmVzc1xyXG4gICAgICAgIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiXHJcbiAgICAgICAgKHNhdmVDbGljayk9XCJzYXZlQWRkcmVzcygkZXZlbnQpXCJcclxuICAgICAgICAoY2FuY2VsQ2xpY2spPVwic2hvd0VkaXRBZGRyZXNzRGlhbG9nID0gZmFsc2VcIlxyXG4gICAgICA+PC9jby1yZWxhdGlvbi1hZGRyZXNzPlxyXG4gICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkFkZHJlc3Nlc0NvbXBvbmVudCBleHRlbmRzIFJlbGF0aW9uQmFzZUNvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFkZHJlc3NlczogQWRkcmVzc1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHR5cGU6IEFkZHJlc3NUeXBlID0gQWRkcmVzc1R5cGUuRGVsaXZlcnlBZGRyZXNzO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZEFkZHJlc3NJZHg6IG51bWJlciA9IDA7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZEFkZHJlc3NDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZEFkZHJlc3NOYXdOckNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tcmVsYXRpb24tYWRkcmVzc2VzXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dFZGl0QWRkcmVzc0RpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBhZGRyZXNzVG9FZGl0OiBBZGRyZXNzO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ib0ZhY3Rvcnk6IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlQWRkcmVzcyhhZGRyZXNzOiBBZGRyZXNzKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuYWRkcmVzc1RvRWRpdCkgeyAvLyBuZXcgYWRkcmVzc1xyXG4gICAgICBhZGRyZXNzLmFkZHJlc3NUeXBlID0gdGhpcy50eXBlO1xyXG4gICAgICB0aGlzLmFkZHJlc3Nlcy5wdXNoKGFkZHJlc3MpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaWR4OiBudW1iZXIgPSB0aGlzLmFkZHJlc3Nlcy5maW5kSW5kZXgoYSA9PiBhLm5hd05yID09PSBhZGRyZXNzLm5hd05yKTtcclxuICAgICAgaWYgKGlkeCA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5hZGRyZXNzZXNbaWR4XSA9IDxBZGRyZXNzPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEFkZHJlc3MsIGFkZHJlc3MpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3dFZGl0QWRkcmVzc0RpYWxvZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dOZXdBZGRyZXNzRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRyZXNzVG9FZGl0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93RWRpdEFkZHJlc3NEaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEluZGV4QWRkcmVzcyhpZHg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFkZHJlc3NJZHggPSBpZHg7XHJcbiAgICB0aGlzLnNlbGVjdGVkQWRkcmVzc0NoYW5nZS5lbWl0KGlkeCk7XHJcbiAgICBjb25zdCBuYXdOcjogbnVtYmVyID0gdGhpcy5hZGRyZXNzZXNbdGhpcy5zZWxlY3RlZEFkZHJlc3NJZHhdLm5hd05yO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFkZHJlc3NOYXdOckNoYW5nZS5lbWl0KG5hd05yKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlZGl0QWRkcmVzcyhhZGRyOiBBZGRyZXNzKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZHJlc3NUb0VkaXQgPSA8QWRkcmVzcz48dW5rbm93bj50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShBZGRyZXNzLCBhZGRyKTtcclxuICAgIHRoaXMuc2hvd0VkaXRBZGRyZXNzRGlhbG9nID0gdHJ1ZTtcclxuICB9XHJcbn1cclxuIl19