@colijnit/transaction 12.1.6 → 12.1.9

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 (508) hide show
  1. package/README.md +10 -13
  2. package/bundles/colijnit-transaction.umd.js +5786 -7155
  3. package/bundles/colijnit-transaction.umd.js.map +1 -1
  4. package/colijnit-transaction.d.ts +57 -57
  5. package/colijnit-transaction.metadata.json +1 -1
  6. package/esm2015/colijnit-transaction.js +58 -58
  7. package/esm2015/lib/assets/dictionary/text.properties.js +418 -0
  8. package/esm2015/lib/component/checkout/checkout-login/checkout-login.component.js +106 -0
  9. package/esm2015/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +47 -0
  10. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +275 -0
  11. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +538 -0
  12. package/esm2015/lib/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +30 -0
  13. package/esm2015/lib/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +31 -0
  14. package/esm2015/lib/component/checkout/checkout.component.js +132 -0
  15. package/esm2015/lib/component/checkout/checkout.module.js +86 -0
  16. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +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/lib/component/core/icon/icon.component.js +31 -0
  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 +41 -0
  25. package/esm2015/lib/component/core/stock-status-indicator/stock-status-indicator.component.js +24 -0
  26. package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.component.js +40 -0
  27. package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.module.js +26 -0
  28. package/esm2015/lib/component/discount/discount.component.js +107 -0
  29. package/esm2015/lib/component/discount/discount.module.js +29 -0
  30. package/esm2015/lib/component/payment/payment.component.js +73 -0
  31. package/esm2015/lib/component/payment/payment.module.js +27 -0
  32. package/esm2015/lib/component/payment-tile/payment-tile.component.js +32 -0
  33. package/esm2015/lib/component/payment-tile/payment-tile.module.js +25 -0
  34. package/esm2015/lib/component/relation-address/relation-address.component.js +125 -0
  35. package/esm2015/lib/component/relation-address/relation-address.module.js +28 -0
  36. package/esm2015/lib/component/relation-address-select/relation-address-select.component.js +146 -0
  37. package/esm2015/lib/component/relation-address-select/relation-address-select.module.js +33 -0
  38. package/esm2015/lib/component/relation-address-tile/relation-address-tile.component.js +61 -0
  39. package/esm2015/lib/component/relation-address-tile/relation-address-tile.module.js +32 -0
  40. package/esm2015/lib/component/seller-information/seller-information.component.js +61 -0
  41. package/esm2015/lib/component/seller-information/seller-information.module.js +21 -0
  42. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +118 -0
  43. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.module.js +31 -0
  44. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +129 -0
  45. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.js +34 -0
  46. package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +57 -0
  47. package/esm2015/lib/component/shopping-cart/shopping-cart.module.js +27 -0
  48. package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.component.js +55 -0
  49. package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.module.js +29 -0
  50. package/esm2015/lib/component/stepper/component/stepper-step.component.js +40 -0
  51. package/esm2015/lib/component/stepper/stepper.component.js +124 -0
  52. package/esm2015/lib/component/stepper/stepper.module.js +29 -0
  53. package/esm2015/lib/component/tile/tile.component.js +32 -0
  54. package/esm2015/lib/component/tile/tile.module.js +19 -0
  55. package/esm2015/lib/component/transaction/transaction.component.js +96 -0
  56. package/esm2015/lib/component/transaction/transaction.module.js +39 -0
  57. package/esm2015/lib/component/transaction-header/transaction-header.component.js +36 -0
  58. package/esm2015/lib/component/transaction-header/transaction-header.module.js +27 -0
  59. package/esm2015/lib/component/transaction-header-contact/transaction-header-contact.component.js +34 -0
  60. package/esm2015/lib/component/transaction-header-contact/transaction-header-contact.module.js +19 -0
  61. package/esm2015/lib/component/transaction-header-delivery/transaction-header-delivery.component.js +57 -0
  62. package/esm2015/lib/component/transaction-header-delivery/transaction-header-delivery.module.js +21 -0
  63. package/esm2015/lib/component/transaction-header-relation/transaction-header-relation.component.js +35 -0
  64. package/esm2015/lib/component/transaction-header-relation/transaction-header-relation.module.js +19 -0
  65. package/esm2015/lib/component/transaction-line/transaction-line.component.js +278 -0
  66. package/esm2015/lib/component/transaction-line/transaction-line.module.js +32 -0
  67. package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.component.js +23 -0
  68. package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.module.js +21 -0
  69. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +163 -0
  70. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.js +30 -0
  71. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +122 -0
  72. package/esm2015/lib/component/transaction-lines/transaction-lines.module.js +31 -0
  73. package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.component.js +58 -0
  74. package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.module.js +26 -0
  75. package/esm2015/lib/component/transaction-totals/transaction-totals.component.js +44 -0
  76. package/esm2015/lib/component/transaction-totals/transaction-totals.module.js +23 -0
  77. package/esm2015/lib/enum/content-view-mode.enum.js +10 -0
  78. package/esm2015/lib/enum/icon.enum.js +24 -0
  79. package/esm2015/lib/enum/language-code.enum.js +8 -0
  80. package/esm2015/lib/enum/order-discount-type.enum.js +7 -0
  81. package/esm2015/lib/enum/time-size.type.js +10 -0
  82. package/esm2015/lib/factory/business-object-factory.js +120 -0
  83. package/esm2015/lib/factory/decorators/boolean.decorator.js +102 -0
  84. package/esm2015/lib/factory/decorators/complex-array.decorator.js +55 -0
  85. package/esm2015/lib/factory/decorators/complex-field.decorator.js +57 -0
  86. package/esm2015/lib/factory/decorators/date-field.decorator.js +36 -0
  87. package/esm2015/lib/factory/decorators/string-number.decorator.js +43 -0
  88. package/esm2015/lib/model/business-object.js +81 -0
  89. package/esm2015/lib/model/delivery-type.js +3 -0
  90. package/esm2015/lib/model/icon-svg.js +23 -0
  91. package/esm2015/lib/model/standard-text.js +3 -0
  92. package/esm2015/lib/model/text-value-container.js +3 -0
  93. package/esm2015/lib/pipe/append.pipe.js +17 -0
  94. package/esm2015/lib/pipe/co-currency.pipe.js +47 -0
  95. package/esm2015/lib/pipe/date-duration.pipe.js +57 -0
  96. package/esm2015/lib/pipe/delivery-time.pipe.js +33 -0
  97. package/esm2015/lib/pipe/localize.pipe.js +28 -0
  98. package/esm2015/lib/pipe/pipe.module.js +37 -0
  99. package/esm2015/lib/pipe/safe-html.pipe.js +19 -0
  100. package/esm2015/lib/pipe/safe-style.pipe.js +19 -0
  101. package/esm2015/lib/service/dialog.service.js +65 -0
  102. package/esm2015/lib/service/dictionary.service.js +76 -0
  103. package/esm2015/lib/service/icon-cache.service.js +51 -0
  104. package/esm2015/lib/service/ione-connector-adapter.service.js +591 -0
  105. package/esm2015/lib/service/options.service.js +69 -0
  106. package/esm2015/lib/service/pending-reason.service.js +172 -0
  107. package/esm2015/lib/service/transaction.service.js +521 -0
  108. package/esm2015/lib/utils/array-utils.js +183 -0
  109. package/esm2015/lib/utils/is-nill.function.js +5 -0
  110. package/esm2015/lib/utils/string-utils.js +64 -0
  111. package/esm2015/public_api.js +28 -10
  112. package/fesm2015/colijnit-transaction.js +5913 -7162
  113. package/fesm2015/colijnit-transaction.js.map +1 -1
  114. package/{assets → lib/assets}/dictionary/text.properties.d.ts +0 -0
  115. package/{app → lib}/component/checkout/checkout-login/checkout-login.component.d.ts +0 -0
  116. package/lib/component/checkout/checkout-login/checkout-login.component.scss +35 -0
  117. package/{app → lib}/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.d.ts +0 -0
  118. package/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.scss +0 -0
  119. package/{app → lib}/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +23 -36
  120. package/lib/component/checkout/checkout-overview-delivery-edit/style/_layout.scss +98 -0
  121. package/lib/component/checkout/checkout-overview-delivery-edit/style/_material-definition.scss +12 -0
  122. package/lib/component/checkout/checkout-overview-delivery-edit/style/_theme.scss +17 -0
  123. package/lib/component/checkout/checkout-overview-delivery-edit/style/material.scss +7 -0
  124. package/{app → lib}/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +41 -14
  125. package/lib/component/checkout/checkout-overview-relation-edit/style/_layout.scss +125 -0
  126. package/lib/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +18 -0
  127. package/lib/component/checkout/checkout-overview-relation-edit/style/_theme.scss +9 -0
  128. package/lib/component/checkout/checkout-overview-relation-edit/style/material.scss +10 -0
  129. package/{app → lib}/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.d.ts +2 -3
  130. package/lib/component/checkout/checkout-relation-suggestions-list/style/_layout.scss +8 -0
  131. package/lib/component/checkout/checkout-relation-suggestions-list/style/_material-definition.scss +0 -0
  132. package/lib/component/checkout/checkout-relation-suggestions-list/style/_theme.scss +6 -0
  133. package/lib/component/checkout/checkout-relation-suggestions-list/style/material.scss +5 -0
  134. package/lib/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.d.ts +8 -0
  135. package/lib/component/checkout/checkout-relation-suggestions-list-item/style/_layout.scss +34 -0
  136. package/lib/component/checkout/checkout-relation-suggestions-list-item/style/_material-definition.scss +8 -0
  137. package/lib/component/checkout/checkout-relation-suggestions-list-item/style/_theme.scss +6 -0
  138. package/lib/component/checkout/checkout-relation-suggestions-list-item/style/material.scss +4 -0
  139. package/lib/component/checkout/checkout.component.d.ts +36 -0
  140. package/lib/component/checkout/checkout.module.d.ts +2 -0
  141. package/lib/component/checkout/style/_layout.scss +31 -0
  142. package/lib/component/checkout/style/_material-definition.scss +5 -0
  143. package/lib/component/checkout/style/_theme.scss +8 -0
  144. package/lib/component/checkout/style/material.scss +10 -0
  145. package/lib/component/confirmation-dialog/confirmation-dialog.component.d.ts +8 -0
  146. package/lib/component/confirmation-dialog/confirmation-dialog.module.d.ts +2 -0
  147. package/lib/component/confirmation-dialog/style/_layout.scss +22 -0
  148. package/lib/component/confirmation-dialog/style/_material-definition.scss +2 -0
  149. package/lib/component/confirmation-dialog/style/_theme.scss +6 -0
  150. package/lib/component/confirmation-dialog/style/material.scss +5 -0
  151. package/lib/component/core/base/dialog-base.component.d.ts +4 -0
  152. package/lib/component/core/base/style/_layout.scss +7 -0
  153. package/lib/component/core/base/style/_material-definition.scss +0 -0
  154. package/lib/component/core/base/style/_theme.scss +6 -0
  155. package/lib/component/core/base/style/material.scss +4 -0
  156. package/{app → lib}/component/core/base/transaction-base.component.d.ts +7 -23
  157. package/lib/component/core/characteristic-answer/characteristic-answer.component.scss +20 -0
  158. package/{app → lib}/component/core/core.module.d.ts +0 -0
  159. package/lib/component/core/enum/app-popup-button-type.enum.d.ts +9 -0
  160. package/{app → lib}/component/core/icon/icon.component.d.ts +3 -2
  161. package/lib/component/core/icon/icon.component.scss +87 -0
  162. package/lib/component/core/image-display/image-display.component.d.ts +5 -0
  163. package/lib/component/core/image-display/style/_layout.scss +57 -0
  164. package/lib/component/core/image-display/style/_material-definition.scss +4 -0
  165. package/lib/component/core/image-display/style/_theme.scss +6 -0
  166. package/lib/component/core/image-display/style/material.scss +4 -0
  167. package/lib/component/core/relation/customer-groups.component.d.ts +13 -0
  168. package/lib/component/core/relation/relation-customer-groups.component.scss +6 -0
  169. package/{app → lib}/component/core/stock-status-indicator/stock-status-indicator.component.d.ts +0 -0
  170. package/lib/component/core/stock-status-indicator/stock-status-indicator.component.scss +47 -0
  171. package/lib/component/delivery-type-tile/delivery-type-tile.component.d.ts +10 -0
  172. package/lib/component/delivery-type-tile/delivery-type-tile.module.d.ts +2 -0
  173. package/lib/component/delivery-type-tile/style/_layout.scss +35 -0
  174. package/lib/component/delivery-type-tile/style/_material-definition.scss +16 -0
  175. package/lib/component/delivery-type-tile/style/_theme.scss +6 -0
  176. package/lib/component/delivery-type-tile/style/material.scss +5 -0
  177. package/lib/component/discount/discount.component.d.ts +19 -0
  178. package/lib/component/discount/discount.module.d.ts +2 -0
  179. package/lib/component/discount/style/_layout.scss +0 -0
  180. package/lib/component/discount/style/_material-definition.scss +0 -0
  181. package/lib/component/discount/style/_theme.scss +0 -0
  182. package/lib/component/discount/style/material.scss +0 -0
  183. package/lib/component/payment/payment.component.d.ts +18 -0
  184. package/lib/component/payment/payment.module.d.ts +2 -0
  185. package/lib/component/payment/style/_layout.scss +54 -0
  186. package/lib/component/payment/style/_material-definition.scss +17 -0
  187. package/lib/component/payment/style/_theme.scss +16 -0
  188. package/lib/component/payment/style/material.scss +5 -0
  189. package/lib/component/payment-tile/payment-tile.component.d.ts +9 -0
  190. package/lib/component/payment-tile/payment-tile.module.d.ts +2 -0
  191. package/lib/component/payment-tile/style/_layout.scss +22 -0
  192. package/lib/component/payment-tile/style/_material-definition.scss +0 -0
  193. package/lib/component/payment-tile/style/_theme.scss +6 -0
  194. package/lib/component/payment-tile/style/material.scss +5 -0
  195. package/lib/component/relation-address/relation-address.component.d.ts +28 -0
  196. package/lib/component/relation-address/relation-address.module.d.ts +2 -0
  197. package/lib/component/relation-address/style/_layout.scss +25 -0
  198. package/lib/component/relation-address/style/_material-definition.scss +3 -0
  199. package/lib/component/relation-address/style/_theme.scss +7 -0
  200. package/lib/component/relation-address/style/material.scss +5 -0
  201. package/lib/component/relation-address-select/relation-address-select.component.d.ts +33 -0
  202. package/lib/component/relation-address-select/relation-address-select.module.d.ts +2 -0
  203. package/lib/component/relation-address-select/style/_layout.scss +85 -0
  204. package/lib/component/relation-address-select/style/_material-definition.scss +4 -0
  205. package/lib/component/relation-address-select/style/_theme.scss +6 -0
  206. package/lib/component/relation-address-select/style/material.scss +5 -0
  207. package/lib/component/relation-address-tile/relation-address-tile.component.d.ts +14 -0
  208. package/lib/component/relation-address-tile/relation-address-tile.module.d.ts +2 -0
  209. package/lib/component/relation-address-tile/style/_layout.scss +42 -0
  210. package/lib/component/relation-address-tile/style/_material-definition.scss +16 -0
  211. package/lib/component/relation-address-tile/style/_theme.scss +21 -0
  212. package/lib/component/relation-address-tile/style/material.scss +5 -0
  213. package/lib/component/sell-order/sell-order-side-panel/sell-order-side-panel.component.scss +49 -0
  214. package/lib/component/sell-order/sell-order.component.scss +15 -0
  215. package/lib/component/seller-information/seller-information.component.d.ts +13 -0
  216. package/lib/component/seller-information/seller-information.module.d.ts +2 -0
  217. package/lib/component/seller-information/style/_layout.scss +21 -0
  218. package/lib/component/seller-information/style/_material-definition.scss +2 -0
  219. package/lib/component/seller-information/style/_theme.scss +7 -0
  220. package/lib/component/seller-information/style/material.scss +4 -0
  221. package/lib/component/service-order/service-order.component.scss +154 -0
  222. package/lib/component/service-order/summary/transaction-delivery-summary.component.scss +22 -0
  223. package/lib/component/service-order/summary/transaction-summary-block.component.scss +109 -0
  224. package/lib/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.scss +0 -0
  225. package/lib/component/service-order/transaction-manager/transaction-manager.component.scss +54 -0
  226. package/lib/component/service-order/transaction-order-line-view/transaction-order-line-view.component.scss +90 -0
  227. package/lib/component/service-order/transaction-order-lines/transaction-order-lines.component.scss +85 -0
  228. package/lib/component/service-order/transaction-order-totals/transaction-order-totals.component.scss +26 -0
  229. package/lib/component/service-order/transaction-relation/transaction-relation-edit.component.scss +24 -0
  230. package/lib/component/service-order/transaction-sidebar/transaction-line-accordion.component.scss +0 -0
  231. package/lib/component/service-order/transaction-sidebar/transaction-sidebar-right.component.scss +17 -0
  232. package/lib/component/service-order/warehouse/warehouse.component.scss +54 -0
  233. package/lib/component/shared/transaction-article-text/style/_layout.scss +42 -0
  234. package/lib/component/shared/transaction-article-text/style/_material-definition.scss +7 -0
  235. package/lib/component/shared/transaction-article-text/style/_theme.scss +11 -0
  236. package/lib/component/shared/transaction-article-text/style/material.scss +5 -0
  237. package/lib/component/shared/transaction-article-text/transaction-article-text.component.d.ts +31 -0
  238. package/lib/component/shared/transaction-article-text/transaction-article-text.module.d.ts +2 -0
  239. package/lib/component/shared/transaction-article-text-overview/style/_layout.scss +56 -0
  240. package/lib/component/shared/transaction-article-text-overview/style/_material-definition.scss +9 -0
  241. package/lib/component/shared/transaction-article-text-overview/style/_theme.scss +9 -0
  242. package/lib/component/shared/transaction-article-text-overview/style/material.scss +4 -0
  243. package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +30 -0
  244. package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.d.ts +2 -0
  245. package/lib/component/shopping-cart/shopping-cart.component.d.ts +15 -0
  246. package/lib/component/shopping-cart/shopping-cart.module.d.ts +2 -0
  247. package/lib/component/shopping-cart/style/_layout.scss +33 -0
  248. package/lib/component/shopping-cart/style/_material-definition.scss +10 -0
  249. package/lib/component/shopping-cart/style/_theme.scss +14 -0
  250. package/lib/component/shopping-cart/style/material.scss +4 -0
  251. package/lib/component/shopping-cart-OLD/shopping-cart-manager/shopping-cart-manager.component.scss +54 -0
  252. package/lib/component/shopping-cart-preview/shopping-cart-preview.component.d.ts +13 -0
  253. package/lib/component/shopping-cart-preview/shopping-cart-preview.module.d.ts +2 -0
  254. package/lib/component/shopping-cart-preview/style/_layout.scss +48 -0
  255. package/lib/component/shopping-cart-preview/style/_material-definition.scss +20 -0
  256. package/lib/component/shopping-cart-preview/style/_theme.scss +17 -0
  257. package/lib/component/shopping-cart-preview/style/material.scss +4 -0
  258. package/lib/component/stepper/component/stepper-step.component.d.ts +12 -0
  259. package/lib/component/stepper/stepper.component.d.ts +35 -0
  260. package/lib/component/stepper/stepper.module.d.ts +2 -0
  261. package/lib/component/stepper/style/_layout.scss +107 -0
  262. package/lib/component/stepper/style/_material-definition.scss +18 -0
  263. package/lib/component/stepper/style/_theme.scss +43 -0
  264. package/lib/component/stepper/style/material.scss +4 -0
  265. package/lib/component/tile/style/_layout.scss +36 -0
  266. package/lib/component/tile/style/_material-definition.scss +16 -0
  267. package/lib/component/tile/style/_theme.scss +36 -0
  268. package/lib/component/tile/style/material.scss +4 -0
  269. package/lib/component/tile/tile.component.d.ts +6 -0
  270. package/lib/component/tile/tile.module.d.ts +2 -0
  271. package/lib/component/transaction/style/_layout.scss +25 -0
  272. package/lib/component/transaction/style/_material-definition.scss +7 -0
  273. package/lib/component/transaction/style/_theme.scss +24 -0
  274. package/lib/component/transaction/style/material.scss +8 -0
  275. package/lib/component/transaction/transaction.component.d.ts +24 -0
  276. package/lib/component/transaction/transaction.module.d.ts +2 -0
  277. package/lib/component/transaction-header/style/_layout.scss +38 -0
  278. package/lib/component/transaction-header/style/_material-definition.scss +8 -0
  279. package/lib/component/transaction-header/style/_theme.scss +11 -0
  280. package/lib/component/transaction-header/style/material.scss +7 -0
  281. package/lib/component/transaction-header/transaction-header.component.d.ts +9 -0
  282. package/lib/component/transaction-header/transaction-header.module.d.ts +2 -0
  283. package/lib/component/transaction-header-contact/style/_layout.scss +25 -0
  284. package/lib/component/transaction-header-contact/style/_material-definition.scss +7 -0
  285. package/lib/component/transaction-header-contact/style/_theme.scss +11 -0
  286. package/lib/component/transaction-header-contact/style/material.scss +4 -0
  287. package/lib/component/transaction-header-contact/transaction-header-contact.component.d.ts +4 -0
  288. package/lib/component/transaction-header-contact/transaction-header-contact.module.d.ts +2 -0
  289. package/lib/component/transaction-header-delivery/style/_layout.scss +54 -0
  290. package/lib/component/transaction-header-delivery/style/_material-definition.scss +12 -0
  291. package/lib/component/transaction-header-delivery/style/_theme.scss +24 -0
  292. package/lib/component/transaction-header-delivery/style/material.scss +4 -0
  293. package/lib/component/transaction-header-delivery/transaction-header-delivery.component.d.ts +13 -0
  294. package/lib/component/transaction-header-delivery/transaction-header-delivery.module.d.ts +2 -0
  295. package/lib/component/transaction-header-relation/style/_layout.scss +25 -0
  296. package/lib/component/transaction-header-relation/style/_material-definition.scss +7 -0
  297. package/lib/component/transaction-header-relation/style/_theme.scss +11 -0
  298. package/lib/component/transaction-header-relation/style/material.scss +4 -0
  299. package/lib/component/transaction-header-relation/transaction-header-relation.component.d.ts +4 -0
  300. package/lib/component/transaction-header-relation/transaction-header-relation.module.d.ts +2 -0
  301. package/lib/component/transaction-line/style/_layout.scss +143 -0
  302. package/lib/component/transaction-line/style/_material-definition.scss +29 -0
  303. package/lib/component/transaction-line/style/_theme.scss +41 -0
  304. package/lib/component/transaction-line/style/material.scss +9 -0
  305. package/lib/component/transaction-line/transaction-line.component.d.ts +51 -0
  306. package/lib/component/transaction-line/transaction-line.module.d.ts +2 -0
  307. package/lib/component/transaction-line-grid/style/_layout.scss +6 -0
  308. package/lib/component/transaction-line-grid/style/_material-definition.scss +0 -0
  309. package/lib/component/transaction-line-grid/style/_theme.scss +6 -0
  310. package/lib/component/transaction-line-grid/style/material.scss +4 -0
  311. package/lib/component/transaction-line-grid/transaction-line-grid.component.d.ts +5 -0
  312. package/lib/component/transaction-line-grid/transaction-line-grid.module.d.ts +2 -0
  313. package/lib/component/transaction-line-side-panel/style/_layout.scss +47 -0
  314. package/lib/component/transaction-line-side-panel/style/_material-definition.scss +10 -0
  315. package/lib/component/transaction-line-side-panel/style/_theme.scss +7 -0
  316. package/lib/component/transaction-line-side-panel/style/material.scss +4 -0
  317. package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +20 -0
  318. package/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.d.ts +2 -0
  319. package/lib/component/transaction-lines/style/_layout.scss +33 -0
  320. package/lib/component/transaction-lines/style/_material-definition.scss +3 -0
  321. package/lib/component/transaction-lines/style/_theme.scss +19 -0
  322. package/lib/component/transaction-lines/style/material.scss +7 -0
  323. package/lib/component/transaction-lines/transaction-lines.component.d.ts +32 -0
  324. package/lib/component/transaction-lines/transaction-lines.module.d.ts +2 -0
  325. package/lib/component/transaction-lines-grid/style/_layout.scss +37 -0
  326. package/lib/component/transaction-lines-grid/style/_material-definition.scss +19 -0
  327. package/lib/component/transaction-lines-grid/style/_theme.scss +15 -0
  328. package/lib/component/transaction-lines-grid/style/material.scss +5 -0
  329. package/lib/component/transaction-lines-grid/transaction-lines-grid.component.d.ts +17 -0
  330. package/lib/component/transaction-lines-grid/transaction-lines-grid.module.d.ts +2 -0
  331. package/lib/component/transaction-totals/style/_layout.scss +35 -0
  332. package/lib/component/transaction-totals/style/_material-definition.scss +15 -0
  333. package/lib/component/transaction-totals/style/_theme.scss +10 -0
  334. package/lib/component/transaction-totals/style/material.scss +4 -0
  335. package/lib/component/transaction-totals/transaction-totals.component.d.ts +9 -0
  336. package/lib/component/transaction-totals/transaction-totals.module.d.ts +2 -0
  337. package/{app → lib}/enum/content-view-mode.enum.d.ts +0 -0
  338. package/lib/enum/icon.enum.d.ts +22 -0
  339. package/{app → lib}/enum/language-code.enum.d.ts +0 -0
  340. package/{app → lib}/enum/order-discount-type.enum.d.ts +0 -0
  341. package/{app → lib}/enum/time-size.type.d.ts +0 -0
  342. package/{factory → lib/factory}/business-object-factory.d.ts +1 -1
  343. package/{factory → lib/factory}/decorators/boolean.decorator.d.ts +0 -0
  344. package/{factory → lib/factory}/decorators/complex-array.decorator.d.ts +0 -0
  345. package/{factory → lib/factory}/decorators/complex-field.decorator.d.ts +0 -0
  346. package/{factory → lib/factory}/decorators/date-field.decorator.d.ts +0 -0
  347. package/{factory → lib/factory}/decorators/string-number.decorator.d.ts +0 -0
  348. package/{app → lib}/model/business-object.d.ts +0 -0
  349. package/lib/model/delivery-type.d.ts +7 -0
  350. package/lib/model/icon-svg.d.ts +4 -0
  351. package/{app → lib}/model/standard-text.d.ts +0 -0
  352. package/{app → lib}/model/text-value-container.d.ts +0 -0
  353. package/{app → lib}/pipe/append.pipe.d.ts +0 -0
  354. package/{app → lib}/pipe/co-currency.pipe.d.ts +0 -0
  355. package/{app → lib}/pipe/date-duration.pipe.d.ts +0 -0
  356. package/{app → lib}/pipe/delivery-time.pipe.d.ts +0 -0
  357. package/{app → lib}/pipe/localize.pipe.d.ts +0 -0
  358. package/lib/pipe/pipe.module.d.ts +2 -0
  359. package/lib/pipe/safe-html.pipe.d.ts +7 -0
  360. package/{app/pipe/safe-style-pipe.d.ts → lib/pipe/safe-style.pipe.d.ts} +0 -0
  361. package/lib/service/dialog.service.d.ts +11 -0
  362. package/{app → lib}/service/dictionary.service.d.ts +0 -0
  363. package/lib/service/icon-cache.service.d.ts +18 -0
  364. package/{app → lib}/service/ione-connector-adapter.service.d.ts +15 -8
  365. package/lib/service/options.service.d.ts +12 -0
  366. package/lib/service/pending-reason.service.d.ts +31 -0
  367. package/{app → lib}/service/transaction.service.d.ts +16 -47
  368. package/lib/style/_mixin.scss +9 -0
  369. package/lib/style/_variables.scss +101 -0
  370. package/{utils → lib/utils}/array-utils.d.ts +0 -0
  371. package/{utils → lib/utils}/is-nill.function.d.ts +0 -0
  372. package/{app → lib}/utils/string-utils.d.ts +0 -0
  373. package/package.json +27 -34
  374. package/public_api.d.ts +27 -6
  375. package/app/component/checkout/checkout/checkout.component.d.ts +0 -32
  376. package/app/component/checkout/checkout-overview/checkout-overview.component.d.ts +0 -42
  377. package/app/component/checkout/checkout-overview-block/checkout-overview-block.component.d.ts +0 -12
  378. package/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.d.ts +0 -22
  379. package/app/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.d.ts +0 -12
  380. package/app/component/checkout/checkout-transaction/checkout-transaction.component.d.ts +0 -13
  381. package/app/component/checkout/ione-checkout.component.d.ts +0 -39
  382. package/app/component/checkout/ione-checkout.module.d.ts +0 -2
  383. package/app/component/core/base/default-ok-cancel-buttons.component.d.ts +0 -13
  384. package/app/component/core/characteristic-answer/characteristic-answer.component.d.ts +0 -22
  385. package/app/component/core/directive/template-wrapper.directive.d.ts +0 -13
  386. package/app/component/core/image-display/image-display.component.d.ts +0 -13
  387. package/app/component/core/no-image-display/no-image-display.component.d.ts +0 -5
  388. package/app/component/service-order/ione-service-order-module.d.ts +0 -2
  389. package/app/component/service-order/ione-service-order.component.d.ts +0 -25
  390. package/app/component/service-order/service-order.component.d.ts +0 -52
  391. package/app/component/service-order/summary/transaction-article-summary.component.d.ts +0 -17
  392. package/app/component/service-order/summary/transaction-delivery-summary.component.d.ts +0 -20
  393. package/app/component/service-order/summary/transaction-order-summary.component.d.ts +0 -16
  394. package/app/component/service-order/summary/transaction-payment-info.component.d.ts +0 -14
  395. package/app/component/service-order/summary/transaction-product-contract-summary.component.d.ts +0 -7
  396. package/app/component/service-order/summary/transaction-product-summary.component.d.ts +0 -15
  397. package/app/component/service-order/summary/transaction-service-status.component.d.ts +0 -15
  398. package/app/component/service-order/summary/transaction-service-summary.component.d.ts +0 -15
  399. package/app/component/service-order/summary/transaction-summary-block.component.d.ts +0 -16
  400. package/app/component/service-order/transaction-article-text/transaction-article-text.component.d.ts +0 -33
  401. package/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +0 -23
  402. package/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.d.ts +0 -19
  403. package/app/component/service-order/transaction-header-block/transaction-header-block.component.d.ts +0 -15
  404. package/app/component/service-order/transaction-manager/transaction-manager.component.d.ts +0 -64
  405. package/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.d.ts +0 -16
  406. package/app/component/service-order/transaction-order-lines/transaction-order-lines.component.d.ts +0 -25
  407. package/app/component/service-order/transaction-order-totals/transaction-order-totals.component.d.ts +0 -6
  408. package/app/component/service-order/transaction-relation/transaction-relation-address.component.d.ts +0 -22
  409. package/app/component/service-order/transaction-relation/transaction-relation-edit.component.d.ts +0 -29
  410. package/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.d.ts +0 -11
  411. package/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.d.ts +0 -26
  412. package/app/component/service-order/warehouse/warehouse.component.d.ts +0 -35
  413. package/app/component/shopping-cart/ione-shopping-cart.component.d.ts +0 -71
  414. package/app/component/shopping-cart/ione-shopping-cart.module.d.ts +0 -2
  415. package/app/component/shopping-cart/shopping-cart/shopping-cart.component.d.ts +0 -61
  416. package/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.d.ts +0 -34
  417. package/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.d.ts +0 -91
  418. package/app/enum/checkout-steps.enum.d.ts +0 -7
  419. package/app/enum/direction.enum.d.ts +0 -6
  420. package/app/enum/position-grid-row.enum.d.ts +0 -4
  421. package/app/model/transaction-add-text-line-request.d.ts +0 -9
  422. package/app/service/options.service.d.ts +0 -14
  423. package/app/service/transaction-event.service.d.ts +0 -53
  424. package/css/styles.css +0 -38
  425. package/esm2015/app/component/checkout/checkout/checkout.component.js +0 -149
  426. package/esm2015/app/component/checkout/checkout-login/checkout-login.component.js +0 -106
  427. package/esm2015/app/component/checkout/checkout-overview/checkout-overview.component.js +0 -185
  428. package/esm2015/app/component/checkout/checkout-overview-block/checkout-overview-block.component.js +0 -47
  429. package/esm2015/app/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +0 -47
  430. package/esm2015/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +0 -420
  431. package/esm2015/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.js +0 -115
  432. package/esm2015/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +0 -396
  433. package/esm2015/app/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +0 -33
  434. package/esm2015/app/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +0 -53
  435. package/esm2015/app/component/checkout/checkout-transaction/checkout-transaction.component.js +0 -53
  436. package/esm2015/app/component/checkout/ione-checkout.component.js +0 -135
  437. package/esm2015/app/component/checkout/ione-checkout.module.js +0 -76
  438. package/esm2015/app/component/core/base/default-ok-cancel-buttons.component.js +0 -39
  439. package/esm2015/app/component/core/base/transaction-base.component.js +0 -146
  440. package/esm2015/app/component/core/characteristic-answer/characteristic-answer.component.js +0 -100
  441. package/esm2015/app/component/core/core.module.js +0 -43
  442. package/esm2015/app/component/core/directive/template-wrapper.directive.js +0 -69
  443. package/esm2015/app/component/core/icon/icon.component.js +0 -32
  444. package/esm2015/app/component/core/image-display/image-display.component.js +0 -41
  445. package/esm2015/app/component/core/no-image-display/no-image-display.component.js +0 -26
  446. package/esm2015/app/component/core/stock-status-indicator/stock-status-indicator.component.js +0 -24
  447. package/esm2015/app/component/service-order/ione-service-order-module.js +0 -114
  448. package/esm2015/app/component/service-order/ione-service-order.component.js +0 -96
  449. package/esm2015/app/component/service-order/service-order.component.js +0 -199
  450. package/esm2015/app/component/service-order/summary/transaction-article-summary.component.js +0 -55
  451. package/esm2015/app/component/service-order/summary/transaction-delivery-summary.component.js +0 -59
  452. package/esm2015/app/component/service-order/summary/transaction-order-summary.component.js +0 -43
  453. package/esm2015/app/component/service-order/summary/transaction-payment-info.component.js +0 -35
  454. package/esm2015/app/component/service-order/summary/transaction-product-contract-summary.component.js +0 -38
  455. package/esm2015/app/component/service-order/summary/transaction-product-summary.component.js +0 -41
  456. package/esm2015/app/component/service-order/summary/transaction-service-status.component.js +0 -37
  457. package/esm2015/app/component/service-order/summary/transaction-service-summary.component.js +0 -38
  458. package/esm2015/app/component/service-order/summary/transaction-summary-block.component.js +0 -53
  459. package/esm2015/app/component/service-order/transaction-article-text/transaction-article-text.component.js +0 -140
  460. package/esm2015/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.js +0 -105
  461. package/esm2015/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.js +0 -73
  462. package/esm2015/app/component/service-order/transaction-header-block/transaction-header-block.component.js +0 -83
  463. package/esm2015/app/component/service-order/transaction-manager/transaction-manager.component.js +0 -314
  464. package/esm2015/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.js +0 -76
  465. package/esm2015/app/component/service-order/transaction-order-lines/transaction-order-lines.component.js +0 -71
  466. package/esm2015/app/component/service-order/transaction-order-totals/transaction-order-totals.component.js +0 -36
  467. package/esm2015/app/component/service-order/transaction-relation/transaction-relation-address.component.js +0 -116
  468. package/esm2015/app/component/service-order/transaction-relation/transaction-relation-edit.component.js +0 -225
  469. package/esm2015/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.js +0 -172
  470. package/esm2015/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.js +0 -120
  471. package/esm2015/app/component/service-order/warehouse/warehouse.component.js +0 -133
  472. package/esm2015/app/component/shopping-cart/ione-shopping-cart.component.js +0 -185
  473. package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +0 -62
  474. package/esm2015/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +0 -294
  475. package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +0 -172
  476. package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +0 -451
  477. package/esm2015/app/enum/checkout-steps.enum.js +0 -10
  478. package/esm2015/app/enum/content-view-mode.enum.js +0 -10
  479. package/esm2015/app/enum/direction.enum.js +0 -9
  480. package/esm2015/app/enum/language-code.enum.js +0 -8
  481. package/esm2015/app/enum/order-discount-type.enum.js +0 -7
  482. package/esm2015/app/enum/position-grid-row.enum.js +0 -6
  483. package/esm2015/app/enum/time-size.type.js +0 -10
  484. package/esm2015/app/model/business-object.js +0 -81
  485. package/esm2015/app/model/standard-text.js +0 -3
  486. package/esm2015/app/model/text-value-container.js +0 -3
  487. package/esm2015/app/model/transaction-add-text-line-request.js +0 -11
  488. package/esm2015/app/pipe/append.pipe.js +0 -17
  489. package/esm2015/app/pipe/co-currency.pipe.js +0 -47
  490. package/esm2015/app/pipe/date-duration.pipe.js +0 -57
  491. package/esm2015/app/pipe/delivery-time.pipe.js +0 -33
  492. package/esm2015/app/pipe/localize.pipe.js +0 -28
  493. package/esm2015/app/pipe/safe-style-pipe.js +0 -19
  494. package/esm2015/app/service/dictionary.service.js +0 -76
  495. package/esm2015/app/service/ione-connector-adapter.service.js +0 -553
  496. package/esm2015/app/service/options.service.js +0 -92
  497. package/esm2015/app/service/transaction-event.service.js +0 -26
  498. package/esm2015/app/service/transaction.service.js +0 -572
  499. package/esm2015/app/utils/string-utils.js +0 -64
  500. package/esm2015/assets/dictionary/text.properties.js +0 -332
  501. package/esm2015/factory/business-object-factory.js +0 -120
  502. package/esm2015/factory/decorators/boolean.decorator.js +0 -102
  503. package/esm2015/factory/decorators/complex-array.decorator.js +0 -55
  504. package/esm2015/factory/decorators/complex-field.decorator.js +0 -57
  505. package/esm2015/factory/decorators/date-field.decorator.js +0 -36
  506. package/esm2015/factory/decorators/string-number.decorator.js +0 -43
  507. package/esm2015/utils/array-utils.js +0 -183
  508. package/esm2015/utils/is-nill.function.js +0 -5
