@colijnit/transaction 12.1.7 → 12.1.8

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 (462) hide show
  1. package/README.md +10 -13
  2. package/bundles/colijnit-transaction.umd.js +5378 -7324
  3. package/bundles/colijnit-transaction.umd.js.map +1 -1
  4. package/colijnit-transaction.d.ts +45 -58
  5. package/colijnit-transaction.metadata.json +1 -1
  6. package/esm2015/colijnit-transaction.js +46 -59
  7. package/esm2015/lib/assets/dictionary/text.properties.js +346 -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 +443 -0
  11. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +371 -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 +102 -0
  15. package/esm2015/lib/component/checkout/checkout.module.js +77 -0
  16. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +38 -0
  17. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.module.js +24 -0
  18. package/esm2015/lib/component/core/base/dialog-base.component.js +6 -0
  19. package/esm2015/lib/component/core/base/transaction-base.component.js +96 -0
  20. package/esm2015/lib/component/core/core.module.js +36 -0
  21. package/esm2015/lib/component/core/enum/app-popup-button-type.enum.js +11 -0
  22. package/esm2015/{app → lib}/component/core/icon/icon.component.js +3 -4
  23. package/esm2015/lib/component/core/image-display/image-display.component.js +29 -0
  24. package/esm2015/lib/component/core/relation/customer-groups.component.js +40 -0
  25. package/esm2015/{app → lib}/component/core/stock-status-indicator/stock-status-indicator.component.js +2 -2
  26. package/esm2015/lib/component/discount/discount.component.js +107 -0
  27. package/esm2015/lib/component/discount/discount.module.js +29 -0
  28. package/esm2015/lib/component/relation-address/relation-address.component.js +125 -0
  29. package/esm2015/lib/component/relation-address/relation-address.module.js +28 -0
  30. package/esm2015/lib/component/relation-address-select/relation-address-select.component.js +146 -0
  31. package/esm2015/lib/component/relation-address-select/relation-address-select.module.js +33 -0
  32. package/esm2015/lib/component/relation-address-tile/relation-address-tile.component.js +73 -0
  33. package/esm2015/lib/component/relation-address-tile/relation-address-tile.module.js +30 -0
  34. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +118 -0
  35. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.module.js +31 -0
  36. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +129 -0
  37. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.js +34 -0
  38. package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +57 -0
  39. package/esm2015/lib/component/shopping-cart/shopping-cart.module.js +27 -0
  40. package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.component.js +51 -0
  41. package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.module.js +29 -0
  42. package/esm2015/lib/component/stepper/component/stepper-step.component.js +40 -0
  43. package/esm2015/lib/component/stepper/stepper.component.js +126 -0
  44. package/esm2015/lib/component/stepper/stepper.module.js +26 -0
  45. package/esm2015/lib/component/transaction/transaction.component.js +96 -0
  46. package/esm2015/lib/component/transaction/transaction.module.js +39 -0
  47. package/esm2015/lib/component/transaction-header/transaction-header.component.js +36 -0
  48. package/esm2015/lib/component/transaction-header/transaction-header.module.js +27 -0
  49. package/esm2015/lib/component/transaction-header-contact/transaction-header-contact.component.js +34 -0
  50. package/esm2015/lib/component/transaction-header-contact/transaction-header-contact.module.js +19 -0
  51. package/esm2015/lib/component/transaction-header-delivery/transaction-header-delivery.component.js +57 -0
  52. package/esm2015/lib/component/transaction-header-delivery/transaction-header-delivery.module.js +21 -0
  53. package/esm2015/lib/component/transaction-header-relation/transaction-header-relation.component.js +35 -0
  54. package/esm2015/lib/component/transaction-header-relation/transaction-header-relation.module.js +19 -0
  55. package/esm2015/lib/component/transaction-line/transaction-line.component.js +250 -0
  56. package/esm2015/lib/component/transaction-line/transaction-line.module.js +30 -0
  57. package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.component.js +23 -0
  58. package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.module.js +21 -0
  59. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +117 -0
  60. package/esm2015/lib/component/transaction-lines/transaction-lines.module.js +31 -0
  61. package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.component.js +58 -0
  62. package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.module.js +26 -0
  63. package/esm2015/lib/component/transaction-totals/transaction-totals.component.js +44 -0
  64. package/esm2015/lib/component/transaction-totals/transaction-totals.module.js +23 -0
  65. package/esm2015/lib/enum/content-view-mode.enum.js +10 -0
  66. package/esm2015/lib/enum/icon.enum.js +17 -0
  67. package/esm2015/lib/enum/language-code.enum.js +8 -0
  68. package/esm2015/lib/enum/order-discount-type.enum.js +7 -0
  69. package/esm2015/lib/enum/time-size.type.js +10 -0
  70. package/esm2015/lib/factory/business-object-factory.js +120 -0
  71. package/esm2015/lib/factory/decorators/boolean.decorator.js +102 -0
  72. package/esm2015/lib/factory/decorators/complex-array.decorator.js +55 -0
  73. package/esm2015/lib/factory/decorators/complex-field.decorator.js +57 -0
  74. package/esm2015/lib/factory/decorators/date-field.decorator.js +36 -0
  75. package/esm2015/lib/factory/decorators/string-number.decorator.js +43 -0
  76. package/esm2015/lib/model/business-object.js +81 -0
  77. package/esm2015/lib/model/icon-svg.js +16 -0
  78. package/esm2015/lib/model/standard-text.js +3 -0
  79. package/esm2015/lib/model/text-value-container.js +3 -0
  80. package/esm2015/lib/pipe/append.pipe.js +17 -0
  81. package/esm2015/lib/pipe/co-currency.pipe.js +47 -0
  82. package/esm2015/lib/pipe/date-duration.pipe.js +57 -0
  83. package/esm2015/lib/pipe/delivery-time.pipe.js +33 -0
  84. package/esm2015/lib/pipe/localize.pipe.js +28 -0
  85. package/esm2015/lib/pipe/pipe.module.js +37 -0
  86. package/esm2015/lib/pipe/safe-html.pipe.js +19 -0
  87. package/esm2015/lib/pipe/safe-style.pipe.js +19 -0
  88. package/esm2015/lib/service/dialog.service.js +65 -0
  89. package/esm2015/lib/service/dictionary.service.js +76 -0
  90. package/esm2015/lib/service/icon-cache.service.js +51 -0
  91. package/esm2015/lib/service/ione-connector-adapter.service.js +578 -0
  92. package/esm2015/lib/service/options.service.js +69 -0
  93. package/esm2015/lib/service/pending-reason.service.js +171 -0
  94. package/esm2015/lib/service/transaction.service.js +513 -0
  95. package/esm2015/lib/utils/array-utils.js +183 -0
  96. package/esm2015/lib/utils/is-nill.function.js +5 -0
  97. package/esm2015/lib/utils/string-utils.js +64 -0
  98. package/esm2015/public_api.js +28 -10
  99. package/fesm2015/colijnit-transaction.js +5276 -7218
  100. package/fesm2015/colijnit-transaction.js.map +1 -1
  101. package/{assets → lib/assets}/dictionary/text.properties.d.ts +0 -0
  102. package/{app → lib}/component/checkout/checkout-login/checkout-login.component.d.ts +0 -0
  103. package/{app → lib}/component/checkout/checkout-login/checkout-login.component.scss +0 -0
  104. package/{app → lib}/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.d.ts +0 -0
  105. package/{app → lib}/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.scss +0 -0
  106. package/{app → lib}/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +38 -14
  107. package/lib/component/checkout/checkout-overview-delivery-edit/style/_layout.scss +91 -0
  108. package/lib/component/checkout/checkout-overview-delivery-edit/style/_material-definition.scss +12 -0
  109. package/lib/component/checkout/checkout-overview-delivery-edit/style/_theme.scss +17 -0
  110. package/lib/component/checkout/checkout-overview-delivery-edit/style/material.scss +8 -0
  111. package/{app → lib}/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +11 -11
  112. package/{app → lib}/component/checkout/checkout-overview-relation-edit/style/_layout.scss +22 -17
  113. package/lib/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +17 -0
  114. package/{app → lib}/component/checkout/checkout-overview-relation-edit/style/_theme.scss +1 -1
  115. package/{app → lib}/component/checkout/checkout-overview-relation-edit/style/material.scss +2 -1
  116. package/{app → lib}/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.d.ts +0 -0
  117. package/{app → lib}/component/checkout/checkout-relation-suggestions-list/style/_layout.scss +2 -2
  118. package/{app/component/checkout/checkout-overview-relation-address → lib/component/checkout/checkout-relation-suggestions-list}/style/_material-definition.scss +0 -0
  119. package/{app → lib}/component/checkout/checkout-relation-suggestions-list/style/_theme.scss +1 -1
  120. package/{app → lib}/component/checkout/checkout-relation-suggestions-list/style/material.scss +1 -1
  121. package/{app → lib}/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.d.ts +0 -0
  122. package/{app → lib}/component/checkout/checkout-relation-suggestions-list-item/style/_layout.scss +1 -1
  123. package/{app → lib}/component/checkout/checkout-relation-suggestions-list-item/style/_material-definition.scss +0 -0
  124. package/{app → lib}/component/checkout/checkout-relation-suggestions-list-item/style/_theme.scss +1 -1
  125. package/{app/component/core/base → lib/component/checkout/checkout-relation-suggestions-list-item}/style/material.scss +1 -1
  126. package/lib/component/checkout/checkout.component.d.ts +27 -0
  127. package/lib/component/checkout/checkout.module.d.ts +2 -0
  128. package/lib/component/checkout/style/_layout.scss +6 -0
  129. package/{app/component/checkout/checkout-relation-suggestions-list → lib/component/checkout}/style/_material-definition.scss +0 -0
  130. package/lib/component/checkout/style/_theme.scss +8 -0
  131. package/lib/component/checkout/style/material.scss +8 -0
  132. package/lib/component/confirmation-dialog/confirmation-dialog.component.d.ts +8 -0
  133. package/lib/component/confirmation-dialog/confirmation-dialog.module.d.ts +2 -0
  134. package/lib/component/confirmation-dialog/style/_layout.scss +22 -0
  135. package/lib/component/confirmation-dialog/style/_material-definition.scss +2 -0
  136. package/lib/component/confirmation-dialog/style/_theme.scss +6 -0
  137. package/{app/component/checkout/checkout-overview-relation-address → lib/component/confirmation-dialog}/style/material.scss +1 -1
  138. package/lib/component/core/base/dialog-base.component.d.ts +4 -0
  139. package/{app → lib}/component/core/base/style/_layout.scss +1 -1
  140. package/{app → lib}/component/core/base/style/_material-definition.scss +0 -0
  141. package/{app → lib}/component/core/base/style/_theme.scss +1 -1
  142. package/{app/component/core/image-display → lib/component/core/base}/style/material.scss +1 -1
  143. package/{app → lib}/component/core/base/transaction-base.component.d.ts +7 -23
  144. package/{app → lib}/component/core/characteristic-answer/characteristic-answer.component.scss +3 -1
  145. package/{app → lib}/component/core/core.module.d.ts +0 -0
  146. package/lib/component/core/enum/app-popup-button-type.enum.d.ts +9 -0
  147. package/{app → lib}/component/core/icon/icon.component.d.ts +3 -2
  148. package/{app → lib}/component/core/icon/icon.component.scss +3 -1
  149. package/lib/component/core/image-display/image-display.component.d.ts +5 -0
  150. package/{app → lib}/component/core/image-display/style/_layout.scss +20 -2
  151. package/lib/component/core/image-display/style/_material-definition.scss +4 -0
  152. package/{app → lib}/component/core/image-display/style/_theme.scss +1 -1
  153. package/{app/component/checkout/checkout-relation-suggestions-list-item → lib/component/core/image-display}/style/material.scss +1 -1
  154. package/{app → lib}/component/core/relation/customer-groups.component.d.ts +0 -0
  155. package/{app → lib}/component/core/stock-status-indicator/stock-status-indicator.component.d.ts +0 -0
  156. package/{app → lib}/component/core/stock-status-indicator/stock-status-indicator.component.scss +3 -1
  157. package/lib/component/discount/discount.component.d.ts +19 -0
  158. package/lib/component/discount/discount.module.d.ts +2 -0
  159. package/{app/component/checkout/checkout-overview-block/checkout-overview-block.component.scss → lib/component/discount/style/_layout.scss} +0 -0
  160. package/{app/component/core/image-display → lib/component/discount}/style/_material-definition.scss +0 -0
  161. package/{app/component/checkout/checkout-overview/checkout-overview.component.scss → lib/component/discount/style/_theme.scss} +0 -0
  162. package/{app/component/core/no-image-display/no-image-display.component.scss → lib/component/discount/style/material.scss} +0 -0
  163. package/lib/component/relation-address/relation-address.component.d.ts +28 -0
  164. package/lib/component/relation-address/relation-address.module.d.ts +2 -0
  165. package/lib/component/relation-address/style/_layout.scss +20 -0
  166. package/lib/component/relation-address/style/_material-definition.scss +3 -0
  167. package/lib/component/relation-address/style/_theme.scss +7 -0
  168. package/lib/component/relation-address/style/material.scss +5 -0
  169. package/lib/component/relation-address-select/relation-address-select.component.d.ts +33 -0
  170. package/lib/component/relation-address-select/relation-address-select.module.d.ts +2 -0
  171. package/lib/component/relation-address-select/style/_layout.scss +85 -0
  172. package/lib/component/relation-address-select/style/_material-definition.scss +4 -0
  173. package/lib/component/relation-address-select/style/_theme.scss +6 -0
  174. package/lib/component/relation-address-select/style/material.scss +5 -0
  175. package/lib/component/relation-address-tile/relation-address-tile.component.d.ts +13 -0
  176. package/lib/component/relation-address-tile/relation-address-tile.module.d.ts +2 -0
  177. package/lib/component/relation-address-tile/style/_layout.scss +63 -0
  178. package/lib/component/relation-address-tile/style/_material-definition.scss +15 -0
  179. package/lib/component/relation-address-tile/style/_theme.scss +51 -0
  180. package/lib/component/relation-address-tile/style/material.scss +4 -0
  181. package/{app → lib}/component/service-order/service-order.component.scss +4 -2
  182. package/{app → lib}/component/service-order/summary/transaction-delivery-summary.component.scss +3 -1
  183. package/{app → lib}/component/service-order/summary/transaction-summary-block.component.scss +3 -1
  184. package/{app → lib}/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.scss +0 -0
  185. package/{app → lib}/component/service-order/transaction-manager/transaction-manager.component.scss +3 -1
  186. package/{app → lib}/component/service-order/transaction-order-line-view/transaction-order-line-view.component.scss +3 -1
  187. package/{app → lib}/component/service-order/transaction-order-lines/transaction-order-lines.component.scss +3 -1
  188. package/{app → lib}/component/service-order/transaction-order-totals/transaction-order-totals.component.scss +3 -1
  189. package/{app → lib}/component/service-order/transaction-relation/transaction-relation-edit.component.scss +0 -0
  190. package/{app → lib}/component/service-order/transaction-sidebar/transaction-line-accordion.component.scss +0 -0
  191. package/{app → lib}/component/service-order/transaction-sidebar/transaction-sidebar-right.component.scss +0 -0
  192. package/{app → lib}/component/service-order/warehouse/warehouse.component.scss +3 -1
  193. package/lib/component/shared/transaction-article-text/style/_layout.scss +42 -0
  194. package/lib/component/shared/transaction-article-text/style/_material-definition.scss +7 -0
  195. package/lib/component/shared/transaction-article-text/style/_theme.scss +11 -0
  196. package/lib/component/shared/transaction-article-text/style/material.scss +5 -0
  197. package/lib/component/shared/transaction-article-text/transaction-article-text.component.d.ts +31 -0
  198. package/lib/component/shared/transaction-article-text/transaction-article-text.module.d.ts +2 -0
  199. package/lib/component/shared/transaction-article-text-overview/style/_layout.scss +56 -0
  200. package/lib/component/shared/transaction-article-text-overview/style/_material-definition.scss +9 -0
  201. package/lib/component/shared/transaction-article-text-overview/style/_theme.scss +9 -0
  202. package/lib/component/shared/transaction-article-text-overview/style/material.scss +4 -0
  203. package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +30 -0
  204. package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.d.ts +2 -0
  205. package/lib/component/shopping-cart/shopping-cart.component.d.ts +15 -0
  206. package/lib/component/shopping-cart/shopping-cart.module.d.ts +2 -0
  207. package/lib/component/shopping-cart/style/_layout.scss +33 -0
  208. package/lib/component/shopping-cart/style/_material-definition.scss +10 -0
  209. package/lib/component/shopping-cart/style/_theme.scss +14 -0
  210. package/lib/component/shopping-cart/style/material.scss +4 -0
  211. package/{app/component/shopping-cart → lib/component/shopping-cart-OLD}/shopping-cart-manager/shopping-cart-manager.component.scss +4 -2
  212. package/lib/component/shopping-cart-preview/shopping-cart-preview.component.d.ts +11 -0
  213. package/lib/component/shopping-cart-preview/shopping-cart-preview.module.d.ts +2 -0
  214. package/lib/component/shopping-cart-preview/style/_layout.scss +44 -0
  215. package/lib/component/shopping-cart-preview/style/_material-definition.scss +20 -0
  216. package/lib/component/shopping-cart-preview/style/_theme.scss +17 -0
  217. package/lib/component/shopping-cart-preview/style/material.scss +4 -0
  218. package/lib/component/stepper/component/stepper-step.component.d.ts +12 -0
  219. package/lib/component/stepper/stepper.component.d.ts +30 -0
  220. package/lib/component/stepper/stepper.module.d.ts +2 -0
  221. package/lib/component/stepper/style/_layout.scss +75 -0
  222. package/lib/component/stepper/style/_material-definition.scss +11 -0
  223. package/lib/component/stepper/style/_theme.scss +7 -0
  224. package/lib/component/stepper/style/material.scss +4 -0
  225. package/lib/component/transaction/style/_layout.scss +25 -0
  226. package/lib/component/transaction/style/_material-definition.scss +7 -0
  227. package/lib/component/transaction/style/_theme.scss +24 -0
  228. package/lib/component/transaction/style/material.scss +8 -0
  229. package/lib/component/transaction/transaction.component.d.ts +24 -0
  230. package/lib/component/transaction/transaction.module.d.ts +2 -0
  231. package/lib/component/transaction-header/style/_layout.scss +38 -0
  232. package/lib/component/transaction-header/style/_material-definition.scss +8 -0
  233. package/lib/component/transaction-header/style/_theme.scss +11 -0
  234. package/lib/component/transaction-header/style/material.scss +7 -0
  235. package/lib/component/transaction-header/transaction-header.component.d.ts +9 -0
  236. package/lib/component/transaction-header/transaction-header.module.d.ts +2 -0
  237. package/lib/component/transaction-header-contact/style/_layout.scss +25 -0
  238. package/lib/component/transaction-header-contact/style/_material-definition.scss +7 -0
  239. package/lib/component/transaction-header-contact/style/_theme.scss +11 -0
  240. package/lib/component/transaction-header-contact/style/material.scss +4 -0
  241. package/lib/component/transaction-header-contact/transaction-header-contact.component.d.ts +4 -0
  242. package/lib/component/transaction-header-contact/transaction-header-contact.module.d.ts +2 -0
  243. package/lib/component/transaction-header-delivery/style/_layout.scss +54 -0
  244. package/lib/component/transaction-header-delivery/style/_material-definition.scss +12 -0
  245. package/lib/component/transaction-header-delivery/style/_theme.scss +24 -0
  246. package/lib/component/transaction-header-delivery/style/material.scss +4 -0
  247. package/lib/component/transaction-header-delivery/transaction-header-delivery.component.d.ts +13 -0
  248. package/lib/component/transaction-header-delivery/transaction-header-delivery.module.d.ts +2 -0
  249. package/lib/component/transaction-header-relation/style/_layout.scss +25 -0
  250. package/lib/component/transaction-header-relation/style/_material-definition.scss +7 -0
  251. package/lib/component/transaction-header-relation/style/_theme.scss +11 -0
  252. package/lib/component/transaction-header-relation/style/material.scss +4 -0
  253. package/lib/component/transaction-header-relation/transaction-header-relation.component.d.ts +4 -0
  254. package/lib/component/transaction-header-relation/transaction-header-relation.module.d.ts +2 -0
  255. package/lib/component/transaction-line/style/_layout.scss +143 -0
  256. package/lib/component/transaction-line/style/_material-definition.scss +29 -0
  257. package/lib/component/transaction-line/style/_theme.scss +36 -0
  258. package/lib/component/transaction-line/style/material.scss +8 -0
  259. package/lib/component/transaction-line/transaction-line.component.d.ts +46 -0
  260. package/lib/component/transaction-line/transaction-line.module.d.ts +2 -0
  261. package/lib/component/transaction-line-grid/style/_layout.scss +6 -0
  262. package/{app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.scss → lib/component/transaction-line-grid/style/_material-definition.scss} +0 -0
  263. package/lib/component/transaction-line-grid/style/_theme.scss +6 -0
  264. package/lib/component/transaction-line-grid/style/material.scss +4 -0
  265. package/lib/component/transaction-line-grid/transaction-line-grid.component.d.ts +5 -0
  266. package/lib/component/transaction-line-grid/transaction-line-grid.module.d.ts +2 -0
  267. package/lib/component/transaction-lines/style/_layout.scss +33 -0
  268. package/lib/component/transaction-lines/style/_material-definition.scss +3 -0
  269. package/lib/component/transaction-lines/style/_theme.scss +19 -0
  270. package/lib/component/transaction-lines/style/material.scss +7 -0
  271. package/lib/component/transaction-lines/transaction-lines.component.d.ts +31 -0
  272. package/lib/component/transaction-lines/transaction-lines.module.d.ts +2 -0
  273. package/lib/component/transaction-lines-grid/style/_layout.scss +37 -0
  274. package/lib/component/transaction-lines-grid/style/_material-definition.scss +19 -0
  275. package/lib/component/transaction-lines-grid/style/_theme.scss +15 -0
  276. package/lib/component/transaction-lines-grid/style/material.scss +5 -0
  277. package/lib/component/transaction-lines-grid/transaction-lines-grid.component.d.ts +17 -0
  278. package/lib/component/transaction-lines-grid/transaction-lines-grid.module.d.ts +2 -0
  279. package/lib/component/transaction-totals/style/_layout.scss +35 -0
  280. package/lib/component/transaction-totals/style/_material-definition.scss +15 -0
  281. package/lib/component/transaction-totals/style/_theme.scss +10 -0
  282. package/lib/component/transaction-totals/style/material.scss +4 -0
  283. package/lib/component/transaction-totals/transaction-totals.component.d.ts +9 -0
  284. package/lib/component/transaction-totals/transaction-totals.module.d.ts +2 -0
  285. package/{app → lib}/enum/content-view-mode.enum.d.ts +0 -0
  286. package/lib/enum/icon.enum.d.ts +15 -0
  287. package/{app → lib}/enum/language-code.enum.d.ts +0 -0
  288. package/{app → lib}/enum/order-discount-type.enum.d.ts +0 -0
  289. package/{app → lib}/enum/time-size.type.d.ts +0 -0
  290. package/{factory → lib/factory}/business-object-factory.d.ts +1 -1
  291. package/{factory → lib/factory}/decorators/boolean.decorator.d.ts +0 -0
  292. package/{factory → lib/factory}/decorators/complex-array.decorator.d.ts +0 -0
  293. package/{factory → lib/factory}/decorators/complex-field.decorator.d.ts +0 -0
  294. package/{factory → lib/factory}/decorators/date-field.decorator.d.ts +0 -0
  295. package/{factory → lib/factory}/decorators/string-number.decorator.d.ts +0 -0
  296. package/{app → lib}/model/business-object.d.ts +0 -0
  297. package/lib/model/icon-svg.d.ts +4 -0
  298. package/{app → lib}/model/standard-text.d.ts +0 -0
  299. package/{app → lib}/model/text-value-container.d.ts +0 -0
  300. package/{app → lib}/pipe/append.pipe.d.ts +0 -0
  301. package/{app → lib}/pipe/co-currency.pipe.d.ts +0 -0
  302. package/{app → lib}/pipe/date-duration.pipe.d.ts +0 -0
  303. package/{app → lib}/pipe/delivery-time.pipe.d.ts +0 -0
  304. package/{app → lib}/pipe/localize.pipe.d.ts +0 -0
  305. package/lib/pipe/pipe.module.d.ts +2 -0
  306. package/lib/pipe/safe-html.pipe.d.ts +7 -0
  307. package/{app/pipe/safe-style-pipe.d.ts → lib/pipe/safe-style.pipe.d.ts} +0 -0
  308. package/lib/service/dialog.service.d.ts +11 -0
  309. package/{app → lib}/service/dictionary.service.d.ts +0 -0
  310. package/lib/service/icon-cache.service.d.ts +18 -0
  311. package/{app → lib}/service/ione-connector-adapter.service.d.ts +8 -6
  312. package/{app → lib}/service/options.service.d.ts +3 -4
  313. package/lib/service/pending-reason.service.d.ts +31 -0
  314. package/{app → lib}/service/transaction.service.d.ts +10 -46
  315. package/{style → lib/style}/_mixin.scss +0 -0
  316. package/{style → lib/style}/_variables.scss +19 -1
  317. package/{utils → lib/utils}/array-utils.d.ts +0 -0
  318. package/{utils → lib/utils}/is-nill.function.d.ts +0 -0
  319. package/{app → lib}/utils/string-utils.d.ts +0 -0
  320. package/package.json +27 -33
  321. package/public_api.d.ts +27 -6
  322. package/app/app.component.scss +0 -39
  323. package/app/component/checkout/checkout/checkout.component.d.ts +0 -34
  324. package/app/component/checkout/checkout/checkout.component.scss +0 -137
  325. package/app/component/checkout/checkout-overview/checkout-overview.component.d.ts +0 -42
  326. package/app/component/checkout/checkout-overview-block/checkout-overview-block.component.d.ts +0 -12
  327. package/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.scss +0 -3
  328. package/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.d.ts +0 -23
  329. package/app/component/checkout/checkout-overview-relation-address/style/_layout.scss +0 -19
  330. package/app/component/checkout/checkout-overview-relation-address/style/_theme.scss +0 -7
  331. package/app/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +0 -15
  332. package/app/component/checkout/checkout-transaction/checkout-transaction.component.d.ts +0 -16
  333. package/app/component/checkout/checkout-transaction/checkout-transaction.component.scss +0 -11
  334. package/app/component/checkout/ione-checkout.component.d.ts +0 -41
  335. package/app/component/checkout/ione-checkout.module.d.ts +0 -2
  336. package/app/component/core/base/default-ok-cancel-buttons.component.d.ts +0 -13
  337. package/app/component/core/characteristic-answer/characteristic-answer.component.d.ts +0 -22
  338. package/app/component/core/directive/template-wrapper.directive.d.ts +0 -13
  339. package/app/component/core/image-display/image-display.component.d.ts +0 -14
  340. package/app/component/core/no-image-display/no-image-display.component.d.ts +0 -5
  341. package/app/component/service-order/ione-service-order-module.d.ts +0 -2
  342. package/app/component/service-order/ione-service-order.component.d.ts +0 -25
  343. package/app/component/service-order/service-order.component.d.ts +0 -52
  344. package/app/component/service-order/summary/transaction-article-summary.component.d.ts +0 -17
  345. package/app/component/service-order/summary/transaction-delivery-summary.component.d.ts +0 -20
  346. package/app/component/service-order/summary/transaction-order-summary.component.d.ts +0 -16
  347. package/app/component/service-order/summary/transaction-payment-info.component.d.ts +0 -14
  348. package/app/component/service-order/summary/transaction-product-contract-summary.component.d.ts +0 -7
  349. package/app/component/service-order/summary/transaction-product-summary.component.d.ts +0 -15
  350. package/app/component/service-order/summary/transaction-service-status.component.d.ts +0 -15
  351. package/app/component/service-order/summary/transaction-service-summary.component.d.ts +0 -15
  352. package/app/component/service-order/summary/transaction-summary-block.component.d.ts +0 -16
  353. package/app/component/service-order/transaction-article-text/transaction-article-text.component.d.ts +0 -33
  354. package/app/component/service-order/transaction-article-text/transaction-article-text.component.scss +0 -6
  355. package/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +0 -23
  356. package/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.d.ts +0 -19
  357. package/app/component/service-order/transaction-header-block/transaction-header-block.component.d.ts +0 -15
  358. package/app/component/service-order/transaction-header-block/transaction-header-block.component.scss +0 -65
  359. package/app/component/service-order/transaction-manager/transaction-manager.component.d.ts +0 -64
  360. package/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.d.ts +0 -16
  361. package/app/component/service-order/transaction-order-lines/transaction-order-lines.component.d.ts +0 -25
  362. package/app/component/service-order/transaction-order-totals/transaction-order-totals.component.d.ts +0 -6
  363. package/app/component/service-order/transaction-relation/transaction-relation-address.component.d.ts +0 -22
  364. package/app/component/service-order/transaction-relation/transaction-relation-edit.component.d.ts +0 -29
  365. package/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.d.ts +0 -11
  366. package/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.d.ts +0 -26
  367. package/app/component/service-order/warehouse/warehouse.component.d.ts +0 -35
  368. package/app/component/shopping-cart/ione-shopping-cart.component.d.ts +0 -71
  369. package/app/component/shopping-cart/ione-shopping-cart.module.d.ts +0 -2
  370. package/app/component/shopping-cart/shopping-cart/shopping-cart.component.d.ts +0 -61
  371. package/app/component/shopping-cart/shopping-cart/shopping-cart.component.scss +0 -79
  372. package/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.d.ts +0 -34
  373. package/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.scss +0 -107
  374. package/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.d.ts +0 -91
  375. package/app/enum/checkout-steps.enum.d.ts +0 -7
  376. package/app/enum/position-grid-row.enum.d.ts +0 -4
  377. package/app/model/transaction-add-text-line-request.d.ts +0 -9
  378. package/app/service/transaction-event.service.d.ts +0 -53
  379. package/esm2015/app/component/checkout/checkout/checkout.component.js +0 -157
  380. package/esm2015/app/component/checkout/checkout-login/checkout-login.component.js +0 -106
  381. package/esm2015/app/component/checkout/checkout-overview/checkout-overview.component.js +0 -185
  382. package/esm2015/app/component/checkout/checkout-overview-block/checkout-overview-block.component.js +0 -47
  383. package/esm2015/app/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +0 -47
  384. package/esm2015/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +0 -420
  385. package/esm2015/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.js +0 -103
  386. package/esm2015/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +0 -377
  387. package/esm2015/app/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +0 -30
  388. package/esm2015/app/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +0 -31
  389. package/esm2015/app/component/checkout/checkout-transaction/checkout-transaction.component.js +0 -55
  390. package/esm2015/app/component/checkout/ione-checkout.component.js +0 -137
  391. package/esm2015/app/component/checkout/ione-checkout.module.js +0 -76
  392. package/esm2015/app/component/core/base/default-ok-cancel-buttons.component.js +0 -41
  393. package/esm2015/app/component/core/base/transaction-base.component.js +0 -146
  394. package/esm2015/app/component/core/characteristic-answer/characteristic-answer.component.js +0 -100
  395. package/esm2015/app/component/core/core.module.js +0 -48
  396. package/esm2015/app/component/core/directive/template-wrapper.directive.js +0 -69
  397. package/esm2015/app/component/core/image-display/image-display.component.js +0 -45
  398. package/esm2015/app/component/core/no-image-display/no-image-display.component.js +0 -26
  399. package/esm2015/app/component/core/relation/customer-groups.component.js +0 -40
  400. package/esm2015/app/component/service-order/ione-service-order-module.js +0 -114
  401. package/esm2015/app/component/service-order/ione-service-order.component.js +0 -96
  402. package/esm2015/app/component/service-order/service-order.component.js +0 -199
  403. package/esm2015/app/component/service-order/summary/transaction-article-summary.component.js +0 -55
  404. package/esm2015/app/component/service-order/summary/transaction-delivery-summary.component.js +0 -59
  405. package/esm2015/app/component/service-order/summary/transaction-order-summary.component.js +0 -43
  406. package/esm2015/app/component/service-order/summary/transaction-payment-info.component.js +0 -35
  407. package/esm2015/app/component/service-order/summary/transaction-product-contract-summary.component.js +0 -38
  408. package/esm2015/app/component/service-order/summary/transaction-product-summary.component.js +0 -41
  409. package/esm2015/app/component/service-order/summary/transaction-service-status.component.js +0 -37
  410. package/esm2015/app/component/service-order/summary/transaction-service-summary.component.js +0 -38
  411. package/esm2015/app/component/service-order/summary/transaction-summary-block.component.js +0 -53
  412. package/esm2015/app/component/service-order/transaction-article-text/transaction-article-text.component.js +0 -140
  413. package/esm2015/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.js +0 -105
  414. package/esm2015/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.js +0 -73
  415. package/esm2015/app/component/service-order/transaction-header-block/transaction-header-block.component.js +0 -83
  416. package/esm2015/app/component/service-order/transaction-manager/transaction-manager.component.js +0 -314
  417. package/esm2015/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.js +0 -76
  418. package/esm2015/app/component/service-order/transaction-order-lines/transaction-order-lines.component.js +0 -71
  419. package/esm2015/app/component/service-order/transaction-order-totals/transaction-order-totals.component.js +0 -36
  420. package/esm2015/app/component/service-order/transaction-relation/transaction-relation-address.component.js +0 -116
  421. package/esm2015/app/component/service-order/transaction-relation/transaction-relation-edit.component.js +0 -225
  422. package/esm2015/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.js +0 -172
  423. package/esm2015/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.js +0 -120
  424. package/esm2015/app/component/service-order/warehouse/warehouse.component.js +0 -133
  425. package/esm2015/app/component/shopping-cart/ione-shopping-cart.component.js +0 -185
  426. package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +0 -62
  427. package/esm2015/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +0 -294
  428. package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +0 -172
  429. package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +0 -451
  430. package/esm2015/app/enum/checkout-steps.enum.js +0 -10
  431. package/esm2015/app/enum/content-view-mode.enum.js +0 -10
  432. package/esm2015/app/enum/language-code.enum.js +0 -8
  433. package/esm2015/app/enum/order-discount-type.enum.js +0 -7
  434. package/esm2015/app/enum/position-grid-row.enum.js +0 -6
  435. package/esm2015/app/enum/time-size.type.js +0 -10
  436. package/esm2015/app/model/business-object.js +0 -81
  437. package/esm2015/app/model/standard-text.js +0 -3
  438. package/esm2015/app/model/text-value-container.js +0 -3
  439. package/esm2015/app/model/transaction-add-text-line-request.js +0 -11
  440. package/esm2015/app/pipe/append.pipe.js +0 -17
  441. package/esm2015/app/pipe/co-currency.pipe.js +0 -47
  442. package/esm2015/app/pipe/date-duration.pipe.js +0 -57
  443. package/esm2015/app/pipe/delivery-time.pipe.js +0 -33
  444. package/esm2015/app/pipe/localize.pipe.js +0 -28
  445. package/esm2015/app/pipe/safe-style-pipe.js +0 -19
  446. package/esm2015/app/service/dictionary.service.js +0 -76
  447. package/esm2015/app/service/ione-connector-adapter.service.js +0 -567
  448. package/esm2015/app/service/options.service.js +0 -91
  449. package/esm2015/app/service/transaction-event.service.js +0 -26
  450. package/esm2015/app/service/transaction.service.js +0 -584
  451. package/esm2015/app/utils/string-utils.js +0 -64
  452. package/esm2015/assets/dictionary/text.properties.js +0 -332
  453. package/esm2015/factory/business-object-factory.js +0 -120
  454. package/esm2015/factory/decorators/boolean.decorator.js +0 -102
  455. package/esm2015/factory/decorators/complex-array.decorator.js +0 -55
  456. package/esm2015/factory/decorators/complex-field.decorator.js +0 -57
  457. package/esm2015/factory/decorators/date-field.decorator.js +0 -36
  458. package/esm2015/factory/decorators/string-number.decorator.js +0 -43
  459. package/esm2015/utils/array-utils.js +0 -183
  460. package/esm2015/utils/is-nill.function.js +0 -5
  461. package/style/styles.scss +0 -367
  462. package/styles.scss +0 -11
