@colijnit/transaction 12.1.88 → 12.1.90

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 (247) hide show
  1. package/bundles/colijnit-transaction.umd.js +3069 -1948
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +236 -225
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +237 -226
  6. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +11 -9
  7. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +2 -2
  8. package/esm2015/lib/component/core/base/transaction-base.component.js +11 -1
  9. package/esm2015/lib/component/core/base/transaction-filter-base.component.js +1 -8
  10. package/esm2015/lib/component/core/core.module.js +9 -3
  11. package/esm2015/lib/component/core/directive/overlay-parent.directive.js +19 -0
  12. package/esm2015/lib/component/core/directive/overlay.directive.js +67 -0
  13. package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.js +7 -3
  14. package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.js +4 -3
  15. package/esm2015/lib/component/search/search-header-buttons/search-header-buttons.component.js +6 -3
  16. package/esm2015/lib/component/search/search.component.js +5 -2
  17. package/esm2015/lib/component/transaction/transaction.component.js +10 -28
  18. package/esm2015/lib/component/transaction/transaction.module.js +5 -3
  19. package/esm2015/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.js +8 -34
  20. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-purchase-confirmation-button-bar-button.component.js +39 -0
  21. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-purchase-receive-goods-button-bar-button.component.js +39 -0
  22. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-allocation-button-bar-button.component.js +39 -0
  23. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-delivery-button-bar-button.component.js +39 -0
  24. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-invoice-button-bar-button.component.js +39 -0
  25. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.js +3 -3
  26. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.module.js +18 -3
  27. package/esm2015/lib/component/transaction-card/transaction-card/transaction-card.component.js +1 -2
  28. package/esm2015/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.component.js +1 -2
  29. package/esm2015/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.js +14 -19
  30. package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +20 -49
  31. package/esm2015/lib/component/transaction-create-date-label/transaction-create-date-label.component.js +38 -0
  32. package/esm2015/lib/component/transaction-create-date-label/transaction-create-date-label.module.js +19 -0
  33. package/esm2015/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.js +8 -33
  34. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.js +24 -42
  35. package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line.component.js +87 -0
  36. package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line.module.js +36 -0
  37. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.component.js +2 -16
  38. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +23 -59
  39. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +1 -2
  40. package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.component.js +24 -32
  41. package/esm2015/lib/component/transaction-line/transaction-purchase-overview-line/transaction-purchase-overview-line.component.js +105 -0
  42. package/esm2015/lib/component/transaction-line/transaction-purchase-overview-line/transaction-purchase-overview-line.module.js +45 -0
  43. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.js +41 -53
  44. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.js +5 -12
  45. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.js +4 -2
  46. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.js +1 -1
  47. package/esm2015/lib/component/transaction-line-fields/transaction-purchase-portal-line-confirmed-delivery-date.component.js +3 -1
  48. package/esm2015/lib/component/transaction-line-fields/transaction-purchase-portal-line-confirmed-price.component.js +7 -3
  49. package/esm2015/lib/component/transaction-line-fields/transaction-purchase-portal-line-gross-order-price.component.js +7 -3
  50. package/esm2015/lib/component/transaction-line-fields/transaction-purchase-portal-line-net-order-price.component.js +7 -3
  51. package/esm2015/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.component.js +173 -0
  52. package/esm2015/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.module.js +30 -0
  53. package/esm2015/lib/component/transaction-line-purchase-receive-goods/transaction-line-purchase-receive-goods.component.js +223 -0
  54. package/esm2015/lib/component/transaction-line-purchase-receive-goods/transaction-line-purchase-receive-goods.module.js +34 -0
  55. package/esm2015/lib/component/transaction-line-sales-allocation/transaction-line-sales-allocation.component.js +175 -0
  56. package/esm2015/lib/component/transaction-line-sales-allocation/transaction-line-sales-allocation.module.js +27 -0
  57. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +6 -22
  58. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.js +1 -1
  59. package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +7 -50
  60. package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.js +5 -3
  61. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.js +7 -48
  62. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +4 -4
  63. package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.js +11 -9
  64. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +12 -38
  65. package/esm2015/lib/component/transaction-navigation-button-list/transaction-navigation-button-list.component.js +69 -0
  66. package/esm2015/lib/component/transaction-navigation-button-list/transaction-navigation-button-list.module.js +27 -0
  67. package/esm2015/lib/component/transaction-number-label/transaction-number-label.component.js +38 -0
  68. package/esm2015/lib/component/transaction-number-label/transaction-number-label.module.js +19 -0
  69. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +4 -2
  70. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.js +5 -7
  71. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.component.js +128 -0
  72. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.module.js +27 -0
  73. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.js +3 -9
  74. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +30 -22
  75. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.js +35 -45
  76. package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.js +8 -35
  77. package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +1 -1
  78. package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.js +7 -12
  79. package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.js +4 -12
  80. package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +1 -4
  81. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.js +3 -11
  82. package/esm2015/lib/component/transaction-search/transaction-search.component.js +5 -16
  83. package/esm2015/lib/component/transaction-tags/transaction-tag.component.js +44 -0
  84. package/esm2015/lib/component/transaction-tags/transaction-tags.component.js +48 -0
  85. package/esm2015/lib/component/transaction-tags/transaction-tags.module.js +22 -0
  86. package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
  87. package/esm2015/lib/service/pending-reason.service.js +232 -10
  88. package/esm2015/lib/service/transaction-connector-adapter.service.js +124 -2
  89. package/esm2015/lib/service/transaction-connector.service.js +47 -1
  90. package/esm2015/lib/service/transaction-event.service.js +22 -4
  91. package/esm2015/lib/service/transaction-mapping.service.js +16 -10
  92. package/esm2015/lib/service/transaction.service.js +252 -86
  93. package/esm2015/public_api.js +9 -2
  94. package/fesm2015/colijnit-transaction.js +2782 -1750
  95. package/fesm2015/colijnit-transaction.js.map +1 -1
  96. package/lib/component/core/base/transaction-base.component.d.ts +3 -1
  97. package/lib/component/core/base/transaction-filter-base.component.d.ts +0 -3
  98. package/lib/component/core/directive/overlay-parent.directive.d.ts +6 -0
  99. package/lib/component/core/directive/overlay.directive.d.ts +14 -0
  100. package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.d.ts +1 -0
  101. package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/style/_layout.scss +2 -0
  102. package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/style/_material-definition.scss +1 -0
  103. package/lib/component/search/search-header-buttons/search-header-buttons.component.d.ts +1 -1
  104. package/lib/component/search/search.component.d.ts +1 -0
  105. package/lib/component/transaction/transaction.component.d.ts +1 -1
  106. package/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.d.ts +4 -12
  107. package/lib/component/transaction-button-bar/style/_layout.scss +6 -1
  108. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-purchase-confirmation-button-bar-button.component.d.ts +12 -0
  109. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-purchase-receive-goods-button-bar-button.component.d.ts +12 -0
  110. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-allocation-button-bar-button.component.d.ts +12 -0
  111. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-delivery-button-bar-button.component.d.ts +12 -0
  112. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-invoice-button-bar-button.component.d.ts +12 -0
  113. package/lib/component/transaction-card/transaction-card/transaction-card.component.d.ts +0 -1
  114. package/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.component.d.ts +0 -1
  115. package/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.d.ts +4 -10
  116. package/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.d.ts +5 -16
  117. package/lib/component/transaction-create-date-label/style/_layout.scss +7 -0
  118. package/lib/component/transaction-create-date-label/style/_material-definition.scss +4 -0
  119. package/lib/component/transaction-create-date-label/style/_theme.scss +5 -0
  120. package/lib/component/{transaction-side-panel-edit-request-details → transaction-create-date-label}/style/material.scss +0 -0
  121. package/lib/component/transaction-create-date-label/transaction-create-date-label.component.d.ts +11 -0
  122. package/lib/component/transaction-create-date-label/transaction-create-date-label.module.d.ts +2 -0
  123. package/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.d.ts +4 -20
  124. package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.d.ts +1 -8
  125. package/lib/component/transaction-line/transaction-invoice-line/style/_layout.scss +44 -0
  126. package/lib/component/transaction-line/transaction-invoice-line/style/_material-definition.scss +0 -0
  127. package/lib/component/transaction-line/transaction-invoice-line/style/_theme.scss +4 -0
  128. package/lib/component/{transaction-grid/transaction-received-goods-grid → transaction-line/transaction-invoice-line}/style/material.scss +0 -0
  129. package/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line.component.d.ts +16 -0
  130. package/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line.module.d.ts +2 -0
  131. package/lib/component/transaction-line/transaction-line/transaction-line.component.d.ts +0 -1
  132. package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.d.ts +1 -8
  133. package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.d.ts +0 -1
  134. package/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.component.d.ts +1 -11
  135. package/lib/component/transaction-line/transaction-purchase-overview-line/style/_layout.scss +7 -0
  136. package/lib/component/transaction-line/transaction-purchase-overview-line/style/_material-definition.scss +0 -0
  137. package/lib/component/transaction-line/transaction-purchase-overview-line/style/_theme.scss +4 -0
  138. package/lib/component/transaction-line/transaction-purchase-overview-line/style/material.scss +5 -0
  139. package/lib/component/transaction-line/transaction-purchase-overview-line/transaction-purchase-overview-line.component.d.ts +21 -0
  140. package/lib/component/transaction-line/transaction-purchase-overview-line/transaction-purchase-overview-line.module.d.ts +2 -0
  141. package/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.d.ts +8 -11
  142. package/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.d.ts +1 -4
  143. package/lib/component/transaction-line-fields/transaction-purchase-portal-line-confirmed-price.component.d.ts +1 -0
  144. package/lib/component/transaction-line-fields/transaction-purchase-portal-line-gross-order-price.component.d.ts +1 -0
  145. package/lib/component/transaction-line-fields/transaction-purchase-portal-line-net-order-price.component.d.ts +1 -0
  146. package/lib/component/transaction-line-purchase-confirmation/style/_layout.scss +88 -0
  147. package/lib/component/transaction-line-purchase-confirmation/style/_material-definition.scss +4 -0
  148. package/lib/component/transaction-line-purchase-confirmation/style/_theme.scss +4 -0
  149. package/lib/component/transaction-line-purchase-confirmation/style/material.scss +5 -0
  150. package/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.component.d.ts +32 -0
  151. package/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.module.d.ts +2 -0
  152. package/lib/component/transaction-line-purchase-receive-goods/style/_layout.scss +71 -0
  153. package/lib/component/{transaction-grid/transaction-received-goods-grid → transaction-line-purchase-receive-goods}/style/_material-definition.scss +0 -0
  154. package/lib/component/transaction-line-purchase-receive-goods/style/_theme.scss +4 -0
  155. package/lib/component/transaction-line-purchase-receive-goods/style/material.scss +4 -0
  156. package/lib/component/transaction-line-purchase-receive-goods/transaction-line-purchase-receive-goods.component.d.ts +39 -0
  157. package/lib/component/transaction-line-purchase-receive-goods/transaction-line-purchase-receive-goods.module.d.ts +2 -0
  158. package/lib/component/transaction-line-sales-allocation/style/_layout.scss +71 -0
  159. package/lib/component/transaction-line-sales-allocation/style/_material-definition.scss +0 -0
  160. package/lib/component/transaction-line-sales-allocation/style/_theme.scss +4 -0
  161. package/lib/component/transaction-line-sales-allocation/style/material.scss +4 -0
  162. package/lib/component/transaction-line-sales-allocation/transaction-line-sales-allocation.component.d.ts +31 -0
  163. package/lib/component/transaction-line-sales-allocation/transaction-line-sales-allocation.module.d.ts +2 -0
  164. package/lib/component/transaction-line-side-panel/style/material.scss +3 -1
  165. package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +1 -5
  166. package/lib/component/transaction-line-side-panel-purchase/style/material.scss +2 -1
  167. package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.d.ts +0 -1
  168. package/lib/component/transaction-line-side-panel-sales/style/material.scss +1 -0
  169. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.d.ts +2 -15
  170. package/lib/component/transaction-lines/style/material.scss +2 -0
  171. package/lib/component/transaction-lines/transaction-lines.component.d.ts +1 -8
  172. package/lib/component/transaction-navigation-button/style/_layout.scss +1 -1
  173. package/lib/component/transaction-navigation-button/style/_theme.scss +1 -1
  174. package/lib/component/transaction-navigation-button-list/style/_layout.scss +25 -0
  175. package/lib/component/transaction-navigation-button-list/style/_material-definition.scss +10 -0
  176. package/lib/component/transaction-navigation-button-list/style/_theme.scss +8 -0
  177. package/lib/component/transaction-navigation-button-list/style/material.scss +4 -0
  178. package/lib/component/transaction-navigation-button-list/transaction-navigation-button-list.component.d.ts +11 -0
  179. package/lib/component/transaction-navigation-button-list/transaction-navigation-button-list.module.d.ts +2 -0
  180. package/lib/component/transaction-number-label/style/_layout.scss +7 -0
  181. package/lib/component/transaction-number-label/style/_material-definition.scss +4 -0
  182. package/lib/component/transaction-number-label/style/_theme.scss +5 -0
  183. package/lib/component/transaction-number-label/style/material.scss +4 -0
  184. package/lib/component/transaction-number-label/transaction-number-label.component.d.ts +12 -0
  185. package/lib/component/transaction-number-label/transaction-number-label.module.d.ts +2 -0
  186. package/lib/component/transaction-quick-access/transaction-quick-access/style/material.scss +1 -0
  187. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.d.ts +1 -3
  188. package/lib/component/transaction-quick-access/transaction-quick-access-invoice/style/_layout.scss +12 -0
  189. package/lib/component/transaction-quick-access/transaction-quick-access-invoice/style/_material-definition.scss +0 -0
  190. package/lib/component/transaction-quick-access/transaction-quick-access-invoice/style/_theme.scss +4 -0
  191. package/lib/component/transaction-quick-access/transaction-quick-access-invoice/style/material.scss +4 -0
  192. package/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.component.d.ts +33 -0
  193. package/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.module.d.ts +2 -0
  194. package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.d.ts +0 -1
  195. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +5 -8
  196. package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.d.ts +6 -19
  197. package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.d.ts +3 -10
  198. package/lib/component/transaction-search/service/transaction-search.service.d.ts +4 -2
  199. package/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.d.ts +3 -6
  200. package/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.d.ts +0 -4
  201. package/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.d.ts +0 -2
  202. package/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.d.ts +0 -4
  203. package/lib/component/transaction-search/transaction-search.component.d.ts +0 -4
  204. package/lib/component/transaction-tags/style/_layout.scss +19 -0
  205. package/lib/component/transaction-tags/style/_material-definition.scss +11 -0
  206. package/lib/component/transaction-tags/style/_theme.scss +11 -0
  207. package/lib/component/transaction-tags/style/material.scss +4 -0
  208. package/lib/component/transaction-tags/transaction-tag.component.d.ts +12 -0
  209. package/lib/component/transaction-tags/transaction-tags.component.d.ts +15 -0
  210. package/lib/component/transaction-tags/transaction-tags.module.d.ts +2 -0
  211. package/lib/res/dictionary/dictionaries.d.ts +8 -0
  212. package/lib/service/pending-reason.service.d.ts +34 -0
  213. package/lib/service/transaction-connector-adapter.service.d.ts +17 -0
  214. package/lib/service/transaction-connector.service.d.ts +15 -0
  215. package/lib/service/transaction-event.service.d.ts +22 -8
  216. package/lib/service/transaction.service.d.ts +21 -16
  217. package/package.json +3 -3
  218. package/public_api.d.ts +8 -1
  219. package/esm2015/lib/component/core/base/dynamic-base-component.js +0 -8
  220. package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.js +0 -155
  221. package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.js +0 -34
  222. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.js +0 -63
  223. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.js +0 -72
  224. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.js +0 -68
  225. package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.js +0 -139
  226. package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.js +0 -194
  227. package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.js +0 -51
  228. package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.js +0 -35
  229. package/esm2015/lib/model/extended-transaction-line-view-model.js +0 -4
  230. package/esm2015/lib/model/received-goods-view-model.js +0 -11
  231. package/lib/component/core/base/dynamic-base-component.d.ts +0 -3
  232. package/lib/component/transaction-grid/transaction-received-goods-grid/style/_layout.scss +0 -17
  233. package/lib/component/transaction-grid/transaction-received-goods-grid/style/_theme.scss +0 -6
  234. package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.d.ts +0 -37
  235. package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.d.ts +0 -2
  236. package/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.d.ts +0 -12
  237. package/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.d.ts +0 -17
  238. package/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.d.ts +0 -19
  239. package/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.d.ts +0 -28
  240. package/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.d.ts +0 -43
  241. package/lib/component/transaction-side-panel-edit-request-details/style/_layout.scss +0 -133
  242. package/lib/component/transaction-side-panel-edit-request-details/style/_material-definition.scss +0 -2
  243. package/lib/component/transaction-side-panel-edit-request-details/style/_theme.scss +0 -4
  244. package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.d.ts +0 -15
  245. package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.d.ts +0 -2
  246. package/lib/model/extended-transaction-line-view-model.d.ts +0 -11
  247. package/lib/model/received-goods-view-model.d.ts +0 -10
