@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
@@ -0,0 +1,371 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from "@angular/core";
3
+ import { NULL_RELATION_OBJECT } from "@colijnit/transactionapi/build/model/nul-relation-object";
4
+ import { CommunicationType } from "@colijnit/transactionapi/build/enum/communication-type.enum";
5
+ import { ContactOption } from "@colijnit/transactionapi/build/model/contact-option.bo";
6
+ import { isNill } from "@colijnit/transactionapi/build/utils/function/is-nill.function";
7
+ import { RelationNameKind } from "@colijnit/transactionapi/build/enum/relation-name-kind.enum";
8
+ import { AddressType } from "@colijnit/transactionapi/build/enum/address-type.enum";
9
+ import { GenderType } from "@colijnit/transactionapi/build/enum/gender-type.enum";
10
+ import { TransactionService } from "../../../service/transaction.service";
11
+ import { BusinessObjectUtils } from "@colijnit/transactionapi/build/utils/business-object-utils";
12
+ import { FormComponent } from "@colijnit/corecomponents_v12";
13
+ import { FunctionUtils } from "@colijnit/transactionapi/build/utils/function-utils";
14
+ import { ObjectUtils } from "@colijnit/transactionapi/build/utils/object-utils";
15
+ import { Address } from "@colijnit/transactionapi/build/model/address.bo";
16
+ import { animate, state, style, transition, trigger } from "@angular/animations";
17
+ import { FormMasterService } from "@colijnit/corecomponents_v12";
18
+ export class CheckoutOverviewRelationEditComponent {
19
+ constructor(_service, _formMaster) {
20
+ this._service = _service;
21
+ this._formMaster = _formMaster;
22
+ this.validSubmit = new EventEmitter();
23
+ this.invalidSubmit = new EventEmitter();
24
+ this.relationChange = new EventEmitter();
25
+ this.accountPassword = "";
26
+ this.hide = true;
27
+ this.gender = GenderType.Unspecified;
28
+ this.emailAddress = new ContactOption();
29
+ this.phoneNumber = new ContactOption();
30
+ this.relationSuggestions = [];
31
+ this.showRelationSidebar = false;
32
+ this.inviteToAccount = false;
33
+ this.relType = RelationNameKind;
34
+ this.genderType = GenderType;
35
+ this._relation = NULL_RELATION_OBJECT;
36
+ // fetches relation suggestions
37
+ this._relationNameChangeHandler = FunctionUtils.Throttle(() => {
38
+ return this._relationNameChangedHandlerFn();
39
+ // eslint-disable-next-line no-magic-numbers
40
+ }, 600);
41
+ }
42
+ set relation(value) {
43
+ this._relation = value;
44
+ this.preparePrimaryEmail();
45
+ this.preparePrimaryPhone();
46
+ }
47
+ showClass() {
48
+ return true;
49
+ }
50
+ get relation() {
51
+ return this._relation;
52
+ }
53
+ get relationAsCustomer() {
54
+ return this._relation && this._relation;
55
+ }
56
+ get editFirstAddress() {
57
+ const firstAddress = this._service.getFirstAddress(this.relation);
58
+ if (firstAddress) {
59
+ return firstAddress;
60
+ }
61
+ else if (this._relation) {
62
+ const address = new Address();
63
+ address.addressType = AddressType.DeliveryAddress;
64
+ address.startDate = new Date();
65
+ address.sequence = this._relation.getNextAddressSequence();
66
+ this._relation.addresses.push(address);
67
+ return address;
68
+ }
69
+ }
70
+ get applicationUser() {
71
+ return this._service.applicationUser;
72
+ }
73
+ ngOnInit() {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ this._initForm();
76
+ this._relation.type = this.relType.Private;
77
+ this._relation.gender = this.gender;
78
+ yield this.loadPrivacySettings();
79
+ });
80
+ }
81
+ submit() {
82
+ // return this.relationForm.submit();
83
+ return this._formMaster.submitSlaves();
84
+ }
85
+ preparePrimaryEmail() {
86
+ if (this._relation) {
87
+ this.emailAddress = this._relation.getLowestSequenceOfContactOptionsWithType(CommunicationType.Email);
88
+ if (isNill(this.emailAddress)) {
89
+ this.emailAddress = new ContactOption();
90
+ this.emailAddress.type = CommunicationType.Email;
91
+ this.emailAddress.sequence = 0;
92
+ this._relation.addContactOption(this.emailAddress);
93
+ }
94
+ // if (this._transactionService.emailAddress) {
95
+ // this.emailAddress.value = this._transactionService.emailAddress;
96
+ // }
97
+ }
98
+ }
99
+ preparePrimaryPhone() {
100
+ if (this._relation) {
101
+ this.phoneNumber = this._relation.getLowestSequenceOfContactOptionsWithType(CommunicationType.Telephone);
102
+ if (isNill(this.phoneNumber)) {
103
+ this.phoneNumber = new ContactOption();
104
+ this.phoneNumber.type = CommunicationType.Telephone;
105
+ this.phoneNumber.sequence = 0;
106
+ this._relation.addContactOption(this.phoneNumber);
107
+ }
108
+ }
109
+ }
110
+ loadPrivacySettings() {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ this.privacySettings = yield this._service.getRelationPrivacySettings();
113
+ });
114
+ }
115
+ loadMarketing() {
116
+ return __awaiter(this, void 0, void 0, function* () {
117
+ yield this._service.getMarketingCodes();
118
+ });
119
+ }
120
+ isShared(relationPrivacySetting) {
121
+ const ownSetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());
122
+ if (ownSetting) {
123
+ return ownSetting.allowToShare;
124
+ }
125
+ return false;
126
+ }
127
+ changeRelationType(value) {
128
+ this.relation.type = value;
129
+ }
130
+ changeGenderType(value) {
131
+ this.relation.gender = value;
132
+ }
133
+ firstNameChange(firstName) {
134
+ if (this._relation) {
135
+ this._relation.firstName = firstName;
136
+ }
137
+ this._relationNameChangeHandler.call(this);
138
+ }
139
+ familyNameChange(familyName) {
140
+ if (this._relation) {
141
+ this._relation.familyName = familyName;
142
+ }
143
+ this._relationNameChangeHandler.call(this);
144
+ }
145
+ onRelationSuggestionClick(relationSuggested) {
146
+ return __awaiter(this, void 0, void 0, function* () {
147
+ if (relationSuggested) {
148
+ this.hideSidebar();
149
+ // await this._service.addRelationToTransaction(relationSuggested.relationId);
150
+ this.relation = yield this._service.getCustomerFullObjectByRelationId(relationSuggested.relationId);
151
+ this.relationChange.next(this.relation);
152
+ }
153
+ });
154
+ }
155
+ changePrivacySetting(relationPrivacySetting, value) {
156
+ const ownSetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());
157
+ if (ownSetting) {
158
+ ownSetting.allowToShare = value;
159
+ }
160
+ else {
161
+ this.relationAsCustomer.relationPrivacySettings.push(relationPrivacySetting);
162
+ }
163
+ }
164
+ showSidebar() {
165
+ this.showRelationSidebar = true;
166
+ }
167
+ hideSidebar() {
168
+ this.showRelationSidebar = false;
169
+ }
170
+ _initForm() {
171
+ if (this.relationForm) {
172
+ this.formRelation = this.relationForm.formGroup;
173
+ }
174
+ }
175
+ // load suggestions
176
+ _relationNameChangedHandlerFn() {
177
+ return __awaiter(this, void 0, void 0, function* () {
178
+ const firstName = ObjectUtils.ValueOrDefault(this._relation.firstName);
179
+ const secondName = ObjectUtils.ValueOrDefault(this._relation.familyName);
180
+ if (!firstName && !secondName) {
181
+ this.relationSuggestions = [];
182
+ this.hideSidebar();
183
+ return;
184
+ }
185
+ const relationRequest = {};
186
+ relationRequest.relationType = this._relation.relationType;
187
+ if (firstName) {
188
+ relationRequest.firstName = firstName;
189
+ }
190
+ if (secondName) {
191
+ relationRequest.familyName = secondName;
192
+ }
193
+ this.showSidebar();
194
+ this.relationSuggestions = yield this._service.getRelationListObjects(relationRequest);
195
+ });
196
+ }
197
+ }
198
+ CheckoutOverviewRelationEditComponent.decorators = [
199
+ { type: Component, args: [{
200
+ selector: "co-checkout-overview-relation-edit",
201
+ template: `
202
+ <co-form>
203
+ <div class="checkout-form-wrapper">
204
+ <div class="checkout-label-column">
205
+ <span>01</span>
206
+ <span class="label" [textContent]="'PERSONAL_DATA' | localize"></span>
207
+ </div>
208
+ <div class="checkout-data-column">
209
+ <div class="checkout-data-row">
210
+ <co-input-radio-button class="default-width"
211
+ [name]="'type'"
212
+ [label]="'PRIVATE_PERSON' | localize"
213
+ [value]="relType.Private"
214
+ [checked]="relation.type === relType.Private"
215
+ (modelChange)="changeRelationType(relType.Private)"
216
+ ></co-input-radio-button>
217
+ <co-input-radio-button class="default-width"
218
+ [name]="'type'"
219
+ [label]="'COMPANY' | localize"
220
+ [value]="relType.Company"
221
+ [(model)]="relation.type"
222
+ [checked]="relation.type === relType.Company"
223
+ (modelChange)="changeRelationType(relType.Company)"
224
+ ></co-input-radio-button>
225
+ </div>
226
+ <div class="checkout-data-row">
227
+ <relation-customer-groups [(model)]="relation.customerGroup" required></relation-customer-groups>
228
+ </div>
229
+ <div *ngIf="relation.type === relType.Private" class="collapseable" @showHidePrivateRelationFields>
230
+ <div class="checkout-data-row">
231
+ <co-input-text
232
+ class="checkout-first-name"
233
+ [(model)]="relation.firstName"
234
+ [placeholder]="'FIRST_NAME' | localize"
235
+ (modelChange)="firstNameChange($event)"
236
+ [required]="true"
237
+ ></co-input-text>
238
+ <co-input-text
239
+ class="checkout-prefix-name default-width"
240
+ [(model)]="relation.prefix"
241
+ [placeholder]="'PREFIX' | localize"
242
+ ></co-input-text>
243
+ <co-input-text
244
+ class="checkout-last-name"
245
+ [(model)]="relation.familyName"
246
+ [placeholder]="'LAST_NAME' | localize"
247
+ (modelChange)="familyNameChange($event)"
248
+ [required]="true"></co-input-text>
249
+ </div>
250
+ <div class="checkout-data-row">
251
+ <co-input-radio-button class="default-width"
252
+ [name]="'gender'"
253
+ [label]="'MALE' | localize"
254
+ [value]="genderType.Male"
255
+ [checked]="relation.gender === genderType.Male"
256
+ (modelChange)="changeGenderType(genderType.Male)"
257
+ ></co-input-radio-button>
258
+ <co-input-radio-button class="default-width"
259
+ [name]="'gender'"
260
+ [label]="'FEMALE' | localize "
261
+ [value]="genderType.Female"
262
+ [checked]="relation.gender === genderType.Female"
263
+ (modelChange)="changeGenderType(genderType.Female)"
264
+ ></co-input-radio-button>
265
+ <co-input-radio-button class="default-width"
266
+ [name]="'gender'"
267
+ [label]="'UNKNOWN' | localize"
268
+ [value]="genderType.Unspecified"
269
+ [checked]="relation.gender === genderType.Unspecified"
270
+ (modelChange)="changeGenderType(genderType.Unspecified)"
271
+ ></co-input-radio-button>
272
+ </div>
273
+ <div class="checkout-data-row">
274
+ <co-input-date [placeholder]="'DATE_OF_BIRTH' | localize " [(model)]="dateOfBirth" [required]="true"></co-input-date>
275
+ <co-input-text [(model)]="phoneNumber.value" [placeholder]="'PHONE_NO' | localize " [required]="true"></co-input-text>
276
+ </div>
277
+ </div>
278
+ <div *ngIf="relation?.type === relType.Company" class="checkout-data-row collapseable" @showHideCompanyRelationFields>
279
+ <co-input-text [(model)]="relation.familyName" [placeholder]="'COMPANY_NAME' | localize" [required]="true"></co-input-text>
280
+ </div>
281
+ </div>
282
+ <div class="checkout-label-column">
283
+ <span>02</span>
284
+ <span class="label" [textContent]="'DELIVERY_ADDRESS' | localize"></span>
285
+ </div>
286
+ <div class="checkout-data-column">
287
+ <co-relation-address [address]="editFirstAddress" [showButtons]="false"></co-relation-address>
288
+ </div>
289
+ <div class="checkout-label-column">
290
+ <span>03</span>
291
+ <span class="label" [textContent]="'LOGIN_DETAILS' | localize"></span>
292
+ <span class="label-description" [textContent]="'ACCOUNT_EXPLANATION' | localize"></span>
293
+ </div>
294
+ <div class="checkout-data-column">
295
+ <div class="checkout-data-row">
296
+ <co-input-text [(model)]="emailAddress.value" [placeholder]="'EMAIL_ADDRESS' | localize " [type]="'email'" [required]="true"></co-input-text>
297
+ </div>
298
+ <div *ngIf="!applicationUser" class="checkout-data-row">
299
+ <co-input-text [(model)]="accountPassword" [placeholder]="'PASSWORD' | localize " [type]="'password'" [required]="true"></co-input-text>
300
+ </div>
301
+ <div *ngIf="applicationUser" class="checkout-data-row">
302
+ <co-input-checkbox [label]="'INVITE_TO_ACCOUNT' | localize" [(model)]="inviteToAccount"></co-input-checkbox>
303
+ </div>
304
+ </div>
305
+ <div class="checkout-label-column">
306
+ <span>04</span>
307
+ <span class="label" [textContent]="'PRIVACY_PREFERENCES' | localize"></span>
308
+ </div>
309
+ <div class="checkout-data-column">
310
+ <div class="two-column-grid">
311
+ <ng-container *ngFor="let privacySetting of privacySettings">
312
+ <co-input-checkbox class="first-column"
313
+ [label]="privacySetting.description"
314
+ [model]="isShared(privacySetting)"
315
+ (modelChange)="changePrivacySetting(privacySetting, $event)"
316
+ ></co-input-checkbox>
317
+ <span class="second-column" [textContent]="privacySetting.explanation"></span>
318
+ </ng-container>
319
+ </div>
320
+ </div>
321
+ </div>
322
+ </co-form>
323
+
324
+ <div class="suggestions-sidebar" *ngIf="showRelationSidebar" @showHideSidebar>
325
+ <div class="relation-sidebar-header">
326
+ <label class="checkout-label-h3" [textContent]="'SUGGESTIONS' | localize"></label>
327
+ </div>
328
+ <co-checkout-relation-suggestions-list
329
+ [suggestions]="relationSuggestions"
330
+ (suggestionSelected)="onRelationSuggestionClick($event)"
331
+ ></co-checkout-relation-suggestions-list>
332
+ </div>
333
+ `,
334
+ providers: [
335
+ FormMasterService
336
+ ],
337
+ animations: [
338
+ trigger("showHidePrivateRelationFields", [
339
+ state("void", style({ height: 0 })),
340
+ state("*", style({ height: "*" })),
341
+ transition("void => *", animate("200ms ease-in-out")),
342
+ transition("* => void", animate("200ms ease-out"))
343
+ ]),
344
+ trigger("showHideCompanyRelationFields", [
345
+ state("void", style({ height: 0 })),
346
+ state("*", style({ height: "*" })),
347
+ transition("void => *", animate("200ms ease-in-out")),
348
+ transition("* => void", animate("200ms ease-out"))
349
+ ]),
350
+ trigger("showHideSidebar", [
351
+ state("void", style({ transform: "translateX(100%)" })),
352
+ state("*", style({ transform: "translateX(0)" })),
353
+ transition("void <=> *", animate("200ms ease-in-out"))
354
+ ])
355
+ ],
356
+ encapsulation: ViewEncapsulation.None
357
+ },] }
358
+ ];
359
+ CheckoutOverviewRelationEditComponent.ctorParameters = () => [
360
+ { type: TransactionService },
361
+ { type: FormMasterService }
362
+ ];
363
+ CheckoutOverviewRelationEditComponent.propDecorators = {
364
+ relationForm: [{ type: ViewChild, args: [FormComponent, { static: true },] }],
365
+ relation: [{ type: Input }],
366
+ validSubmit: [{ type: Output }],
367
+ invalidSubmit: [{ type: Output }],
368
+ relationChange: [{ type: Output }],
369
+ showClass: [{ type: HostBinding, args: ["class.co-checkout-overview-relation-edit",] }]
370
+ };
371
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFFOUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDOUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUN0RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUM3RixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFFbEYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDbEYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBRzlF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RSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUExS08sa0JBQWtCO1lBVWxCLGlCQUFpQjs7OzJCQWtLdEIsU0FBUyxTQUFDLGFBQWEsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7dUJBR3ZDLEtBQUs7MEJBUUwsTUFBTTs0QkFHTixNQUFNOzZCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLDBDQUEwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1JlbGF0aW9uQW55VHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZVwiO1xuaW1wb3J0IHtOVUxMX1JFTEFUSU9OX09CSkVDVH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9udWwtcmVsYXRpb24tb2JqZWN0XCI7XG5pbXBvcnQge0N1c3RvbWVyRnVsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1mdWxsLW9iamVjdC5ib1wiO1xuaW1wb3J0IHtDb21tdW5pY2F0aW9uVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2NvbW11bmljYXRpb24tdHlwZS5lbnVtXCI7XG5pbXBvcnQge0NvbnRhY3RPcHRpb259IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY29udGFjdC1vcHRpb24uYm9cIjtcbmltcG9ydCB7aXNOaWxsfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL3V0aWxzL2Z1bmN0aW9uL2lzLW5pbGwuZnVuY3Rpb25cIjtcbmltcG9ydCB7UmVsYXRpb25OYW1lS2luZH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLW5hbWUta2luZC5lbnVtXCI7XG5pbXBvcnQge0FkZHJlc3NUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vYWRkcmVzcy10eXBlLmVudW1cIjtcbmltcG9ydCB7UmVsYXRpb25Qcml2YWN5U2V0dGluZ30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1wcml2YWN5LXNldHRpbmcuYm9cIjtcbmltcG9ydCB7R2VuZGVyVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2dlbmRlci10eXBlLmVudW1cIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge0J1c2luZXNzT2JqZWN0VXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvYnVzaW5lc3Mtb2JqZWN0LXV0aWxzXCI7XG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XG5pbXBvcnQge0Z1bmN0aW9uVXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvZnVuY3Rpb24tdXRpbHNcIjtcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvb2JqZWN0LXV0aWxzXCI7XG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ib1wiO1xuaW1wb3J0IHtSZWxhdGlvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tcmVxdWVzdFwiO1xuaW1wb3J0IHtBZGRyZXNzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2FkZHJlc3MuYm9cIjtcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtGb3JtTWFzdGVyU2VydmljZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvLWNoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXRcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8Y28tZm9ybT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1mb3JtLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgIDxzcGFuPjAxPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1BFUlNPTkFMX0RBVEEnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgIDxjby1pbnB1dC1yYWRpby1idXR0b24gY2xhc3M9XCJkZWZhdWx0LXdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ3R5cGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidQUklWQVRFX1BFUlNPTicgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJyZWxUeXBlLlByaXZhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyZWxhdGlvbi50eXBlID09PSByZWxUeXBlLlByaXZhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlUmVsYXRpb25UeXBlKHJlbFR5cGUuUHJpdmF0ZSlcIlxuICAgICAgICAgICAgPjwvY28taW5wdXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgPGNvLWlucHV0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cImRlZmF1bHQtd2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCIndHlwZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NPTVBBTlknIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicmVsVHlwZS5Db21wYW55XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwicmVsYXRpb24udHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJlbGF0aW9uLnR5cGUgPT09IHJlbFR5cGUuQ29tcGFueVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VSZWxhdGlvblR5cGUocmVsVHlwZS5Db21wYW55KVwiXG4gICAgICAgICAgICA+PC9jby1pbnB1dC1yYWRpby1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICA8cmVsYXRpb24tY3VzdG9tZXItZ3JvdXBzIFsobW9kZWwpXT1cInJlbGF0aW9uLmN1c3RvbWVyR3JvdXBcIiByZXF1aXJlZD48L3JlbGF0aW9uLWN1c3RvbWVyLWdyb3Vwcz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwicmVsYXRpb24udHlwZSA9PT0gcmVsVHlwZS5Qcml2YXRlXCIgY2xhc3M9XCJjb2xsYXBzZWFibGVcIiBAc2hvd0hpZGVQcml2YXRlUmVsYXRpb25GaWVsZHM+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrb3V0LWZpcnN0LW5hbWVcIlxuICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInJlbGF0aW9uLmZpcnN0TmFtZVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidGSVJTVF9OQU1FJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiZmlyc3ROYW1lQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrb3V0LXByZWZpeC1uYW1lIGRlZmF1bHQtd2lkdGhcIlxuICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInJlbGF0aW9uLnByZWZpeFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQUkVGSVgnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxuICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tvdXQtbGFzdC1uYW1lXCJcbiAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJyZWxhdGlvbi5mYW1pbHlOYW1lXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0xBU1RfTkFNRScgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZhbWlseU5hbWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIj48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICA8Y28taW5wdXQtcmFkaW8tYnV0dG9uIGNsYXNzPVwiZGVmYXVsdC13aWR0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ2dlbmRlcidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInTUFMRScgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImdlbmRlclR5cGUuTWFsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwicmVsYXRpb24uZ2VuZGVyID09PSBnZW5kZXJUeXBlLk1hbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VHZW5kZXJUeXBlKGdlbmRlclR5cGUuTWFsZSlcIlxuICAgICAgICAgICAgICA+PC9jby1pbnB1dC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICAgIDxjby1pbnB1dC1yYWRpby1idXR0b24gY2xhc3M9XCJkZWZhdWx0LXdpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCInZ2VuZGVyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidGRU1BTEUnIHwgbG9jYWxpemUgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ2VuZGVyVHlwZS5GZW1hbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJlbGF0aW9uLmdlbmRlciA9PT0gZ2VuZGVyVHlwZS5GZW1hbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VHZW5kZXJUeXBlKGdlbmRlclR5cGUuRmVtYWxlKVwiXG4gICAgICAgICAgICAgID48L2NvLWlucHV0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgICAgPGNvLWlucHV0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cImRlZmF1bHQtd2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIidnZW5kZXInXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1VOS05PV04nIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJnZW5kZXJUeXBlLlVuc3BlY2lmaWVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyZWxhdGlvbi5nZW5kZXIgPT09IGdlbmRlclR5cGUuVW5zcGVjaWZpZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VHZW5kZXJUeXBlKGdlbmRlclR5cGUuVW5zcGVjaWZpZWQpXCJcbiAgICAgICAgICAgICAgPjwvY28taW5wdXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgPGNvLWlucHV0LWRhdGUgW3BsYWNlaG9sZGVyXT1cIidEQVRFX09GX0JJUlRIJyB8IGxvY2FsaXplIFwiIFsobW9kZWwpXT1cImRhdGVPZkJpcnRoXCIgW3JlcXVpcmVkXT1cInRydWVcIj48L2NvLWlucHV0LWRhdGU+XG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInBob25lTnVtYmVyLnZhbHVlXCIgW3BsYWNlaG9sZGVyXT1cIidQSE9ORV9OTycgfCBsb2NhbGl6ZSBcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWxhdGlvbj8udHlwZSA9PT0gcmVsVHlwZS5Db21wYW55XCIgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvdyBjb2xsYXBzZWFibGVcIiBAc2hvd0hpZGVDb21wYW55UmVsYXRpb25GaWVsZHM+XG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJyZWxhdGlvbi5mYW1pbHlOYW1lXCIgW3BsYWNlaG9sZGVyXT1cIidDT01QQU5ZX05BTUUnIHwgbG9jYWxpemVcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1sYWJlbC1jb2x1bW5cIj5cbiAgICAgICAgICA8c3Bhbj4wMjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgW3RleHRDb250ZW50XT1cIidERUxJVkVSWV9BRERSRVNTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCI+XG4gICAgICAgICAgPGNvLXJlbGF0aW9uLWFkZHJlc3MgW2FkZHJlc3NdPVwiZWRpdEZpcnN0QWRkcmVzc1wiIFtzaG93QnV0dG9uc109XCJmYWxzZVwiPjwvY28tcmVsYXRpb24tYWRkcmVzcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1sYWJlbC1jb2x1bW5cIj5cbiAgICAgICAgICA8c3Bhbj4wMzwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgW3RleHRDb250ZW50XT1cIidMT0dJTl9ERVRBSUxTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ0FDQ09VTlRfRVhQTEFOQVRJT04nIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cImVtYWlsQWRkcmVzcy52YWx1ZVwiIFtwbGFjZWhvbGRlcl09XCInRU1BSUxfQUREUkVTUycgfCBsb2NhbGl6ZSBcIiBbdHlwZV09XCInZW1haWwnXCIgW3JlcXVpcmVkXT1cInRydWVcIj48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFhcHBsaWNhdGlvblVzZXJcIiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJhY2NvdW50UGFzc3dvcmRcIiBbcGxhY2Vob2xkZXJdPVwiJ1BBU1NXT1JEJyB8IGxvY2FsaXplIFwiIFt0eXBlXT1cIidwYXNzd29yZCdcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYXBwbGljYXRpb25Vc2VyXCIgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94IFtsYWJlbF09XCInSU5WSVRFX1RPX0FDQ09VTlQnIHwgbG9jYWxpemVcIiBbKG1vZGVsKV09XCJpbnZpdGVUb0FjY291bnRcIj48L2NvLWlucHV0LWNoZWNrYm94PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgIDxzcGFuPjA0PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1BSSVZBQ1lfUFJFRkVSRU5DRVMnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHdvLWNvbHVtbi1ncmlkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcml2YWN5U2V0dGluZyBvZiBwcml2YWN5U2V0dGluZ3NcIj5cbiAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94IGNsYXNzPVwiZmlyc3QtY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJwcml2YWN5U2V0dGluZy5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiaXNTaGFyZWQocHJpdmFjeVNldHRpbmcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VQcml2YWN5U2V0dGluZyhwcml2YWN5U2V0dGluZywgJGV2ZW50KVwiXG4gICAgICAgICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlY29uZC1jb2x1bW5cIiBbdGV4dENvbnRlbnRdPVwicHJpdmFjeVNldHRpbmcuZXhwbGFuYXRpb25cIj48L3NwYW4+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2NvLWZvcm0+XG5cbiAgICA8ZGl2IGNsYXNzPVwic3VnZ2VzdGlvbnMtc2lkZWJhclwiICpuZ0lmPVwic2hvd1JlbGF0aW9uU2lkZWJhclwiIEBzaG93SGlkZVNpZGViYXI+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tc2lkZWJhci1oZWFkZXJcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtaDNcIiBbdGV4dENvbnRlbnRdPVwiJ1NVR0dFU1RJT05TJyB8IGxvY2FsaXplXCI+PC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGNvLWNoZWNrb3V0LXJlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3RcbiAgICAgICAgW3N1Z2dlc3Rpb25zXT1cInJlbGF0aW9uU3VnZ2VzdGlvbnNcIlxuICAgICAgICAoc3VnZ2VzdGlvblNlbGVjdGVkKT1cIm9uUmVsYXRpb25TdWdnZXN0aW9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICA+PC9jby1jaGVja291dC1yZWxhdGlvbi1zdWdnZXN0aW9ucy1saXN0PlxuICAgIDwvZGl2PlxuICBgLFxuICBwcm92aWRlcnM6IFtcbiAgICBGb3JtTWFzdGVyU2VydmljZVxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcihcInNob3dIaWRlUHJpdmF0ZVJlbGF0aW9uRmllbGRzXCIsIFtcbiAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7aGVpZ2h0OiAwfSkpLFxuICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHtoZWlnaHQ6IFwiKlwifSkpLFxuICAgICAgdHJhbnNpdGlvbihcInZvaWQgPT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxuICAgICAgdHJhbnNpdGlvbihcIiogPT4gdm9pZFwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1vdXRcIikpXG4gICAgXSksXG4gICAgdHJpZ2dlcihcInNob3dIaWRlQ29tcGFueVJlbGF0aW9uRmllbGRzXCIsIFtcbiAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7aGVpZ2h0OiAwfSkpLFxuICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHtoZWlnaHQ6IFwiKlwifSkpLFxuICAgICAgdHJhbnNpdGlvbihcInZvaWQgPT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxuICAgICAgdHJhbnNpdGlvbihcIiogPT4gdm9pZFwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1vdXRcIikpXG4gICAgXSksXG4gICAgdHJpZ2dlcihcInNob3dIaWRlU2lkZWJhclwiLCBbXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDEwMCUpXCJ9KSksXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDApXCJ9KSksXG4gICAgICB0cmFuc2l0aW9uKFwidm9pZCA8PT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpXG4gICAgXSlcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja291dE92ZXJ2aWV3UmVsYXRpb25FZGl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZChGb3JtQ29tcG9uZW50LCB7c3RhdGljOiB0cnVlfSlcbiAgcHVibGljIHJlbGF0aW9uRm9ybTogRm9ybUNvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlbGF0aW9uKHZhbHVlOiBSZWxhdGlvbkFueVR5cGUpIHtcbiAgICB0aGlzLl9yZWxhdGlvbiA9IHZhbHVlO1xuXG4gICAgdGhpcy5wcmVwYXJlUHJpbWFyeUVtYWlsKCk7XG4gICAgdGhpcy5wcmVwYXJlUHJpbWFyeVBob25lKCk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIHZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWxhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFJlbGF0aW9uQW55VHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlbGF0aW9uQW55VHlwZT4oKTtcblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0XCIpXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgZm9ybVJlbGF0aW9uOiBGb3JtR3JvdXA7XG5cbiAgcHVibGljIGRhdGVPZkJpcnRoOiBEYXRlO1xuICBwdWJsaWMgYWNjb3VudFBhc3N3b3JkOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgaGlkZTogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBnZW5kZXI6IEdlbmRlclR5cGUgPSBHZW5kZXJUeXBlLlVuc3BlY2lmaWVkO1xuICBwdWJsaWMgZW1haWxBZGRyZXNzOiBDb250YWN0T3B0aW9uID0gbmV3IENvbnRhY3RPcHRpb24oKTtcbiAgcHVibGljIHBob25lTnVtYmVyOiBDb250YWN0T3B0aW9uID0gbmV3IENvbnRhY3RPcHRpb24oKTtcbiAgcHVibGljIHByaXZhY3lTZXR0aW5nczogUmVsYXRpb25Qcml2YWN5U2V0dGluZ1tdO1xuICBwdWJsaWMgcmVsYXRpb25TdWdnZXN0aW9uczogUmVsYXRpb25MaXN0T2JqZWN0W10gPSBbXTtcbiAgcHVibGljIHNob3dSZWxhdGlvblNpZGViYXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGludml0ZVRvQWNjb3VudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZWFkb25seSByZWxUeXBlOiB0eXBlb2YgUmVsYXRpb25OYW1lS2luZCA9IFJlbGF0aW9uTmFtZUtpbmQ7XG4gIHB1YmxpYyByZWFkb25seSBnZW5kZXJUeXBlOiB0eXBlb2YgR2VuZGVyVHlwZSA9IEdlbmRlclR5cGU7XG5cbiAgcHVibGljIGdldCByZWxhdGlvbigpOiBSZWxhdGlvbkFueVR5cGUge1xuICAgIHJldHVybiB0aGlzLl9yZWxhdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVsYXRpb25Bc0N1c3RvbWVyKCk6IEN1c3RvbWVyRnVsbE9iamVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9uICYmIHRoaXMuX3JlbGF0aW9uIGFzIEN1c3RvbWVyRnVsbE9iamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZWRpdEZpcnN0QWRkcmVzcygpOiBBZGRyZXNzIHtcbiAgICBjb25zdCBmaXJzdEFkZHJlc3M6IEFkZHJlc3MgPSB0aGlzLl9zZXJ2aWNlLmdldEZpcnN0QWRkcmVzcyh0aGlzLnJlbGF0aW9uKTtcbiAgICBpZiAoZmlyc3RBZGRyZXNzKSB7XG4gICAgICByZXR1cm4gZmlyc3RBZGRyZXNzO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fcmVsYXRpb24pIHtcbiAgICAgIGNvbnN0IGFkZHJlc3M6IEFkZHJlc3MgPSBuZXcgQWRkcmVzcygpO1xuICAgICAgYWRkcmVzcy5hZGRyZXNzVHlwZSA9IEFkZHJlc3NUeXBlLkRlbGl2ZXJ5QWRkcmVzcztcbiAgICAgIGFkZHJlc3Muc3RhcnREYXRlID0gbmV3IERhdGUoKTtcbiAgICAgIGFkZHJlc3Muc2VxdWVuY2UgPSB0aGlzLl9yZWxhdGlvbi5nZXROZXh0QWRkcmVzc1NlcXVlbmNlKCk7XG4gICAgICB0aGlzLl9yZWxhdGlvbi5hZGRyZXNzZXMucHVzaChhZGRyZXNzKTtcbiAgICAgIHJldHVybiBhZGRyZXNzO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXBwbGljYXRpb25Vc2VyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZXJ2aWNlLmFwcGxpY2F0aW9uVXNlcjtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBOVUxMX1JFTEFUSU9OX09CSkVDVDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZm9ybU1hc3RlcjogRm9ybU1hc3RlclNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLl9pbml0Rm9ybSgpO1xuICAgIHRoaXMuX3JlbGF0aW9uLnR5cGUgPSB0aGlzLnJlbFR5cGUuUHJpdmF0ZTtcbiAgICB0aGlzLl9yZWxhdGlvbi5nZW5kZXIgPSB0aGlzLmdlbmRlcjtcbiAgICBhd2FpdCB0aGlzLmxvYWRQcml2YWN5U2V0dGluZ3MoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXQoKTogYm9vbGVhbiB7XG4gICAgLy8gcmV0dXJuIHRoaXMucmVsYXRpb25Gb3JtLnN1Ym1pdCgpO1xuICAgIHJldHVybiB0aGlzLl9mb3JtTWFzdGVyLnN1Ym1pdFNsYXZlcygpO1xuICB9XG5cbiAgcHVibGljIHByZXBhcmVQcmltYXJ5RW1haWwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uKSB7XG4gICAgICB0aGlzLmVtYWlsQWRkcmVzcyA9IHRoaXMuX3JlbGF0aW9uLmdldExvd2VzdFNlcXVlbmNlT2ZDb250YWN0T3B0aW9uc1dpdGhUeXBlKENvbW11bmljYXRpb25UeXBlLkVtYWlsKTtcbiAgICAgIGlmIChpc05pbGwodGhpcy5lbWFpbEFkZHJlc3MpKSB7XG4gICAgICAgIHRoaXMuZW1haWxBZGRyZXNzID0gbmV3IENvbnRhY3RPcHRpb24oKTtcbiAgICAgICAgdGhpcy5lbWFpbEFkZHJlc3MudHlwZSA9IENvbW11bmljYXRpb25UeXBlLkVtYWlsO1xuICAgICAgICB0aGlzLmVtYWlsQWRkcmVzcy5zZXF1ZW5jZSA9IDA7XG4gICAgICAgIHRoaXMuX3JlbGF0aW9uLmFkZENvbnRhY3RPcHRpb24odGhpcy5lbWFpbEFkZHJlc3MpO1xuICAgICAgfVxuICAgICAgLy8gaWYgKHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5lbWFpbEFkZHJlc3MpIHtcbiAgICAgIC8vICAgdGhpcy5lbWFpbEFkZHJlc3MudmFsdWUgPSB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZW1haWxBZGRyZXNzO1xuICAgICAgLy8gfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwcmVwYXJlUHJpbWFyeVBob25lKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbikge1xuICAgICAgdGhpcy5waG9uZU51bWJlciA9IHRoaXMuX3JlbGF0aW9uLmdldExvd2VzdFNlcXVlbmNlT2ZDb250YWN0T3B0aW9uc1dpdGhUeXBlKENvbW11bmljYXRpb25UeXBlLlRlbGVwaG9uZSk7XG4gICAgICBpZiAoaXNOaWxsKHRoaXMucGhvbmVOdW1iZXIpKSB7XG4gICAgICAgIHRoaXMucGhvbmVOdW1iZXIgPSBuZXcgQ29udGFjdE9wdGlvbigpO1xuICAgICAgICB0aGlzLnBob25lTnVtYmVyLnR5cGUgPSBDb21tdW5pY2F0aW9uVHlwZS5UZWxlcGhvbmU7XG4gICAgICAgIHRoaXMucGhvbmVOdW1iZXIuc2VxdWVuY2UgPSAwO1xuICAgICAgICB0aGlzLl9yZWxhdGlvbi5hZGRDb250YWN0T3B0aW9uKHRoaXMucGhvbmVOdW1iZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkUHJpdmFjeVNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucHJpdmFjeVNldHRpbmdzID0gYXdhaXQgdGhpcy5fc2VydmljZS5nZXRSZWxhdGlvblByaXZhY3lTZXR0aW5ncygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWRNYXJrZXRpbmcoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5fc2VydmljZS5nZXRNYXJrZXRpbmdDb2RlcygpO1xuICB9XG5cbiAgcHVibGljIGlzU2hhcmVkKHJlbGF0aW9uUHJpdmFjeVNldHRpbmc6IFJlbGF0aW9uUHJpdmFjeVNldHRpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBvd25TZXR0aW5nOiBSZWxhdGlvblByaXZhY3lTZXR0aW5nID0gQnVzaW5lc3NPYmplY3RVdGlscy5GaW5kSXRlbUJ5SWQodGhpcy5yZWxhdGlvbkFzQ3VzdG9tZXIucmVsYXRpb25Qcml2YWN5U2V0dGluZ3MsIHJlbGF0aW9uUHJpdmFjeVNldHRpbmcuZ2V0SWQoKSk7XG4gICAgaWYgKG93blNldHRpbmcpIHtcbiAgICAgIHJldHVybiBvd25TZXR0aW5nLmFsbG93VG9TaGFyZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZVJlbGF0aW9uVHlwZSh2YWx1ZTogUmVsYXRpb25OYW1lS2luZCk6IHZvaWQge1xuICAgIHRoaXMucmVsYXRpb24udHlwZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZUdlbmRlclR5cGUodmFsdWU6IEdlbmRlclR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLnJlbGF0aW9uLmdlbmRlciA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGZpcnN0TmFtZUNoYW5nZShmaXJzdE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbikge1xuICAgICAgdGhpcy5fcmVsYXRpb24uZmlyc3ROYW1lID0gZmlyc3ROYW1lO1xuICAgIH1cbiAgICB0aGlzLl9yZWxhdGlvbk5hbWVDaGFuZ2VIYW5kbGVyLmNhbGwodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgZmFtaWx5TmFtZUNoYW5nZShmYW1pbHlOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmVsYXRpb24pIHtcbiAgICAgIHRoaXMuX3JlbGF0aW9uLmZhbWlseU5hbWUgPSBmYW1pbHlOYW1lO1xuICAgIH1cbiAgICB0aGlzLl9yZWxhdGlvbk5hbWVDaGFuZ2VIYW5kbGVyLmNhbGwodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgb25SZWxhdGlvblN1Z2dlc3Rpb25DbGljayhyZWxhdGlvblN1Z2dlc3RlZDogUmVsYXRpb25MaXN0T2JqZWN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHJlbGF0aW9uU3VnZ2VzdGVkKSB7XG4gICAgICB0aGlzLmhpZGVTaWRlYmFyKCk7XG4gICAgICAvLyBhd2FpdCB0aGlzLl9zZXJ2aWNlLmFkZFJlbGF0aW9uVG9UcmFuc2FjdGlvbihyZWxhdGlvblN1Z2dlc3RlZC5yZWxhdGlvbklkKTtcbiAgICAgIHRoaXMucmVsYXRpb24gPSBhd2FpdCB0aGlzLl9zZXJ2aWNlLmdldEN1c3RvbWVyRnVsbE9iamVjdEJ5UmVsYXRpb25JZChyZWxhdGlvblN1Z2dlc3RlZC5yZWxhdGlvbklkKTtcbiAgICAgIHRoaXMucmVsYXRpb25DaGFuZ2UubmV4dCh0aGlzLnJlbGF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlUHJpdmFjeVNldHRpbmcocmVsYXRpb25Qcml2YWN5U2V0dGluZzogUmVsYXRpb25Qcml2YWN5U2V0dGluZywgdmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBvd25TZXR0aW5nOiBSZWxhdGlvblByaXZhY3lTZXR0aW5nID0gQnVzaW5lc3NPYmplY3RVdGlscy5GaW5kSXRlbUJ5SWQodGhpcy5yZWxhdGlvbkFzQ3VzdG9tZXIucmVsYXRpb25Qcml2YWN5U2V0dGluZ3MsIHJlbGF0aW9uUHJpdmFjeVNldHRpbmcuZ2V0SWQoKSk7XG4gICAgaWYgKG93blNldHRpbmcpIHtcbiAgICAgIG93blNldHRpbmcuYWxsb3dUb1NoYXJlID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVsYXRpb25Bc0N1c3RvbWVyLnJlbGF0aW9uUHJpdmFjeVNldHRpbmdzLnB1c2gocmVsYXRpb25Qcml2YWN5U2V0dGluZyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNob3dTaWRlYmFyKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1JlbGF0aW9uU2lkZWJhciA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgaGlkZVNpZGViYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93UmVsYXRpb25TaWRlYmFyID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIF9pbml0Rm9ybSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWxhdGlvbkZvcm0pIHtcbiAgICAgIHRoaXMuZm9ybVJlbGF0aW9uID0gdGhpcy5yZWxhdGlvbkZvcm0uZm9ybUdyb3VwO1xuICAgIH1cbiAgfVxuXG4gIC8vIGZldGNoZXMgcmVsYXRpb24gc3VnZ2VzdGlvbnNcbiAgcHJpdmF0ZSBfcmVsYXRpb25OYW1lQ2hhbmdlSGFuZGxlcjogRnVuY3Rpb24gPSBGdW5jdGlvblV0aWxzLlRocm90dGxlKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVsYXRpb25OYW1lQ2hhbmdlZEhhbmRsZXJGbigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzXG4gIH0sIDYwMCk7XG5cbiAgLy8gbG9hZCBzdWdnZXN0aW9uc1xuICBwcml2YXRlIGFzeW5jIF9yZWxhdGlvbk5hbWVDaGFuZ2VkSGFuZGxlckZuKCk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgZmlyc3ROYW1lOiBzdHJpbmcgPSBPYmplY3RVdGlscy5WYWx1ZU9yRGVmYXVsdCh0aGlzLl9yZWxhdGlvbi5maXJzdE5hbWUpO1xuICAgIGNvbnN0IHNlY29uZE5hbWU6IHN0cmluZyA9IE9iamVjdFV0aWxzLlZhbHVlT3JEZWZhdWx0KHRoaXMuX3JlbGF0aW9uLmZhbWlseU5hbWUpO1xuXG4gICAgaWYgKCFmaXJzdE5hbWUgJiYgIXNlY29uZE5hbWUpIHtcbiAgICAgIHRoaXMucmVsYXRpb25TdWdnZXN0aW9ucyA9IFtdO1xuICAgICAgdGhpcy5oaWRlU2lkZWJhcigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJlbGF0aW9uUmVxdWVzdDogUmVsYXRpb25SZXF1ZXN0ID0ge307XG4gICAgcmVsYXRpb25SZXF1ZXN0LnJlbGF0aW9uVHlwZSA9IHRoaXMuX3JlbGF0aW9uLnJlbGF0aW9uVHlwZTtcbiAgICBpZiAoZmlyc3ROYW1lKSB7XG4gICAgICByZWxhdGlvblJlcXVlc3QuZmlyc3ROYW1lID0gZmlyc3ROYW1lO1xuICAgIH1cblxuICAgIGlmIChzZWNvbmROYW1lKSB7XG4gICAgICByZWxhdGlvblJlcXVlc3QuZmFtaWx5TmFtZSA9IHNlY29uZE5hbWU7XG4gICAgfVxuXG4gICAgdGhpcy5zaG93U2lkZWJhcigpO1xuICAgIHRoaXMucmVsYXRpb25TdWdnZXN0aW9ucyA9IGF3YWl0IHRoaXMuX3NlcnZpY2UuZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZWxhdGlvblJlcXVlc3QpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
2
+ export class CheckOutRelationSuggestionsListComponent {
3
+ constructor() {
4
+ this.suggestions = [];
5
+ // Emits the clicked relation list object.
6
+ this.suggestionSelected = new EventEmitter();
7
+ }
8
+ showClass() {
9
+ return true;
10
+ }
11
+ }
12
+ CheckOutRelationSuggestionsListComponent.decorators = [
13
+ { type: Component, args: [{
14
+ selector: "co-checkout-relation-suggestions-list",
15
+ template: `
16
+ <div class="flex-column items-wrapper">
17
+ <co-checkout-relation-suggestions-list-item *ngFor="let suggestion of suggestions" [suggestion]="suggestion"
18
+ (selectionSelected)="suggestionSelected.emit(suggestion)"></co-checkout-relation-suggestions-list-item>
19
+ <span *ngIf="suggestions?.length === 0" class="no-results" localize="NO_RESULTS_FOUND"></span>
20
+ </div>
21
+ `,
22
+ encapsulation: ViewEncapsulation.None
23
+ },] }
24
+ ];
25
+ CheckOutRelationSuggestionsListComponent.propDecorators = {
26
+ suggestions: [{ type: Input }],
27
+ suggestionSelected: [{ type: Output }],
28
+ showClass: [{ type: HostBinding, args: ['class.co-checkout-relation-suggestions-list',] }]
29
+ };
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1yZWxhdGlvbi1zdWdnZXN0aW9ucy1saXN0L2NoZWNrb3V0LXJlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBY3JHLE1BQU0sT0FBTyx3Q0FBd0M7SUFYckQ7UUFhUyxnQkFBVyxHQUF5QixFQUFFLENBQUM7UUFFOUMsMENBQTBDO1FBRW5DLHVCQUFrQixHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztJQU12RyxDQUFDO0lBSFEsU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7O1lBdEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUNBQXVDO2dCQUNqRCxRQUFRLEVBQUU7Ozs7OztHQU1UO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7MEJBRUUsS0FBSztpQ0FJTCxNQUFNO3dCQUdOLFdBQVcsU0FBQyw2Q0FBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ib1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY28tY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdFwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbHVtbiBpdGVtcy13cmFwcGVyXCI+XG4gICAgICA8Y28tY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIHN1Z2dlc3Rpb25zXCIgW3N1Z2dlc3Rpb25dPVwic3VnZ2VzdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25TZWxlY3RlZCk9XCJzdWdnZXN0aW9uU2VsZWN0ZWQuZW1pdChzdWdnZXN0aW9uKVwiPjwvY28tY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC1pdGVtPlxuICAgICAgPHNwYW4gKm5nSWY9XCJzdWdnZXN0aW9ucz8ubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJuby1yZXN1bHRzXCIgbG9jYWxpemU9XCJOT19SRVNVTFRTX0ZPVU5EXCI+PC9zcGFuPlxuICAgIDwvZGl2PlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrT3V0UmVsYXRpb25TdWdnZXN0aW9uc0xpc3RDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3VnZ2VzdGlvbnM6IFJlbGF0aW9uTGlzdE9iamVjdFtdID0gW107XG5cbiAgLy8gRW1pdHMgdGhlIGNsaWNrZWQgcmVsYXRpb24gbGlzdCBvYmplY3QuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc3VnZ2VzdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8UmVsYXRpb25MaXN0T2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVsYXRpb25MaXN0T2JqZWN0PigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdCcpXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation } from "@angular/core";
2
+ export class CheckOutRelationSuggestionsListItemComponent {
3
+ constructor() {
4
+ this.selectionSelected = new EventEmitter();
5
+ }
6
+ showClass() {
7
+ return true;
8
+ }
9
+ handleClick(event) {
10
+ this.selectionSelected.next(this.suggestion);
11
+ }
12
+ }
13
+ CheckOutRelationSuggestionsListItemComponent.decorators = [
14
+ { type: Component, args: [{
15
+ selector: "co-checkout-relation-suggestions-list-item",
16
+ template: `
17
+ <div class="name medium-big-font" *ngIf="suggestion.displayName as displayName" [textContent]="displayName"></div>
18
+ <div class="email" *ngIf="suggestion.email" [textContent]="suggestion.email"></div>
19
+ <div class="address" *ngIf="suggestion.displayAddress as address" [textContent]="address"></div>
20
+ <div class="phone" *ngIf="suggestion.tel1" [textContent]="suggestion.tel1"></div>
21
+ `,
22
+ encapsulation: ViewEncapsulation.None
23
+ },] }
24
+ ];
25
+ CheckOutRelationSuggestionsListItemComponent.propDecorators = {
26
+ suggestion: [{ type: Input }],
27
+ selectionSelected: [{ type: Output }],
28
+ showClass: [{ type: HostBinding, args: ["class.co-checkout-relation-suggestions-list-item",] }],
29
+ handleClick: [{ type: HostListener, args: ["click", ["$event"],] }]
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2NoZWNrb3V0L2NoZWNrb3V0LXJlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3QtaXRlbS9jaGVja291dC1yZWxhdGlvbi1zdWdnZXN0aW9ucy1saXN0LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQWFuSCxNQUFNLE9BQU8sNENBQTRDO0lBVnpEO1FBZVMsc0JBQWlCLEdBQXFDLElBQUksWUFBWSxFQUFzQixDQUFDO0lBV3RHLENBQUM7SUFSUSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBR00sV0FBVyxDQUFDLEtBQWlCO1FBQ2xDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7OztZQXpCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDRDQUE0QztnQkFDdEQsUUFBUSxFQUFFOzs7OztHQUtUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7eUJBRUUsS0FBSztnQ0FHTCxNQUFNO3dCQUdOLFdBQVcsU0FBQyxrREFBa0Q7MEJBSzlELFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7UmVsYXRpb25MaXN0T2JqZWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLWxpc3Qtb2JqZWN0LmJvXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjby1jaGVja291dC1yZWxhdGlvbi1zdWdnZXN0aW9ucy1saXN0LWl0ZW1cIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwibmFtZSBtZWRpdW0tYmlnLWZvbnRcIiAqbmdJZj1cInN1Z2dlc3Rpb24uZGlzcGxheU5hbWUgYXMgZGlzcGxheU5hbWVcIiBbdGV4dENvbnRlbnRdPVwiZGlzcGxheU5hbWVcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZW1haWxcIiAqbmdJZj1cInN1Z2dlc3Rpb24uZW1haWxcIiBbdGV4dENvbnRlbnRdPVwic3VnZ2VzdGlvbi5lbWFpbFwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhZGRyZXNzXCIgKm5nSWY9XCJzdWdnZXN0aW9uLmRpc3BsYXlBZGRyZXNzIGFzIGFkZHJlc3NcIiBbdGV4dENvbnRlbnRdPVwiYWRkcmVzc1wiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwaG9uZVwiICpuZ0lmPVwic3VnZ2VzdGlvbi50ZWwxXCIgW3RleHRDb250ZW50XT1cInN1Z2dlc3Rpb24udGVsMVwiPjwvZGl2PlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrT3V0UmVsYXRpb25TdWdnZXN0aW9uc0xpc3RJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIHN1Z2dlc3Rpb246IFJlbGF0aW9uTGlzdE9iamVjdDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8UmVsYXRpb25MaXN0T2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVsYXRpb25MaXN0T2JqZWN0PigpO1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNoZWNrb3V0LXJlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3QtaXRlbVwiKVxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcihcImNsaWNrXCIsIFtcIiRldmVudFwiXSlcbiAgcHVibGljIGhhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3Rpb25TZWxlY3RlZC5uZXh0KHRoaXMuc3VnZ2VzdGlvbik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,102 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, EventEmitter, HostBinding, Output, ViewChild, ViewEncapsulation } from "@angular/core";
3
+ import { TransactionService } from "../../service/transaction.service";
4
+ import { DictionaryService } from "../../service/dictionary.service";
5
+ import { DialogService } from "../../service/dialog.service";
6
+ export class CheckoutComponent {
7
+ constructor(service, _dictionary, _dialogService) {
8
+ this.service = service;
9
+ this._dictionary = _dictionary;
10
+ this._dialogService = _dialogService;
11
+ this.transactionFinished = new EventEmitter();
12
+ }
13
+ showClass() {
14
+ return true;
15
+ }
16
+ get userIsApplicationUser() {
17
+ // TODO: return this.userService.isApplicationUser;
18
+ return true;
19
+ }
20
+ // ngOnDestroy(): void {
21
+ // this._subscriptions.forEach(subscription => subscription.unsubscribe());
22
+ // }
23
+ handleRelationValidation() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ if (this.checkoutRelation && this.stepRelation) {
26
+ const valid = this.checkoutRelation.submit();
27
+ this.stepRelation.completed = valid;
28
+ if (valid) {
29
+ this.saveRelation();
30
+ }
31
+ }
32
+ });
33
+ }
34
+ handleDeliveryValidation() {
35
+ if (this.checkoutDelivery && this.stepDelivery) {
36
+ const valid = this.checkoutDelivery.submit();
37
+ this.stepDelivery.completed = valid;
38
+ if (valid) {
39
+ this.handleSaveDelivery();
40
+ }
41
+ }
42
+ }
43
+ saveRelation() {
44
+ return this.service.saveRelation();
45
+ }
46
+ handleSaveDelivery() {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ return new Promise((resolve, reject) => {
49
+ this.service.setTransactionDeliveryOptions().then((response) => __awaiter(this, void 0, void 0, function* () {
50
+ if (response) {
51
+ const response = yield this.service.saveTransaction();
52
+ if (response && response.isSuccess) {
53
+ const commitResponse = yield this.service.commit();
54
+ if (commitResponse && commitResponse.validationResult && commitResponse.validationResult.success) {
55
+ this.transactionFinished.next(this.service.currentTransaction.transactionInfo);
56
+ }
57
+ }
58
+ }
59
+ else {
60
+ yield this._dialogService.showError("Opslag bezorging mislukt");
61
+ }
62
+ resolve(true);
63
+ })).catch((reason) => {
64
+ this._dialogService.showError("Opslag transactie mislukt");
65
+ });
66
+ });
67
+ });
68
+ }
69
+ }
70
+ CheckoutComponent.decorators = [
71
+ { type: Component, args: [{
72
+ selector: "co-checkout",
73
+ template: `
74
+ <co-stepper [finishButtonLabel]="'CHECKOUT_FINISH' | localize" (finishStep)="handleDeliveryValidation()">
75
+ <co-stepper-step #stepRelation [index]="1" [label]="'YOUR_DATA' | localize" (validateStep)="handleRelationValidation()">
76
+ <co-checkout-overview-relation-edit #checkoutRelation [(relation)]="service.relation" (relationChange)="service.relation = $event"
77
+ ></co-checkout-overview-relation-edit>
78
+ </co-stepper-step>
79
+ <co-stepper-step #stepDelivery [index]="2" [label]="'DELIVERY' | localize">
80
+ <co-checkout-overview-delivery-edit #checkoutDelivery *ngIf="service.deliveryOptions" [(relation)]="service.relation" [deliveryOptionsRequest]="service.deliveryOptions"
81
+ [transaction]="service.currentTransaction"
82
+ ></co-checkout-overview-delivery-edit>
83
+ </co-stepper-step>
84
+ </co-stepper>
85
+ `,
86
+ encapsulation: ViewEncapsulation.None
87
+ },] }
88
+ ];
89
+ CheckoutComponent.ctorParameters = () => [
90
+ { type: TransactionService },
91
+ { type: DictionaryService },
92
+ { type: DialogService }
93
+ ];
94
+ CheckoutComponent.propDecorators = {
95
+ stepRelation: [{ type: ViewChild, args: ["stepRelation",] }],
96
+ stepDelivery: [{ type: ViewChild, args: ["stepDelivery",] }],
97
+ checkoutRelation: [{ type: ViewChild, args: ["checkoutRelation",] }],
98
+ checkoutDelivery: [{ type: ViewChild, args: ["checkoutDelivery",] }],
99
+ transactionFinished: [{ type: Output }],
100
+ showClass: [{ type: HostBinding, args: ["class.co-checkout",] }]
101
+ };
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvY2hlY2tvdXQvY2hlY2tvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQVNuRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFtQjNELE1BQU0sT0FBTyxpQkFBaUI7SUE0QjVCLFlBQ1MsT0FBMkIsRUFDMUIsV0FBOEIsRUFDOUIsY0FBNkI7UUFGOUIsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBakJoQyx3QkFBbUIsR0FBa0MsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFtQmhHLENBQUM7SUFoQk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQVcscUJBQXFCO1FBQzlCLG1EQUFtRDtRQUNuRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFXRCx3QkFBd0I7SUFDeEIsNkVBQTZFO0lBQzdFLElBQUk7SUFFUyx3QkFBd0I7O1lBQ25DLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQzlDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUNwQyxJQUFJLEtBQUssRUFBRTtvQkFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7aUJBQ3JCO2FBQ0Y7UUFDSCxDQUFDO0tBQUE7SUFFTSx3QkFBd0I7UUFDN0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3BDLElBQUksS0FBSyxFQUFFO2dCQUNULElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2FBQzNCO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVZLGtCQUFrQjs7WUFDN0IsT0FBTyxJQUFJLE9BQU8sQ0FBVSxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUNsRSxJQUFJLENBQUMsT0FBTyxDQUFDLDZCQUE2QixFQUFFLENBQUMsSUFBSSxDQUFDLENBQU8sUUFBUSxFQUFFLEVBQUU7b0JBQ25FLElBQUksUUFBUSxFQUFFO3dCQUNaLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7d0JBQy9FLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUU7NEJBQ2xDLE1BQU0sY0FBYyxHQUE0QixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7NEJBQzVFLElBQUksY0FBYyxJQUFJLGNBQWMsQ0FBQyxnQkFBZ0IsSUFBSSxjQUFjLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dDQUNoRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUM7NkJBQ2hGO3lCQUNGO3FCQUNGO3lCQUFNO3dCQUNMLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsMEJBQTBCLENBQUMsQ0FBQztxQkFDakU7b0JBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoQixDQUFDLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQXdCLEVBQUUsRUFBRTtvQkFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsMkJBQTJCLENBQUMsQ0FBQztnQkFDN0QsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTs7O1lBbkdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7R0FZVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBNUJPLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFTakIsYUFBYTs7OzJCQW9CbEIsU0FBUyxTQUFDLGNBQWM7MkJBR3hCLFNBQVMsU0FBQyxjQUFjOytCQUd4QixTQUFTLFNBQUMsa0JBQWtCOytCQUc1QixTQUFTLFNBQUMsa0JBQWtCO2tDQUc1QixNQUFNO3dCQUdOLFdBQVcsU0FBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVzcG9uc2VCYXNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXJlc3BvbnNlLWJhc2UuYm9cIjtcclxuaW1wb3J0IHtEYXRhU2VydmljZVJlc3BvbnNlRGF0YX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kYXRhLXNlcnZpY2UtcmVzcG9uc2UtZGF0YVwiO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25SZXN1bHR9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1yZXN1bHRcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7Q2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudH0gZnJvbSBcIi4vY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0NoZWNrb3V0T3ZlcnZpZXdEZWxpdmVyeUVkaXRDb21wb25lbnR9IGZyb20gXCIuL2NoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQvY2hlY2tvdXQtb3ZlcnZpZXctZGVsaXZlcnktZWRpdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTdGVwcGVyU3RlcENvbXBvbmVudH0gZnJvbSBcIi4uL3N0ZXBwZXIvY29tcG9uZW50L3N0ZXBwZXItc3RlcC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWFsb2cuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tY2hlY2tvdXRcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLXN0ZXBwZXIgW2ZpbmlzaEJ1dHRvbkxhYmVsXT1cIidDSEVDS09VVF9GSU5JU0gnIHwgbG9jYWxpemVcIiAoZmluaXNoU3RlcCk9XCJoYW5kbGVEZWxpdmVyeVZhbGlkYXRpb24oKVwiPlxyXG4gICAgICA8Y28tc3RlcHBlci1zdGVwICNzdGVwUmVsYXRpb24gW2luZGV4XT1cIjFcIiBbbGFiZWxdPVwiJ1lPVVJfREFUQScgfCBsb2NhbGl6ZVwiICh2YWxpZGF0ZVN0ZXApPVwiaGFuZGxlUmVsYXRpb25WYWxpZGF0aW9uKClcIj5cclxuICAgICAgICA8Y28tY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdCAjY2hlY2tvdXRSZWxhdGlvbiBbKHJlbGF0aW9uKV09XCJzZXJ2aWNlLnJlbGF0aW9uXCIgKHJlbGF0aW9uQ2hhbmdlKT1cInNlcnZpY2UucmVsYXRpb24gPSAkZXZlbnRcIlxyXG4gICAgICAgID48L2NvLWNoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQ+XHJcbiAgICAgIDwvY28tc3RlcHBlci1zdGVwPlxyXG4gICAgICA8Y28tc3RlcHBlci1zdGVwICNzdGVwRGVsaXZlcnkgW2luZGV4XT1cIjJcIiBbbGFiZWxdPVwiJ0RFTElWRVJZJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgPGNvLWNoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQgI2NoZWNrb3V0RGVsaXZlcnkgKm5nSWY9XCJzZXJ2aWNlLmRlbGl2ZXJ5T3B0aW9uc1wiIFsocmVsYXRpb24pXT1cInNlcnZpY2UucmVsYXRpb25cIiBbZGVsaXZlcnlPcHRpb25zUmVxdWVzdF09XCJzZXJ2aWNlLmRlbGl2ZXJ5T3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uXCJcclxuICAgICAgICA+PC9jby1jaGVja291dC1vdmVydmlldy1kZWxpdmVyeS1lZGl0PlxyXG4gICAgICA8L2NvLXN0ZXBwZXItc3RlcD5cclxuICAgIDwvY28tc3RlcHBlcj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrb3V0Q29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKFwic3RlcFJlbGF0aW9uXCIpXHJcbiAgcHVibGljIHN0ZXBSZWxhdGlvbjogU3RlcHBlclN0ZXBDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJzdGVwRGVsaXZlcnlcIilcclxuICBwdWJsaWMgc3RlcERlbGl2ZXJ5OiBTdGVwcGVyU3RlcENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcImNoZWNrb3V0UmVsYXRpb25cIilcclxuICBwdWJsaWMgY2hlY2tvdXRSZWxhdGlvbjogQ2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcImNoZWNrb3V0RGVsaXZlcnlcIilcclxuICBwdWJsaWMgY2hlY2tvdXREZWxpdmVyeTogQ2hlY2tvdXRPdmVydmlld0RlbGl2ZXJ5RWRpdENvbXBvbmVudDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uRmluaXNoZWQ6IEV2ZW50RW1pdHRlcjxUcmFuc2FjdGlvbkluZm8+ID0gbmV3IEV2ZW50RW1pdHRlcjxUcmFuc2FjdGlvbkluZm8+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNoZWNrb3V0XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB1c2VySXNBcHBsaWNhdGlvblVzZXIoKTogYm9vbGVhbiB7XHJcbiAgICAvLyBUT0RPOiByZXR1cm4gdGhpcy51c2VyU2VydmljZS5pc0FwcGxpY2F0aW9uVXNlcjtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGljdGlvbmFyeTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICAvLyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAvLyAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVJlbGF0aW9uVmFsaWRhdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmNoZWNrb3V0UmVsYXRpb24gJiYgdGhpcy5zdGVwUmVsYXRpb24pIHtcclxuICAgICAgY29uc3QgdmFsaWQgPSB0aGlzLmNoZWNrb3V0UmVsYXRpb24uc3VibWl0KCk7XHJcbiAgICAgIHRoaXMuc3RlcFJlbGF0aW9uLmNvbXBsZXRlZCA9IHZhbGlkO1xyXG4gICAgICBpZiAodmFsaWQpIHtcclxuICAgICAgICB0aGlzLnNhdmVSZWxhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVsaXZlcnlWYWxpZGF0aW9uKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY2hlY2tvdXREZWxpdmVyeSAmJiB0aGlzLnN0ZXBEZWxpdmVyeSkge1xyXG4gICAgICBjb25zdCB2YWxpZCA9IHRoaXMuY2hlY2tvdXREZWxpdmVyeS5zdWJtaXQoKTtcclxuICAgICAgdGhpcy5zdGVwRGVsaXZlcnkuY29tcGxldGVkID0gdmFsaWQ7XHJcbiAgICAgIGlmICh2YWxpZCkge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlU2F2ZURlbGl2ZXJ5KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlUmVsYXRpb24oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLnNhdmVSZWxhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVNhdmVEZWxpdmVyeSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPigocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgdGhpcy5zZXJ2aWNlLnNldFRyYW5zYWN0aW9uRGVsaXZlcnlPcHRpb25zKCkudGhlbihhc3luYyAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UpIHtcclxuICAgICAgICAgIGNvbnN0IHJlc3BvbnNlOiBUcmFuc2FjdGlvblJlc3BvbnNlQmFzZSA9IGF3YWl0IHRoaXMuc2VydmljZS5zYXZlVHJhbnNhY3Rpb24oKTtcclxuICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5pc1N1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgY29uc3QgY29tbWl0UmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmNvbW1pdCgpO1xyXG4gICAgICAgICAgICBpZiAoY29tbWl0UmVzcG9uc2UgJiYgY29tbWl0UmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiBjb21taXRSZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRmluaXNoZWQubmV4dCh0aGlzLnNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mbyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5fZGlhbG9nU2VydmljZS5zaG93RXJyb3IoXCJPcHNsYWcgYmV6b3JnaW5nIG1pc2x1a3RcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgIH0pLmNhdGNoKChyZWFzb246IFZhbGlkYXRpb25SZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dFcnJvcihcIk9wc2xhZyB0cmFuc2FjdGllIG1pc2x1a3RcIik7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgc2F2ZU5ld1JlbGF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gIC8vICAgaWYgKGlzTmlsbCh0aGlzLnNlcnZpY2UuY3VycmVudFJlbGF0aW9uLnJlbGF0aW9uSWQpKSB7XHJcbiAgLy8gICAgIGF3YWl0IHRoaXMuc2VydmljZS5zYXZlTmV3UmVsYXRpb24oKTtcclxuICAvLyAgIH0gZWxzZSB7XHJcbiAgLy8gICAgIGF3YWl0IHRoaXMuc2VydmljZS5zYXZlUmVsYXRpb24oKTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIC8vIHB1YmxpYyBhc3luYyBpbnNlcnREYXRhKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gIC8vICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmluc2VydEN1c3RvbWVyKHRoaXMucmVsYXRpb24pO1xyXG4gIC8vIH1cclxuICAvL1xyXG4gIC8vIHB1YmxpYyBhc3luYyB1cGRhdGVEYXRhKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gIC8vICAgY29uc3QgcmVsYXRpb246IFJlbGF0aW9uQW55VHlwZSA9IHRoaXMucmVsYXRpb247XHJcbiAgLy8gICBhd2FpdCB0aGlzLnNlcnZpY2UudXBkYXRlQ3VzdG9tZXIocmVsYXRpb24pO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHJpdmF0ZSBhc3luYyBfaGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgLy8gICBpZiAobG9hZGVkKSB7XHJcbiAgLy8gICAgIGF3YWl0IHRoaXMuX2luaXRDb25uZWN0aW9uKCkudGhlbigpO1xyXG4gIC8vICAgICB0aGlzLnVwQW5kTG9hZGVkID0gdHJ1ZTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcbiAgLy9cclxuICAvLyBwcml2YXRlIGFzeW5jIF9pbml0Q29ubmVjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAvLyAgIGF3YWl0IHRoaXMuX2Nvbm5lY3Rvci5jb25uZWN0KHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMpO1xyXG4gIC8vXHJcbiAgLy8gICBpZiAodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy51cmwpIHtcclxuICAvLyAgICAgdGhpcy5fZGljdGlvbmFyeS5yb290VXJsID0gdGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy51cmwucmVwbGFjZShcIi9hamF4c2VydmljZVwiLCBcIlwiKTtcclxuICAvLyAgIH1cclxuICAvLyAgIGF3YWl0IHRoaXMuX2RpY3Rpb25hcnkuc2V0RGljdGlvbmFyeSh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmxhbmd1YWdlQ29kZSk7XHJcbiAgLy8gICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAvLyAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG4gIC8vXHJcbiAgLy8gcHVibGljIGxvZ2luU3VibWl0KCk6IHZvaWQge1xyXG4gIC8vICAgdGhpcy5nbG9iYWxFdmVudHMuYWRkVXNlclJlbGF0aW9uU2hvcHBpbmdDYXJ0TW9kdWxlLm5leHQoe3VzZXI6IHRoaXMuY2hlY2tvdXRMb2dpbi51c2VyRW1haWxBZGRyZXNzLCBwdzogdGhpcy5jaGVja291dExvZ2luLnVzZXJQYXNzd29yZH0pO1xyXG4gIC8vICAgdGhpcy5sb2dnZWRJbiA9IHRydWU7XHJcbiAgLy8gfVxyXG4gIC8vXHJcbiAgLy8gcHVibGljIGNvbnRpbnVlV2l0aG91dEFjY291bnQoKTogdm9pZCB7XHJcbiAgLy8gICB0aGlzLmNsb3NlTG9naW4oKTtcclxuICAvLyAgIHRoaXMubG9nZ2VkSW4gPSB0cnVlO1xyXG4gIC8vICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50cy5hZGROZXdVc2VyVG9TaG9wcGluZ0NhcnRNb2R1bGUubmV4dCh0aGlzLmNoZWNrb3V0TG9naW4udXNlck5ld0VtYWlsQWRkcmVzcyk7XHJcbiAgLy8gfVxyXG4gIC8vXHJcbiAgLy8gcHVibGljIGNyZWF0ZU5ld0FjY291bnQoKTogdm9pZCB7XHJcbiAgLy8gICB0aGlzLmNsb3NlTG9naW4oKTtcclxuICAvLyAgIHRoaXMudHJhbnNhY3Rpb25FdmVudHMuYWRkTmV3VXNlclRvU2hvcHBpbmdDYXJ0TW9kdWxlLm5leHQodGhpcy5jaGVja291dExvZ2luLnVzZXJOZXdFbWFpbEFkZHJlc3MpO1xyXG4gIC8vIH1cclxuICAvL1xyXG4gIC8vIHByaXZhdGUgY2xvc2VMb2dpbigpOiB2b2lkIHtcclxuICAvLyAgIHRoaXMubG9nZ2VkSW4gPSB0cnVlO1xyXG4gIC8vICAgdGhpcy5zaG93ID0gdHJ1ZTtcclxuICAvLyB9XHJcbn1cclxuIl19