@@ -1,420 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild } from "@angular/core";
3
- import { FormComponent } from "@colijnit/corecomponents_v12";
4
- import { Address } from "@colijnit/transactionapi/build/model/address.bo";
5
- import { AddressType } from "@colijnit/transactionapi/build/enum/address-type.enum";
6
- import { TransactionService } from "../../../service/transaction.service";
7
- import { DictionaryService } from "../../../service/dictionary.service";
8
- export class CheckoutOverviewDeliveryEditComponent {
9
- constructor(cdr, _dictionaryService, service) {
10
- this.cdr = cdr;
11
- this._dictionaryService = _dictionaryService;
12
- this.service = service;
13
- this.deliveryAddressType = AddressType.DeliveryAddress;
14
- this.billingAddressType = AddressType.BillingAddress;
15
- this.validSubmit = new EventEmitter();
16
- this.invalidSubmit = new EventEmitter();
17
- this.deliveryOptionList = [];
18
- this.deliveryOptions = [];
19
- this.deliveryOptionFields = { text: "description", value: "code" };
20
- this.deliveryMethods = [];
21
- this.deliveryMethodFields = { text: "description", value: "code" };
22
- this.addLocationPopup = false;
23
- this.changeLocationPopup = false;
24
- this.preferredDateOptions = [
25
- { text: "NOT_AFTER", value: ">" },
26
- { text: "NOT_BEFORE", value: "<" },
27
- { text: "ON_DATE", value: "=" },
28
- ];
29
- this.preferredDate = new Date();
30
- this.marketing = [];
31
- this.marketingFields = { text: "description", value: "code" };
32
- this.addresses = [];
33
- this.columns = [];
34
- // TODO: Deze velden nog opnemen in Transaction!!
35
- this.deliveryDateFinal = false;
36
- this.assemblyDate = new Date();
37
- this.totalAssemblyTime = "";
38
- this.dropshipment = false;
39
- this.columns.push({ field: "streetName", headerText: this._dictionaryService.get("STREET") }, { field: "houseNo", headerText: this._dictionaryService.get("HOUSE_NO") }, { field: "houseNoAddition", headerText: this._dictionaryService.get("HOUSE_NO_ADDITION") }, { field: "postalCode", headerText: this._dictionaryService.get("POSTAL_CODE"), allowFiltering: false }, { field: "city", headerText: this._dictionaryService.get("CITY") });
40
- }
41
- get billingAddress() {
42
- if (this.transaction.invoiceAddress === undefined) {
43
- if (this.relation &&
44
- this.relation.firstBillingAddress &&
45
- this.relation.firstBillingAddress.isNotEmptyAddress()) {
46
- this.transaction.invoiceAddress = this.relation.firstBillingAddress;
47
- this._setCountryNameToAddress(this.transaction.invoiceAddress).then();
48
- }
49
- }
50
- return this.transaction.invoiceAddress;
51
- }
52
- get deliveryAddress() {
53
- if (this.transaction.transactionAddress === undefined) {
54
- if (this.relation &&
55
- this.relation.firstDeliveryAddress &&
56
- this.relation.firstDeliveryAddress.isNotEmptyAddress()) {
57
- this.transaction.transactionAddress = this.relation.firstDeliveryAddress;
58
- this._setCountryNameToAddress(this.transaction.transactionAddress).then();
59
- }
60
- }
61
- return this.transaction.transactionAddress;
62
- }
63
- get deliveryDate() {
64
- if (this.transaction.deliveryDate === undefined) {
65
- this.transaction.deliveryDate = new Date();
66
- }
67
- return this.transaction.deliveryDate;
68
- }
69
- set deliveryDate(value) {
70
- this.transaction.deliveryDate = value;
71
- }
72
- get preferredDeliveryDate() {
73
- if (this.transaction.preferredDeliveryDate === undefined) {
74
- this.transaction.preferredDeliveryDate = new Date();
75
- }
76
- return this.transaction.preferredDeliveryDate;
77
- }
78
- set preferredDeliveryDate(value) {
79
- this.transaction.preferredDeliveryDate = value;
80
- }
81
- newRelationAddress() {
82
- if (this.relation) {
83
- const address = new Address();
84
- address.addressType = AddressType.DeliveryAddress;
85
- address.startDate = new Date();
86
- address.sequence = this.relation.getNextAddressSequence();
87
- this.relation.addresses.push(address);
88
- return address;
89
- }
90
- }
91
- ngOnInit() {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- if (this.transaction) {
94
- if (this.transaction.transactionAddress === undefined && !this.deliveryAddress) {
95
- this.transaction.transactionAddress = this.deliveryAddress;
96
- }
97
- if (this.transaction.invoiceAddress === undefined && !this.billingAddress) {
98
- this.transaction.invoiceAddress = this.billingAddress;
99
- }
100
- }
101
- this.deliveryCosts = this.calculateDeliveryCosts();
102
- this.assemblyCosts = this.calculateAssemblyCosts();
103
- this.deliveryMethods = yield this.service.getDeliveryMethods();
104
- this.deliveryOptionList = yield this.service.getDeliveryOptions();
105
- this.marketing = yield this.service.getMarketingCodes();
106
- yield this.onDeliveryMethodChange(this.transaction.deliveryMethod);
107
- });
108
- }
109
- ngAfterViewInit() {
110
- this.cdr.detectChanges();
111
- }
112
- submit() {
113
- return this.deliveryForm.submit();
114
- }
115
- onDeliveryMethodChange(deliveryMethodId) {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- const deliveryMethod = this.selectDeliveryMethodById(deliveryMethodId);
118
- this.transaction.deliveryMethod = deliveryMethodId;
119
- if (deliveryMethod.length) {
120
- this.deliveryOptions = this.selectDeliveryOptionsByDeliveryMethod(deliveryMethod[0]);
121
- this.transaction.deliveryOptions = [];
122
- if (this.deliveryOptions.length) {
123
- this.transaction.deliveryOptions.push(this.deliveryOptions[0].code);
124
- }
125
- }
126
- });
127
- }
128
- selectDeliveryOptionsByDeliveryMethod(deliveryMethod) {
129
- return this.deliveryOptionList.filter(deliveryOption => deliveryMethod.deliveryOptions.indexOf(deliveryOption.code) !== -1);
130
- }
131
- selectDeliveryMethodById(deliveryMethodId) {
132
- return this.deliveryMethods.filter(delivery => delivery.code === deliveryMethodId);
133
- }
134
- changeAddress(addressType) {
135
- this._addressType = addressType;
136
- this.addresses = this.relation.addresses;
137
- this.changeLocationPopup = true;
138
- }
139
- saveNewLocation() {
140
- this.locationForm.submit();
141
- }
142
- saveLocation() {
143
- this.addLocation();
144
- this.changeLocationPopup = false;
145
- }
146
- addLocation() {
147
- this.updateAddress(this.newAddress).then();
148
- this.relation.addresses.push(this.newAddress);
149
- this.service.saveRelation().then();
150
- this.addLocationPopup = false;
151
- }
152
- updateAddress(address) {
153
- return __awaiter(this, void 0, void 0, function* () {
154
- if (this._addressType === AddressType.DeliveryAddress) {
155
- this.transaction.transactionAddress = address;
156
- }
157
- else {
158
- this.transaction.invoiceAddress = address;
159
- }
160
- yield this._setCountryNameToAddress(address);
161
- });
162
- }
163
- isDeliveryOptionChecked(deliveryOptionItem) {
164
- return (this.transaction.deliveryOptions.indexOf(deliveryOptionItem.code, 0) === 0);
165
- }
166
- changePreferredDeliveryDate2(preferredDateOption) {
167
- this.transaction.preferredDeliveryDate2 = preferredDateOption;
168
- }
169
- onMarketingCodeChange(marketingCode) {
170
- this.transaction.marketingCode = marketingCode;
171
- }
172
- onChangeLocationCancelClick() {
173
- this.changeLocationPopup = false;
174
- }
175
- onAddLocationOkClick() {
176
- this._addAddress(this._addressType);
177
- this.addLocationPopup = true;
178
- }
179
- handleAddressSelected(rows) {
180
- this.selectedAddress = (rows.find(x => x !== undefined));
181
- this.updateAddress(this.selectedAddress);
182
- this.changeLocationPopup = false;
183
- }
184
- calculateDeliveryCosts() {
185
- return 0;
186
- }
187
- calculateAssemblyCosts() {
188
- return 0;
189
- }
190
- _addAddress(addressType) {
191
- this.newAddress = new Address();
192
- this.newAddress.addressType = addressType;
193
- this.newAddress.startDate = new Date();
194
- this.newAddress.sequence = this.relation.getNextAddressSequence();
195
- }
196
- _setCountryNameToAddress(address) {
197
- return __awaiter(this, void 0, void 0, function* () {
198
- if (address.countryId && !address.countryName) {
199
- const country = yield this.service.getCountry(address.countryId);
200
- address.countryName = country.description;
201
- }
202
- });
203
- }
204
- }
205
- CheckoutOverviewDeliveryEditComponent.decorators = [
206
- { type: Component, args: [{
207
- selector: "checkout-overview-delivery-edit",
208
- template: `
209
- <co-form #deliveryForm (validSubmit)="validSubmit.emit()" (invalidSubmit)="invalidSubmit.emit()">
210
- <div>
211
- <div>
212
- <label [textContent]="'DELIVERY' | localize"
213
- class="checkout-label-h2"
214
- ></label>
215
- </div>
216
- </div>
217
-
218
- <div class="default-flex-row">
219
- <div class="default-flex-column">
220
- <label [textContent]="'DELIVERY_ADDRESS' | localize"
221
- class="checkout-label-h3"
222
- ></label>
223
- <checkout-overview-delivery-address [address]="deliveryAddress"></checkout-overview-delivery-address>
224
- <div class="container-button-change-address">
225
- <co-button [label]="'DELIVERY_ADDRESS_CHANGE' | localize" (click)="changeAddress(deliveryAddressType)"></co-button>
226
- </div>
227
- </div>
228
-
229
- <div class="default-flex-column">
230
- <label [textContent]="'INVOICE_ADDRESS' | localize"
231
- class="checkout-label-h3"
232
- ></label>
233
- <checkout-overview-delivery-address [address]="billingAddress"></checkout-overview-delivery-address>
234
- <div class="container-button-change-address">
235
- <co-button [label]="'INVOICE_ADDRESS_CHANGE' | localize" (click)="changeAddress(billingAddressType)"></co-button>
236
- </div>
237
- </div>
238
- </div>
239
-
240
- <div>
241
- <label [textContent]="'DELIVERY_MOMENT' | localize"
242
- class="checkout-label-h3"
243
- ></label>
244
- </div>
245
-
246
- <div class="default-flex-row">
247
- <div class="default-flex-column">
248
- <co-input-date [placeholder]="'DELIVERY_DATE' | localize " [(model)]="deliveryDate"></co-input-date>
249
- <co-input-checkbox [label]="'PART_DELIVERIES' | localize" [(model)]="transaction.allowPartialDelivery"></co-input-checkbox>
250
- </div>
251
- <div class="default-flex-column">
252
- <co-input-date [placeholder]="'PREFERRED_DATE' | localize " [(model)]="preferredDate"></co-input-date>
253
- <ng-container *ngFor="let preferredDateOption of preferredDateOptions">
254
- <co-input-radio-button [name]="'preferedDeliveryDate2'"
255
- [label]="preferredDateOption.text | localize"
256
- [value]="preferredDateOption.value"
257
- [checked]="transaction.preferredDeliveryDate2 === preferredDateOption.value"
258
- (modelChange)="changePreferredDeliveryDate2(preferredDateOption.value)"
259
- ></co-input-radio-button>
260
- </ng-container>
261
- </div>
262
- </div>
263
-
264
- <div class="default-flex-row">
265
- <div class="default-flex-column">
266
- <co-input-combo-box [(model)]="transaction.deliveryMethod"
267
- [source]="deliveryMethods"
268
- [fields]="deliveryMethodFields"
269
- [placeholder]="'DELIVERY_METHOD2' | localize"
270
- [required]="true"
271
- (modelChange)="onDeliveryMethodChange($event)"
272
- ></co-input-combo-box>
273
- </div>
274
- </div>
275
-
276
- <div>
277
- <label [textContent]="'DELIVERY_OPTIONS' | localize"
278
- class="checkout-label-h3"
279
- ></label>
280
- </div>
281
-
282
- <div class="default-flex-row">
283
- <div class="default-flex-column">
284
- <co-multi-select-list
285
- [placeHolder]="'DELIVERY_OPTIONS' | localize"
286
- [collection]="deliveryOptions"
287
- [fields]="deliveryOptionFields"
288
- [(model)]="transaction.deliveryOptions"
289
- [showCheckbox]="true"
290
- [required]="true"
291
- ></co-multi-select-list>
292
- </div>
293
- </div>
294
-
295
- <div class="">
296
- <label [textContent]="'REMARKS' | localize"
297
- class="checkout-label-h3"
298
- ></label>
299
- </div>
300
-
301
- <div class="default-flex-row">
302
- <div class="default-flex-column">
303
- <co-input-text [(model)]="transaction.remark" [placeholder]="'REMARKS' | localize"></co-input-text>
304
- </div>
305
- </div>
306
-
307
- <div class="default-flex-column">
308
- <co-input-checkbox [label]="'DELIVERY_DATE_FINAL' | localize" [(model)]="deliveryDateFinal"></co-input-checkbox>
309
- </div>
310
- <div class="default-flex-column">
311
- <co-input-date [placeholder]="'ASSEMBLY_DATE' | localize " [(model)]="assemblyDate"></co-input-date>
312
- </div>
313
- <div class="default-flex-column">
314
- <co-input-text [placeholder]="'TOTAL_ASSEMBLY_TIME' | localize " [(model)]="totalAssemblyTime"></co-input-text>
315
- </div>
316
- <div class="default-flex-column">
317
- <co-input-checkbox [label]="'DROPSHIPMENT' | localize" [(model)]="dropshipment"></co-input-checkbox>
318
- </div>
319
-
320
- <div class="default-flex-row">
321
- <div>
322
- <label [textContent]="'DELIVERY_COSTS' | localize"
323
- class="checkout-label-h3"
324
- ></label>
325
- <div>{{ deliveryCosts }}</div>
326
- </div>
327
- <div>
328
- <label [textContent]="'ASSEMBLY_COSTS' | localize"
329
- class="checkout-label-h3"
330
- ></label>
331
- <div>{{ assemblyCosts }}</div>
332
- </div>
333
- </div>
334
-
335
- <div>
336
- <label [textContent]="'MARKETING' | localize"
337
- class="checkout-label-h3"
338
- ></label>
339
- </div>
340
-
341
- <div class="default-flex-row">
342
- <div class="default-flex-column">
343
- <co-input-combo-box [(model)]="transaction.marketingCode"
344
- [source]="marketing"
345
- [fields]="marketingFields"
346
- [placeholder]="'MARKETING' | localize"
347
- [required]="true"
348
- (modelChange)="onMarketingCodeChange($event)"
349
- ></co-input-combo-box>
350
- </div>
351
- </div>
352
-
353
- <div class="default-flex-row">
354
- <div class="default-flex-column">
355
- <co-input-text [(model)]="transaction.relationReference" [placeholder]="'REFERENCE_RELATION' | localize"></co-input-text>
356
- </div>
357
- <div class="default-flex-column">
358
- <co-input-text [(model)]="transaction.ownReference" [placeholder]="'OWN_REFERENCE' | localize"></co-input-text>
359
- </div>
360
- </div>
361
-
362
- </co-form>
363
-
364
- <co-dialog [visible]="addLocationPopup">
365
- <ng-container header>{{ 'NEW_LOCATION' | localize }}</ng-container>
366
- <co-form #locationForm (validSubmit)="saveLocation()">
367
- <co-checkout-overview-relation-address
368
- label="ADDRESS" [address]="newAddress"
369
- ></co-checkout-overview-relation-address>
370
- <div fxLayout="row" fxLayoutGap="10px" fxLayoutAlign="end">
371
- <co-button [label]="'CANCEL' | localize" (click)="addLocationPopup = false;"></co-button>
372
- <co-button [label]="'SAVE' | localize" (click)="saveNewLocation()"></co-button>
373
- </div>
374
- </co-form>
375
- </co-dialog>
376
-
377
- <co-dialog #changeLocationDialog
378
- [visible]="changeLocationPopup"
379
- (closeClick)="onChangeLocationCancelClick()"
380
- (overlayClick)="onChangeLocationCancelClick()"
381
- >
382
- <ng-container header>{{ 'ADDRESS' | localize }}</ng-container>
383
- <co-form>
384
- <div class="form-content">
385
- <div>
386
- <co-grid #addressGrid
387
- [data]="addresses"
388
- [columns]="columns"
389
- [pagingEnabled]="true"
390
- [maxNumberOfRows]="20"
391
- (rowsSelected)="handleAddressSelected($event)"
392
- ></co-grid>
393
- </div>
394
- </div>
395
- <div class="flex-center" fxLayoutGap="10px">
396
- <co-button [label]="'ADDRESS_ADD' | localize" (click)="onAddLocationOkClick()"></co-button>
397
- <co-button [label]="'CANCEL' | localize" (click)="onChangeLocationCancelClick()"></co-button>
398
- </div>
399
- </co-form>
400
- </co-dialog>
401
- `,
402
- styles: ["", ".container-button-change-address{margin-top:5px}\n"]
403
- },] }
404
- ];
405
- CheckoutOverviewDeliveryEditComponent.ctorParameters = () => [
406
- { type: ChangeDetectorRef },
407
- { type: DictionaryService },
408
- { type: TransactionService }
409
- ];
410
- CheckoutOverviewDeliveryEditComponent.propDecorators = {
411
- deliveryForm: [{ type: ViewChild, args: ["deliveryForm", { read: FormComponent },] }],
412
- locationForm: [{ type: ViewChild, args: ["locationForm", { read: FormComponent },] }],
413
- changeLocationDialog: [{ type: ViewChild, args: ["changeLocationDialog",] }],
414
- addressGrid: [{ type: ViewChild, args: ["addressGrid",] }],
415
- relation: [{ type: Input }],
416
- transaction: [{ type: Input }],
417
- validSubmit: [{ type: Output }],
418
- invalidSubmit: [{ type: Output }]
419
- };
420
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctZGVsaXZlcnktZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1kZWxpdmVyeS1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFxQyxhQUFhLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saURBQWlELENBQUM7QUFHeEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBR2xGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBR3hFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBNE10RSxNQUFNLE9BQU8scUNBQXFDO0lBNEloRCxZQUNZLEdBQXNCLEVBQ3RCLGtCQUFxQyxFQUN0QyxPQUEyQjtRQUYxQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3RDLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBOUl0Qix3QkFBbUIsR0FBZ0IsV0FBVyxDQUFDLGVBQWUsQ0FBQztRQUMvRCx1QkFBa0IsR0FBZ0IsV0FBVyxDQUFDLGNBQWMsQ0FBQztRQXFCdEUsZ0JBQVcsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUczRCxrQkFBYSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTdELHVCQUFrQixHQUFxQixFQUFFLENBQUM7UUFDMUMs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LEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVhLHdCQUF3QixDQUFDLE9BQWdCOztZQUNyRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUM3QyxNQUFNLE9BQU8sR0FBWSxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDMUUsT0FBTyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO2FBQzNDO1FBQ0gsQ0FBQztLQUFBOzs7WUF6Y0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQ0FBaUM7Z0JBQzNDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlNVDs7YUFLRjs7O1lBdk5zQixpQkFBaUI7WUFZaEMsaUJBQWlCO1lBSGpCLGtCQUFrQjs7OzJCQW1OdkIsU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFDLElBQUksRUFBRSxhQUFhLEVBQUM7MkJBRy9DLFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFDO21DQUcvQyxTQUFTLFNBQUMsc0JBQXNCOzBCQUdoQyxTQUFTLFNBQUMsYUFBYTt1QkFHdkIsS0FBSzswQkFHTCxLQUFLOzBCQUdMLE1BQU07NEJBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtDb0RpYWxvZ0NvbXBvbmVudCwgQ29HcmlkQ29tcG9uZW50LCBGb3JtQ29tcG9uZW50fSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xuaW1wb3J0IHtSZWxhdGlvbkFueVR5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tYW55LXR5cGVcIjtcbmltcG9ydCB7QWRkcmVzc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hZGRyZXNzLmJvXCI7XG5pbXBvcnQge0dlbmRlclR5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9nZW5kZXItdHlwZS5lbnVtXCI7XG5pbXBvcnQge01hcmtldGluZ30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9tYXJrZXRpbmcuYm9cIjtcbmltcG9ydCB7QWRkcmVzc1R5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9hZGRyZXNzLXR5cGUuZW51bVwiO1xuaW1wb3J0IHtEZWxpdmVyeU1ldGhvZH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kZWxpdmVyeS1tZXRob2QuYm9cIjtcbmltcG9ydCB7RGVsaXZlcnlPcHRpb259IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZGVsaXZlcnktb3B0aW9uLmJvXCI7XG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xuaW1wb3J0IHtUZXh0VmFsdWVDb250YWluZXJ9IGZyb20gXCIuLi8uLi8uLi9tb2RlbC90ZXh0LXZhbHVlLWNvbnRhaW5lclwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby5ib1wiO1xuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlXCI7XG5pbXBvcnQge0NvdW50cnl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY291bnRyeS5ib1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY2hlY2tvdXQtb3ZlcnZpZXctZGVsaXZlcnktZWRpdFwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxjby1mb3JtICNkZWxpdmVyeUZvcm0gKHZhbGlkU3VibWl0KT1cInZhbGlkU3VibWl0LmVtaXQoKVwiIChpbnZhbGlkU3VibWl0KT1cImludmFsaWRTdWJtaXQuZW1pdCgpXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0RFTElWRVJZJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oMlwiXG4gICAgICAgICAgPjwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidERUxJVkVSWV9BRERSRVNTJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWgzXCJcbiAgICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgICAgPGNoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWFkZHJlc3MgW2FkZHJlc3NdPVwiZGVsaXZlcnlBZGRyZXNzXCI+PC9jaGVja291dC1vdmVydmlldy1kZWxpdmVyeS1hZGRyZXNzPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1idXR0b24tY2hhbmdlLWFkZHJlc3NcIj5cbiAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBbbGFiZWxdPVwiJ0RFTElWRVJZX0FERFJFU1NfQ0hBTkdFJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cImNoYW5nZUFkZHJlc3MoZGVsaXZlcnlBZGRyZXNzVHlwZSlcIj48L2NvLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInSU5WT0lDRV9BRERSRVNTJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWgzXCJcbiAgICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgICAgPGNoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWFkZHJlc3MgW2FkZHJlc3NdPVwiYmlsbGluZ0FkZHJlc3NcIj48L2NoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWFkZHJlc3M+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWJ1dHRvbi1jaGFuZ2UtYWRkcmVzc1wiPlxuICAgICAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInSU5WT0lDRV9BRERSRVNTX0NIQU5HRScgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJjaGFuZ2VBZGRyZXNzKGJpbGxpbmdBZGRyZXNzVHlwZSlcIj48L2NvLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2PlxuICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidERUxJVkVSWV9NT01FTlQnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgICAgID48L2xhYmVsPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgPGNvLWlucHV0LWRhdGUgW3BsYWNlaG9sZGVyXT1cIidERUxJVkVSWV9EQVRFJyB8IGxvY2FsaXplIFwiIFsobW9kZWwpXT1cImRlbGl2ZXJ5RGF0ZVwiPjwvY28taW5wdXQtZGF0ZT5cbiAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW2xhYmVsXT1cIidQQVJUX0RFTElWRVJJRVMnIHwgbG9jYWxpemVcIiBbKG1vZGVsKV09XCJ0cmFuc2FjdGlvbi5hbGxvd1BhcnRpYWxEZWxpdmVyeVwiPjwvY28taW5wdXQtY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LWNvbHVtblwiPlxuICAgICAgICAgIDxjby1pbnB1dC1kYXRlIFtwbGFjZWhvbGRlcl09XCInUFJFRkVSUkVEX0RBVEUnIHwgbG9jYWxpemUgXCIgWyhtb2RlbCldPVwicHJlZmVycmVkRGF0ZVwiPjwvY28taW5wdXQtZGF0ZT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcmVmZXJyZWREYXRlT3B0aW9uIG9mIHByZWZlcnJlZERhdGVPcHRpb25zXCI+XG4gICAgICAgICAgICA8Y28taW5wdXQtcmFkaW8tYnV0dG9uIFtuYW1lXT1cIidwcmVmZXJlZERlbGl2ZXJ5RGF0ZTInXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInByZWZlcnJlZERhdGVPcHRpb24udGV4dCB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInByZWZlcnJlZERhdGVPcHRpb24udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJ0cmFuc2FjdGlvbi5wcmVmZXJyZWREZWxpdmVyeURhdGUyID09PSBwcmVmZXJyZWREYXRlT3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImNoYW5nZVByZWZlcnJlZERlbGl2ZXJ5RGF0ZTIocHJlZmVycmVkRGF0ZU9wdGlvbi52YWx1ZSlcIlxuICAgICAgICAgICAgPjwvY28taW5wdXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LWNvbHVtblwiPlxuICAgICAgICAgIDxjby1pbnB1dC1jb21iby1ib3ggWyhtb2RlbCldPVwidHJhbnNhY3Rpb24uZGVsaXZlcnlNZXRob2RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3VyY2VdPVwiZGVsaXZlcnlNZXRob2RzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRzXT1cImRlbGl2ZXJ5TWV0aG9kRmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJZX01FVEhPRDInIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwib25EZWxpdmVyeU1ldGhvZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2NvLWlucHV0LWNvbWJvLWJveD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdj5cbiAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidERUxJVkVSWV9PUFRJT05TJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgICAgICAgPjwvbGFiZWw+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZmxleC1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICA8Y28tbXVsdGktc2VsZWN0LWxpc3RcbiAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInREVMSVZFUllfT1BUSU9OUycgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICBbY29sbGVjdGlvbl09XCJkZWxpdmVyeU9wdGlvbnNcIlxuICAgICAgICAgICAgW2ZpZWxkc109XCJkZWxpdmVyeU9wdGlvbkZpZWxkc1wiXG4gICAgICAgICAgICBbKG1vZGVsKV09XCJ0cmFuc2FjdGlvbi5kZWxpdmVyeU9wdGlvbnNcIlxuICAgICAgICAgICAgW3Nob3dDaGVja2JveF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICA+PC9jby1tdWx0aS1zZWxlY3QtbGlzdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ1JFTUFSS1MnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgICAgID48L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZmxleC1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInRyYW5zYWN0aW9uLnJlbWFya1wiIFtwbGFjZWhvbGRlcl09XCInUkVNQVJLUycgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LWNvbHVtblwiPlxuICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW2xhYmVsXT1cIidERUxJVkVSWV9EQVRFX0ZJTkFMJyB8IGxvY2FsaXplXCIgWyhtb2RlbCldPVwiZGVsaXZlcnlEYXRlRmluYWxcIj48L2NvLWlucHV0LWNoZWNrYm94PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LWNvbHVtblwiPlxuICAgICAgICA8Y28taW5wdXQtZGF0ZSBbcGxhY2Vob2xkZXJdPVwiJ0FTU0VNQkxZX0RBVEUnIHwgbG9jYWxpemUgXCIgWyhtb2RlbCldPVwiYXNzZW1ibHlEYXRlXCI+PC9jby1pbnB1dC1kYXRlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LWNvbHVtblwiPlxuICAgICAgICA8Y28taW5wdXQtdGV4dCBbcGxhY2Vob2xkZXJdPVwiJ1RPVEFMX0FTU0VNQkxZX1RJTUUnIHwgbG9jYWxpemUgXCIgWyhtb2RlbCldPVwidG90YWxBc3NlbWJseVRpbWVcIj48L2NvLWlucHV0LXRleHQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgIDxjby1pbnB1dC1jaGVja2JveCBbbGFiZWxdPVwiJ0RST1BTSElQTUVOVCcgfCBsb2NhbGl6ZVwiIFsobW9kZWwpXT1cImRyb3BzaGlwbWVudFwiPjwvY28taW5wdXQtY2hlY2tib3g+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZmxleC1yb3dcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidERUxJVkVSWV9DT1NUUycgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtaDNcIlxuICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgIDxkaXY+e3sgZGVsaXZlcnlDb3N0cyB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidBU1NFTUJMWV9DT1NUUycgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtaDNcIlxuICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgIDxkaXY+e3sgYXNzZW1ibHlDb3N0cyB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2PlxuICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidNQVJLRVRJTkcnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja291dC1sYWJlbC1oM1wiXG4gICAgICAgID48L2xhYmVsPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveCBbKG1vZGVsKV09XCJ0cmFuc2FjdGlvbi5tYXJrZXRpbmdDb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3VyY2VdPVwibWFya2V0aW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwibWFya2V0aW5nRmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInTUFSS0VUSU5HJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJvbk1hcmtldGluZ0NvZGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvY28taW5wdXQtY29tYm8tYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1mbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwidHJhbnNhY3Rpb24ucmVsYXRpb25SZWZlcmVuY2VcIiBbcGxhY2Vob2xkZXJdPVwiJ1JFRkVSRU5DRV9SRUxBVElPTicgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJ0cmFuc2FjdGlvbi5vd25SZWZlcmVuY2VcIiBbcGxhY2Vob2xkZXJdPVwiJ09XTl9SRUZFUkVOQ0UnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICA8L2NvLWZvcm0+XG5cbiAgICA8Y28tZGlhbG9nIFt2aXNpYmxlXT1cImFkZExvY2F0aW9uUG9wdXBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgaGVhZGVyPnt7ICdORVdfTE9DQVRJT04nIHwgbG9jYWxpemUgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGNvLWZvcm0gI2xvY2F0aW9uRm9ybSAodmFsaWRTdWJtaXQpPVwic2F2ZUxvY2F0aW9uKClcIj5cbiAgICAgICAgICA8Y28tY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tYWRkcmVzc1xuICAgICAgICAgICAgbGFiZWw9XCJBRERSRVNTXCIgW2FkZHJlc3NdPVwibmV3QWRkcmVzc1wiXG4gICAgICAgICAgPjwvY28tY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tYWRkcmVzcz5cbiAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIxMHB4XCIgZnhMYXlvdXRBbGlnbj1cImVuZFwiPlxuICAgICAgICAgICAgPGNvLWJ1dHRvbiBbbGFiZWxdPVwiJ0NBTkNFTCcgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJhZGRMb2NhdGlvblBvcHVwID0gZmFsc2U7XCI+PC9jby1idXR0b24+XG4gICAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInU0FWRScgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJzYXZlTmV3TG9jYXRpb24oKVwiPjwvY28tYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2NvLWZvcm0+XG4gICAgPC9jby1kaWFsb2c+XG5cbiAgICA8Y28tZGlhbG9nICNjaGFuZ2VMb2NhdGlvbkRpYWxvZ1xuICAgICAgICAgICAgICAgW3Zpc2libGVdPVwiY2hhbmdlTG9jYXRpb25Qb3B1cFwiXG4gICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJvbkNoYW5nZUxvY2F0aW9uQ2FuY2VsQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAob3ZlcmxheUNsaWNrKT1cIm9uQ2hhbmdlTG9jYXRpb25DYW5jZWxDbGljaygpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyIGhlYWRlcj57eyAnQUREUkVTUycgfCBsb2NhbGl6ZSB9fTwvbmctY29udGFpbmVyPlxuICAgICAgPGNvLWZvcm0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRlbnRcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGNvLWdyaWQgI2FkZHJlc3NHcmlkXG4gICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJhZGRyZXNzZXNcIlxuICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICAgICAgICAgICAgICAgICBbcGFnaW5nRW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgIFttYXhOdW1iZXJPZlJvd3NdPVwiMjBcIlxuICAgICAgICAgICAgICAgICAgICAgKHJvd3NTZWxlY3RlZCk9XCJoYW5kbGVBZGRyZXNzU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9jby1ncmlkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxMHB4XCI+XG4gICAgICAgICAgPGNvLWJ1dHRvbiBbbGFiZWxdPVwiJ0FERFJFU1NfQUREJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cIm9uQWRkTG9jYXRpb25Pa0NsaWNrKClcIj48L2NvLWJ1dHRvbj5cbiAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInQ0FOQ0VMJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cIm9uQ2hhbmdlTG9jYXRpb25DYW5jZWxDbGljaygpXCI+PC9jby1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9jby1mb3JtPlxuICAgIDwvY28tZGlhbG9nPlxuICBgLFxuICBzdHlsZVVybHM6IFtcbiAgICBcIi4vLi4vY2hlY2tvdXQvY2hlY2tvdXQuY29tcG9uZW50LnNjc3NcIixcbiAgICBcIi4vY2hlY2tvdXQtb3ZlcnZpZXctZGVsaXZlcnktZWRpdC5jb21wb25lbnQuc2Nzc1wiXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRPdmVydmlld0RlbGl2ZXJ5RWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHB1YmxpYyByZWFkb25seSBkZWxpdmVyeUFkZHJlc3NUeXBlOiBBZGRyZXNzVHlwZSA9IEFkZHJlc3NUeXBlLkRlbGl2ZXJ5QWRkcmVzcztcbiAgcHVibGljIHJlYWRvbmx5IGJpbGxpbmdBZGRyZXNzVHlwZTogQWRkcmVzc1R5cGUgPSBBZGRyZXNzVHlwZS5CaWxsaW5nQWRkcmVzcztcblxuICBAVmlld0NoaWxkKFwiZGVsaXZlcnlGb3JtXCIsIHtyZWFkOiBGb3JtQ29tcG9uZW50fSlcbiAgcHVibGljIGRlbGl2ZXJ5Rm9ybTogRm9ybUNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKFwibG9jYXRpb25Gb3JtXCIsIHtyZWFkOiBGb3JtQ29tcG9uZW50fSlcbiAgcHVibGljIGxvY2F0aW9uRm9ybTogRm9ybUNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKFwiY2hhbmdlTG9jYXRpb25EaWFsb2dcIilcbiAgcHVibGljIGNoYW5nZUxvY2F0aW9uRGlhbG9nOiBDb0RpYWxvZ0NvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKFwiYWRkcmVzc0dyaWRcIilcbiAgcHVibGljIGFkZHJlc3NHcmlkOiBDb0dyaWRDb21wb25lbnQ8YW55PjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVsYXRpb246IFJlbGF0aW9uQW55VHlwZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mbztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIGRlbGl2ZXJ5T3B0aW9uTGlzdDogRGVsaXZlcnlPcHRpb25bXSA9IFtdO1xuICBwdWJsaWMgZGVsaXZlcnlPcHRpb25zOiBEZWxpdmVyeU9wdGlvbltdID0gW107XG4gIHB1YmxpYyBkZWxpdmVyeU9wdGlvbkZpZWxkczogVGV4dFZhbHVlQ29udGFpbmVyID0geyB0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIiB9O1xuICBwdWJsaWMgZGVsaXZlcnlNZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdID0gW107XG4gIHB1YmxpYyBkZWxpdmVyeU1ldGhvZEZpZWxkczogVGV4dFZhbHVlQ29udGFpbmVyID0geyB0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIiB9O1xuICBwdWJsaWMgYWRkTG9jYXRpb25Qb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgY2hhbmdlTG9jYXRpb25Qb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgbmV3QWRkcmVzczogQWRkcmVzcztcbiAgcHVibGljIHByZWZlcnJlZERhdGVPcHRpb25zOiBUZXh0VmFsdWVDb250YWluZXJbXSA9IFtcbiAgICAgIHt0ZXh0OiBcIk5PVF9BRlRFUlwiLCB2YWx1ZTogXCI+XCIgfSxcbiAgICAgIHt0ZXh0OiBcIk5PVF9CRUZPUkVcIiwgdmFsdWU6IFwiPFwiIH0sXG4gICAgICB7dGV4dDogXCJPTl9EQVRFXCIsIHZhbHVlOiBcIj1cIiB9LFxuICAgIF07XG4gIHB1YmxpYyBwcmVmZXJyZWREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgcHVibGljIGdlbmRlcjogR2VuZGVyVHlwZTtcbiAgcHVibGljIG1hcmtldGluZzogTWFya2V0aW5nW10gPSBbXTtcbiAgcHVibGljIG1hcmtldGluZ0ZpZWxkczogT2JqZWN0ID0geyB0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIiB9O1xuICBwdWJsaWMgbWFya2V0aW5nQ29kZTogc3RyaW5nO1xuICBwdWJsaWMgYXNzZW1ibHlDb3N0czogbnVtYmVyO1xuICBwdWJsaWMgZGVsaXZlcnlDb3N0czogbnVtYmVyO1xuXG4gIHB1YmxpYyBhZGRyZXNzZXM6IEFkZHJlc3NbXSA9IFtdO1xuICBwdWJsaWMgc2VsZWN0ZWRBZGRyZXNzOiBBZGRyZXNzO1xuICBwdWJsaWMgY29sdW1uczogYW55W10gPSBbXTtcblxuICAvLyBUT0RPOiBEZXplIHZlbGRlbiBub2cgb3BuZW1lbiBpbiBUcmFuc2FjdGlvbiEhXG4gIHB1YmxpYyBkZWxpdmVyeURhdGVGaW5hbDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgYXNzZW1ibHlEYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgcHVibGljIHRvdGFsQXNzZW1ibHlUaW1lOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgZHJvcHNoaXBtZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfYWRkcmVzc1R5cGU6IEFkZHJlc3NUeXBlO1xuXG4gIHB1YmxpYyBnZXQgYmlsbGluZ0FkZHJlc3MoKTogQWRkcmVzcyB7XG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb24uaW52b2ljZUFkZHJlc3MgPT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRoaXMucmVsYXRpb24gJiZcbiAgICAgICAgdGhpcy5yZWxhdGlvbi5maXJzdEJpbGxpbmdBZGRyZXNzICYmXG4gICAgICAgIHRoaXMucmVsYXRpb24uZmlyc3RCaWxsaW5nQWRkcmVzcy5pc05vdEVtcHR5QWRkcmVzcygpKSB7XG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb24uaW52b2ljZUFkZHJlc3MgPSB0aGlzLnJlbGF0aW9uLmZpcnN0QmlsbGluZ0FkZHJlc3M7XG4gICAgICAgIHRoaXMuX3NldENvdW50cnlOYW1lVG9BZGRyZXNzKHRoaXMudHJhbnNhY3Rpb24uaW52b2ljZUFkZHJlc3MpLnRoZW4oKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb24uaW52b2ljZUFkZHJlc3M7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlbGl2ZXJ5QWRkcmVzcygpOiBBZGRyZXNzIHtcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkFkZHJlc3MgPT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRoaXMucmVsYXRpb24gJiZcbiAgICAgICAgdGhpcy5yZWxhdGlvbi5maXJzdERlbGl2ZXJ5QWRkcmVzcyAmJlxuICAgICAgICB0aGlzLnJlbGF0aW9uLmZpcnN0RGVsaXZlcnlBZGRyZXNzLmlzTm90RW1wdHlBZGRyZXNzKCkpIHtcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkFkZHJlc3MgPSB0aGlzLnJlbGF0aW9uLmZpcnN0RGVsaXZlcnlBZGRyZXNzO1xuICAgICAgICB0aGlzLl9zZXRDb3VudHJ5TmFtZVRvQWRkcmVzcyh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uQWRkcmVzcykudGhlbigpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkFkZHJlc3M7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlbGl2ZXJ5RGF0ZSgpOiBEYXRlIHtcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi5kZWxpdmVyeURhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbi5kZWxpdmVyeURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbi5kZWxpdmVyeURhdGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRlbGl2ZXJ5RGF0ZSh2YWx1ZTogRGF0ZSkge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uZGVsaXZlcnlEYXRlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByZWZlcnJlZERlbGl2ZXJ5RGF0ZSgpOiBEYXRlIHtcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi5wcmVmZXJyZWREZWxpdmVyeURhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbi5wcmVmZXJyZWREZWxpdmVyeURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbi5wcmVmZXJyZWREZWxpdmVyeURhdGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IHByZWZlcnJlZERlbGl2ZXJ5RGF0ZSh2YWx1ZTogRGF0ZSkge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucHJlZmVycmVkRGVsaXZlcnlEYXRlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmV3UmVsYXRpb25BZGRyZXNzKCk6IEFkZHJlc3Mge1xuICAgIGlmICh0aGlzLnJlbGF0aW9uKSB7XG4gICAgICBjb25zdCBhZGRyZXNzOiBBZGRyZXNzID0gbmV3IEFkZHJlc3MoKTtcbiAgICAgIGFkZHJlc3MuYWRkcmVzc1R5cGUgPSBBZGRyZXNzVHlwZS5EZWxpdmVyeUFkZHJlc3M7XG4gICAgICBhZGRyZXNzLnN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICBhZGRyZXNzLnNlcXVlbmNlID0gdGhpcy5yZWxhdGlvbi5nZXROZXh0QWRkcmVzc1NlcXVlbmNlKCk7XG4gICAgICB0aGlzLnJlbGF0aW9uLmFkZHJlc3Nlcy5wdXNoKGFkZHJlc3MpO1xuICAgICAgcmV0dXJuIGFkZHJlc3M7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uKSB7XG4gICAgICBpZiAodGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkFkZHJlc3MgPT09IHVuZGVmaW5lZCAmJiAhdGhpcy5kZWxpdmVyeUFkZHJlc3MpIHtcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkFkZHJlc3MgPSB0aGlzLmRlbGl2ZXJ5QWRkcmVzcztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLmludm9pY2VBZGRyZXNzID09PSB1bmRlZmluZWQgJiYgIXRoaXMuYmlsbGluZ0FkZHJlc3MpIHtcbiAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLmludm9pY2VBZGRyZXNzID0gdGhpcy5iaWxsaW5nQWRkcmVzcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZGVsaXZlcnlDb3N0cyA9IHRoaXMuY2FsY3VsYXRlRGVsaXZlcnlDb3N0cygpO1xuICAgIHRoaXMuYXNzZW1ibHlDb3N0cyA9IHRoaXMuY2FsY3VsYXRlQXNzZW1ibHlDb3N0cygpO1xuICAgIHRoaXMuZGVsaXZlcnlNZXRob2RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldERlbGl2ZXJ5TWV0aG9kcygpO1xuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25MaXN0ID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldERlbGl2ZXJ5T3B0aW9ucygpO1xuICAgIHRoaXMubWFya2V0aW5nID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldE1hcmtldGluZ0NvZGVzKCk7XG4gICAgYXdhaXQgdGhpcy5vbkRlbGl2ZXJ5TWV0aG9kQ2hhbmdlKHRoaXMudHJhbnNhY3Rpb24uZGVsaXZlcnlNZXRob2QpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgcHJpdmF0ZSBfZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxuICAgICAgcHVibGljIHNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5jb2x1bW5zLnB1c2goXG4gICAgICB7ZmllbGQ6IFwic3RyZWV0TmFtZVwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJTVFJFRVRcIil9LFxuICAgICAge2ZpZWxkOiBcImhvdXNlTm9cIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiSE9VU0VfTk9cIil9LFxuICAgICAge2ZpZWxkOiBcImhvdXNlTm9BZGRpdGlvblwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJIT1VTRV9OT19BRERJVElPTlwiKX0sXG4gICAgICB7ZmllbGQ6IFwicG9zdGFsQ29kZVwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJQT1NUQUxfQ09ERVwiKSwgYWxsb3dGaWx0ZXJpbmc6IGZhbHNlfSxcbiAgICAgIHtmaWVsZDogXCJjaXR5XCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChcIkNJVFlcIil9LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3VibWl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRlbGl2ZXJ5Rm9ybS5zdWJtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBvbkRlbGl2ZXJ5TWV0aG9kQ2hhbmdlKGRlbGl2ZXJ5TWV0aG9kSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGRlbGl2ZXJ5TWV0aG9kOiBEZWxpdmVyeU1ldGhvZFtdID0gdGhpcy5zZWxlY3REZWxpdmVyeU1ldGhvZEJ5SWQoZGVsaXZlcnlNZXRob2RJZCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5kZWxpdmVyeU1ldGhvZCA9IGRlbGl2ZXJ5TWV0aG9kSWQ7XG4gICAgaWYgKGRlbGl2ZXJ5TWV0aG9kLmxlbmd0aCkge1xuICAgICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMgPSB0aGlzLnNlbGVjdERlbGl2ZXJ5T3B0aW9uc0J5RGVsaXZlcnlNZXRob2QoZGVsaXZlcnlNZXRob2RbMF0pO1xuICAgICAgdGhpcy50cmFuc2FjdGlvbi5kZWxpdmVyeU9wdGlvbnMgPSBbXTtcbiAgICAgIGlmICh0aGlzLmRlbGl2ZXJ5T3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbi5kZWxpdmVyeU9wdGlvbnMucHVzaCh0aGlzLmRlbGl2ZXJ5T3B0aW9uc1swXS5jb2RlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0RGVsaXZlcnlPcHRpb25zQnlEZWxpdmVyeU1ldGhvZChkZWxpdmVyeU1ldGhvZDogRGVsaXZlcnlNZXRob2QpOiBEZWxpdmVyeU9wdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5kZWxpdmVyeU9wdGlvbkxpc3QuZmlsdGVyKGRlbGl2ZXJ5T3B0aW9uID0+IGRlbGl2ZXJ5TWV0aG9kLmRlbGl2ZXJ5T3B0aW9ucy5pbmRleE9mKGRlbGl2ZXJ5T3B0aW9uLmNvZGUpICE9PSAtMSk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0RGVsaXZlcnlNZXRob2RCeUlkKGRlbGl2ZXJ5TWV0aG9kSWQ6IHN0cmluZyk6IERlbGl2ZXJ5TWV0aG9kW10ge1xuICAgIHJldHVybiB0aGlzLmRlbGl2ZXJ5TWV0aG9kcy5maWx0ZXIoZGVsaXZlcnkgPT4gZGVsaXZlcnkuY29kZSA9PT0gZGVsaXZlcnlNZXRob2RJZCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlQWRkcmVzcyhhZGRyZXNzVHlwZTogQWRkcmVzc1R5cGUpOiB2b2lkIHtcbiAgICB0aGlzLl9hZGRyZXNzVHlwZSA9IGFkZHJlc3NUeXBlO1xuICAgIHRoaXMuYWRkcmVzc2VzID0gdGhpcy5yZWxhdGlvbi5hZGRyZXNzZXM7XG4gICAgdGhpcy5jaGFuZ2VMb2NhdGlvblBvcHVwID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlTmV3TG9jYXRpb24oKTogdm9pZCB7XG4gICAgIHRoaXMubG9jYXRpb25Gb3JtLnN1Ym1pdCgpO1xuICB9XG5cbiAgcHVibGljIHNhdmVMb2NhdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmFkZExvY2F0aW9uKCk7XG4gICAgdGhpcy5jaGFuZ2VMb2NhdGlvblBvcHVwID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgYWRkTG9jYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBZGRyZXNzKHRoaXMubmV3QWRkcmVzcykudGhlbigpO1xuICAgIHRoaXMucmVsYXRpb24uYWRkcmVzc2VzLnB1c2godGhpcy5uZXdBZGRyZXNzKTtcbiAgICB0aGlzLnNlcnZpY2Uuc2F2ZVJlbGF0aW9uKCkudGhlbigpO1xuICAgIHRoaXMuYWRkTG9jYXRpb25Qb3B1cCA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHVwZGF0ZUFkZHJlc3MoYWRkcmVzczogQWRkcmVzcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLl9hZGRyZXNzVHlwZSA9PT0gQWRkcmVzc1R5cGUuRGVsaXZlcnlBZGRyZXNzKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uQWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uaW52b2ljZUFkZHJlc3MgPSBhZGRyZXNzO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLl9zZXRDb3VudHJ5TmFtZVRvQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0RlbGl2ZXJ5T3B0aW9uQ2hlY2tlZChkZWxpdmVyeU9wdGlvbkl0ZW06IERlbGl2ZXJ5T3B0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLnRyYW5zYWN0aW9uLmRlbGl2ZXJ5T3B0aW9ucy5pbmRleE9mKGRlbGl2ZXJ5T3B0aW9uSXRlbS5jb2RlLCAwKSA9PT0gMCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlUHJlZmVycmVkRGVsaXZlcnlEYXRlMihwcmVmZXJyZWREYXRlT3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnByZWZlcnJlZERlbGl2ZXJ5RGF0ZTIgPSBwcmVmZXJyZWREYXRlT3B0aW9uO1xuICB9XG5cbiAgcHVibGljIG9uTWFya2V0aW5nQ29kZUNoYW5nZShtYXJrZXRpbmdDb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLm1hcmtldGluZ0NvZGUgPSBtYXJrZXRpbmdDb2RlO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlTG9jYXRpb25DYW5jZWxDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZUxvY2F0aW9uUG9wdXAgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvbkFkZExvY2F0aW9uT2tDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLl9hZGRBZGRyZXNzKHRoaXMuX2FkZHJlc3NUeXBlKTtcbiAgICB0aGlzLmFkZExvY2F0aW9uUG9wdXAgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUFkZHJlc3NTZWxlY3RlZChyb3dzOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQWRkcmVzcyA9IChyb3dzLmZpbmQoeCA9PiB4ICE9PSB1bmRlZmluZWQpKTtcbiAgICB0aGlzLnVwZGF0ZUFkZHJlc3ModGhpcy5zZWxlY3RlZEFkZHJlc3MpO1xuICAgIHRoaXMuY2hhbmdlTG9jYXRpb25Qb3B1cCA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVEZWxpdmVyeUNvc3RzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUFzc2VtYmx5Q29zdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZEFkZHJlc3MoYWRkcmVzc1R5cGU6IEFkZHJlc3NUeXBlKTogdm9pZCB7XG4gICAgdGhpcy5uZXdBZGRyZXNzID0gbmV3IEFkZHJlc3MoKTtcbiAgICB0aGlzLm5ld0FkZHJlc3MuYWRkcmVzc1R5cGUgPSBhZGRyZXNzVHlwZTtcbiAgICB0aGlzLm5ld0FkZHJlc3Muc3RhcnREYXRlID0gbmV3IERhdGUoKTtcbiAgICB0aGlzLm5ld0FkZHJlc3Muc2VxdWVuY2UgPSB0aGlzLnJlbGF0aW9uLmdldE5leHRBZGRyZXNzU2VxdWVuY2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3NldENvdW50cnlOYW1lVG9BZGRyZXNzKGFkZHJlc3M6IEFkZHJlc3MpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoYWRkcmVzcy5jb3VudHJ5SWQgJiYgIWFkZHJlc3MuY291bnRyeU5hbWUpIHtcbiAgICAgIGNvbnN0IGNvdW50cnk6IENvdW50cnkgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0Q291bnRyeShhZGRyZXNzLmNvdW50cnlJZCk7XG4gICAgICBhZGRyZXNzLmNvdW50cnlOYW1lID0gY291bnRyeS5kZXNjcmlwdGlvbjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,103 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, HostBinding, Input, 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 { IOneConnectorAdapterService } from "../../../service/ione-connector-adapter.service";
6
- import { StringUtils } from "../../../utils/string-utils";
7
- import { DictionaryService } from "../../../service/dictionary.service";
8
- export class CheckoutOverviewRelationAddressComponent {
9
- constructor(_dictionary, _connector) {
10
- this._dictionary = _dictionary;
11
- this._connector = _connector;
12
- this.countries = [];
13
- this.fields = { text: "description", value: "code" };
14
- this.postalCodeCheckErrorMessage = "";
15
- this._prevPostalCodeForCheck = "";
16
- }
17
- set address(address) {
18
- this._address = address;
19
- }
20
- get address() {
21
- if (this._address === undefined) {
22
- this._address = new Address();
23
- }
24
- return this._address;
25
- }
26
- showClass() {
27
- return true;
28
- }
29
- ngOnInit() {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- this.countries = yield this._connector.getCountries();
32
- });
33
- }
34
- checkForPostalCodeCheckError() {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- if (!this.address.postalCode || isNill(this.address.houseNo)) {
37
- this.postalCodeCheckErrorMessage = "";
38
- return;
39
- }
40
- if (this._prevPostalCodeForCheck !== this.address.postalCode || this._prevHouseNoForCheck !== this.address.houseNo) {
41
- this._prevPostalCodeForCheck = this.address.postalCode;
42
- this._prevHouseNoForCheck = this.address.houseNo;
43
- const postalCodeResponse = yield this._connector.getPostalCodeRetrieval((this.address.postalCode ? this.address.postalCode : ""), StringUtils.ParseString(this.address.houseNo));
44
- if (postalCodeResponse && postalCodeResponse.isBadAddress) {
45
- this.postalCodeCheckErrorMessage = this._dictionary.get("UNKNOWN_ADDRESS_CHECK_IT");
46
- }
47
- else {
48
- this.postalCodeCheckErrorMessage = "";
49
- this.address.streetName = postalCodeResponse.street;
50
- this.address.city = postalCodeResponse.city;
51
- }
52
- }
53
- });
54
- }
55
- changeHouseNo() {
56
- this.address.houseNo = Number(this.address.houseNo);
57
- }
58
- }
59
- CheckoutOverviewRelationAddressComponent.decorators = [
60
- { type: Component, args: [{
61
- selector: "co-checkout-overview-relation-address",
62
- template: `
63
- <label *ngIf=label [textContent]="label | localize"
64
- class="checkout-label-h3"
65
- ></label>
66
- <co-input-combo-box [(model)]="address.countryId"
67
- [source]="countries"
68
- [fields]="fields"
69
- [placeholder]="'COUNTRY'| localize"
70
- [required]="true"
71
- ></co-input-combo-box>
72
- <div class="checkout-data-row default">
73
- <co-input-text [(model)]="address.postalCode"
74
- [placeholder]="'POSTAL_CODE' | localize"
75
- (blur)="checkForPostalCodeCheckError()"
76
- required
77
- ></co-input-text>
78
- <co-input-text [(model)]="address.houseNo"
79
- [placeholder]="'HOUSE_NO' | localize"
80
- (blur)="checkForPostalCodeCheckError()"
81
- (modelChange)="changeHouseNo()"
82
- required
83
- ></co-input-text>
84
- <co-input-text [(model)]="address.houseNoAddition"
85
- [placeholder]="'HOUSE_NO_ADDITION' | localize"
86
- ></co-input-text>
87
- </div>
88
- <co-input-text [(model)]="address.streetName" [placeholder]="'STREET' | localize" required></co-input-text>
89
- <co-input-text [(model)]="address.city" [placeholder]="'CITY' | localize" required></co-input-text>
90
- `,
91
- encapsulation: ViewEncapsulation.None
92
- },] }
93
- ];
94
- CheckoutOverviewRelationAddressComponent.ctorParameters = () => [
95
- { type: DictionaryService },
96
- { type: IOneConnectorAdapterService }
97
- ];
98
- CheckoutOverviewRelationAddressComponent.propDecorators = {
99
- label: [{ type: Input }],
100
- address: [{ type: Input }],
101
- showClass: [{ type: HostBinding, args: ["class.co-checkout-overview-relation-address",] }]
102
- };
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1hZGRyZXNzL2NoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWFkZHJlc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBRXhFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUN0RixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUU1RixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFtQ3RFLE1BQU0sT0FBTyx3Q0FBd0M7SUEwQm5ELFlBQ1UsV0FBOEIsRUFDOUIsVUFBdUM7UUFEdkMsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLGVBQVUsR0FBVixVQUFVLENBQTZCO1FBTDFDLGNBQVMsR0FBYyxFQUFFLENBQUM7UUFDMUIsV0FBTSxHQUFXLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLENBQUM7UUFRdEQsZ0NBQTJCLEdBQVcsRUFBRSxDQUFDO1FBRXhDLDRCQUF1QixHQUFXLEVBQUUsQ0FBQztJQUo3QyxDQUFDO0lBekJELElBQ1csT0FBTyxDQUFDLE9BQWdCO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7U0FDL0I7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUdNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFpQkssUUFBUTs7WUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4RCxDQUFDO0tBQUE7SUFFWSw0QkFBNEI7O1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDNUQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEVBQUUsQ0FBQztnQkFDdEMsT0FBTzthQUNSO1lBRUQsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLG9CQUFvQixLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNsSCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFDakQsTUFBTSxrQkFBa0IsR0FBdUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDcEssV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQy9DLElBQUksa0JBQWtCLElBQUksa0JBQWtCLENBQUMsWUFBWSxFQUFFO29CQUN6RCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztpQkFDckY7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEVBQUUsQ0FBQztvQkFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDO29CQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7aUJBQzdDO2FBQ0Y7UUFDSCxDQUFDO0tBQUE7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7OztZQWxHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVDQUF1QztnQkFDakQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFsQ08saUJBQWlCO1lBSGpCLDJCQUEyQjs7O29CQXdDaEMsS0FBSztzQkFHTCxLQUFLO3dCQWFMLFdBQVcsU0FBQyw2Q0FBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtBZGRyZXNzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2FkZHJlc3MuYm9cIjtcbmltcG9ydCB7Q291bnRyeX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jb3VudHJ5LmJvXCI7XG5pbXBvcnQge2lzTmlsbH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC91dGlscy9mdW5jdGlvbi9pcy1uaWxsLmZ1bmN0aW9uXCI7XG5pbXBvcnQge0lPbmVDb25uZWN0b3JBZGFwdGVyU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvaW9uZS1jb25uZWN0b3ItYWRhcHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0dldFBvc3RhbENvZGVSZXRyaWV2YWxPdXRwdXRQYXJhbXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ2V0LXBvc3RhbC1jb2RlLXJldHJpZXZhbC1vdXRwdXQtcGFyYW1zXCI7XG5pbXBvcnQge1N0cmluZ1V0aWxzfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvc3RyaW5nLXV0aWxzXCI7XG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvLWNoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWFkZHJlc3NcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8bGFiZWwgKm5nSWY9bGFiZWwgW3RleHRDb250ZW50XT1cImxhYmVsIHwgbG9jYWxpemVcIlxuICAgICAgICAgICBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWgzXCJcbiAgICA+PC9sYWJlbD5cbiAgICA8Y28taW5wdXQtY29tYm8tYm94IFsobW9kZWwpXT1cImFkZHJlc3MuY291bnRyeUlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzb3VyY2VdPVwiY291bnRyaWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ09VTlRSWSd8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICA+PC9jby1pbnB1dC1jb21iby1ib3g+XG4gICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93IGRlZmF1bHRcIj5cbiAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFkZHJlc3MucG9zdGFsQ29kZVwiXG4gICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BPU1RBTF9DT0RFJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cImNoZWNrRm9yUG9zdGFsQ29kZUNoZWNrRXJyb3IoKVwiXG4gICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgPjwvY28taW5wdXQtdGV4dD5cbiAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFkZHJlc3MuaG91c2VOb1wiXG4gICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0hPVVNFX05PJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cImNoZWNrRm9yUG9zdGFsQ29kZUNoZWNrRXJyb3IoKVwiXG4gICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlSG91c2VObygpXCJcbiAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwiYWRkcmVzcy5ob3VzZU5vQWRkaXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidIT1VTRV9OT19BRERJVElPTicgfCBsb2NhbGl6ZVwiXG4gICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgIDwvZGl2PlxuICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFkZHJlc3Muc3RyZWV0TmFtZVwiIFtwbGFjZWhvbGRlcl09XCInU1RSRUVUJyB8IGxvY2FsaXplXCIgcmVxdWlyZWQ+PC9jby1pbnB1dC10ZXh0PlxuICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImFkZHJlc3MuY2l0eVwiIFtwbGFjZWhvbGRlcl09XCInQ0lUWScgfCBsb2NhbGl6ZVwiIHJlcXVpcmVkPjwvY28taW5wdXQtdGV4dD5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja291dE92ZXJ2aWV3UmVsYXRpb25BZGRyZXNzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFkZHJlc3MoYWRkcmVzczogQWRkcmVzcykge1xuICAgIHRoaXMuX2FkZHJlc3MgPSBhZGRyZXNzO1xuICB9XG5cbiAgcHVibGljIGdldCBhZGRyZXNzKCk6IEFkZHJlc3Mge1xuICAgIGlmICh0aGlzLl9hZGRyZXNzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2FkZHJlc3MgPSBuZXcgQWRkcmVzcygpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9hZGRyZXNzO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tYWRkcmVzc1wiKVxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGNvdW50cmllczogQ291bnRyeVtdID0gW107XG4gIHB1YmxpYyBmaWVsZHM6IE9iamVjdCA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2Nvbm5lY3RvcjogSU9uZUNvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgcHVibGljIHBvc3RhbENvZGVDaGVja0Vycm9yTWVzc2FnZTogc3RyaW5nID0gXCJcIjtcblxuICBwcml2YXRlIF9wcmV2UG9zdGFsQ29kZUZvckNoZWNrOiBzdHJpbmcgPSBcIlwiO1xuICBwcml2YXRlIF9wcmV2SG91c2VOb0ZvckNoZWNrOiBudW1iZXI7XG4gIHByaXZhdGUgX2FkZHJlc3M6IEFkZHJlc3M7XG5cbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jb3VudHJpZXMgPSBhd2FpdCB0aGlzLl9jb25uZWN0b3IuZ2V0Q291bnRyaWVzKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2hlY2tGb3JQb3N0YWxDb2RlQ2hlY2tFcnJvcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuYWRkcmVzcy5wb3N0YWxDb2RlIHx8IGlzTmlsbCh0aGlzLmFkZHJlc3MuaG91c2VObykpIHtcbiAgICAgIHRoaXMucG9zdGFsQ29kZUNoZWNrRXJyb3JNZXNzYWdlID0gXCJcIjtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcHJldlBvc3RhbENvZGVGb3JDaGVjayAhPT0gdGhpcy5hZGRyZXNzLnBvc3RhbENvZGUgfHwgdGhpcy5fcHJldkhvdXNlTm9Gb3JDaGVjayAhPT0gdGhpcy5hZGRyZXNzLmhvdXNlTm8pIHtcbiAgICAgIHRoaXMuX3ByZXZQb3N0YWxDb2RlRm9yQ2hlY2sgPSB0aGlzLmFkZHJlc3MucG9zdGFsQ29kZTtcbiAgICAgIHRoaXMuX3ByZXZIb3VzZU5vRm9yQ2hlY2sgPSB0aGlzLmFkZHJlc3MuaG91c2VObztcbiAgICAgIGNvbnN0IHBvc3RhbENvZGVSZXNwb25zZTogR2V0UG9zdGFsQ29kZVJldHJpZXZhbE91dHB1dFBhcmFtcyA9IGF3YWl0IHRoaXMuX2Nvbm5lY3Rvci5nZXRQb3N0YWxDb2RlUmV0cmlldmFsKCh0aGlzLmFkZHJlc3MucG9zdGFsQ29kZSA/IHRoaXMuYWRkcmVzcy5wb3N0YWxDb2RlIDogXCJcIiksXG4gICAgICBTdHJpbmdVdGlscy5QYXJzZVN0cmluZyh0aGlzLmFkZHJlc3MuaG91c2VObykpO1xuICAgICAgaWYgKHBvc3RhbENvZGVSZXNwb25zZSAmJiBwb3N0YWxDb2RlUmVzcG9uc2UuaXNCYWRBZGRyZXNzKSB7XG4gICAgICAgIHRoaXMucG9zdGFsQ29kZUNoZWNrRXJyb3JNZXNzYWdlID0gdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJVTktOT1dOX0FERFJFU1NfQ0hFQ0tfSVRcIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnBvc3RhbENvZGVDaGVja0Vycm9yTWVzc2FnZSA9IFwiXCI7XG4gICAgICAgIHRoaXMuYWRkcmVzcy5zdHJlZXROYW1lID0gcG9zdGFsQ29kZVJlc3BvbnNlLnN0cmVldDtcbiAgICAgICAgdGhpcy5hZGRyZXNzLmNpdHkgPSBwb3N0YWxDb2RlUmVzcG9uc2UuY2l0eTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlSG91c2VObygpOiB2b2lkIHtcbiAgICB0aGlzLmFkZHJlc3MuaG91c2VObyA9IE51bWJlcih0aGlzLmFkZHJlc3MuaG91c2VObyk7XG4gIH1cbn1cbiJdfQ==