@@ -1,63 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable } from "@angular/core";
3
- import { TransactionService } from "../../../../service/transaction.service";
4
- import { TransactionEventService } from "../../../../service/transaction-event.service";
5
- import { AllocateGoodsForSalesOrderRequest } from "@colijnit/transactionapi/build/model/allocate-goods-for-sales-order-request";
6
- import { SalesOrderLineAllocationDetails } from "@colijnit/transactionapi/build/model/sales-order-line-allocation-details";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../../../../service/transaction.service";
9
- import * as i2 from "../../../../service/transaction-event.service";
10
- export class TransactionAllocateGoodsService {
11
- constructor(_transactionService, _transactionEventService) {
12
- this._transactionService = _transactionService;
13
- this._transactionEventService = _transactionEventService;
14
- this.lines = [];
15
- this._subscriptions = [];
16
- this._subscriptions.push(this._transactionEventService.commitReceivePurchaseOrders.subscribe(() => {
17
- this.handleAllocateSelectedPurchaseOrders();
18
- }));
19
- }
20
- handleAllocateSelectedPurchaseOrders() {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- const selectedLines = this.lines.filter((line) => line.selected && line.quantityToAllocate > 0);
23
- if (selectedLines.length > 0) {
24
- const allocateGoodsRequest = new AllocateGoodsForSalesOrderRequest();
25
- allocateGoodsRequest.transId = selectedLines[0].transId;
26
- allocateGoodsRequest.salesOrderLineAllocationDetailsDTOS = [];
27
- selectedLines.forEach((line) => {
28
- const detail = new SalesOrderLineAllocationDetails();
29
- detail.lineNr = line.lineNr;
30
- detail.quantityToAllocate = line.quantityToAllocate;
31
- detail.warehouseNr = line.warehouseNumber;
32
- detail.locationNr = line.locationNr;
33
- allocateGoodsRequest.salesOrderLineAllocationDetailsDTOS.push(detail);
34
- });
35
- const success = yield this._transactionService.allocateGoodsForSalesOrder(allocateGoodsRequest);
36
- if (success) {
37
- this._handleAfterCommitReceivedOrders(selectedLines);
38
- }
39
- return !!success;
40
- }
41
- return false;
42
- });
43
- }
44
- _handleAfterCommitReceivedOrders(selectedLines) {
45
- selectedLines.forEach((line) => {
46
- line.quantityAllocated += line.quantityToAllocate;
47
- line.quantityToAllocate -= line.quantityToAllocate;
48
- this._transactionEventService.transactionLineChanged.next(line);
49
- });
50
- this._transactionEventService.selectAllLines.next(false);
51
- }
52
- }
53
- TransactionAllocateGoodsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionAllocateGoodsService_Factory() { return new TransactionAllocateGoodsService(i0.ɵɵinject(i1.TransactionService), i0.ɵɵinject(i2.TransactionEventService)); }, token: TransactionAllocateGoodsService, providedIn: "root" });
54
- TransactionAllocateGoodsService.decorators = [
55
- { type: Injectable, args: [{
56
- providedIn: "root"
57
- },] }
58
- ];
59
- TransactionAllocateGoodsService.ctorParameters = () => [
60
- { type: TransactionService },
61
- { type: TransactionEventService }
62
- ];
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYWxsb2NhdGUtZ29vZHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tZ29vZHMtYWxsb2NhdGlvbi1saW5lL3NlcnZpY2UvdHJhbnNhY3Rpb24tYWxsb2NhdGUtZ29vZHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQ0wsaUNBQWlDLEVBQ2xDLE1BQU0sNkVBQTZFLENBQUM7QUFDckYsT0FBTyxFQUNMLCtCQUErQixFQUNoQyxNQUFNLDBFQUEwRSxDQUFDOzs7O0FBS2xGLE1BQU0sT0FBTywrQkFBK0I7SUFNMUMsWUFDVSxtQkFBdUMsRUFDdkMsd0JBQWlEO1FBRGpELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQU5wRCxVQUFLLEdBQXVDLEVBQUUsQ0FBQztRQUU5QyxtQkFBYyxHQUFtQixFQUFFLENBQUM7UUFNMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3RCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQywyQkFBMkIsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRVksb0NBQW9DOztZQUMvQyxNQUFNLGFBQWEsR0FBdUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRXBJLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzVCLE1BQU0sb0JBQW9CLEdBQXNDLElBQUksaUNBQWlDLEVBQUUsQ0FBQztnQkFDeEcsb0JBQW9CLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQ3hELG9CQUFvQixDQUFDLG1DQUFtQyxHQUFHLEVBQUUsQ0FBQztnQkFFOUQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUM3QixNQUFNLE1BQU0sR0FBb0MsSUFBSSwrQkFBK0IsRUFBRSxDQUFDO29CQUN0RixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7b0JBQzVCLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7b0JBQ3BELE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztvQkFDMUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO29CQUNwQyxvQkFBb0IsQ0FBQyxtQ0FBbUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hFLENBQUMsQ0FBQyxDQUFDO2dCQUVILE1BQU0sT0FBTyxHQUFZLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLDBCQUEwQixDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ3pHLElBQUksT0FBTyxFQUFFO29CQUNYLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxhQUFhLENBQUMsQ0FBQztpQkFDdEQ7Z0JBQ0QsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDO2FBQ2xCO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0tBQUE7SUFFTyxnQ0FBZ0MsQ0FBQyxhQUFpRDtRQUN4RixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUNsRCxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBQ25ELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDOzs7O1lBckRGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBWE8sa0JBQWtCO1lBQ2xCLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtFeHRlbmRlZFRyYW5zYWN0aW9uTGluZVZpZXdNb2RlbH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsL2V4dGVuZGVkLXRyYW5zYWN0aW9uLWxpbmUtdmlldy1tb2RlbFwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZVwiO1xyXG5pbXBvcnQge1xyXG4gIEFsbG9jYXRlR29vZHNGb3JTYWxlc09yZGVyUmVxdWVzdFxyXG59IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYWxsb2NhdGUtZ29vZHMtZm9yLXNhbGVzLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtcclxuICBTYWxlc09yZGVyTGluZUFsbG9jYXRpb25EZXRhaWxzXHJcbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9zYWxlcy1vcmRlci1saW5lLWFsbG9jYXRpb24tZGV0YWlsc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkFsbG9jYXRlR29vZHNTZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIGxpbmVzOiBFeHRlbmRlZFRyYW5zYWN0aW9uTGluZVZpZXdNb2RlbFtdID0gW107XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLmNvbW1pdFJlY2VpdmVQdXJjaGFzZU9yZGVycy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlQWxsb2NhdGVTZWxlY3RlZFB1cmNoYXNlT3JkZXJzKCk7XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQWxsb2NhdGVTZWxlY3RlZFB1cmNoYXNlT3JkZXJzKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRMaW5lczogRXh0ZW5kZWRUcmFuc2FjdGlvbkxpbmVWaWV3TW9kZWxbXSA9IHRoaXMubGluZXMuZmlsdGVyKChsaW5lKSA9PiBsaW5lLnNlbGVjdGVkICYmIGxpbmUucXVhbnRpdHlUb0FsbG9jYXRlID4gMCk7XHJcblxyXG4gICAgaWYgKHNlbGVjdGVkTGluZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBhbGxvY2F0ZUdvb2RzUmVxdWVzdDogQWxsb2NhdGVHb29kc0ZvclNhbGVzT3JkZXJSZXF1ZXN0ID0gbmV3IEFsbG9jYXRlR29vZHNGb3JTYWxlc09yZGVyUmVxdWVzdCgpO1xyXG4gICAgICBhbGxvY2F0ZUdvb2RzUmVxdWVzdC50cmFuc0lkID0gc2VsZWN0ZWRMaW5lc1swXS50cmFuc0lkO1xyXG4gICAgICBhbGxvY2F0ZUdvb2RzUmVxdWVzdC5zYWxlc09yZGVyTGluZUFsbG9jYXRpb25EZXRhaWxzRFRPUyA9IFtdO1xyXG5cclxuICAgICAgc2VsZWN0ZWRMaW5lcy5mb3JFYWNoKChsaW5lKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZGV0YWlsOiBTYWxlc09yZGVyTGluZUFsbG9jYXRpb25EZXRhaWxzID0gbmV3IFNhbGVzT3JkZXJMaW5lQWxsb2NhdGlvbkRldGFpbHMoKTtcclxuICAgICAgICBkZXRhaWwubGluZU5yID0gbGluZS5saW5lTnI7XHJcbiAgICAgICAgZGV0YWlsLnF1YW50aXR5VG9BbGxvY2F0ZSA9IGxpbmUucXVhbnRpdHlUb0FsbG9jYXRlO1xyXG4gICAgICAgIGRldGFpbC53YXJlaG91c2VOciA9IGxpbmUud2FyZWhvdXNlTnVtYmVyO1xyXG4gICAgICAgIGRldGFpbC5sb2NhdGlvbk5yID0gbGluZS5sb2NhdGlvbk5yO1xyXG4gICAgICAgIGFsbG9jYXRlR29vZHNSZXF1ZXN0LnNhbGVzT3JkZXJMaW5lQWxsb2NhdGlvbkRldGFpbHNEVE9TLnB1c2goZGV0YWlsKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBjb25zdCBzdWNjZXNzOiBib29sZWFuID0gYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmFsbG9jYXRlR29vZHNGb3JTYWxlc09yZGVyKGFsbG9jYXRlR29vZHNSZXF1ZXN0KTtcclxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICB0aGlzLl9oYW5kbGVBZnRlckNvbW1pdFJlY2VpdmVkT3JkZXJzKHNlbGVjdGVkTGluZXMpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAhIXN1Y2Nlc3M7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVBZnRlckNvbW1pdFJlY2VpdmVkT3JkZXJzKHNlbGVjdGVkTGluZXM6IEV4dGVuZGVkVHJhbnNhY3Rpb25MaW5lVmlld01vZGVsW10pOiB2b2lkIHtcclxuICAgIHNlbGVjdGVkTGluZXMuZm9yRWFjaCgobGluZSkgPT4ge1xyXG4gICAgICBsaW5lLnF1YW50aXR5QWxsb2NhdGVkICs9IGxpbmUucXVhbnRpdHlUb0FsbG9jYXRlO1xyXG4gICAgICBsaW5lLnF1YW50aXR5VG9BbGxvY2F0ZSAtPSBsaW5lLnF1YW50aXR5VG9BbGxvY2F0ZTtcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lQ2hhbmdlZC5uZXh0KGxpbmUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5zZWxlY3RBbGxMaW5lcy5uZXh0KGZhbHNlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,72 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable } from "@angular/core";
3
- import { EmailDeliveryNoteRequest } from "@colijnit/transactionapi/build/model/email-delivery-note-request";
4
- import { TransactionLineReportingRequest } from "@colijnit/transactionapi/build/model/transaction-line-reporting-request.bo";
5
- import { TransactionService } from "../../../../service/transaction.service";
6
- import { TransactionEventService } from "../../../../service/transaction-event.service";
7
- import { PdfDeliveryNoteRequest } from "@colijnit/transactionapi/build/model/pdf-delivery-note-request";
8
- import { PrintDeliveryNoteRequest } from "@colijnit/transactionapi/build/model/print-delivery-note-request";
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../../../../service/transaction.service";
11
- import * as i2 from "../../../../service/transaction-event.service";
12
- export class TransactionOrderDeliveryService {
13
- constructor(_transactionService, _transactionEventService) {
14
- this._transactionService = _transactionService;
15
- this._transactionEventService = _transactionEventService;
16
- this.lines = [];
17
- this.totalQuantityToDeliver = 0;
18
- this.totalAmountLeftInOrder = 0;
19
- }
20
- handleDeliverSelectedTransactionLines(request) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- const selectedLines = this.lines.filter((line) => line.selected && line.quantityToDeliver > 0);
23
- if (selectedLines.length > 0) {
24
- request.transactionLines = this._createRequestLines(selectedLines);
25
- let response;
26
- if (request instanceof EmailDeliveryNoteRequest) {
27
- request.parkForDigitalSignature = false;
28
- response = yield this._transactionService.emailDeliveryNote(request);
29
- }
30
- else if (request instanceof PrintDeliveryNoteRequest) {
31
- request.parkForDigitalSignature = false;
32
- response = yield this._transactionService.printDeliveryNote(request);
33
- }
34
- else if (request instanceof PdfDeliveryNoteRequest) {
35
- response = yield this._transactionService.pdfDeliveryNote(request);
36
- }
37
- if (response) {
38
- this._handleAfterCommitDeliverOrders(selectedLines);
39
- }
40
- return !!response;
41
- }
42
- return false;
43
- });
44
- }
45
- _handleAfterCommitDeliverOrders(selectedLines) {
46
- selectedLines.forEach((line) => {
47
- line.quantityDelivered += line.quantityToDeliver;
48
- line.quantityToDeliver -= line.quantityToDeliver;
49
- this._transactionEventService.transactionLineChanged.next(line);
50
- });
51
- this._transactionEventService.selectAllLines.next(false);
52
- }
53
- _createRequestLines(selectedLines) {
54
- return selectedLines.map((line) => {
55
- const transactionLineReportingRequest = new TransactionLineReportingRequest();
56
- transactionLineReportingRequest.lineNr = line.lineNr;
57
- transactionLineReportingRequest.amount = line.quantityToDeliver;
58
- return transactionLineReportingRequest;
59
- });
60
- }
61
- }
62
- TransactionOrderDeliveryService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionOrderDeliveryService_Factory() { return new TransactionOrderDeliveryService(i0.ɵɵinject(i1.TransactionService), i0.ɵɵinject(i2.TransactionEventService)); }, token: TransactionOrderDeliveryService, providedIn: "root" });
63
- TransactionOrderDeliveryService.decorators = [
64
- { type: Injectable, args: [{
65
- providedIn: "root"
66
- },] }
67
- ];
68
- TransactionOrderDeliveryService.ctorParameters = () => [
69
- { type: TransactionService },
70
- { type: TransactionEventService }
71
- ];
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tb3JkZXItZGVsaXZlcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tb3JkZXItZGVsaXZlcnktbGluZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLW9yZGVyLWRlbGl2ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDMUcsT0FBTyxFQUNMLCtCQUErQixFQUNoQyxNQUFNLDRFQUE0RSxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ3RHLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGtFQUFrRSxDQUFDOzs7O0FBSzFHLE1BQU0sT0FBTywrQkFBK0I7SUFNMUMsWUFDVSxtQkFBdUMsRUFDdkMsd0JBQWlEO1FBRGpELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQU5wRCxVQUFLLEdBQXVDLEVBQUUsQ0FBQztRQUMvQywyQkFBc0IsR0FBVyxDQUFDLENBQUM7UUFDbkMsMkJBQXNCLEdBQVcsQ0FBQyxDQUFDO0lBS3RDLENBQUM7SUFFUSxxQ0FBcUMsQ0FBQyxPQUFxRjs7WUFDdEksTUFBTSxhQUFhLEdBQXVDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUVuSSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM1QixPQUFPLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLFFBQWlCLENBQUM7Z0JBRXRCLElBQUksT0FBTyxZQUFZLHdCQUF3QixFQUFFO29CQUMvQyxPQUFPLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO29CQUN4QyxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ3RFO3FCQUFNLElBQUksT0FBTyxZQUFZLHdCQUF3QixFQUFFO29CQUN0RCxPQUFPLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO29CQUN4QyxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ3RFO3FCQUFNLElBQUksT0FBTyxZQUFZLHNCQUFzQixFQUFFO29CQUNwRCxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUNwRTtnQkFFRCxJQUFJLFFBQVEsRUFBRTtvQkFDWixJQUFJLENBQUMsK0JBQStCLENBQUMsYUFBYSxDQUFDLENBQUM7aUJBQ3JEO2dCQUVELE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQzthQUNuQjtZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztLQUFBO0lBRU8sK0JBQStCLENBQUMsYUFBaUQ7UUFDdkYsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDakQsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUNqRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVPLG1CQUFtQixDQUFDLGFBQWlEO1FBQzNFLE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hDLE1BQU0sK0JBQStCLEdBQW9DLElBQUksK0JBQStCLEVBQUUsQ0FBQztZQUMvRywrQkFBK0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNyRCwrQkFBK0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQ2hFLE9BQU8sK0JBQStCLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O1lBeERGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBUE8sa0JBQWtCO1lBQ2xCLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtFeHRlbmRlZFRyYW5zYWN0aW9uTGluZVZpZXdNb2RlbH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsL2V4dGVuZGVkLXRyYW5zYWN0aW9uLWxpbmUtdmlldy1tb2RlbFwiO1xyXG5pbXBvcnQge0VtYWlsRGVsaXZlcnlOb3RlUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9lbWFpbC1kZWxpdmVyeS1ub3RlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkxpbmVSZXBvcnRpbmdSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLXJlcG9ydGluZy1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQZGZEZWxpdmVyeU5vdGVSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BkZi1kZWxpdmVyeS1ub3RlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtQcmludERlbGl2ZXJ5Tm90ZVJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtZGVsaXZlcnktbm90ZS1yZXF1ZXN0XCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uT3JkZXJEZWxpdmVyeVNlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgbGluZXM6IEV4dGVuZGVkVHJhbnNhY3Rpb25MaW5lVmlld01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgdG90YWxRdWFudGl0eVRvRGVsaXZlcjogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgdG90YWxBbW91bnRMZWZ0SW5PcmRlcjogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVEZWxpdmVyU2VsZWN0ZWRUcmFuc2FjdGlvbkxpbmVzKHJlcXVlc3Q6IEVtYWlsRGVsaXZlcnlOb3RlUmVxdWVzdCB8IFByaW50RGVsaXZlcnlOb3RlUmVxdWVzdCB8IFBkZkRlbGl2ZXJ5Tm90ZVJlcXVlc3QpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHNlbGVjdGVkTGluZXM6IEV4dGVuZGVkVHJhbnNhY3Rpb25MaW5lVmlld01vZGVsW10gPSB0aGlzLmxpbmVzLmZpbHRlcigobGluZSkgPT4gbGluZS5zZWxlY3RlZCAmJiBsaW5lLnF1YW50aXR5VG9EZWxpdmVyID4gMCk7XHJcblxyXG4gICAgaWYgKHNlbGVjdGVkTGluZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXF1ZXN0LnRyYW5zYWN0aW9uTGluZXMgPSB0aGlzLl9jcmVhdGVSZXF1ZXN0TGluZXMoc2VsZWN0ZWRMaW5lcyk7XHJcbiAgICAgIGxldCByZXNwb25zZTogYm9vbGVhbjtcclxuXHJcbiAgICAgIGlmIChyZXF1ZXN0IGluc3RhbmNlb2YgRW1haWxEZWxpdmVyeU5vdGVSZXF1ZXN0KSB7XHJcbiAgICAgICAgcmVxdWVzdC5wYXJrRm9yRGlnaXRhbFNpZ25hdHVyZSA9IGZhbHNlO1xyXG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmVtYWlsRGVsaXZlcnlOb3RlKHJlcXVlc3QpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJlcXVlc3QgaW5zdGFuY2VvZiBQcmludERlbGl2ZXJ5Tm90ZVJlcXVlc3QpIHtcclxuICAgICAgICByZXF1ZXN0LnBhcmtGb3JEaWdpdGFsU2lnbmF0dXJlID0gZmFsc2U7XHJcbiAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UucHJpbnREZWxpdmVyeU5vdGUocmVxdWVzdCk7XHJcbiAgICAgIH0gZWxzZSBpZiAocmVxdWVzdCBpbnN0YW5jZW9mIFBkZkRlbGl2ZXJ5Tm90ZVJlcXVlc3QpIHtcclxuICAgICAgICByZXNwb25zZSA9IGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5wZGZEZWxpdmVyeU5vdGUocmVxdWVzdCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICAgIHRoaXMuX2hhbmRsZUFmdGVyQ29tbWl0RGVsaXZlck9yZGVycyhzZWxlY3RlZExpbmVzKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuICEhcmVzcG9uc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVBZnRlckNvbW1pdERlbGl2ZXJPcmRlcnMoc2VsZWN0ZWRMaW5lczogRXh0ZW5kZWRUcmFuc2FjdGlvbkxpbmVWaWV3TW9kZWxbXSk6IHZvaWQge1xyXG4gICAgc2VsZWN0ZWRMaW5lcy5mb3JFYWNoKChsaW5lKSA9PiB7XHJcbiAgICAgIGxpbmUucXVhbnRpdHlEZWxpdmVyZWQgKz0gbGluZS5xdWFudGl0eVRvRGVsaXZlcjtcclxuICAgICAgbGluZS5xdWFudGl0eVRvRGVsaXZlciAtPSBsaW5lLnF1YW50aXR5VG9EZWxpdmVyO1xyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVDaGFuZ2VkLm5leHQobGluZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnNlbGVjdEFsbExpbmVzLm5leHQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlUmVxdWVzdExpbmVzKHNlbGVjdGVkTGluZXM6IEV4dGVuZGVkVHJhbnNhY3Rpb25MaW5lVmlld01vZGVsW10pOiBUcmFuc2FjdGlvbkxpbmVSZXBvcnRpbmdSZXF1ZXN0W10ge1xyXG4gICAgcmV0dXJuIHNlbGVjdGVkTGluZXMubWFwKChsaW5lKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uTGluZVJlcG9ydGluZ1JlcXVlc3Q6IFRyYW5zYWN0aW9uTGluZVJlcG9ydGluZ1JlcXVlc3QgPSBuZXcgVHJhbnNhY3Rpb25MaW5lUmVwb3J0aW5nUmVxdWVzdCgpO1xyXG4gICAgICB0cmFuc2FjdGlvbkxpbmVSZXBvcnRpbmdSZXF1ZXN0LmxpbmVOciA9IGxpbmUubGluZU5yO1xyXG4gICAgICB0cmFuc2FjdGlvbkxpbmVSZXBvcnRpbmdSZXF1ZXN0LmFtb3VudCA9IGxpbmUucXVhbnRpdHlUb0RlbGl2ZXI7XHJcbiAgICAgIHJldHVybiB0cmFuc2FjdGlvbkxpbmVSZXBvcnRpbmdSZXF1ZXN0O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,68 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable } from "@angular/core";
3
- import { TransactionService } from "../../../../service/transaction.service";
4
- import { Subject } from "rxjs";
5
- import { TransactionEventService } from "../../../../service/transaction-event.service";
6
- import { ReceiveGoodsForPurchaseOrderRequest } from "@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-request.bo";
7
- import { PurchaseOrderLineReceiptDetails } from "@colijnit/transactionapi/build/model/purchase-order-line-receipt-details.bo";
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../../../../service/transaction.service";
10
- import * as i2 from "../../../../service/transaction-event.service";
11
- export class TransactionReceiveGoodsService {
12
- constructor(_transactionService, _transactionEventService) {
13
- this._transactionService = _transactionService;
14
- this._transactionEventService = _transactionEventService;
15
- this.lines = [];
16
- this.returnArticleSelected = new Subject();
17
- this.reloadAvailableStockData = new Subject();
18
- this._subscriptions = [];
19
- this._subscriptions.push(this._transactionEventService.commitReceivePurchaseOrders.subscribe((value => {
20
- this.handleReceiveSelectedPurchaseOrders(value);
21
- })));
22
- }
23
- handleReceiveSelectedPurchaseOrders(value) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- const selectedLines = this.lines.filter((line) => line.selected && line.quantityToReceive > 0);
26
- if (selectedLines.length > 0) {
27
- const receivedGoodsRequest = new ReceiveGoodsForPurchaseOrderRequest();
28
- receivedGoodsRequest.transId = selectedLines[0].transId;
29
- receivedGoodsRequest.receivedDate = value.date;
30
- receivedGoodsRequest.packingSlipNr = value.id;
31
- receivedGoodsRequest.purchaseOrderLineReceiptDetailsDTOS = [];
32
- selectedLines.forEach((line) => {
33
- const detail = new PurchaseOrderLineReceiptDetails();
34
- detail.lineNr = line.lineNr;
35
- detail.quantityToReceive = line.quantityToReceive;
36
- detail.warehouseNr = line.warehouseNumber;
37
- detail.locationNr = line.locationNr;
38
- receivedGoodsRequest.purchaseOrderLineReceiptDetailsDTOS.push(detail);
39
- });
40
- const success = yield this._transactionService.receiveGoodsForPurchaseOrder(receivedGoodsRequest);
41
- if (success) {
42
- this._handleAfterCommitReceivedOrders(selectedLines);
43
- }
44
- return !!success;
45
- }
46
- return false;
47
- });
48
- }
49
- _handleAfterCommitReceivedOrders(selectedLines) {
50
- selectedLines.forEach((line) => {
51
- line.quantityReceived += line.quantityToReceive;
52
- line.quantityToReceive -= line.quantityToReceive;
53
- this._transactionEventService.transactionLineChanged.next(line);
54
- });
55
- this._transactionEventService.selectAllLines.next(false);
56
- }
57
- }
58
- TransactionReceiveGoodsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionReceiveGoodsService_Factory() { return new TransactionReceiveGoodsService(i0.ɵɵinject(i1.TransactionService), i0.ɵɵinject(i2.TransactionEventService)); }, token: TransactionReceiveGoodsService, providedIn: "root" });
59
- TransactionReceiveGoodsService.decorators = [
60
- { type: Injectable, args: [{
61
- providedIn: "root"
62
- },] }
63
- ];
64
- TransactionReceiveGoodsService.ctorParameters = () => [
65
- { type: TransactionService },
66
- { type: TransactionEventService }
67
- ];
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcmVjZWl2ZS1nb29kcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1yZWNlaXZlLWdvb2RzLWxpbmUvc2VydmljZS90cmFuc2FjdGlvbi1yZWNlaXZlLWdvb2RzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSxrRkFBa0YsQ0FBQztBQUNySSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQzs7OztBQU81SCxNQUFNLE9BQU8sOEJBQThCO0lBUXpDLFlBQ1UsbUJBQXVDLEVBQ3ZDLHdCQUFpRDtRQURqRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFScEQsVUFBSyxHQUF1QyxFQUFFLENBQUM7UUFDL0MsMEJBQXFCLEdBQTRCLElBQUksT0FBTyxFQUFrQixDQUFDO1FBQy9FLDZCQUF3QixHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXZELG1CQUFjLEdBQW1CLEVBQUUsQ0FBQztRQU0xQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNFLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFDSCxDQUFDO0lBRVksbUNBQW1DLENBQUMsS0FBK0I7O1lBQzlFLE1BQU0sYUFBYSxHQUF1QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFbkksSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDMUIsTUFBTSxvQkFBb0IsR0FBd0MsSUFBSSxtQ0FBbUMsRUFBRSxDQUFDO2dCQUM1RyxvQkFBb0IsQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDeEQsb0JBQW9CLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQy9DLG9CQUFvQixDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxvQkFBb0IsQ0FBQyxtQ0FBbUMsR0FBRyxFQUFFLENBQUM7Z0JBRWhFLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDM0IsTUFBTSxNQUFNLEdBQW9DLElBQUksK0JBQStCLEVBQUUsQ0FBQztvQkFDdEYsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUM1QixNQUFNLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO29CQUNsRCxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7b0JBQzFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztvQkFDcEMsb0JBQW9CLENBQUMsbUNBQW1DLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4RSxDQUFDLENBQUMsQ0FBQztnQkFFTCxNQUFNLE9BQU8sR0FBWSxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyw0QkFBNEIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUMzRyxJQUFJLE9BQU8sRUFBRTtvQkFDWCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsYUFBYSxDQUFDLENBQUM7aUJBQ3REO2dCQUNELE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQzthQUNsQjtZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztLQUFBO0lBRU8sZ0NBQWdDLENBQUMsYUFBaUQ7UUFDeEYsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDaEQsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUNqRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7OztZQXpERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVZPLGtCQUFrQjtZQUVsQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UmVjZWl2ZUdvb2RzRm9yUHVyY2hhc2VPcmRlclJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVjZWl2ZS1nb29kcy1mb3ItcHVyY2hhc2Utb3JkZXItcmVxdWVzdC5ib1wiO1xyXG5pbXBvcnQge1B1cmNoYXNlT3JkZXJMaW5lUmVjZWlwdERldGFpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHVyY2hhc2Utb3JkZXItbGluZS1yZWNlaXB0LWRldGFpbHMuYm9cIjtcclxuaW1wb3J0IHtBdmFpbGFibGVTdG9ja30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hdmFpbGFibGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtFeHRlbmRlZFRyYW5zYWN0aW9uTGluZVZpZXdNb2RlbH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsL2V4dGVuZGVkLXRyYW5zYWN0aW9uLWxpbmUtdmlldy1tb2RlbFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblJlY2VpdmVHb29kc1NlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgbGluZXM6IEV4dGVuZGVkVHJhbnNhY3Rpb25MaW5lVmlld01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgcmV0dXJuQXJ0aWNsZVNlbGVjdGVkOiBTdWJqZWN0PEF2YWlsYWJsZVN0b2NrPiA9IG5ldyBTdWJqZWN0PEF2YWlsYWJsZVN0b2NrPigpO1xyXG4gIHB1YmxpYyByZWxvYWRBdmFpbGFibGVTdG9ja0RhdGE6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5jb21taXRSZWNlaXZlUHVyY2hhc2VPcmRlcnMuc3Vic2NyaWJlKCh2YWx1ZSA9PiB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVSZWNlaXZlU2VsZWN0ZWRQdXJjaGFzZU9yZGVycyh2YWx1ZSk7XHJcbiAgICAgIH0pKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVJlY2VpdmVTZWxlY3RlZFB1cmNoYXNlT3JkZXJzKHZhbHVlOiB7ZGF0ZTogRGF0ZSwgaWQ6IHN0cmluZ30pOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHNlbGVjdGVkTGluZXM6IEV4dGVuZGVkVHJhbnNhY3Rpb25MaW5lVmlld01vZGVsW10gPSB0aGlzLmxpbmVzLmZpbHRlcigobGluZSkgPT4gbGluZS5zZWxlY3RlZCAmJiBsaW5lLnF1YW50aXR5VG9SZWNlaXZlID4gMCk7XHJcblxyXG4gICAgaWYgKHNlbGVjdGVkTGluZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGNvbnN0IHJlY2VpdmVkR29vZHNSZXF1ZXN0OiBSZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyUmVxdWVzdCA9IG5ldyBSZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyUmVxdWVzdCgpO1xyXG4gICAgICAgIHJlY2VpdmVkR29vZHNSZXF1ZXN0LnRyYW5zSWQgPSBzZWxlY3RlZExpbmVzWzBdLnRyYW5zSWQ7XHJcbiAgICAgICAgcmVjZWl2ZWRHb29kc1JlcXVlc3QucmVjZWl2ZWREYXRlID0gdmFsdWUuZGF0ZTtcclxuICAgICAgICByZWNlaXZlZEdvb2RzUmVxdWVzdC5wYWNraW5nU2xpcE5yID0gdmFsdWUuaWQ7XHJcbiAgICAgICAgcmVjZWl2ZWRHb29kc1JlcXVlc3QucHVyY2hhc2VPcmRlckxpbmVSZWNlaXB0RGV0YWlsc0RUT1MgPSBbXTtcclxuXHJcbiAgICAgIHNlbGVjdGVkTGluZXMuZm9yRWFjaCgobGluZSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlsOiBQdXJjaGFzZU9yZGVyTGluZVJlY2VpcHREZXRhaWxzID0gbmV3IFB1cmNoYXNlT3JkZXJMaW5lUmVjZWlwdERldGFpbHMoKTtcclxuICAgICAgICAgIGRldGFpbC5saW5lTnIgPSBsaW5lLmxpbmVOcjtcclxuICAgICAgICAgIGRldGFpbC5xdWFudGl0eVRvUmVjZWl2ZSA9IGxpbmUucXVhbnRpdHlUb1JlY2VpdmU7XHJcbiAgICAgICAgICBkZXRhaWwud2FyZWhvdXNlTnIgPSBsaW5lLndhcmVob3VzZU51bWJlcjtcclxuICAgICAgICAgIGRldGFpbC5sb2NhdGlvbk5yID0gbGluZS5sb2NhdGlvbk5yO1xyXG4gICAgICAgICAgcmVjZWl2ZWRHb29kc1JlcXVlc3QucHVyY2hhc2VPcmRlckxpbmVSZWNlaXB0RGV0YWlsc0RUT1MucHVzaChkZXRhaWwpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgY29uc3Qgc3VjY2VzczogYm9vbGVhbiA9IGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5yZWNlaXZlR29vZHNGb3JQdXJjaGFzZU9yZGVyKHJlY2VpdmVkR29vZHNSZXF1ZXN0KTtcclxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICB0aGlzLl9oYW5kbGVBZnRlckNvbW1pdFJlY2VpdmVkT3JkZXJzKHNlbGVjdGVkTGluZXMpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAhIXN1Y2Nlc3M7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVBZnRlckNvbW1pdFJlY2VpdmVkT3JkZXJzKHNlbGVjdGVkTGluZXM6IEV4dGVuZGVkVHJhbnNhY3Rpb25MaW5lVmlld01vZGVsW10pOiB2b2lkIHtcclxuICAgIHNlbGVjdGVkTGluZXMuZm9yRWFjaCgobGluZSkgPT4ge1xyXG4gICAgICBsaW5lLnF1YW50aXR5UmVjZWl2ZWQgKz0gbGluZS5xdWFudGl0eVRvUmVjZWl2ZTtcclxuICAgICAgbGluZS5xdWFudGl0eVRvUmVjZWl2ZSAtPSBsaW5lLnF1YW50aXR5VG9SZWNlaXZlO1xyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVDaGFuZ2VkLm5leHQobGluZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnNlbGVjdEFsbExpbmVzLm5leHQoZmFsc2UpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,139 +0,0 @@
1
- import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
2
- import { AllocateGoodsForSalesOrderRequest } from "@colijnit/transactionapi/build/model/allocate-goods-for-sales-order-request";
3
- import { SalesOrderLineAllocationDetails } from "@colijnit/transactionapi/build/model/sales-order-line-allocation-details";
4
- import { IconCacheService } from "../../../service/icon-cache.service";
5
- import { FormMasterService } from "@colijnit/corecomponents_v12";
6
- import { TransactionService } from "../../../service/transaction.service";
7
- import { DialogService } from "../../../service/dialog.service";
8
- import { TransactionBaseComponent } from "../../core/base/transaction-base.component";
9
- export class AllocationRequestComponent extends TransactionBaseComponent {
10
- constructor(iconCacheService, transactionService, _formMaster, _dialogService) {
11
- super(transactionService);
12
- this.iconCacheService = iconCacheService;
13
- this.transactionService = transactionService;
14
- this._formMaster = _formMaster;
15
- this._dialogService = _dialogService;
16
- this.reloadAllocationGoodsHistory = new EventEmitter();
17
- this.allocationRequest = new AllocateGoodsForSalesOrderRequest();
18
- this.allocationDetails = new SalesOrderLineAllocationDetails();
19
- this.saveButtonDisabled = false;
20
- this._subscriptions = [];
21
- this.allocationRequest.salesOrderLineAllocationDetailsDTOS = [this.allocationDetails];
22
- }
23
- set amountLeftToAllocate(value) {
24
- this._amountLeftToAllocate = value;
25
- this.allocationDetails.quantityToAllocate = value;
26
- }
27
- get amountLeftToAllocate() {
28
- return this._amountLeftToAllocate;
29
- }
30
- showClass() {
31
- return true;
32
- }
33
- submit() {
34
- return this._formMaster.submitSlaves();
35
- }
36
- handleSaveDetailsEdit() {
37
- const valid = this.submit();
38
- if (valid) {
39
- this.saveButtonDisabled = true;
40
- const request = this.allocationRequest;
41
- request.transId = this.transactionInfo.id;
42
- this.transactionService.allocateGoodsForSalesOrder(request).then((success) => {
43
- if (success) {
44
- this.allocationDetails.locationNr = undefined;
45
- this.reloadAllocationGoodsHistory.next();
46
- }
47
- else {
48
- this.saveButtonDisabled = false;
49
- }
50
- }).catch((e) => {
51
- this.saveButtonDisabled = false;
52
- });
53
- }
54
- }
55
- openWarehouseLocationDialog() {
56
- if (this.amountLeftToAllocate > 0) {
57
- this._dialogService.showWarehouseLocation(this.allocationDetails.warehouseNr, true, true, true, this.transactionLine)
58
- .then(() => this.allocationDetails.locationNr = this.transactionLine.locationNr);
59
- }
60
- }
61
- transactionLineSet() {
62
- this.allocationDetails.warehouseNr = this.transactionLine.warehouseNumber;
63
- this.allocationDetails.lineNr = this.transactionLine.lineNr;
64
- }
65
- }
66
- AllocationRequestComponent.decorators = [
67
- { type: Component, args: [{
68
- selector: "co-allocation-request",
69
- template: `
70
- <co-form>
71
- <div class="details-header" [textContent]="'ALLOCATE_DETAILS' | localize | uppercase"></div>
72
- <div class="columns-wrapper">
73
- <div class="details-column">
74
- <co-input-text class="details-input"
75
- [max]="amountLeftToAllocate"
76
- [(model)]="allocationDetails.serialNr ? 1 : allocationDetails.quantityToAllocate"
77
- [disabled]="!!allocationDetails.serialNr || allocationDetails.quantityToAllocate === 0"
78
- [readonly]="!!allocationDetails.serialNr || allocationDetails.quantityToAllocate === 0 || readonly"
79
- [required]="true"
80
- [type]="'number'"
81
- [min]="1"
82
- [placeholder]="'AMOUNT' | localize"></co-input-text>
83
- <co-input-text class="details-input" [(model)]="allocationDetails.warehouseNr"
84
- [type]="'number'"
85
- [hideArrowButtons]="true"
86
- [readonly]="transactionLine.warehouseNumber !== undefined || readonly"
87
- [disabled]="transactionLine.warehouseNumber !== undefined"
88
- [required]="transactionLine.isWarehouseRequired"
89
- [placeholder]="'WAREHOUSE' | localize"></co-input-text>
90
- <div class="location-wrapper clickable" (click)="openWarehouseLocationDialog()">
91
- <span *ngIf="!allocationDetails.locationNr && transactionLine.isLocationRequired" class="required" [textContent]="'*'"></span>
92
- <co-icon *ngIf="allocationDetails.locationNr" [iconData]="iconCacheService.getIcon(icons.ShelvesLight)"></co-icon>
93
- <div [textContent]="allocationDetails.locationNr ? allocationDetails.locationNr : ('LOCATION' | localize)"></div>
94
- </div>
95
- </div>
96
- <div class="divider-wrapper">
97
- <div class="divider"></div>
98
- </div>
99
- <div class="details-column">
100
- <co-input-text *ngIf="transactionLine.isBatchNrRequired" class="details-input" [(model)]="allocationDetails.batchNr"
101
- [type]="'number'"
102
- [hideArrowButtons]="true"
103
- [readonly]="readonly"
104
- [required]="transactionLine.isBatchNrRequired"
105
- [placeholder]="'BATCH_NUMBER' | localize"></co-input-text>
106
- <co-input-text *ngIf="transactionLine.isSerialNrRequired" class="details-input" [(model)]="allocationDetails.serialNr"
107
- [type]="'number'"
108
- [hideArrowButtons]="true"
109
- [readonly]="readonly"
110
- [required]="transactionLine.isSerialNrRequired"
111
- [placeholder]="'SERIAL_NUMBER' | localize"></co-input-text>
112
- </div>
113
- </div>
114
- </co-form>
115
-
116
- <div class="commit-button-wrapper">
117
- <div class="commit-button" [class.clickable]="amountLeftToAllocate > 0" *ngIf="!readonly" (click)="handleSaveDetailsEdit()" [class.disabled]="saveButtonDisabled || amountLeftToAllocate === 0">
118
- <span class="commit-text" [textContent]="'ALLOCATE' | localize"></span>
119
- </div>
120
- </div>
121
- `,
122
- providers: [
123
- FormMasterService
124
- ],
125
- encapsulation: ViewEncapsulation.None
126
- },] }
127
- ];
128
- AllocationRequestComponent.ctorParameters = () => [
129
- { type: IconCacheService },
130
- { type: TransactionService },
131
- { type: FormMasterService },
132
- { type: DialogService }
133
- ];
134
- AllocationRequestComponent.propDecorators = {
135
- amountLeftToAllocate: [{ type: Input }],
136
- reloadAllocationGoodsHistory: [{ type: Output }],
137
- showClass: [{ type: HostBinding, args: ["class.co-transaction-allocate-goods-details",] }]
138
- };
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1yZXF1ZXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNpZGUtcGFuZWwtZWRpdC1yZXF1ZXN0LWRldGFpbHMvY29tcG9uZW50cy9hbGxvY2F0aW9uLXJlcXVlc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLDZFQUE2RSxDQUFDO0FBQzlILE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLDBFQUEwRSxDQUFDO0FBRXpILE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQThEcEYsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHdCQUF3QjtJQTRCdEUsWUFDUyxnQkFBa0MsRUFDL0Isa0JBQXNDLEVBQ3hDLFdBQThCLEVBQzlCLGNBQTZCO1FBRXJDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBTG5CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDL0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFuQmhDLGlDQUE0QixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTVFLHNCQUFpQixHQUFzQyxJQUFJLGlDQUFpQyxFQUFFLENBQUM7UUFDL0Ysc0JBQWlCLEdBQW9DLElBQUksK0JBQStCLEVBQUUsQ0FBQztRQUUzRix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFHbkMsbUJBQWMsR0FBbUIsRUFBRSxDQUFDO1FBYzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQ0FBbUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFsQ0QsSUFDVyxvQkFBb0IsQ0FBQyxLQUFhO1FBQzNDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBVyxvQkFBb0I7UUFDN0IsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQWNNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFZTSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUMvQixNQUFNLE9BQU8sR0FBc0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQzFFLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUMzRSxJQUFJLE9BQU8sRUFBRTtvQkFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztvQkFDOUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksRUFBRSxDQUFDO2lCQUMxQztxQkFBTTtvQkFDTCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO2lCQUNqQztZQUNILENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSwyQkFBMkI7UUFDaEMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDO2lCQUNsSCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsR0FBUyxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMzRjtJQUNILENBQUM7SUFFUyxrQkFBa0I7UUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQztRQUMxRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO0lBQzlELENBQUM7OztZQW5JRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0RUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxpQkFBaUI7aUJBQ2xCO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFqRU8sZ0JBQWdCO1lBRWhCLGtCQUFrQjtZQURsQixpQkFBaUI7WUFFakIsYUFBYTs7O21DQWlFbEIsS0FBSzsyQ0FVTCxNQUFNO3dCQVdOLFdBQVcsU0FBQyw2Q0FBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QWxsb2NhdGVHb29kc0ZvclNhbGVzT3JkZXJSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2FsbG9jYXRlLWdvb2RzLWZvci1zYWxlcy1vcmRlci1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7U2FsZXNPcmRlckxpbmVBbGxvY2F0aW9uRGV0YWlsc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9zYWxlcy1vcmRlci1saW5lLWFsbG9jYXRpb24tZGV0YWlsc1wiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtGb3JtTWFzdGVyU2VydmljZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWFsb2cuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tYWxsb2NhdGlvbi1yZXF1ZXN0XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1mb3JtPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1oZWFkZXJcIiBbdGV4dENvbnRlbnRdPVwiJ0FMTE9DQVRFX0RFVEFJTFMnIHwgbG9jYWxpemUgfCB1cHBlcmNhc2VcIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMtd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLWNvbHVtblwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgY2xhc3M9XCJkZXRhaWxzLWlucHV0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFttYXhdPVwiYW1vdW50TGVmdFRvQWxsb2NhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYWxsb2NhdGlvbkRldGFpbHMuc2VyaWFsTnIgPyAxIDogYWxsb2NhdGlvbkRldGFpbHMucXVhbnRpdHlUb0FsbG9jYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWFsbG9jYXRpb25EZXRhaWxzLnNlcmlhbE5yIHx8IGFsbG9jYXRpb25EZXRhaWxzLnF1YW50aXR5VG9BbGxvY2F0ZSA9PT0gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiISFhbGxvY2F0aW9uRGV0YWlscy5zZXJpYWxOciB8fCBhbGxvY2F0aW9uRGV0YWlscy5xdWFudGl0eVRvQWxsb2NhdGUgPT09IDAgfHwgcmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiJ251bWJlcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW21pbl09XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQU1PVU5UJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgY2xhc3M9XCJkZXRhaWxzLWlucHV0XCIgWyhtb2RlbCldPVwiYWxsb2NhdGlvbkRldGFpbHMud2FyZWhvdXNlTnJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiJ251bWJlcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVBcnJvd0J1dHRvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJhbnNhY3Rpb25MaW5lLndhcmVob3VzZU51bWJlciAhPT0gdW5kZWZpbmVkIHx8IHJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0cmFuc2FjdGlvbkxpbmUud2FyZWhvdXNlTnVtYmVyICE9PSB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRyYW5zYWN0aW9uTGluZS5pc1dhcmVob3VzZVJlcXVpcmVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInV0FSRUhPVVNFJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxvY2F0aW9uLXdyYXBwZXIgY2xpY2thYmxlXCIgKGNsaWNrKT1cIm9wZW5XYXJlaG91c2VMb2NhdGlvbkRpYWxvZygpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWFsbG9jYXRpb25EZXRhaWxzLmxvY2F0aW9uTnIgJiYgdHJhbnNhY3Rpb25MaW5lLmlzTG9jYXRpb25SZXF1aXJlZFwiIGNsYXNzPVwicmVxdWlyZWRcIiBbdGV4dENvbnRlbnRdPVwiJyonXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cImFsbG9jYXRpb25EZXRhaWxzLmxvY2F0aW9uTnJcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNoZWx2ZXNMaWdodClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxkaXYgW3RleHRDb250ZW50XT1cImFsbG9jYXRpb25EZXRhaWxzLmxvY2F0aW9uTnIgPyBhbGxvY2F0aW9uRGV0YWlscy5sb2NhdGlvbk5yIDogKCdMT0NBVElPTicgfCBsb2NhbGl6ZSlcIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHMtY29sdW1uXCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCAqbmdJZj1cInRyYW5zYWN0aW9uTGluZS5pc0JhdGNoTnJSZXF1aXJlZFwiIGNsYXNzPVwiZGV0YWlscy1pbnB1dFwiIFsobW9kZWwpXT1cImFsbG9jYXRpb25EZXRhaWxzLmJhdGNoTnJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiJ251bWJlcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVBcnJvd0J1dHRvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRyYW5zYWN0aW9uTGluZS5pc0JhdGNoTnJSZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0JBVENIX05VTUJFUicgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0ICpuZ0lmPVwidHJhbnNhY3Rpb25MaW5lLmlzU2VyaWFsTnJSZXF1aXJlZFwiIGNsYXNzPVwiZGV0YWlscy1pbnB1dFwiIFsobW9kZWwpXT1cImFsbG9jYXRpb25EZXRhaWxzLnNlcmlhbE5yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIidudW1iZXInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlQXJyb3dCdXR0b25zXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cmFuc2FjdGlvbkxpbmUuaXNTZXJpYWxOclJlcXVpcmVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VSSUFMX05VTUJFUicgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2NvLWZvcm0+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbW1pdC1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29tbWl0LWJ1dHRvblwiIFtjbGFzcy5jbGlja2FibGVdPVwiYW1vdW50TGVmdFRvQWxsb2NhdGUgPiAwXCIgKm5nSWY9XCIhcmVhZG9ubHlcIiAoY2xpY2spPVwiaGFuZGxlU2F2ZURldGFpbHNFZGl0KClcIiBbY2xhc3MuZGlzYWJsZWRdPVwic2F2ZUJ1dHRvbkRpc2FibGVkIHx8IGFtb3VudExlZnRUb0FsbG9jYXRlID09PSAwXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21taXQtdGV4dFwiIFt0ZXh0Q29udGVudF09XCInQUxMT0NBVEUnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUmVxdWVzdENvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhbW91bnRMZWZ0VG9BbGxvY2F0ZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9hbW91bnRMZWZ0VG9BbGxvY2F0ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5hbGxvY2F0aW9uRGV0YWlscy5xdWFudGl0eVRvQWxsb2NhdGUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYW1vdW50TGVmdFRvQWxsb2NhdGUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9hbW91bnRMZWZ0VG9BbGxvY2F0ZTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWxvYWRBbGxvY2F0aW9uR29vZHNIaXN0b3J5OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHB1YmxpYyBhbGxvY2F0aW9uUmVxdWVzdDogQWxsb2NhdGVHb29kc0ZvclNhbGVzT3JkZXJSZXF1ZXN0ID0gbmV3IEFsbG9jYXRlR29vZHNGb3JTYWxlc09yZGVyUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyBhbGxvY2F0aW9uRGV0YWlsczogU2FsZXNPcmRlckxpbmVBbGxvY2F0aW9uRGV0YWlscyA9IG5ldyBTYWxlc09yZGVyTGluZUFsbG9jYXRpb25EZXRhaWxzKCk7XHJcblxyXG4gIHB1YmxpYyBzYXZlQnV0dG9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfYW1vdW50TGVmdFRvQWxsb2NhdGU6IG51bWJlcjtcclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1hbGxvY2F0ZS1nb29kcy1kZXRhaWxzXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2Zvcm1NYXN0ZXI6IEZvcm1NYXN0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uU2VydmljZSk7XHJcbiAgICB0aGlzLmFsbG9jYXRpb25SZXF1ZXN0LnNhbGVzT3JkZXJMaW5lQWxsb2NhdGlvbkRldGFpbHNEVE9TID0gW3RoaXMuYWxsb2NhdGlvbkRldGFpbHNdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN1Ym1pdCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3JtTWFzdGVyLnN1Ym1pdFNsYXZlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNhdmVEZXRhaWxzRWRpdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHZhbGlkID0gdGhpcy5zdWJtaXQoKTtcclxuICAgIGlmICh2YWxpZCkge1xyXG4gICAgICB0aGlzLnNhdmVCdXR0b25EaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgIGNvbnN0IHJlcXVlc3Q6IEFsbG9jYXRlR29vZHNGb3JTYWxlc09yZGVyUmVxdWVzdCA9IHRoaXMuYWxsb2NhdGlvblJlcXVlc3Q7XHJcbiAgICAgIHJlcXVlc3QudHJhbnNJZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5hbGxvY2F0ZUdvb2RzRm9yU2FsZXNPcmRlcihyZXF1ZXN0KS50aGVuKChzdWNjZXNzKSA9PiB7XHJcbiAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHRoaXMuYWxsb2NhdGlvbkRldGFpbHMubG9jYXRpb25OciA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgIHRoaXMucmVsb2FkQWxsb2NhdGlvbkdvb2RzSGlzdG9yeS5uZXh0KCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2F2ZUJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KS5jYXRjaCgoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2F2ZUJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5XYXJlaG91c2VMb2NhdGlvbkRpYWxvZygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFtb3VudExlZnRUb0FsbG9jYXRlID4gMCkge1xyXG4gICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dXYXJlaG91c2VMb2NhdGlvbih0aGlzLmFsbG9jYXRpb25EZXRhaWxzLndhcmVob3VzZU5yLCB0cnVlLCB0cnVlLCB0cnVlLCB0aGlzLnRyYW5zYWN0aW9uTGluZSlcclxuICAgICAgICAudGhlbigoKSA9PiB0aGlzLmFsbG9jYXRpb25EZXRhaWxzLmxvY2F0aW9uTnIgPSAoPGFueT50aGlzLnRyYW5zYWN0aW9uTGluZSkubG9jYXRpb25Ocik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25MaW5lU2V0KCkge1xyXG4gICAgdGhpcy5hbGxvY2F0aW9uRGV0YWlscy53YXJlaG91c2VOciA9IHRoaXMudHJhbnNhY3Rpb25MaW5lLndhcmVob3VzZU51bWJlcjtcclxuICAgIHRoaXMuYWxsb2NhdGlvbkRldGFpbHMubGluZU5yID0gdGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yO1xyXG4gIH1cclxufVxyXG4iXX0=