@@ -0,0 +1,69 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from "@angular/core";
3
+ import { BehaviorSubject } from "rxjs";
4
+ import { DictionaryService } from "./dictionary.service";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./dictionary.service";
7
+ export class OptionsService {
8
+ constructor(_dictionary) {
9
+ this._dictionary = _dictionary;
10
+ this.optionsLoaded = new BehaviorSubject(false);
11
+ }
12
+ set options(value) {
13
+ this._options = value;
14
+ }
15
+ get options() {
16
+ return this._options;
17
+ }
18
+ createSettingsFromObject(obj) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ this.options = new Object();
21
+ if (obj.hasOwnProperty("url")) {
22
+ this.options.url = obj["url"];
23
+ }
24
+ if (obj.hasOwnProperty("schema")) {
25
+ this.options.schema = obj["schema"];
26
+ }
27
+ if (obj.hasOwnProperty("version")) {
28
+ this.options.version = obj["version"];
29
+ }
30
+ if (obj.hasOwnProperty("languageCode")) {
31
+ this.options.languageCode = obj["languageCode"];
32
+ }
33
+ else {
34
+ this.options.languageCode = "NL";
35
+ }
36
+ if (obj.hasOwnProperty("username")) {
37
+ this.options.username = obj["username"];
38
+ }
39
+ if (obj.hasOwnProperty("password")) {
40
+ this.options.password = obj["password"];
41
+ }
42
+ if (obj.hasOwnProperty("session")) {
43
+ this.options.session = obj["session"];
44
+ }
45
+ if (obj.hasOwnProperty("useLoginEncryption")) {
46
+ this.options.useLoginEncryption = obj["useLoginEncryption"];
47
+ }
48
+ this.optionsLoaded.next(true);
49
+ });
50
+ }
51
+ initialize(options) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ if (options) {
54
+ yield this.createSettingsFromObject(options);
55
+ yield this._dictionary.setDictionary(this.options.languageCode);
56
+ }
57
+ });
58
+ }
59
+ }
60
+ OptionsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function OptionsService_Factory() { return new OptionsService(i0.ɵɵinject(i1.DictionaryService)); }, token: OptionsService, providedIn: "root" });
61
+ OptionsService.decorators = [
62
+ { type: Injectable, args: [{
63
+ providedIn: "root"
64
+ },] }
65
+ ];
66
+ OptionsService.ctorParameters = () => [
67
+ { type: DictionaryService }
68
+ ];
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9zZXJ2aWNlL29wdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7QUFLdkQsTUFBTSxPQUFPLGNBQWM7SUFjekIsWUFBb0IsV0FBOEI7UUFBOUIsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBSjNDLGtCQUFhLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBSzVFLENBQUM7SUFiRCxJQUFXLE9BQU8sQ0FBQyxLQUFVO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFTWSx3QkFBd0IsQ0FBQyxHQUFROztZQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7WUFDNUIsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDL0I7WUFDRCxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNyQztZQUNELElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3ZDO1lBQ0QsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDakQ7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2FBQ2xDO1lBQ0QsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekM7WUFDRCxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QztZQUNELElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3ZDO1lBQ0QsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDN0Q7WUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDO0tBQUE7SUFFWSxVQUFVLENBQUMsT0FBWTs7WUFDbEMsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzdDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqRTtRQUNILENBQUM7S0FBQTs7OztZQXpERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUpPLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcHRpb25zU2VydmljZSB7XHJcblxyXG4gIHB1YmxpYyBzZXQgb3B0aW9ucyh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9vcHRpb25zID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG9wdGlvbnMoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wdGlvbnNMb2FkZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG5cclxuICBwcml2YXRlIF9vcHRpb25zOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlU2V0dGluZ3NGcm9tT2JqZWN0KG9iajogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBuZXcgT2JqZWN0KCk7XHJcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KFwidXJsXCIpKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucy51cmwgPSBvYmpbXCJ1cmxcIl07XHJcbiAgICB9XHJcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KFwic2NoZW1hXCIpKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucy5zY2hlbWEgPSBvYmpbXCJzY2hlbWFcIl07XHJcbiAgICB9XHJcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KFwidmVyc2lvblwiKSkge1xyXG4gICAgICB0aGlzLm9wdGlvbnMudmVyc2lvbiA9IG9ialtcInZlcnNpb25cIl07XHJcbiAgICB9XHJcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KFwibGFuZ3VhZ2VDb2RlXCIpKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucy5sYW5ndWFnZUNvZGUgPSBvYmpbXCJsYW5ndWFnZUNvZGVcIl07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9wdGlvbnMubGFuZ3VhZ2VDb2RlID0gXCJOTFwiO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShcInVzZXJuYW1lXCIpKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucy51c2VybmFtZSA9IG9ialtcInVzZXJuYW1lXCJdO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShcInBhc3N3b3JkXCIpKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucy5wYXNzd29yZCA9IG9ialtcInBhc3N3b3JkXCJdO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShcInNlc3Npb25cIikpIHtcclxuICAgICAgdGhpcy5vcHRpb25zLnNlc3Npb24gPSBvYmpbXCJzZXNzaW9uXCJdO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShcInVzZUxvZ2luRW5jcnlwdGlvblwiKSkge1xyXG4gICAgICB0aGlzLm9wdGlvbnMudXNlTG9naW5FbmNyeXB0aW9uID0gb2JqW1widXNlTG9naW5FbmNyeXB0aW9uXCJdO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub3B0aW9uc0xvYWRlZC5uZXh0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemUob3B0aW9uczogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZVNldHRpbmdzRnJvbU9iamVjdChvcHRpb25zKTtcclxuICAgICAgYXdhaXQgdGhpcy5fZGljdGlvbmFyeS5zZXREaWN0aW9uYXJ5KHRoaXMub3B0aW9ucy5sYW5ndWFnZUNvZGUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,172 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from "@angular/core";
3
+ import { TransactionInfoResponse } from "@colijnit/transactionapi/build/model/transaction-info-response.bo";
4
+ import { PendingReasonType } from "@colijnit/transactionapi/build/enum/pending-reason-type.enum";
5
+ import { ResolvePendingLineReasonRequest } from "@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo";
6
+ import { OptionsService } from "./options.service";
7
+ import { IOneConnectorAdapterService } from "./ione-connector-adapter.service";
8
+ import { BehaviorSubject } from "rxjs";
9
+ import { CustomerFullObject } from "@colijnit/transactionapi/build/model/customer-full-object.bo";
10
+ import { SetTransactionDeliveryOptionsRequest } from "@colijnit/transactionapi/build/model/set-transaction-delivery-options-request.bo";
11
+ import { TransactionLineType } from "@colijnit/transactionapi/build/enum/transaction-line-type.enum";
12
+ import { RelationStatus } from "@colijnit/transactionapi/build/enum/relation-status.enum";
13
+ import { DialogService } from "./dialog.service";
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "./dialog.service";
16
+ import * as i2 from "./options.service";
17
+ import * as i3 from "./ione-connector-adapter.service";
18
+ export class PendingReasonService {
19
+ constructor(dialogService, options, connector) {
20
+ this.dialogService = dialogService;
21
+ this.options = options;
22
+ this.connector = connector;
23
+ this.transactionUpdated = new BehaviorSubject(undefined);
24
+ this.applicationUser = false;
25
+ this.currentTransaction = new TransactionInfoResponse();
26
+ this.relation = new CustomerFullObject();
27
+ this.deliveryOptions = new SetTransactionDeliveryOptionsRequest();
28
+ this.articleAmount = 0;
29
+ }
30
+ init(options) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ yield this.options.initialize(options);
33
+ this.connector.connect();
34
+ });
35
+ }
36
+ cancelAddTransactionLine(lineUuid, remember = true) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ return new Promise((resolve, reject) => {
39
+ this.connector.cancelAddTransactionLine(lineUuid)
40
+ .then((response) => __awaiter(this, void 0, void 0, function* () {
41
+ if (remember) {
42
+ this._rememberCurrentTransaction(response);
43
+ }
44
+ if (response.isSuccess) {
45
+ resolve(response);
46
+ }
47
+ else {
48
+ reject(response);
49
+ }
50
+ }))
51
+ .catch((reason) => {
52
+ resolve(null);
53
+ });
54
+ });
55
+ });
56
+ }
57
+ handleLineOperationStatuses(response) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ if (!response.lineOperationStatuses || response.lineOperationStatuses.length === 0) {
60
+ return true;
61
+ }
62
+ for (let i = 0; i < response.lineOperationStatuses.length; i++) {
63
+ const status = response.lineOperationStatuses[i];
64
+ const transLine = response.transactionLines.find(t => t.lineNr === status.lineNr);
65
+ yield this._handleLineOperationStatus(status, transLine);
66
+ }
67
+ return true;
68
+ });
69
+ }
70
+ _rememberCurrentTransaction(value) {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ this.currentTransaction = value;
73
+ this._setTransactionDeliveryOptions();
74
+ this._setAmount();
75
+ this._initializeTransaction();
76
+ this.transactionUpdated.next(this.currentTransaction);
77
+ });
78
+ }
79
+ _handleLineOperationStatus(operationStatus, transactionLine) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ switch (operationStatus.pendingReasonType) {
82
+ case PendingReasonType.ABORTED:
83
+ case PendingReasonType.CANCELLED:
84
+ yield this._cancelArticle(operationStatus.uuid);
85
+ break;
86
+ case PendingReasonType.CONFIRMATION_NEEDED:
87
+ yield this._confirmAction(transactionLine.uuid, operationStatus.pendingReason, operationStatus.pendingReasonType);
88
+ break;
89
+ // case PendingReasonType.INVALID_LOGISTICS:
90
+ // await this.showStockManager(this.currentPendingLine);
91
+ // break;
92
+ // case PendingReasonType.NON_CRITICAL_DISCONTINUATION:
93
+ // await this._showInformation();
94
+ // break;
95
+ // case PendingReasonType.CHARACTERISTICS_ANSWER_NEEDED:
96
+ // this.CharacteristicsAnswerNeeded();
97
+ // break;
98
+ case PendingReasonType.NONE:
99
+ default:
100
+ break;
101
+ }
102
+ });
103
+ }
104
+ resolvePendingLineReason(pendingLineValues) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ const response = yield this.connector.resolvePendingLineReason(pendingLineValues);
107
+ this._rememberCurrentTransaction(response);
108
+ this.handleLineOperationStatuses(response);
109
+ });
110
+ }
111
+ _confirmAction(uuid, reason, type) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ const reasonRequest = new ResolvePendingLineReasonRequest(uuid, reason, type);
114
+ // const pendingReasonText: string = await this._getPendingReasonText(this.currentOperationStatus.pendingReason);
115
+ reasonRequest.confirmation = yield this.dialogService.showYesNo('Action', reason);
116
+ yield this.resolvePendingLineReason(reasonRequest);
117
+ // this._handleLineOperationStatus()
118
+ });
119
+ }
120
+ _setTransactionDeliveryOptions() {
121
+ if (!this.deliveryOptions) {
122
+ this.deliveryOptions = new SetTransactionDeliveryOptionsRequest();
123
+ }
124
+ this.deliveryOptions.allowPartialDelivery = this.currentTransaction.transactionInfo.allowPartialDelivery;
125
+ this.deliveryOptions.deliveryDate = this.currentTransaction.transactionInfo.deliveryDate;
126
+ this.deliveryOptions.deliveryMethod = this.currentTransaction.transactionInfo.deliveryMethod;
127
+ this.deliveryOptions.deliveryOptions = this.currentTransaction.transactionInfo.deliveryOptions;
128
+ this.deliveryOptions.marketingCode = this.currentTransaction.transactionInfo.marketingCode;
129
+ this.deliveryOptions.ownReference = this.currentTransaction.transactionInfo.ownReference;
130
+ this.deliveryOptions.preferredDeliveryDate = this.currentTransaction.transactionInfo.preferredDeliveryDate;
131
+ this.deliveryOptions.preferredDeliveryDate2 = this.currentTransaction.transactionInfo.preferredDeliveryDate2;
132
+ this.deliveryOptions.relationReference = this.currentTransaction.transactionInfo.relationReference;
133
+ this.deliveryOptions.remark = this.currentTransaction.transactionInfo.remark;
134
+ this.deliveryOptions.transactionUuid = this.currentTransaction.transactionInfo.uuid;
135
+ }
136
+ _setAmount() {
137
+ if (this.currentTransaction && this.currentTransaction.transactionLines) {
138
+ this.articleAmount = this.currentTransaction.transactionLines.filter(t => t.lineType === TransactionLineType.ArticleLine).length;
139
+ }
140
+ }
141
+ _initializeTransaction() {
142
+ if (!this.relation) {
143
+ this.relation = new CustomerFullObject();
144
+ this.relation.relationStatus = RelationStatus.RegularCustomer;
145
+ this.relation.startDate = new Date();
146
+ this.deliveryOptions = new SetTransactionDeliveryOptionsRequest();
147
+ }
148
+ if (this.currentTransaction.transactionInfo.preferredDeliveryDate2 === undefined) {
149
+ this.currentTransaction.transactionInfo.preferredDeliveryDate2 = "=";
150
+ }
151
+ }
152
+ _cancelArticle(uuid) {
153
+ return __awaiter(this, void 0, void 0, function* () {
154
+ yield this.cancelAddTransactionLine(uuid, false)
155
+ .then((response) => {
156
+ this._rememberCurrentTransaction(response);
157
+ });
158
+ });
159
+ }
160
+ }
161
+ PendingReasonService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PendingReasonService_Factory() { return new PendingReasonService(i0.ɵɵinject(i1.DialogService), i0.ɵɵinject(i2.OptionsService), i0.ɵɵinject(i3.IOneConnectorAdapterService)); }, token: PendingReasonService, providedIn: "root" });
162
+ PendingReasonService.decorators = [
163
+ { type: Injectable, args: [{
164
+ providedIn: "root"
165
+ },] }
166
+ ];
167
+ PendingReasonService.ctorParameters = () => [
168
+ { type: DialogService },
169
+ { type: OptionsService },
170
+ { type: IOneConnectorAdapterService }
171
+ ];
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1yZWFzb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS9wZW5kaW5nLXJlYXNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBRTFHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQy9GLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBR3ZILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxvQ0FBb0MsRUFBQyxNQUFNLGtGQUFrRixDQUFDO0FBQ3RJLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ25HLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN4RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBSy9DLE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFDWSxhQUE0QixFQUM1QixPQUF1QixFQUN2QixTQUFzQztRQUZ0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUE2QjtRQVozQyx1QkFBa0IsR0FBNkMsSUFBSSxlQUFlLENBQTBCLFNBQVMsQ0FBQyxD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QkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ib1wiO1xyXG5pbXBvcnQge0xpbmVPcGVyYXRpb25TdGF0dXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbGluZS1vcGVyYXRpb24tc3RhdHVzLmJvXCI7XHJcbmltcG9ydCB7UGVuZGluZ1JlYXNvblR5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9wZW5kaW5nLXJlYXNvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtSZXNvbHZlUGVuZGluZ0xpbmVSZWFzb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3Jlc29sdmUtcGVuZGluZy1yZWFzb24tcmVxdWVzdC5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvXCI7XHJcbmltcG9ydCB7VmFsaWRhdGlvblJlc3VsdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC92YWxpZGF0aW9uLXJlc3VsdFwiO1xyXG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tIFwiLi9vcHRpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJT25lQ29ubmVjdG9yQWRhcHRlclNlcnZpY2V9IGZyb20gXCIuL2lvbmUtY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtDdXN0b21lckZ1bGxPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3VzdG9tZXItZnVsbC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtTZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2V0LXRyYW5zYWN0aW9uLWRlbGl2ZXJ5LW9wdGlvbnMtcmVxdWVzdC5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZVR5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1saW5lLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge1JlbGF0aW9uU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24tc3RhdHVzLmVudW1cIjtcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiLi9kaWFsb2cuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZW5kaW5nUmVhc29uU2VydmljZSB7XHJcbiAgcHVibGljIHRyYW5zYWN0aW9uVXBkYXRlZDogQmVoYXZpb3JTdWJqZWN0PFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+KHVuZGVmaW5lZCk7XHJcblxyXG4gIHB1YmxpYyBhcHBsaWNhdGlvblVzZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY3VycmVudFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IG5ldyBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSgpO1xyXG4gIHB1YmxpYyByZWxhdGlvbjogQ3VzdG9tZXJGdWxsT2JqZWN0ID0gbmV3IEN1c3RvbWVyRnVsbE9iamVjdCgpO1xyXG4gIHB1YmxpYyBkZWxpdmVyeU9wdGlvbnM6IFNldFRyYW5zYWN0aW9uRGVsaXZlcnlPcHRpb25zUmVxdWVzdCA9IG5ldyBTZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QoKTtcclxuXHJcbiAgcHVibGljIGFydGljbGVBbW91bnQ6IG51bWJlciA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgb3B0aW9uczogT3B0aW9uc1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY29ubmVjdG9yOiBJT25lQ29ubmVjdG9yQWRhcHRlclNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbml0KG9wdGlvbnM6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5vcHRpb25zLmluaXRpYWxpemUob3B0aW9ucyk7XHJcbiAgICB0aGlzLmNvbm5lY3Rvci5jb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2FuY2VsQWRkVHJhbnNhY3Rpb25MaW5lKGxpbmVVdWlkOiBzdHJpbmcsIHJlbWVtYmVyOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbm5lY3Rvci5jYW5jZWxBZGRUcmFuc2FjdGlvbkxpbmUobGluZVV1aWQpXHJcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlbWVtYmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbWVtYmVyQ3VycmVudFRyYW5zYWN0aW9uKHJlc3BvbnNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChyZXNwb25zZS5pc1N1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKChyZWFzb246IFZhbGlkYXRpb25SZXN1bHQpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUobnVsbCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzZXMocmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAoIXJlc3BvbnNlLmxpbmVPcGVyYXRpb25TdGF0dXNlcyB8fCByZXNwb25zZS5saW5lT3BlcmF0aW9uU3RhdHVzZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IHJlc3BvbnNlLmxpbmVPcGVyYXRpb25TdGF0dXNlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBzdGF0dXM6IExpbmVPcGVyYXRpb25TdGF0dXMgPSByZXNwb25zZS5saW5lT3BlcmF0aW9uU3RhdHVzZXNbaV07XHJcbiAgICAgIGNvbnN0IHRyYW5zTGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyA9IHJlc3BvbnNlLnRyYW5zYWN0aW9uTGluZXMuZmluZCh0ID0+IHQubGluZU5yID09PSBzdGF0dXMubGluZU5yKTtcclxuICAgICAgYXdhaXQgdGhpcy5faGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cyhzdGF0dXMsIHRyYW5zTGluZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBfcmVtZW1iZXJDdXJyZW50VHJhbnNhY3Rpb24odmFsdWU6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbiA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2V0VHJhbnNhY3Rpb25EZWxpdmVyeU9wdGlvbnMoKTtcclxuICAgIHRoaXMuX3NldEFtb3VudCgpO1xyXG4gICAgdGhpcy5faW5pdGlhbGl6ZVRyYW5zYWN0aW9uKCk7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uVXBkYXRlZC5uZXh0KHRoaXMuY3VycmVudFRyYW5zYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXMob3BlcmF0aW9uU3RhdHVzOiBMaW5lT3BlcmF0aW9uU3RhdHVzLCB0cmFuc2FjdGlvbkxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHN3aXRjaCAob3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb25UeXBlKSB7XHJcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQUJPUlRFRDpcclxuICAgICAgY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5DQU5DRUxMRUQ6XHJcbiAgICAgICAgYXdhaXQgdGhpcy5fY2FuY2VsQXJ0aWNsZShvcGVyYXRpb25TdGF0dXMudXVpZCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQ09ORklSTUFUSU9OX05FRURFRDpcclxuICAgICAgICBhd2FpdCB0aGlzLl9jb25maXJtQWN0aW9uKHRyYW5zYWN0aW9uTGluZS51dWlkLCBvcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvbiwgb3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb25UeXBlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgLy8gY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5JTlZBTElEX0xPR0lTVElDUzpcclxuICAgICAgLy8gICBhd2FpdCB0aGlzLnNob3dTdG9ja01hbmFnZXIodGhpcy5jdXJyZW50UGVuZGluZ0xpbmUpO1xyXG4gICAgICAvLyAgIGJyZWFrO1xyXG4gICAgICAvLyBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLk5PTl9DUklUSUNBTF9ESVNDT05USU5VQVRJT046XHJcbiAgICAgIC8vICAgYXdhaXQgdGhpcy5fc2hvd0luZm9ybWF0aW9uKCk7XHJcbiAgICAgIC8vICAgYnJlYWs7XHJcbiAgICAgIC8vIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQ0hBUkFDVEVSSVNUSUNTX0FOU1dFUl9ORUVERUQ6XHJcbiAgICAgIC8vICAgdGhpcy5DaGFyYWN0ZXJpc3RpY3NBbnN3ZXJOZWVkZWQoKTtcclxuICAgICAgLy8gICBicmVhaztcclxuICAgICAgY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5OT05FOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHJlc29sdmVQZW5kaW5nTGluZVJlYXNvbihwZW5kaW5nTGluZVZhbHVlczogUmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlID0gYXdhaXQgdGhpcy5jb25uZWN0b3IucmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uKHBlbmRpbmdMaW5lVmFsdWVzKTtcclxuICAgIHRoaXMuX3JlbWVtYmVyQ3VycmVudFRyYW5zYWN0aW9uKHJlc3BvbnNlKTtcclxuICAgIHRoaXMuaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1c2VzKHJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2NvbmZpcm1BY3Rpb24odXVpZDogc3RyaW5nLCByZWFzb246IHN0cmluZywgdHlwZTogUGVuZGluZ1JlYXNvblR5cGUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlYXNvblJlcXVlc3QgPSBuZXcgUmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uUmVxdWVzdCh1dWlkLCByZWFzb24sIHR5cGUpO1xyXG4gICAgLy8gY29uc3QgcGVuZGluZ1JlYXNvblRleHQ6IHN0cmluZyA9IGF3YWl0IHRoaXMuX2dldFBlbmRpbmdSZWFzb25UZXh0KHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uKTtcclxuICAgIHJlYXNvblJlcXVlc3QuY29uZmlybWF0aW9uID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dZZXNObygnQWN0aW9uJywgcmVhc29uKTtcclxuICAgIGF3YWl0IHRoaXMucmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uKHJlYXNvblJlcXVlc3QpO1xyXG4gICAgLy8gdGhpcy5faGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cygpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9ucygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5kZWxpdmVyeU9wdGlvbnMpIHtcclxuICAgICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMgPSBuZXcgU2V0VHJhbnNhY3Rpb25EZWxpdmVyeU9wdGlvbnNSZXF1ZXN0KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9ucy5hbGxvd1BhcnRpYWxEZWxpdmVyeSA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5hbGxvd1BhcnRpYWxEZWxpdmVyeTtcclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLmRlbGl2ZXJ5RGF0ZSA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5kZWxpdmVyeURhdGU7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9ucy5kZWxpdmVyeU1ldGhvZCA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5kZWxpdmVyeU1ldGhvZDtcclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLmRlbGl2ZXJ5T3B0aW9ucyA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5kZWxpdmVyeU9wdGlvbnM7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9ucy5tYXJrZXRpbmdDb2RlID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLm1hcmtldGluZ0NvZGU7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9ucy5vd25SZWZlcmVuY2UgPSB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ub3duUmVmZXJlbmNlO1xyXG4gICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMucHJlZmVycmVkRGVsaXZlcnlEYXRlID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnByZWZlcnJlZERlbGl2ZXJ5RGF0ZTtcclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLnByZWZlcnJlZERlbGl2ZXJ5RGF0ZTIgPSB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucHJlZmVycmVkRGVsaXZlcnlEYXRlMjtcclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLnJlbGF0aW9uUmVmZXJlbmNlID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uUmVmZXJlbmNlO1xyXG4gICAgdGhpcy5kZWxpdmVyeU9wdGlvbnMucmVtYXJrID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnJlbWFyaztcclxuICAgIHRoaXMuZGVsaXZlcnlPcHRpb25zLnRyYW5zYWN0aW9uVXVpZCA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0QW1vdW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFRyYW5zYWN0aW9uICYmIHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXMpIHtcclxuICAgICAgdGhpcy5hcnRpY2xlQW1vdW50ID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcy5maWx0ZXIodCA9PiB0LmxpbmVUeXBlID09PSBUcmFuc2FjdGlvbkxpbmVUeXBlLkFydGljbGVMaW5lKS5sZW5ndGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0aWFsaXplVHJhbnNhY3Rpb24oKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMucmVsYXRpb24pIHtcclxuICAgICAgdGhpcy5yZWxhdGlvbiA9IG5ldyBDdXN0b21lckZ1bGxPYmplY3QoKTtcclxuICAgICAgdGhpcy5yZWxhdGlvbi5yZWxhdGlvblN0YXR1cyA9IFJlbGF0aW9uU3RhdHVzLlJlZ3VsYXJDdXN0b21lcjtcclxuICAgICAgdGhpcy5yZWxhdGlvbi5zdGFydERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICB0aGlzLmRlbGl2ZXJ5T3B0aW9ucyA9IG5ldyBTZXRUcmFuc2FjdGlvbkRlbGl2ZXJ5T3B0aW9uc1JlcXVlc3QoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucHJlZmVycmVkRGVsaXZlcnlEYXRlMiA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5wcmVmZXJyZWREZWxpdmVyeURhdGUyID0gXCI9XCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9jYW5jZWxBcnRpY2xlKHV1aWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5jYW5jZWxBZGRUcmFuc2FjdGlvbkxpbmUodXVpZCwgZmFsc2UpXHJcbiAgICAgIC50aGVuKChyZXNwb25zZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3JlbWVtYmVyQ3VycmVudFRyYW5zYWN0aW9uKHJlc3BvbnNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==