@colijnit/transaction 12.1.77 → 12.1.78

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 (1955) hide show
  1. package/.browserslistrc +18 -0
  2. package/.editorconfig +16 -0
  3. package/.eslintrc.json +49 -0
  4. package/README.md +13 -10
  5. package/angular.json +165 -0
  6. package/custom_webpack.config.js +6 -0
  7. package/e2e/protractor.conf.js +32 -0
  8. package/e2e/src/app.e2e-spec.ts +23 -0
  9. package/e2e/src/app.po.ts +11 -0
  10. package/e2e/tsconfig.json +13 -0
  11. package/import.bat +8 -0
  12. package/karma.conf.js +32 -0
  13. package/move-assets.js +14 -0
  14. package/package.json +92 -45
  15. package/projects/transaction/README.md +24 -0
  16. package/projects/transaction/karma.conf.js +44 -0
  17. package/projects/transaction/ng-package.json +13 -0
  18. package/projects/transaction/package.json +44 -0
  19. package/{lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.scss → projects/transaction/src/lib/assets/.gitkeep} +0 -0
  20. package/projects/transaction/src/lib/assets/dictionary/text.properties.ts +748 -0
  21. package/projects/transaction/src/lib/assets/icons/arrow_point_down.svg +6 -0
  22. package/projects/transaction/src/lib/assets/icons/arrow_point_left.svg +8 -0
  23. package/projects/transaction/src/lib/assets/icons/arrow_point_right.svg +8 -0
  24. package/projects/transaction/src/lib/assets/icons/article.svg +1 -0
  25. package/projects/transaction/src/lib/assets/icons/at_solid.svg +1 -0
  26. package/projects/transaction/src/lib/assets/icons/barcode_regular.svg +1 -0
  27. package/projects/transaction/src/lib/assets/icons/barcode_solid.svg +1 -0
  28. package/projects/transaction/src/lib/assets/icons/bars_filter.svg +1 -0
  29. package/projects/transaction/src/lib/assets/icons/calendar_day.svg +37 -0
  30. package/projects/transaction/src/lib/assets/icons/calendar_day_regular.svg +1 -0
  31. package/projects/transaction/src/lib/assets/icons/cancel.svg +1 -0
  32. package/projects/transaction/src/lib/assets/icons/cart_check.svg +1 -0
  33. package/projects/transaction/src/lib/assets/icons/cart_flatbed_boxes_solid.svg +1 -0
  34. package/projects/transaction/src/lib/assets/icons/cart_shopping_solid.svg +5 -0
  35. package/projects/transaction/src/lib/assets/icons/cash_register.svg +1 -0
  36. package/projects/transaction/src/lib/assets/icons/credit_card_solid.svg +1 -0
  37. package/projects/transaction/src/lib/assets/icons/delivery_truck.svg +1 -0
  38. package/projects/transaction/src/lib/assets/icons/edit_pencil.svg +1 -0
  39. package/projects/transaction/src/lib/assets/icons/ellipsis_light.svg +1 -0
  40. package/projects/transaction/src/lib/assets/icons/ellipsis_vertical_solid.svg +1 -0
  41. package/projects/transaction/src/lib/assets/icons/expand_solid.svg +1 -0
  42. package/projects/transaction/src/lib/assets/icons/file_circle_info_solid.svg +1 -0
  43. package/projects/transaction/src/lib/assets/icons/file_export_regular.svg +1 -0
  44. package/projects/transaction/src/lib/assets/icons/file_export_solid.svg +1 -0
  45. package/projects/transaction/src/lib/assets/icons/file_pdf_regular.svg +1 -0
  46. package/projects/transaction/src/lib/assets/icons/file_pdf_solid.svg +1 -0
  47. package/projects/transaction/src/lib/assets/icons/gear_solid.svg +1 -0
  48. package/projects/transaction/src/lib/assets/icons/grip_dots_vertical_solid.svg +1 -0
  49. package/projects/transaction/src/lib/assets/icons/ideal_logo.svg +38 -0
  50. package/projects/transaction/src/lib/assets/icons/inbox_in_solid.svg +1 -0
  51. package/projects/transaction/src/lib/assets/icons/list_regular.svg +1 -0
  52. package/projects/transaction/src/lib/assets/icons/list_view.svg +8 -0
  53. package/projects/transaction/src/lib/assets/icons/location_dot_solid.svg +1 -0
  54. package/projects/transaction/src/lib/assets/icons/lock.svg +1 -0
  55. package/projects/transaction/src/lib/assets/icons/lock_keyhole_open_solid.svg +1 -0
  56. package/projects/transaction/src/lib/assets/icons/lock_keyhole_solid.svg +1 -0
  57. package/projects/transaction/src/lib/assets/icons/magnifier.svg +12 -0
  58. package/projects/transaction/src/lib/assets/icons/map_marker.svg +1 -0
  59. package/projects/transaction/src/lib/assets/icons/master_detail.svg +1 -0
  60. package/projects/transaction/src/lib/assets/icons/memo_circle_check_solid.svg +1 -0
  61. package/projects/transaction/src/lib/assets/icons/menu.svg +1 -0
  62. package/projects/transaction/src/lib/assets/icons/message_sms_regular.svg +1 -0
  63. package/projects/transaction/src/lib/assets/icons/message_sms_solid.svg +1 -0
  64. package/projects/transaction/src/lib/assets/icons/object_intersect_solid.svg +1 -0
  65. package/projects/transaction/src/lib/assets/icons/pallet_boxes_solid.svg +1 -0
  66. package/projects/transaction/src/lib/assets/icons/pdf.svg +15 -0
  67. package/projects/transaction/src/lib/assets/icons/percent_solid.svg +1 -0
  68. package/projects/transaction/src/lib/assets/icons/plus_round.svg +9 -0
  69. package/projects/transaction/src/lib/assets/icons/plus_simple.svg +1 -0
  70. package/projects/transaction/src/lib/assets/icons/print_regular.svg +1 -0
  71. package/projects/transaction/src/lib/assets/icons/print_solid.svg +1 -0
  72. package/projects/transaction/src/lib/assets/icons/purchase.svg +15 -0
  73. package/projects/transaction/src/lib/assets/icons/resize.svg +3 -0
  74. package/projects/transaction/src/lib/assets/icons/share_solid.svg +1 -0
  75. package/projects/transaction/src/lib/assets/icons/shelves_light.svg +1 -0
  76. package/projects/transaction/src/lib/assets/icons/shelves_solid.svg +1 -0
  77. package/projects/transaction/src/lib/assets/icons/side_panel.svg +7 -0
  78. package/projects/transaction/src/lib/assets/icons/slide_in.svg +1 -0
  79. package/projects/transaction/src/lib/assets/icons/square_full.svg +1 -0
  80. package/projects/transaction/src/lib/assets/icons/square_full_solid.svg +1 -0
  81. package/projects/transaction/src/lib/assets/icons/sync_alt.svg +3 -0
  82. package/projects/transaction/src/lib/assets/icons/tag.svg +1 -0
  83. package/projects/transaction/src/lib/assets/icons/text_size_solid.svg +1 -0
  84. package/projects/transaction/src/lib/assets/icons/text_solid.svg +1 -0
  85. package/projects/transaction/src/lib/assets/icons/thick_lines.svg +1 -0
  86. package/projects/transaction/src/lib/assets/icons/thin_lines.svg +1 -0
  87. package/projects/transaction/src/lib/assets/icons/trash_bin.svg +1 -0
  88. package/projects/transaction/src/lib/assets/icons/trash_can_light.svg +1 -0
  89. package/projects/transaction/src/lib/assets/icons/triangle_down.svg +1 -0
  90. package/projects/transaction/src/lib/assets/icons/triangle_up.svg +1 -0
  91. package/projects/transaction/src/lib/assets/icons/truck.svg +1 -0
  92. package/projects/transaction/src/lib/assets/icons/truck_arrow_right_solid.svg +1 -0
  93. package/projects/transaction/src/lib/assets/icons/truck_container_solid.svg +1 -0
  94. package/projects/transaction/src/lib/assets/icons/truck_fast_solid.svg +1 -0
  95. package/projects/transaction/src/lib/assets/icons/truck_moving_solid.svg +1 -0
  96. package/projects/transaction/src/lib/assets/icons/txt.svg +9 -0
  97. package/projects/transaction/src/lib/assets/icons/unlock.svg +1 -0
  98. package/projects/transaction/src/lib/assets/icons/warehouse.svg +1 -0
  99. package/projects/transaction/src/lib/assets/icons/x_solid.svg +1 -0
  100. package/projects/transaction/src/lib/cache/cache-field.ts +91 -0
  101. package/projects/transaction/src/lib/cache/parameter-cache-field.ts +63 -0
  102. package/projects/transaction/src/lib/cache/service/business-object-cache-manager.service.ts +194 -0
  103. package/projects/transaction/src/lib/cache/service/select-multiple-cache.service.ts +36 -0
  104. package/projects/transaction/src/lib/cache/service/select-multiple-parameterized-cache.service.ts +46 -0
  105. package/projects/transaction/src/lib/cache/service/select-single-cache.service.ts +28 -0
  106. package/projects/transaction/src/lib/component/animated-checkbox/animated-checkbox.component.ts +26 -0
  107. package/projects/transaction/src/lib/component/animated-checkbox/animated-checkbox.module.ts +19 -0
  108. package/{lib → projects/transaction/src/lib}/component/animated-checkbox/style/_layout.scss +0 -0
  109. package/{lib → projects/transaction/src/lib}/component/animated-checkbox/style/_material-definition.scss +0 -0
  110. package/{lib → projects/transaction/src/lib}/component/animated-checkbox/style/_theme.scss +0 -0
  111. package/{lib → projects/transaction/src/lib}/component/animated-checkbox/style/material.scss +0 -0
  112. package/projects/transaction/src/lib/component/avatar/avatar.component.ts +120 -0
  113. package/projects/transaction/src/lib/component/avatar/avatar.module.ts +20 -0
  114. package/{lib → projects/transaction/src/lib}/component/avatar/style/_layout.scss +0 -0
  115. package/{lib → projects/transaction/src/lib}/component/avatar/style/_material-definition.scss +0 -0
  116. package/{lib → projects/transaction/src/lib}/component/avatar/style/_theme.scss +0 -0
  117. package/{lib → projects/transaction/src/lib}/component/avatar/style/material.scss +0 -0
  118. package/{lib → projects/transaction/src/lib}/component/checkout/checkout-login/checkout-login.component.scss +0 -0
  119. package/projects/transaction/src/lib/component/checkout/checkout-login/checkout-login.component.ts +115 -0
  120. package/{lib/component/core/base/components/characteristic-answer/style/_material-definition.scss → projects/transaction/src/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.scss} +0 -0
  121. package/projects/transaction/src/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.ts +50 -0
  122. package/projects/transaction/src/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.ts +296 -0
  123. package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-delivery-edit/style/_layout.scss +0 -0
  124. package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-delivery-edit/style/_material-definition.scss +0 -0
  125. package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-delivery-edit/style/_theme.scss +0 -0
  126. package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-delivery-edit/style/material.scss +0 -0
  127. package/projects/transaction/src/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.ts +107 -0
  128. package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-payment/style/_layout.scss +0 -0
  129. package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-payment/style/_material-definition.scss +0 -0
  130. package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-payment/style/_theme.scss +0 -0
  131. package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-payment/style/material.scss +0 -0
  132. package/projects/transaction/src/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.ts +256 -0
  133. package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-relation-edit/style/_layout.scss +0 -0
  134. package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +0 -0
  135. package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-relation-edit/style/_theme.scss +0 -0
  136. package/{lib → projects/transaction/src/lib}/component/checkout/checkout-overview-relation-edit/style/material.scss +0 -0
  137. package/projects/transaction/src/lib/component/checkout/checkout.component.ts +205 -0
  138. package/projects/transaction/src/lib/component/checkout/checkout.module.ts +144 -0
  139. package/{lib → projects/transaction/src/lib}/component/checkout/style/_layout.scss +0 -0
  140. package/{lib → projects/transaction/src/lib}/component/checkout/style/_material-definition.scss +0 -0
  141. package/{lib → projects/transaction/src/lib}/component/checkout/style/_theme.scss +0 -0
  142. package/{lib → projects/transaction/src/lib}/component/checkout/style/material.scss +0 -0
  143. package/projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.component.ts +72 -0
  144. package/projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.module.ts +23 -0
  145. package/{lib → projects/transaction/src/lib}/component/confirmation-dialog/style/_layout.scss +0 -0
  146. package/{lib → projects/transaction/src/lib}/component/confirmation-dialog/style/_material-definition.scss +0 -0
  147. package/{lib → projects/transaction/src/lib}/component/confirmation-dialog/style/_theme.scss +0 -0
  148. package/{lib → projects/transaction/src/lib}/component/confirmation-dialog/style/material.scss +0 -0
  149. package/projects/transaction/src/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.ts +87 -0
  150. package/projects/transaction/src/lib/component/core/base/components/characteristic-answer/characteristic-answer.module.ts +25 -0
  151. package/{lib → projects/transaction/src/lib}/component/core/base/components/characteristic-answer/style/_layout.scss +0 -0
  152. package/{lib/component/core/base/components/default-ok-cancel-buttons → projects/transaction/src/lib/component/core/base/components/characteristic-answer}/style/_material-definition.scss +0 -0
  153. package/{lib → projects/transaction/src/lib}/component/core/base/components/characteristic-answer/style/_theme.scss +0 -0
  154. package/{lib → projects/transaction/src/lib}/component/core/base/components/characteristic-answer/style/material.scss +0 -0
  155. package/projects/transaction/src/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component.ts +46 -0
  156. package/projects/transaction/src/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module.ts +20 -0
  157. package/{lib → projects/transaction/src/lib}/component/core/base/components/default-ok-cancel-buttons/style/_layout.scss +0 -0
  158. package/{lib/component/core/base/components/warehouse → projects/transaction/src/lib/component/core/base/components/default-ok-cancel-buttons}/style/_material-definition.scss +0 -0
  159. package/{lib → projects/transaction/src/lib}/component/core/base/components/default-ok-cancel-buttons/style/_theme.scss +0 -0
  160. package/{lib → projects/transaction/src/lib}/component/core/base/components/default-ok-cancel-buttons/style/material.scss +0 -0
  161. package/{lib → projects/transaction/src/lib}/component/core/base/components/transaction-header-block/style/_layout.scss +0 -0
  162. package/{lib → projects/transaction/src/lib}/component/core/base/components/transaction-header-block/style/_material-definition.scss +0 -0
  163. package/{lib → projects/transaction/src/lib}/component/core/base/components/transaction-header-block/style/_theme.scss +0 -0
  164. package/{lib → projects/transaction/src/lib}/component/core/base/components/transaction-header-block/style/material.scss +0 -0
  165. package/projects/transaction/src/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.ts +51 -0
  166. package/projects/transaction/src/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.ts +17 -0
  167. package/{lib → projects/transaction/src/lib}/component/core/base/components/warehouse/style/_layout.scss +0 -0
  168. package/{lib/component/dialog/catalog/dialog-catalog → projects/transaction/src/lib/component/core/base/components/warehouse}/style/_material-definition.scss +0 -0
  169. package/{lib → projects/transaction/src/lib}/component/core/base/components/warehouse/style/_theme.scss +0 -0
  170. package/{lib → projects/transaction/src/lib}/component/core/base/components/warehouse/style/material.scss +0 -0
  171. package/projects/transaction/src/lib/component/core/base/components/warehouse/warehouse.component.ts +65 -0
  172. package/projects/transaction/src/lib/component/core/base/components/warehouse/warehouse.module.ts +24 -0
  173. package/projects/transaction/src/lib/component/core/base/dialog-base.component.ts +8 -0
  174. package/projects/transaction/src/lib/component/core/base/dialog-transaction-base.component.ts +44 -0
  175. package/projects/transaction/src/lib/component/core/base/dynamic-base-component.ts +8 -0
  176. package/projects/transaction/src/lib/component/core/base/transaction-base.component.ts +188 -0
  177. package/projects/transaction/src/lib/component/core/base/transaction-filter-base.component.ts +70 -0
  178. package/projects/transaction/src/lib/component/core/base/transaction-filter-content-base.component.ts +49 -0
  179. package/projects/transaction/src/lib/component/core/base/transaction-filter-popup-base.component.ts +113 -0
  180. package/projects/transaction/src/lib/component/core/base/transaction-grid-base.component.ts +54 -0
  181. package/projects/transaction/src/lib/component/core/base/transaction-header-filter-popup-base.component.ts +124 -0
  182. package/projects/transaction/src/lib/component/core/base/transaction-input-field-base.component.ts +54 -0
  183. package/projects/transaction/src/lib/component/core/base/transaction-lines-grid-view-base.component.ts +6 -0
  184. package/projects/transaction/src/lib/component/core/base/transaction-lines-list-view-base.component.ts +6 -0
  185. package/projects/transaction/src/lib/component/core/base/transaction-search-grid-base.component.ts +24 -0
  186. package/projects/transaction/src/lib/component/core/base/transaction-search-tile-base.component.ts +30 -0
  187. package/projects/transaction/src/lib/component/core/characteristic-answer/characteristic-answer.component.ts +104 -0
  188. package/projects/transaction/src/lib/component/core/core.module.ts +47 -0
  189. package/projects/transaction/src/lib/component/core/directive/lazy-render-master.directive.ts +47 -0
  190. package/projects/transaction/src/lib/component/core/directive/lazy-render.directive.ts +37 -0
  191. package/projects/transaction/src/lib/component/core/directive/template-wrapper.directive.ts +72 -0
  192. package/projects/transaction/src/lib/component/core/enum/app-popup-button-type.enum.ts +9 -0
  193. package/projects/transaction/src/lib/component/core/enum/app-popup-type.enum.ts +6 -0
  194. package/{lib → projects/transaction/src/lib}/component/core/icon/icon.component.scss +0 -0
  195. package/projects/transaction/src/lib/component/core/icon/icon.component.ts +33 -0
  196. package/projects/transaction/src/lib/component/core/image-display/image-display.component.ts +27 -0
  197. package/{lib → projects/transaction/src/lib}/component/core/image-display/style/_layout.scss +0 -0
  198. package/{lib → projects/transaction/src/lib}/component/core/image-display/style/_material-definition.scss +0 -0
  199. package/{lib → projects/transaction/src/lib}/component/core/image-display/style/_theme.scss +0 -0
  200. package/{lib → projects/transaction/src/lib}/component/core/image-display/style/material.scss +0 -0
  201. package/projects/transaction/src/lib/component/core/relation/customer-groups.component.ts +47 -0
  202. package/{lib → projects/transaction/src/lib}/component/core/relation/relation-customer-groups.component.scss +0 -0
  203. package/{lib → projects/transaction/src/lib}/component/core/stock-status-indicator/stock-status-indicator.component.scss +0 -0
  204. package/projects/transaction/src/lib/component/core/stock-status-indicator/stock-status-indicator.component.ts +25 -0
  205. package/projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.component.ts +48 -0
  206. package/projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.module.ts +25 -0
  207. package/{lib → projects/transaction/src/lib}/component/delivery-type-tile/style/_layout.scss +0 -0
  208. package/{lib → projects/transaction/src/lib}/component/delivery-type-tile/style/_material-definition.scss +0 -0
  209. package/{lib → projects/transaction/src/lib}/component/delivery-type-tile/style/_theme.scss +0 -0
  210. package/{lib → projects/transaction/src/lib}/component/delivery-type-tile/style/material.scss +0 -0
  211. package/projects/transaction/src/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.ts +53 -0
  212. package/projects/transaction/src/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.ts +21 -0
  213. package/{lib → projects/transaction/src/lib}/component/dialog/catalog/dialog-catalog/style/_layout.scss +0 -0
  214. package/{lib/component/dialog/transaction-header/dialog-transaction-header-branch → projects/transaction/src/lib/component/dialog/catalog/dialog-catalog}/style/_material-definition.scss +0 -0
  215. package/{lib → projects/transaction/src/lib}/component/dialog/catalog/dialog-catalog/style/_theme.scss +0 -0
  216. package/{lib → projects/transaction/src/lib}/component/dialog/catalog/dialog-catalog/style/material.scss +0 -0
  217. package/projects/transaction/src/lib/component/dialog/dialog-header-search/dialog-header-search.component.ts +40 -0
  218. package/projects/transaction/src/lib/component/dialog/dialog-header-search/dialog-header-search.module.ts +21 -0
  219. package/{lib → projects/transaction/src/lib}/component/dialog/dialog-header-search/style/_layout.scss +0 -0
  220. package/{lib → projects/transaction/src/lib}/component/dialog/dialog-header-search/style/_material-definition.scss +0 -0
  221. package/{lib → projects/transaction/src/lib}/component/dialog/dialog-header-search/style/_theme.scss +0 -0
  222. package/{lib → projects/transaction/src/lib}/component/dialog/dialog-header-search/style/material.scss +0 -0
  223. package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-branch/dialog-transaction-header-branch.component.ts +24 -0
  224. package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-branch/dialog-transaction-header-branch.module.ts +23 -0
  225. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-branch/style/_layout.scss +0 -0
  226. package/{lib/component/discount → projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-branch}/style/_material-definition.scss +0 -0
  227. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-branch/style/_theme.scss +0 -0
  228. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-branch/style/material.scss +0 -0
  229. package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.ts +35 -0
  230. package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.ts +26 -0
  231. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_layout.scss +0 -0
  232. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_material-definition.scss +0 -0
  233. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_theme.scss +0 -0
  234. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/material.scss +0 -0
  235. package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.ts +70 -0
  236. package/projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.ts +27 -0
  237. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/_layout.scss +0 -0
  238. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/_material-definition.scss +0 -0
  239. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/_theme.scss +0 -0
  240. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-header/dialog-transaction-header-discount/style/material.scss +0 -0
  241. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.ts +33 -0
  242. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.ts +26 -0
  243. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_layout.scss +0 -0
  244. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_material-definition.scss +0 -0
  245. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_theme.scss +0 -0
  246. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/material.scss +0 -0
  247. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.ts +34 -0
  248. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module.ts +26 -0
  249. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_layout.scss +0 -0
  250. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_material-definition.scss +0 -0
  251. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_theme.scss +0 -0
  252. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/material.scss +0 -0
  253. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.ts +93 -0
  254. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.ts +34 -0
  255. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/_layout.scss +0 -0
  256. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/_material-definition.scss +0 -0
  257. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/_theme.scss +0 -0
  258. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-discount/style/material.scss +0 -0
  259. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.ts +34 -0
  260. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.ts +26 -0
  261. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_layout.scss +0 -0
  262. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_material-definition.scss +0 -0
  263. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_theme.scss +0 -0
  264. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-price-list/style/material.scss +0 -0
  265. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.ts +34 -0
  266. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.ts +26 -0
  267. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_layout.scss +0 -0
  268. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_material-definition.scss +0 -0
  269. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_theme.scss +0 -0
  270. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-supplier/style/material.scss +0 -0
  271. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.ts +35 -0
  272. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.ts +26 -0
  273. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/_layout.scss +0 -0
  274. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/_material-definition.scss +0 -0
  275. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/_theme.scss +0 -0
  276. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-vat/style/material.scss +0 -0
  277. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.ts +33 -0
  278. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module.ts +26 -0
  279. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_layout.scss +0 -0
  280. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_material-definition.scss +0 -0
  281. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_theme.scss +0 -0
  282. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/material.scss +0 -0
  283. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.ts +84 -0
  284. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.ts +29 -0
  285. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_layout.scss +0 -0
  286. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_material-definition.scss +0 -0
  287. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_theme.scss +0 -0
  288. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/material.scss +0 -0
  289. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.ts +42 -0
  290. package/projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.ts +26 -0
  291. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_layout.scss +0 -0
  292. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_material-definition.scss +0 -0
  293. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_theme.scss +0 -0
  294. package/{lib → projects/transaction/src/lib}/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/material.scss +0 -0
  295. package/projects/transaction/src/lib/component/discount/discount.component.ts +120 -0
  296. package/projects/transaction/src/lib/component/discount/discount.module.ts +26 -0
  297. package/{lib → projects/transaction/src/lib}/component/discount/style/_layout.scss +0 -0
  298. package/{lib/component/payment-qr-code → projects/transaction/src/lib/component/discount}/style/_material-definition.scss +0 -0
  299. package/{lib → projects/transaction/src/lib}/component/discount/style/_theme.scss +0 -0
  300. package/{lib → projects/transaction/src/lib}/component/discount/style/material.scss +0 -0
  301. package/projects/transaction/src/lib/component/down-payment/down-payment.component.ts +77 -0
  302. package/projects/transaction/src/lib/component/down-payment/down-payment.module.ts +25 -0
  303. package/{lib → projects/transaction/src/lib}/component/down-payment/style/_layout.scss +0 -0
  304. package/{lib → projects/transaction/src/lib}/component/down-payment/style/_material-definition.scss +0 -0
  305. package/{lib → projects/transaction/src/lib}/component/down-payment/style/_theme.scss +0 -0
  306. package/{lib → projects/transaction/src/lib}/component/down-payment/style/material.scss +0 -0
  307. package/projects/transaction/src/lib/component/editable-label/editable-label.component.ts +74 -0
  308. package/projects/transaction/src/lib/component/editable-label/editable-label.module.ts +18 -0
  309. package/{lib → projects/transaction/src/lib}/component/editable-label/style/_layout.scss +0 -0
  310. package/{lib → projects/transaction/src/lib}/component/editable-label/style/_material-definition.scss +0 -0
  311. package/{lib → projects/transaction/src/lib}/component/editable-label/style/_theme.scss +0 -0
  312. package/{lib → projects/transaction/src/lib}/component/editable-label/style/material.scss +0 -0
  313. package/projects/transaction/src/lib/component/loader/loader.component.ts +49 -0
  314. package/projects/transaction/src/lib/component/loader/loader.module.ts +17 -0
  315. package/{lib → projects/transaction/src/lib}/component/loader/style/_layout.scss +0 -0
  316. package/{lib → projects/transaction/src/lib}/component/loader/style/_material-definition.scss +0 -0
  317. package/{lib → projects/transaction/src/lib}/component/loader/style/_theme.scss +0 -0
  318. package/{lib → projects/transaction/src/lib}/component/loader/style/material.scss +0 -0
  319. package/projects/transaction/src/lib/component/order-confirmation-create/order-confirmation-create.component.ts +42 -0
  320. package/projects/transaction/src/lib/component/order-confirmation-create/order-confirmation-create.module.ts +26 -0
  321. package/{lib → projects/transaction/src/lib}/component/order-confirmation-create/style/_layout.scss +0 -0
  322. package/{lib → projects/transaction/src/lib}/component/order-confirmation-create/style/_material-definition.scss +0 -0
  323. package/{lib → projects/transaction/src/lib}/component/order-confirmation-create/style/_theme.scss +0 -0
  324. package/{lib → projects/transaction/src/lib}/component/order-confirmation-create/style/material.scss +0 -0
  325. package/projects/transaction/src/lib/component/payment/payment.component.ts +264 -0
  326. package/projects/transaction/src/lib/component/payment/payment.module.ts +36 -0
  327. package/{lib → projects/transaction/src/lib}/component/payment/style/_layout.scss +0 -0
  328. package/{lib → projects/transaction/src/lib}/component/payment/style/_material-definition.scss +0 -0
  329. package/{lib → projects/transaction/src/lib}/component/payment/style/_theme.scss +0 -0
  330. package/{lib → projects/transaction/src/lib}/component/payment/style/material.scss +0 -0
  331. package/projects/transaction/src/lib/component/payment-qr-code/payment-qr-code.component.ts +24 -0
  332. package/projects/transaction/src/lib/component/payment-qr-code/payment-qr-code.module.ts +21 -0
  333. package/{lib → projects/transaction/src/lib}/component/payment-qr-code/style/_layout.scss +0 -0
  334. package/{lib/component/payment-tile → projects/transaction/src/lib/component/payment-qr-code}/style/_material-definition.scss +0 -0
  335. package/{lib → projects/transaction/src/lib}/component/payment-qr-code/style/_theme.scss +0 -0
  336. package/{lib → projects/transaction/src/lib}/component/payment-qr-code/style/material.scss +0 -0
  337. package/projects/transaction/src/lib/component/payment-tile/payment-tile.component.ts +38 -0
  338. package/projects/transaction/src/lib/component/payment-tile/payment-tile.module.ts +24 -0
  339. package/{lib → projects/transaction/src/lib}/component/payment-tile/style/_layout.scss +0 -0
  340. package/{lib/component/relation/relation-suggestions-list → projects/transaction/src/lib/component/payment-tile}/style/_material-definition.scss +0 -0
  341. package/{lib → projects/transaction/src/lib}/component/payment-tile/style/_theme.scss +0 -0
  342. package/{lib → projects/transaction/src/lib}/component/payment-tile/style/material.scss +0 -0
  343. package/projects/transaction/src/lib/component/quick-send-button/quick-send-button.component.ts +60 -0
  344. package/projects/transaction/src/lib/component/quick-send-button/quick-send-button.module.ts +25 -0
  345. package/{lib → projects/transaction/src/lib}/component/quick-send-button/style/_layout.scss +0 -0
  346. package/{lib → projects/transaction/src/lib}/component/quick-send-button/style/_material-definition.scss +0 -0
  347. package/{lib → projects/transaction/src/lib}/component/quick-send-button/style/_theme.scss +0 -0
  348. package/{lib → projects/transaction/src/lib}/component/quick-send-button/style/material.scss +0 -0
  349. package/projects/transaction/src/lib/component/relation/relation-address/relation-address.component.ts +113 -0
  350. package/projects/transaction/src/lib/component/relation/relation-address/relation-address.module.ts +28 -0
  351. package/{lib → projects/transaction/src/lib}/component/relation/relation-address/style/_layout.scss +0 -0
  352. package/{lib → projects/transaction/src/lib}/component/relation/relation-address/style/_material-definition.scss +0 -0
  353. package/{lib → projects/transaction/src/lib}/component/relation/relation-address/style/_theme.scss +0 -0
  354. package/{lib → projects/transaction/src/lib}/component/relation/relation-address/style/material.scss +0 -0
  355. package/projects/transaction/src/lib/component/relation/relation-address-select/relation-address-select.component.ts +158 -0
  356. package/projects/transaction/src/lib/component/relation/relation-address-select/relation-address-select.module.ts +32 -0
  357. package/{lib → projects/transaction/src/lib}/component/relation/relation-address-select/style/_layout.scss +0 -0
  358. package/{lib → projects/transaction/src/lib}/component/relation/relation-address-select/style/_material-definition.scss +0 -0
  359. package/{lib → projects/transaction/src/lib}/component/relation/relation-address-select/style/_theme.scss +0 -0
  360. package/{lib → projects/transaction/src/lib}/component/relation/relation-address-select/style/material.scss +0 -0
  361. package/projects/transaction/src/lib/component/relation/relation-address-tile/relation-address-tile.component.ts +70 -0
  362. package/projects/transaction/src/lib/component/relation/relation-address-tile/relation-address-tile.module.ts +31 -0
  363. package/{lib → projects/transaction/src/lib}/component/relation/relation-address-tile/style/_layout.scss +0 -0
  364. package/{lib → projects/transaction/src/lib}/component/relation/relation-address-tile/style/_material-definition.scss +0 -0
  365. package/{lib → projects/transaction/src/lib}/component/relation/relation-address-tile/style/_theme.scss +0 -0
  366. package/{lib → projects/transaction/src/lib}/component/relation/relation-address-tile/style/material.scss +0 -0
  367. package/projects/transaction/src/lib/component/relation/relation-addresses/relation-addresses.component.ts +123 -0
  368. package/projects/transaction/src/lib/component/relation/relation-addresses/relation-addresses.module.ts +32 -0
  369. package/{lib → projects/transaction/src/lib}/component/relation/relation-addresses/style/_layout.scss +0 -0
  370. package/{lib → projects/transaction/src/lib}/component/relation/relation-addresses/style/_material-definition.scss +0 -0
  371. package/{lib → projects/transaction/src/lib}/component/relation/relation-addresses/style/_theme.scss +0 -0
  372. package/{lib → projects/transaction/src/lib}/component/relation/relation-addresses/style/material.scss +0 -0
  373. package/projects/transaction/src/lib/component/relation/relation-base.component.ts +33 -0
  374. package/projects/transaction/src/lib/component/relation/relation-contact-details/relation-contact-details.component.ts +65 -0
  375. package/projects/transaction/src/lib/component/relation/relation-contact-details/relation-contact-details.module.ts +22 -0
  376. package/{lib → projects/transaction/src/lib}/component/relation/relation-contact-details/style/_layout.scss +0 -0
  377. package/{lib → projects/transaction/src/lib}/component/relation/relation-contact-details/style/_material-definition.scss +0 -0
  378. package/{lib → projects/transaction/src/lib}/component/relation/relation-contact-details/style/_theme.scss +0 -0
  379. package/{lib → projects/transaction/src/lib}/component/relation/relation-contact-details/style/material.scss +0 -0
  380. package/projects/transaction/src/lib/component/relation/relation-general/relation-general.component.ts +237 -0
  381. package/projects/transaction/src/lib/component/relation/relation-general/relation-general.module.ts +25 -0
  382. package/{lib → projects/transaction/src/lib}/component/relation/relation-general/style/_layout.scss +0 -0
  383. package/{lib → projects/transaction/src/lib}/component/relation/relation-general/style/_material-definition.scss +0 -0
  384. package/{lib → projects/transaction/src/lib}/component/relation/relation-general/style/_theme.scss +0 -0
  385. package/{lib → projects/transaction/src/lib}/component/relation/relation-general/style/material.scss +0 -0
  386. package/projects/transaction/src/lib/component/relation/relation-preferences/relation-preferences.component.ts +64 -0
  387. package/projects/transaction/src/lib/component/relation/relation-preferences/relation-preferences.module.ts +19 -0
  388. package/{lib → projects/transaction/src/lib}/component/relation/relation-preferences/style/_layout.scss +0 -0
  389. package/{lib → projects/transaction/src/lib}/component/relation/relation-preferences/style/_material-definition.scss +0 -0
  390. package/{lib → projects/transaction/src/lib}/component/relation/relation-preferences/style/_theme.scss +0 -0
  391. package/{lib → projects/transaction/src/lib}/component/relation/relation-preferences/style/material.scss +0 -0
  392. package/projects/transaction/src/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.ts +28 -0
  393. package/projects/transaction/src/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.ts +19 -0
  394. package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list/style/_layout.scss +0 -0
  395. package/{lib/component/relation/relation-type → projects/transaction/src/lib/component/relation/relation-suggestions-list}/style/_material-definition.scss +0 -0
  396. package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list/style/_theme.scss +0 -0
  397. package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list/style/material.scss +0 -0
  398. package/projects/transaction/src/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.ts +33 -0
  399. package/projects/transaction/src/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.ts +17 -0
  400. package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list-item/style/_layout.scss +0 -0
  401. package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list-item/style/_material-definition.scss +0 -0
  402. package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list-item/style/_theme.scss +0 -0
  403. package/{lib → projects/transaction/src/lib}/component/relation/relation-suggestions-list-item/style/material.scss +0 -0
  404. package/projects/transaction/src/lib/component/relation/relation-type/relation-type.component.ts +48 -0
  405. package/projects/transaction/src/lib/component/relation/relation-type/relation-type.module.ts +21 -0
  406. package/{lib → projects/transaction/src/lib}/component/relation/relation-type/style/_layout.scss +0 -0
  407. package/{lib/component/transaction-allocate-goods-history → projects/transaction/src/lib/component/relation/relation-type}/style/_material-definition.scss +0 -0
  408. package/{lib → projects/transaction/src/lib}/component/relation/relation-type/style/_theme.scss +0 -0
  409. package/{lib → projects/transaction/src/lib}/component/relation/relation-type/style/material.scss +0 -0
  410. package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text/style/_layout.scss +0 -0
  411. package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text/style/_material-definition.scss +0 -0
  412. package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text/style/_theme.scss +0 -0
  413. package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text/style/material.scss +0 -0
  414. package/projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.component.ts +181 -0
  415. package/projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.module.ts +40 -0
  416. package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text-overview/style/_layout.scss +0 -0
  417. package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text-overview/style/_material-definition.scss +0 -0
  418. package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text-overview/style/_theme.scss +0 -0
  419. package/{lib → projects/transaction/src/lib}/component/shared/transaction-article-text-overview/style/material.scss +0 -0
  420. package/projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.ts +145 -0
  421. package/projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.ts +27 -0
  422. package/projects/transaction/src/lib/component/shopping-cart/shopping-cart.component.ts +73 -0
  423. package/projects/transaction/src/lib/component/shopping-cart/shopping-cart.module.ts +25 -0
  424. package/{lib → projects/transaction/src/lib}/component/shopping-cart/style/_layout.scss +0 -0
  425. package/{lib → projects/transaction/src/lib}/component/shopping-cart/style/_material-definition.scss +0 -0
  426. package/{lib → projects/transaction/src/lib}/component/shopping-cart/style/_theme.scss +0 -0
  427. package/{lib → projects/transaction/src/lib}/component/shopping-cart/style/material.scss +0 -0
  428. package/projects/transaction/src/lib/component/shopping-cart-OLD/ione-shopping-cart.component.ts +190 -0
  429. package/projects/transaction/src/lib/component/shopping-cart-OLD/ione-shopping-cart.module.ts +81 -0
  430. package/{lib → projects/transaction/src/lib}/component/shopping-cart-OLD/shopping-cart-manager/shopping-cart-manager.component.scss +0 -0
  431. package/projects/transaction/src/lib/component/shopping-cart-OLD/shopping-cart-manager/shopping-cart-manager.component.ts +508 -0
  432. package/projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.component.ts +59 -0
  433. package/projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.module.ts +27 -0
  434. package/{lib → projects/transaction/src/lib}/component/shopping-cart-preview/style/_layout.scss +0 -0
  435. package/{lib → projects/transaction/src/lib}/component/shopping-cart-preview/style/_material-definition.scss +0 -0
  436. package/{lib → projects/transaction/src/lib}/component/shopping-cart-preview/style/_theme.scss +0 -0
  437. package/{lib → projects/transaction/src/lib}/component/shopping-cart-preview/style/material.scss +0 -0
  438. package/projects/transaction/src/lib/component/stepper/component/stepper-step.component.ts +45 -0
  439. package/projects/transaction/src/lib/component/stepper/stepper.component.ts +148 -0
  440. package/projects/transaction/src/lib/component/stepper/stepper.module.ts +28 -0
  441. package/{lib → projects/transaction/src/lib}/component/stepper/style/_layout.scss +0 -0
  442. package/{lib → projects/transaction/src/lib}/component/stepper/style/_material-definition.scss +0 -0
  443. package/{lib → projects/transaction/src/lib}/component/stepper/style/_theme.scss +0 -0
  444. package/{lib → projects/transaction/src/lib}/component/stepper/style/material.scss +0 -0
  445. package/{lib → projects/transaction/src/lib}/component/tile/style/_layout.scss +0 -0
  446. package/{lib → projects/transaction/src/lib}/component/tile/style/_material-definition.scss +0 -0
  447. package/{lib → projects/transaction/src/lib}/component/tile/style/_theme.scss +0 -0
  448. package/{lib → projects/transaction/src/lib}/component/tile/style/material.scss +0 -0
  449. package/projects/transaction/src/lib/component/tile/tile.component.ts +31 -0
  450. package/projects/transaction/src/lib/component/tile/tile.module.ts +18 -0
  451. package/projects/transaction/src/lib/component/toast/style/_layout.scss +24 -0
  452. package/projects/transaction/src/lib/component/toast/style/_material-definition.scss +6 -0
  453. package/projects/transaction/src/lib/component/toast/style/_theme.scss +10 -0
  454. package/{lib/component/transaction-allocate-goods-history → projects/transaction/src/lib/component/toast}/style/material.scss +0 -0
  455. package/projects/transaction/src/lib/component/toast/toast.component.ts +35 -0
  456. package/projects/transaction/src/lib/component/toast/toast.module.ts +17 -0
  457. package/projects/transaction/src/lib/component/transaction/style/_layout.scss +56 -0
  458. package/{lib → projects/transaction/src/lib}/component/transaction/style/_material-definition.scss +0 -0
  459. package/{lib → projects/transaction/src/lib}/component/transaction/style/_theme.scss +0 -0
  460. package/projects/transaction/src/lib/component/transaction/style/material.scss +14 -0
  461. package/projects/transaction/src/lib/component/transaction/transaction.component.ts +206 -0
  462. package/projects/transaction/src/lib/component/transaction/transaction.module.ts +68 -0
  463. package/{lib → projects/transaction/src/lib}/component/transaction-allocate-goods-history/style/_layout.scss +0 -0
  464. package/{lib/component/transaction-grid/transaction-available-stock-grid → projects/transaction/src/lib/component/transaction-allocate-goods-history}/style/_material-definition.scss +0 -0
  465. package/{lib → projects/transaction/src/lib}/component/transaction-allocate-goods-history/style/_theme.scss +0 -0
  466. package/{lib/component/transaction-line-checkbox-list → projects/transaction/src/lib/component/transaction-allocate-goods-history}/style/material.scss +0 -0
  467. package/projects/transaction/src/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.ts +95 -0
  468. package/projects/transaction/src/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.ts +26 -0
  469. package/{lib → projects/transaction/src/lib}/component/transaction-button-bar/style/_layout.scss +0 -0
  470. package/{lib → projects/transaction/src/lib}/component/transaction-button-bar/style/_material-definition.scss +0 -0
  471. package/{lib → projects/transaction/src/lib}/component/transaction-button-bar/style/_theme.scss +0 -0
  472. package/{lib → projects/transaction/src/lib}/component/transaction-button-bar/style/material.scss +0 -0
  473. package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.ts +45 -0
  474. package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.ts +76 -0
  475. package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.ts +40 -0
  476. package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar.component.ts +63 -0
  477. package/projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar.module.ts +33 -0
  478. package/projects/transaction/src/lib/component/transaction-card/transaction-card/style/_layout.scss +12 -0
  479. package/{lib/component/transaction-line-side-panel-purchase → projects/transaction/src/lib/component/transaction-card/transaction-card}/style/_material-definition.scss +0 -0
  480. package/projects/transaction/src/lib/component/transaction-card/transaction-card/style/_theme.scss +4 -0
  481. package/projects/transaction/src/lib/component/transaction-card/transaction-card/style/material.scss +7 -0
  482. package/projects/transaction/src/lib/component/transaction-card/transaction-card/transaction-card.component.ts +125 -0
  483. package/projects/transaction/src/lib/component/transaction-card/transaction-card/transaction-card.module.ts +28 -0
  484. package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/style/_layout.scss +25 -0
  485. package/{lib/component/transaction-grid/transaction-grid → projects/transaction/src/lib/component/transaction-card/transaction-card-footer}/style/_material-definition.scss +0 -0
  486. package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/style/_theme.scss +4 -0
  487. package/{lib/component/transaction-grid/transaction-received-goods-grid → projects/transaction/src/lib/component/transaction-card/transaction-card-footer}/style/material.scss +0 -0
  488. package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/transaction-card-footer.component.ts +59 -0
  489. package/projects/transaction/src/lib/component/transaction-card/transaction-card-footer/transaction-card-footer.module.ts +24 -0
  490. package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/style/_layout.scss +66 -0
  491. package/{lib/component/transaction-grid/transaction-received-goods-grid → projects/transaction/src/lib/component/transaction-card/transaction-card-header}/style/_material-definition.scss +0 -0
  492. package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/style/_theme.scss +4 -0
  493. package/{lib/component/transaction-header-fields/transaction-header-delivery-options → projects/transaction/src/lib/component/transaction-card/transaction-card-header}/style/material.scss +0 -0
  494. package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/transaction-card-header.component.ts +68 -0
  495. package/projects/transaction/src/lib/component/transaction-card/transaction-card-header/transaction-card-header.module.ts +31 -0
  496. package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/style/_layout.scss +67 -0
  497. package/{lib/component/transaction-line-fields/transaction-line-price → projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview}/style/_material-definition.scss +0 -0
  498. package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/style/_theme.scss +4 -0
  499. package/{lib/component/transaction-line-fields/transaction-line-price → projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview}/style/material.scss +0 -0
  500. package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.component.ts +64 -0
  501. package/projects/transaction/src/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.module.ts +44 -0
  502. package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/style/_layout.scss +4 -0
  503. package/{lib/component/transaction-line-grid → projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview}/style/_material-definition.scss +0 -0
  504. package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/style/_theme.scss +4 -0
  505. package/{lib/component/transaction-line/transaction-base-line → projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview}/style/material.scss +0 -0
  506. package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.component.ts +21 -0
  507. package/projects/transaction/src/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.module.ts +18 -0
  508. package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-details/style/_layout.scss +0 -0
  509. package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-details/style/_material-definition.scss +0 -0
  510. package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-details/style/_theme.scss +0 -0
  511. package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-details/style/material.scss +0 -0
  512. package/projects/transaction/src/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.ts +148 -0
  513. package/projects/transaction/src/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.ts +40 -0
  514. package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-history/style/_layout.scss +0 -0
  515. package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-history/style/_material-definition.scss +0 -0
  516. package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-history/style/_theme.scss +0 -0
  517. package/{lib → projects/transaction/src/lib}/component/transaction-confirmation-history/style/material.scss +0 -0
  518. package/projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.ts +129 -0
  519. package/projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.ts +38 -0
  520. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-available-stock-grid/style/_layout.scss +0 -0
  521. package/{lib/component/transaction-line-side-panel-sales → projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid}/style/_material-definition.scss +0 -0
  522. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-available-stock-grid/style/_theme.scss +0 -0
  523. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-available-stock-grid/style/material.scss +0 -0
  524. package/projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.ts +107 -0
  525. package/projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module.ts +23 -0
  526. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-base-grid/style/_layout.scss +0 -0
  527. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-base-grid/style/_material-definition.scss +0 -0
  528. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-base-grid/style/_theme.scss +0 -0
  529. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-base-grid/style/material.scss +0 -0
  530. package/projects/transaction/src/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.ts +49 -0
  531. package/projects/transaction/src/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.ts +31 -0
  532. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-grid/style/_layout.scss +0 -0
  533. package/{lib/component/transaction-line/transaction-goods-allocation-line → projects/transaction/src/lib/component/transaction-grid/transaction-grid}/style/_material-definition.scss +0 -0
  534. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-grid/style/_theme.scss +0 -0
  535. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-grid/style/material.scss +0 -0
  536. package/projects/transaction/src/lib/component/transaction-grid/transaction-grid/transaction-grid.component.ts +91 -0
  537. package/projects/transaction/src/lib/component/transaction-grid/transaction-grid/transaction-grid.module.ts +17 -0
  538. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-history-grid/style/_layout.scss +0 -0
  539. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-history-grid/style/_material-definition.scss +0 -0
  540. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-history-grid/style/_theme.scss +0 -0
  541. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-history-grid/style/material.scss +0 -0
  542. package/projects/transaction/src/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.ts +102 -0
  543. package/projects/transaction/src/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.ts +26 -0
  544. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-lines-grid/style/_layout.scss +0 -0
  545. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-lines-grid/style/_material-definition.scss +0 -0
  546. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-lines-grid/style/_theme.scss +0 -0
  547. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-lines-grid/style/material.scss +0 -0
  548. package/projects/transaction/src/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.ts +119 -0
  549. package/projects/transaction/src/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.ts +48 -0
  550. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-order-confirmation-grid/style/_layout.scss +0 -0
  551. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-order-confirmation-grid/style/_material-definition.scss +0 -0
  552. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-order-confirmation-grid/style/_theme.scss +0 -0
  553. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-order-confirmation-grid/style/material.scss +0 -0
  554. package/projects/transaction/src/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.ts +48 -0
  555. package/projects/transaction/src/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.ts +28 -0
  556. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-received-goods-grid/style/_layout.scss +0 -0
  557. package/{lib/component/transaction-line/transaction-order-delivery-line → projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid}/style/_material-definition.scss +0 -0
  558. package/{lib → projects/transaction/src/lib}/component/transaction-grid/transaction-received-goods-grid/style/_theme.scss +0 -0
  559. package/{lib/component/transaction-line/transaction-goods-allocation-line → projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid}/style/material.scss +0 -0
  560. package/projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.ts +165 -0
  561. package/projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.ts +41 -0
  562. package/{lib → projects/transaction/src/lib}/component/transaction-header/style/_layout.scss +0 -0
  563. package/{lib → projects/transaction/src/lib}/component/transaction-header/style/_material-definition.scss +0 -0
  564. package/{lib → projects/transaction/src/lib}/component/transaction-header/style/_theme.scss +0 -0
  565. package/{lib → projects/transaction/src/lib}/component/transaction-header/style/material.scss +0 -0
  566. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header/style/_layout.scss +0 -0
  567. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header/style/_material-definition.scss +0 -0
  568. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header/style/_theme.scss +0 -0
  569. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header/style/material.scss +0 -0
  570. package/projects/transaction/src/lib/component/transaction-header/transaction-header/transaction-header.component.ts +51 -0
  571. package/projects/transaction/src/lib/component/transaction-header/transaction-header/transaction-header.module.ts +28 -0
  572. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-delivery/style/_layout.scss +0 -0
  573. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-delivery/style/_material-definition.scss +0 -0
  574. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-delivery/style/_theme.scss +0 -0
  575. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-delivery/style/material.scss +0 -0
  576. package/projects/transaction/src/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.ts +128 -0
  577. package/projects/transaction/src/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.ts +45 -0
  578. package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/style/_layout.scss +55 -0
  579. package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/style/_material-definition.scss +13 -0
  580. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-order/style/_theme.scss +0 -0
  581. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-order/style/material.scss +0 -0
  582. package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.ts +51 -0
  583. package/projects/transaction/src/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.ts +30 -0
  584. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-payment/style/_layout.scss +0 -0
  585. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-payment/style/_material-definition.scss +0 -0
  586. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-payment/style/_theme.scss +0 -0
  587. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-payment/style/material.scss +0 -0
  588. package/projects/transaction/src/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.ts +118 -0
  589. package/projects/transaction/src/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.ts +33 -0
  590. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-relation/style/_layout.scss +0 -0
  591. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-relation/style/_material-definition.scss +0 -0
  592. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-relation/style/_theme.scss +0 -0
  593. package/{lib → projects/transaction/src/lib}/component/transaction-header/transaction-header-relation/style/material.scss +0 -0
  594. package/projects/transaction/src/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.ts +235 -0
  595. package/projects/transaction/src/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.ts +43 -0
  596. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.ts +60 -0
  597. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.ts +21 -0
  598. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-branch.component.ts +76 -0
  599. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-branch.module.ts +24 -0
  600. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-definitive.component.ts +41 -0
  601. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-definitive.module.ts +21 -0
  602. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-date.component.ts +46 -0
  603. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-date.module.ts +21 -0
  604. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-method.component.ts +94 -0
  605. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-method.module.ts +27 -0
  606. package/{lib → projects/transaction/src/lib}/component/transaction-header-fields/transaction-header-delivery-options/style/_layout.scss +0 -0
  607. package/{lib → projects/transaction/src/lib}/component/transaction-header-fields/transaction-header-delivery-options/style/_material-definition.scss +0 -0
  608. package/{lib → projects/transaction/src/lib}/component/transaction-header-fields/transaction-header-delivery-options/style/_theme.scss +0 -0
  609. package/{lib/component/transaction-line/transaction-order-delivery-line → projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options}/style/material.scss +0 -0
  610. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.ts +77 -0
  611. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module.ts +21 -0
  612. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-amount.component.ts +50 -0
  613. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-amount.module.ts +21 -0
  614. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-button.component.ts +51 -0
  615. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-button.module.ts +24 -0
  616. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.ts +50 -0
  617. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-percentage.module.ts +21 -0
  618. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.ts +51 -0
  619. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module.ts +21 -0
  620. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.ts +49 -0
  621. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.ts +21 -0
  622. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.ts +49 -0
  623. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.ts +21 -0
  624. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-marketing.component.ts +48 -0
  625. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-marketing.module.ts +24 -0
  626. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.ts +47 -0
  627. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.ts +21 -0
  628. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.ts +51 -0
  629. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.ts +21 -0
  630. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-reference.component.ts +48 -0
  631. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-reference.module.ts +21 -0
  632. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-relation-reference.component.ts +48 -0
  633. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-relation-reference.module.ts +21 -0
  634. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-remarks.component.ts +48 -0
  635. package/projects/transaction/src/lib/component/transaction-header-fields/transaction-header-remarks.module.ts +21 -0
  636. package/{lib → projects/transaction/src/lib}/component/transaction-history-grid-status/style/_layout.scss +0 -0
  637. package/{lib → projects/transaction/src/lib}/component/transaction-history-grid-status/style/_material-definition.scss +0 -0
  638. package/{lib → projects/transaction/src/lib}/component/transaction-history-grid-status/style/_theme.scss +0 -0
  639. package/{lib → projects/transaction/src/lib}/component/transaction-history-grid-status/style/material.scss +0 -0
  640. package/projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.ts +51 -0
  641. package/projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.ts +21 -0
  642. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-base-line/style/_layout.scss +0 -0
  643. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-base-line/style/_material-definition.scss +0 -0
  644. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-base-line/style/_theme.scss +0 -0
  645. package/{lib/component/transaction-line/transaction-receive-goods-line → projects/transaction/src/lib/component/transaction-line/transaction-base-line}/style/material.scss +0 -0
  646. package/projects/transaction/src/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.ts +93 -0
  647. package/projects/transaction/src/lib/component/transaction-line/transaction-base-line/transaction-base-line.module.ts +28 -0
  648. package/projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.ts +67 -0
  649. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-goods-allocation-line/style/_layout.scss +0 -0
  650. package/{lib/component/transaction-search/transaction-filter-historic-state → projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line}/style/_material-definition.scss +0 -0
  651. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-goods-allocation-line/style/_theme.scss +0 -0
  652. package/{lib/component/transaction-quick-access/transaction-quick-access-goods-allocation → projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line}/style/material.scss +0 -0
  653. package/projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.ts +115 -0
  654. package/projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.ts +35 -0
  655. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-line/style/_layout.scss +0 -0
  656. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-line/style/_material-definition.scss +0 -0
  657. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-line/style/_theme.scss +0 -0
  658. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-line/style/material.scss +0 -0
  659. package/projects/transaction/src/lib/component/transaction-line/transaction-line/transaction-line.component.ts +143 -0
  660. package/projects/transaction/src/lib/component/transaction-line/transaction-line/transaction-line.module.ts +20 -0
  661. package/projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.ts +70 -0
  662. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-order-delivery-line/style/_layout.scss +0 -0
  663. package/{lib/component/transaction-search/transaction-filter-item → projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line}/style/_material-definition.scss +0 -0
  664. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-order-delivery-line/style/_theme.scss +0 -0
  665. package/{lib/component/transaction-quick-access/transaction-quick-access-order-confirmation → projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line}/style/material.scss +0 -0
  666. package/projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.ts +178 -0
  667. package/projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.ts +41 -0
  668. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-overview-line/style/_layout.scss +0 -0
  669. package/{lib/component/transaction-search/transaction-filter/transaction-filter → projects/transaction/src/lib/component/transaction-line/transaction-overview-line}/style/_material-definition.scss +0 -0
  670. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-overview-line/style/_theme.scss +0 -0
  671. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-overview-line/style/material.scss +0 -0
  672. package/projects/transaction/src/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.ts +95 -0
  673. package/projects/transaction/src/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.ts +60 -0
  674. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-purchase-line/style/_layout.scss +0 -0
  675. package/{lib/component/transaction-search/transaction-search-grid/transaction-search-grid → projects/transaction/src/lib/component/transaction-line/transaction-purchase-line}/style/_material-definition.scss +0 -0
  676. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-purchase-line/style/_theme.scss +0 -0
  677. package/{lib/component/transaction-quick-access/transaction-quick-access-order-delivery → projects/transaction/src/lib/component/transaction-line/transaction-purchase-line}/style/material.scss +0 -0
  678. package/projects/transaction/src/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.ts +105 -0
  679. package/projects/transaction/src/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.ts +44 -0
  680. package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.ts +73 -0
  681. package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/style/_layout.scss +41 -0
  682. package/{lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid → projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line}/style/_material-definition.scss +0 -0
  683. package/{lib → projects/transaction/src/lib}/component/transaction-line/transaction-receive-goods-line/style/_theme.scss +0 -0
  684. package/{lib/component/transaction-quick-access/transaction-quick-access-order-purchase → projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line}/style/material.scss +0 -0
  685. package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.ts +130 -0
  686. package/projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.ts +46 -0
  687. package/{lib → projects/transaction/src/lib}/component/transaction-line-action-buttons/style/_layout.scss +0 -0
  688. package/{lib → projects/transaction/src/lib}/component/transaction-line-action-buttons/style/_material-definition.scss +0 -0
  689. package/{lib → projects/transaction/src/lib}/component/transaction-line-action-buttons/style/_theme.scss +0 -0
  690. package/{lib → projects/transaction/src/lib}/component/transaction-line-action-buttons/style/material.scss +0 -0
  691. package/projects/transaction/src/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.ts +224 -0
  692. package/projects/transaction/src/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.ts +30 -0
  693. package/{lib → projects/transaction/src/lib}/component/transaction-line-checkbox-list/style/_layout.scss +0 -0
  694. package/{lib → projects/transaction/src/lib}/component/transaction-line-checkbox-list/style/_material-definition.scss +0 -0
  695. package/{lib → projects/transaction/src/lib}/component/transaction-line-checkbox-list/style/_theme.scss +0 -0
  696. package/{lib/component/transaction-line-image-and-description → projects/transaction/src/lib/component/transaction-line-checkbox-list}/style/material.scss +0 -0
  697. package/projects/transaction/src/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.ts +58 -0
  698. package/projects/transaction/src/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.ts +23 -0
  699. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-amount.component.ts +46 -0
  700. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-amount.module.ts +19 -0
  701. package/{lib/component/transaction-line/transaction-overview-line/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-assembly-time.component.ts} +0 -0
  702. package/{lib/component/transaction-line/transaction-purchase-line/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-assembly-time.module.ts} +0 -0
  703. package/{lib/component/transaction-line/transaction-receive-goods-line/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-collection-code.component.ts} +0 -0
  704. package/{lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-collection-code.module.ts} +0 -0
  705. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-button.component.ts +51 -0
  706. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-button.module.ts +22 -0
  707. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.component.ts +55 -0
  708. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.module.ts +24 -0
  709. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-button.component.ts +58 -0
  710. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-button.module.ts +22 -0
  711. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.ts +34 -0
  712. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.ts +22 -0
  713. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.component.ts +56 -0
  714. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.module.ts +21 -0
  715. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.component.ts +51 -0
  716. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.module.ts +24 -0
  717. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-description.component.ts +61 -0
  718. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-description.module.ts +22 -0
  719. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.component.ts +49 -0
  720. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.module.ts +21 -0
  721. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-button.component.ts +53 -0
  722. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-button.module.ts +24 -0
  723. package/{lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-edit-time.component.ts} +0 -0
  724. package/{lib/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-edit-time.module.ts} +0 -0
  725. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.component.ts +49 -0
  726. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.module.ts +21 -0
  727. package/{lib → projects/transaction/src/lib}/component/transaction-line-fields/transaction-line-price/style/_layout.scss +0 -0
  728. package/{lib/component/transaction-quick-access/transaction-quick-access-order-purchase → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price}/style/_material-definition.scss +0 -0
  729. package/{lib → projects/transaction/src/lib}/component/transaction-line-fields/transaction-line-price/style/_theme.scss +0 -0
  730. package/{lib/component/transaction-line/transaction-purchase-line → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price}/style/material.scss +0 -0
  731. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.ts +90 -0
  732. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.ts +21 -0
  733. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.component.ts +49 -0
  734. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.module.ts +24 -0
  735. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.component.ts +35 -0
  736. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.module.ts +21 -0
  737. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.ts +49 -0
  738. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.ts +21 -0
  739. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.component.ts +47 -0
  740. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.module.ts +21 -0
  741. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.component.ts +49 -0
  742. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.module.ts +21 -0
  743. package/{lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-article-number.component.ts} +0 -0
  744. package/{lib/component/transaction-search/transaction-filter-categories/style/_material-definition.scss → projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-article-number.module.ts} +0 -0
  745. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-button.component.ts +56 -0
  746. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-button.module.ts +27 -0
  747. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier.component.ts +56 -0
  748. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier.module.ts +23 -0
  749. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat-button.component.ts +55 -0
  750. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat-button.module.ts +20 -0
  751. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.component.ts +45 -0
  752. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.module.ts +26 -0
  753. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.ts +61 -0
  754. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-button.module.ts +22 -0
  755. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.ts +57 -0
  756. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.ts +20 -0
  757. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.ts +46 -0
  758. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.ts +21 -0
  759. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.component.ts +48 -0
  760. package/projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.module.ts +25 -0
  761. package/{lib → projects/transaction/src/lib}/component/transaction-line-grid/style/_layout.scss +0 -0
  762. package/{lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics → projects/transaction/src/lib/component/transaction-line-grid}/style/_material-definition.scss +0 -0
  763. package/{lib → projects/transaction/src/lib}/component/transaction-line-grid/style/_theme.scss +0 -0
  764. package/{lib → projects/transaction/src/lib}/component/transaction-line-grid/style/material.scss +0 -0
  765. package/projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.component.ts +20 -0
  766. package/projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.module.ts +19 -0
  767. package/{lib → projects/transaction/src/lib}/component/transaction-line-image-and-description/style/_layout.scss +0 -0
  768. package/{lib → projects/transaction/src/lib}/component/transaction-line-image-and-description/style/_material-definition.scss +0 -0
  769. package/{lib → projects/transaction/src/lib}/component/transaction-line-image-and-description/style/_theme.scss +0 -0
  770. package/{lib/component/transaction-line-side-panel-sales → projects/transaction/src/lib/component/transaction-line-image-and-description}/style/material.scss +0 -0
  771. package/projects/transaction/src/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.ts +102 -0
  772. package/projects/transaction/src/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module.ts +26 -0
  773. package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel/style/_layout.scss +0 -0
  774. package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel/style/_material-definition.scss +0 -0
  775. package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel/style/_theme.scss +0 -0
  776. package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel/style/material.scss +0 -0
  777. package/projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.ts +125 -0
  778. package/projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.ts +43 -0
  779. package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-default/style/_layout.scss +0 -0
  780. package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-default/style/_material-definition.scss +0 -0
  781. package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-default/style/_theme.scss +0 -0
  782. package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-default/style/material.scss +0 -0
  783. package/projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.ts +120 -0
  784. package/projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.ts +58 -0
  785. package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-purchase/style/_layout.scss +0 -0
  786. package/{lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics → projects/transaction/src/lib/component/transaction-line-side-panel-purchase}/style/_material-definition.scss +0 -0
  787. package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-purchase/style/_theme.scss +0 -0
  788. package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-purchase/style/material.scss +0 -0
  789. package/projects/transaction/src/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.ts +123 -0
  790. package/projects/transaction/src/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.ts +39 -0
  791. package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-sales/style/_layout.scss +0 -0
  792. package/{lib/component/transaction-search/transaction-filter-content → projects/transaction/src/lib/component/transaction-line-side-panel-sales}/style/_material-definition.scss +0 -0
  793. package/{lib → projects/transaction/src/lib}/component/transaction-line-side-panel-sales/style/_theme.scss +0 -0
  794. package/{lib/component/transaction-line-statusbar → projects/transaction/src/lib/component/transaction-line-side-panel-sales}/style/material.scss +0 -0
  795. package/projects/transaction/src/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.ts +85 -0
  796. package/projects/transaction/src/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.ts +30 -0
  797. package/{lib → projects/transaction/src/lib}/component/transaction-line-statusbar/style/_layout.scss +0 -0
  798. package/{lib → projects/transaction/src/lib}/component/transaction-line-statusbar/style/_material-definition.scss +0 -0
  799. package/{lib → projects/transaction/src/lib}/component/transaction-line-statusbar/style/_theme.scss +0 -0
  800. package/{lib/component/transaction-side-panel-edit-request-details → projects/transaction/src/lib/component/transaction-line-statusbar}/style/material.scss +0 -0
  801. package/projects/transaction/src/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.ts +110 -0
  802. package/projects/transaction/src/lib/component/transaction-line-statusbar/transaction-line-statusbar.module.ts +21 -0
  803. package/{lib → projects/transaction/src/lib}/component/transaction-lines/style/_layout.scss +0 -0
  804. package/{lib → projects/transaction/src/lib}/component/transaction-lines/style/_material-definition.scss +0 -0
  805. package/{lib → projects/transaction/src/lib}/component/transaction-lines/style/_theme.scss +0 -0
  806. package/{lib → projects/transaction/src/lib}/component/transaction-lines/style/material.scss +0 -0
  807. package/projects/transaction/src/lib/component/transaction-lines/transaction-lines.component.ts +180 -0
  808. package/projects/transaction/src/lib/component/transaction-lines/transaction-lines.module.ts +30 -0
  809. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access/style/_layout.scss +0 -0
  810. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access/style/_material-definition.scss +0 -0
  811. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access/style/_theme.scss +0 -0
  812. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access/style/material.scss +0 -0
  813. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.ts +107 -0
  814. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.ts +42 -0
  815. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_layout.scss +0 -0
  816. package/{lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation}/style/_material-definition.scss +0 -0
  817. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_theme.scss +0 -0
  818. package/{lib/component/transaction-quick-access/transaction-quick-access-overview → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation}/style/material.scss +0 -0
  819. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.ts +68 -0
  820. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.ts +24 -0
  821. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_layout.scss +0 -0
  822. package/{lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation}/style/_material-definition.scss +0 -0
  823. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-confirmation/style/_theme.scss +0 -0
  824. package/{lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation}/style/material.scss +0 -0
  825. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.ts +41 -0
  826. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.ts +27 -0
  827. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_layout.scss +0 -0
  828. package/{lib/component/transaction-search/transaction-search-tile/transaction-search-tile → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery}/style/_material-definition.scss +0 -0
  829. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_theme.scss +0 -0
  830. package/{lib/component/transaction-quick-access/transaction-quick-access-received-goods → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery}/style/material.scss +0 -0
  831. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.ts +120 -0
  832. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.ts +28 -0
  833. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_layout.scss +0 -0
  834. package/{lib/component/transaction-tile → projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase}/style/_material-definition.scss +0 -0
  835. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_theme.scss +0 -0
  836. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/material.scss +4 -0
  837. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.ts +54 -0
  838. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.ts +26 -0
  839. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-overview/style/_layout.scss +0 -0
  840. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-overview/style/_material-definition.scss +0 -0
  841. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-overview/style/_theme.scss +0 -0
  842. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/style/material.scss +4 -0
  843. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.ts +139 -0
  844. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.ts +29 -0
  845. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/_layout.scss +0 -0
  846. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/_material-definition.scss +0 -0
  847. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/_theme.scss +0 -0
  848. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/style/material.scss +4 -0
  849. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.ts +133 -0
  850. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module.ts +27 -0
  851. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-received-goods/style/_layout.scss +0 -0
  852. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_material-definition.scss +0 -0
  853. package/{lib → projects/transaction/src/lib}/component/transaction-quick-access/transaction-quick-access-received-goods/style/_theme.scss +0 -0
  854. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/material.scss +4 -0
  855. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.ts +96 -0
  856. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.ts +31 -0
  857. package/projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.ts +132 -0
  858. package/{lib → projects/transaction/src/lib}/component/transaction-receiving-goods-history/style/_layout.scss +0 -0
  859. package/{lib → projects/transaction/src/lib}/component/transaction-receiving-goods-history/style/_material-definition.scss +0 -0
  860. package/{lib → projects/transaction/src/lib}/component/transaction-receiving-goods-history/style/_theme.scss +0 -0
  861. package/{lib → projects/transaction/src/lib}/component/transaction-receiving-goods-history/style/material.scss +0 -0
  862. package/projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.ts +90 -0
  863. package/projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.ts +28 -0
  864. package/projects/transaction/src/lib/component/transaction-search/service/filter-request.service.ts +194 -0
  865. package/projects/transaction/src/lib/component/transaction-search/service/transaction-search.service.ts +134 -0
  866. package/{lib → projects/transaction/src/lib}/component/transaction-search/style/_layout.scss +0 -0
  867. package/{lib → projects/transaction/src/lib}/component/transaction-search/style/_material-definition.scss +0 -0
  868. package/{lib → projects/transaction/src/lib}/component/transaction-search/style/_theme.scss +0 -0
  869. package/{lib → projects/transaction/src/lib}/component/transaction-search/style/material.scss +0 -0
  870. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-filter/style/_layout.scss +0 -0
  871. package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter/style/_material-definition.scss +0 -0
  872. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-filter/style/_theme.scss +0 -0
  873. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-filter/style/material.scss +0 -0
  874. package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.ts +119 -0
  875. package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module.ts +17 -0
  876. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/_layout.scss +0 -0
  877. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/_material-definition.scss +0 -0
  878. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/_theme.scss +0 -0
  879. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-purchase-order-filter/style/material.scss +0 -0
  880. package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component.ts +51 -0
  881. package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module.ts +40 -0
  882. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/_layout.scss +0 -0
  883. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/_material-definition.scss +0 -0
  884. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/_theme.scss +0 -0
  885. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter/transaction-sales-order-filter/style/material.scss +0 -0
  886. package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.ts +51 -0
  887. package/projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module.ts +38 -0
  888. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-categories/style/_layout.scss +0 -0
  889. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/style/_material-definition.scss +0 -0
  890. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-categories/style/_theme.scss +0 -0
  891. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-categories/style/material.scss +0 -0
  892. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.ts +44 -0
  893. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.ts +17 -0
  894. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.ts +25 -0
  895. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/_layout.scss +0 -0
  896. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/_material-definition.scss +0 -0
  897. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/_theme.scss +0 -0
  898. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/style/material.scss +0 -0
  899. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.ts +155 -0
  900. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module.ts +27 -0
  901. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/_layout.scss +0 -0
  902. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/_material-definition.scss +0 -0
  903. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/_theme.scss +0 -0
  904. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/style/material.scss +0 -0
  905. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.ts +249 -0
  906. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module.ts +33 -0
  907. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/_layout.scss +0 -0
  908. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/_material-definition.scss +0 -0
  909. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/_theme.scss +0 -0
  910. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/style/material.scss +0 -0
  911. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.ts +246 -0
  912. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module.ts +38 -0
  913. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/_layout.scss +0 -0
  914. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/_material-definition.scss +0 -0
  915. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/_theme.scss +0 -0
  916. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/style/material.scss +0 -0
  917. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.ts +145 -0
  918. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module.ts +27 -0
  919. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/_layout.scss +0 -0
  920. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/_material-definition.scss +0 -0
  921. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/_theme.scss +0 -0
  922. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/style/material.scss +0 -0
  923. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.ts +248 -0
  924. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module.ts +33 -0
  925. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/_layout.scss +0 -0
  926. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/_material-definition.scss +0 -0
  927. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/_theme.scss +0 -0
  928. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/style/material.scss +0 -0
  929. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.ts +274 -0
  930. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module.ts +38 -0
  931. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/style/_layout.scss +0 -0
  932. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-content/style/_material-definition.scss +0 -0
  933. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/style/_theme.scss +0 -0
  934. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-content/style/material.scss +0 -0
  935. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-historic-state/style/_layout.scss +0 -0
  936. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state/style/_material-definition.scss +0 -0
  937. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-historic-state/style/_theme.scss +0 -0
  938. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-historic-state/style/material.scss +0 -0
  939. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.ts +70 -0
  940. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.ts +24 -0
  941. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-item/style/_layout.scss +0 -0
  942. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-item/style/_material-definition.scss +0 -0
  943. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-item/style/_theme.scss +0 -0
  944. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-filter-item/style/material.scss +0 -0
  945. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.ts +71 -0
  946. package/projects/transaction/src/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module.ts +21 -0
  947. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-grid/style/_layout.scss +0 -0
  948. package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/style/_material-definition.scss +0 -0
  949. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-grid/style/_theme.scss +0 -0
  950. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-grid/style/material.scss +0 -0
  951. package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.ts +104 -0
  952. package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module.ts +17 -0
  953. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/_layout.scss +0 -0
  954. package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/_material-definition.scss +0 -0
  955. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/_theme.scss +0 -0
  956. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/style/material.scss +0 -0
  957. package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component.ts +80 -0
  958. package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module.ts +23 -0
  959. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_layout.scss +0 -0
  960. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_material-definition.scss +0 -0
  961. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_theme.scss +0 -0
  962. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/material.scss +0 -0
  963. package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.ts +80 -0
  964. package/projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.ts +25 -0
  965. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-header/style/_layout.scss +0 -0
  966. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-header/style/_material-definition.scss +0 -0
  967. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-header/style/_theme.scss +0 -0
  968. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-header/style/material.scss +0 -0
  969. package/projects/transaction/src/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.ts +135 -0
  970. package/projects/transaction/src/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.ts +25 -0
  971. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-result/style/_layout.scss +0 -0
  972. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-result/style/_material-definition.scss +0 -0
  973. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-result/style/_theme.scss +0 -0
  974. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-result/style/material.scss +0 -0
  975. package/projects/transaction/src/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.ts +136 -0
  976. package/projects/transaction/src/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.ts +42 -0
  977. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/_layout.scss +0 -0
  978. package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/_material-definition.scss +0 -0
  979. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/_theme.scss +0 -0
  980. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/style/material.scss +0 -0
  981. package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component.ts +65 -0
  982. package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module.ts +27 -0
  983. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_layout.scss +0 -0
  984. package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_material-definition.scss +0 -0
  985. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_theme.scss +0 -0
  986. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/material.scss +0 -0
  987. package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.ts +72 -0
  988. package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.ts +30 -0
  989. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-tile/style/_layout.scss +0 -0
  990. package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/style/_material-definition.scss +0 -0
  991. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-tile/style/_theme.scss +0 -0
  992. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-search-tile/style/material.scss +0 -0
  993. package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.ts +118 -0
  994. package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module.ts +17 -0
  995. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/_layout.scss +0 -0
  996. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/_material-definition.scss +0 -0
  997. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/_theme.scss +0 -0
  998. package/{lib → projects/transaction/src/lib}/component/transaction-search/transaction-search-tile/transaction-statusbar/style/material.scss +0 -0
  999. package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.ts +90 -0
  1000. package/projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.module.ts +21 -0
  1001. package/projects/transaction/src/lib/component/transaction-search/transaction-search.component.ts +166 -0
  1002. package/projects/transaction/src/lib/component/transaction-search/transaction-search.module.ts +34 -0
  1003. package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.ts +143 -0
  1004. package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/confirm-request.component.ts +0 -0
  1005. package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.ts +207 -0
  1006. package/{lib → projects/transaction/src/lib}/component/transaction-side-panel-edit-request-details/style/_layout.scss +0 -0
  1007. package/{lib → projects/transaction/src/lib}/component/transaction-side-panel-edit-request-details/style/_material-definition.scss +0 -0
  1008. package/{lib → projects/transaction/src/lib}/component/transaction-side-panel-edit-request-details/style/_theme.scss +0 -0
  1009. package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/style/material.scss +4 -0
  1010. package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.ts +63 -0
  1011. package/projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.ts +42 -0
  1012. package/{lib → projects/transaction/src/lib}/component/transaction-tile/style/_layout.scss +0 -0
  1013. package/projects/transaction/src/lib/component/transaction-tile/style/_material-definition.scss +0 -0
  1014. package/{lib → projects/transaction/src/lib}/component/transaction-tile/style/_theme.scss +0 -0
  1015. package/{lib → projects/transaction/src/lib}/component/transaction-tile/style/material.scss +0 -0
  1016. package/projects/transaction/src/lib/component/transaction-tile/transaction-tile.component.ts +117 -0
  1017. package/projects/transaction/src/lib/component/transaction-tile/transaction-tile.module.ts +27 -0
  1018. package/{lib → projects/transaction/src/lib}/component/transaction-totals/style/_layout.scss +0 -0
  1019. package/{lib → projects/transaction/src/lib}/component/transaction-totals/style/_material-definition.scss +0 -0
  1020. package/{lib → projects/transaction/src/lib}/component/transaction-totals/style/_theme.scss +0 -0
  1021. package/{lib → projects/transaction/src/lib}/component/transaction-totals/style/material.scss +0 -0
  1022. package/projects/transaction/src/lib/component/transaction-totals/transaction-totals.component.ts +55 -0
  1023. package/projects/transaction/src/lib/component/transaction-totals/transaction-totals.module.ts +23 -0
  1024. package/{lib → projects/transaction/src/lib}/component/view-mode-buttons/style/_layout.scss +0 -0
  1025. package/{lib → projects/transaction/src/lib}/component/view-mode-buttons/style/_material-definition.scss +0 -0
  1026. package/{lib → projects/transaction/src/lib}/component/view-mode-buttons/style/_theme.scss +0 -0
  1027. package/{lib → projects/transaction/src/lib}/component/view-mode-buttons/style/material.scss +0 -0
  1028. package/projects/transaction/src/lib/component/view-mode-buttons/view-mode-buttons.component.ts +63 -0
  1029. package/projects/transaction/src/lib/component/view-mode-buttons/view-mode-buttons.module.ts +21 -0
  1030. package/projects/transaction/src/lib/enum/content-view-mode.enum.ts +9 -0
  1031. package/projects/transaction/src/lib/enum/direction.enum.ts +7 -0
  1032. package/projects/transaction/src/lib/enum/icon.enum.ts +83 -0
  1033. package/projects/transaction/src/lib/enum/language-code.enum.ts +6 -0
  1034. package/projects/transaction/src/lib/enum/order-discount-type.enum.ts +5 -0
  1035. package/projects/transaction/src/lib/enum/position-grid-row.enum.ts +4 -0
  1036. package/projects/transaction/src/lib/enum/search-view-mode.enum.ts +5 -0
  1037. package/projects/transaction/src/lib/enum/searchbar-view-mode.enum.ts +5 -0
  1038. package/projects/transaction/src/lib/enum/status-type.enum.ts +5 -0
  1039. package/projects/transaction/src/lib/enum/time-size.type.ts +8 -0
  1040. package/projects/transaction/src/lib/enum/transaction-type-category.enum.ts +15 -0
  1041. package/projects/transaction/src/lib/interface/dialog-response.interface.ts +6 -0
  1042. package/projects/transaction/src/lib/model/Settings.ts +20 -0
  1043. package/projects/transaction/src/lib/model/article-characteristic-text-question-answer.ts +8 -0
  1044. package/projects/transaction/src/lib/model/delivery-type.ts +8 -0
  1045. package/projects/transaction/src/lib/model/down-payment-view-model.ts +13 -0
  1046. package/projects/transaction/src/lib/model/extended-transaction-line-view-model.ts +12 -0
  1047. package/projects/transaction/src/lib/model/filter-item.viewmodel.ts +13 -0
  1048. package/projects/transaction/src/lib/model/filter-viewmodel.ts +11 -0
  1049. package/projects/transaction/src/lib/model/icon-svg.ts +83 -0
  1050. package/projects/transaction/src/lib/model/payment.viewmodel.ts +10 -0
  1051. package/projects/transaction/src/lib/model/received-goods-view-model.ts +17 -0
  1052. package/projects/transaction/src/lib/model/relation-any-type.ts +5 -0
  1053. package/projects/transaction/src/lib/model/standard-text.ts +5 -0
  1054. package/projects/transaction/src/lib/model/text-value-container.ts +4 -0
  1055. package/projects/transaction/src/lib/model/transaction-bar-button.ts +11 -0
  1056. package/projects/transaction/src/lib/model/transaction-search-result.ts +6 -0
  1057. package/projects/transaction/src/lib/pipe/append.pipe.ts +17 -0
  1058. package/projects/transaction/src/lib/pipe/co-currency.pipe.ts +45 -0
  1059. package/projects/transaction/src/lib/pipe/date-duration.pipe.ts +51 -0
  1060. package/projects/transaction/src/lib/pipe/delivery-time.pipe.ts +34 -0
  1061. package/projects/transaction/src/lib/pipe/localize.pipe.ts +23 -0
  1062. package/projects/transaction/src/lib/pipe/pipe.module.ts +34 -0
  1063. package/projects/transaction/src/lib/pipe/safe-html.pipe.ts +14 -0
  1064. package/projects/transaction/src/lib/pipe/safe-style.pipe.ts +14 -0
  1065. package/projects/transaction/src/lib/provider/token/all-icons.token.ts +4 -0
  1066. package/projects/transaction/src/lib/service/article-connector.service.ts +93 -0
  1067. package/projects/transaction/src/lib/service/article.service.ts +22 -0
  1068. package/projects/transaction/src/lib/service/dialog.service.ts +143 -0
  1069. package/projects/transaction/src/lib/service/dictionary.service.ts +86 -0
  1070. package/projects/transaction/src/lib/service/dynamic-component.service.ts +101 -0
  1071. package/projects/transaction/src/lib/service/error.service.ts +63 -0
  1072. package/projects/transaction/src/lib/service/icon-cache.service.ts +51 -0
  1073. package/projects/transaction/src/lib/service/options.service.ts +66 -0
  1074. package/projects/transaction/src/lib/service/payment.service.ts +93 -0
  1075. package/projects/transaction/src/lib/service/pending-reason.service.ts +323 -0
  1076. package/projects/transaction/src/lib/service/relation-connector.service.ts +202 -0
  1077. package/projects/transaction/src/lib/service/relation.service.ts +168 -0
  1078. package/projects/transaction/src/lib/service/shared-connector.service.ts +47 -0
  1079. package/projects/transaction/src/lib/service/shared.service.ts +40 -0
  1080. package/projects/transaction/src/lib/service/transaction-connector-adapter.service.ts +1695 -0
  1081. package/projects/transaction/src/lib/service/transaction-connector.service.ts +648 -0
  1082. package/projects/transaction/src/lib/service/transaction-event.service.ts +35 -0
  1083. package/projects/transaction/src/lib/service/transaction-image.service.ts +42 -0
  1084. package/projects/transaction/src/lib/service/transaction-initializer.service.ts +29 -0
  1085. package/projects/transaction/src/lib/service/transaction-mapping.service.ts +230 -0
  1086. package/projects/transaction/src/lib/service/transaction.service.ts +848 -0
  1087. package/{lib → projects/transaction/src/lib}/style/_mixin.scss +0 -0
  1088. package/{lib → projects/transaction/src/lib}/style/_variables.scss +0 -0
  1089. package/{lib → projects/transaction/src/lib}/style/transaction-globals.scss +0 -0
  1090. package/projects/transaction/src/public_api.ts +50 -0
  1091. package/projects/transaction/src/test.ts +25 -0
  1092. package/projects/transaction/tsconfig.lib.json +20 -0
  1093. package/projects/transaction/tsconfig.lib.prod.json +16 -0
  1094. package/projects/transaction/tsconfig.spec.json +17 -0
  1095. package/publish.bat +7 -0
  1096. package/script/merge-icons.js +39 -0
  1097. package/src/app/app-transaction.component.ts +18 -0
  1098. package/src/app/app.component.scss +45 -0
  1099. package/src/app/app.component.ts +327 -0
  1100. package/src/app/app.module.ts +62 -0
  1101. package/src/environments/environment.prod.ts +3 -0
  1102. package/src/environments/environment.ts +16 -0
  1103. package/src/favicon.ico +0 -0
  1104. package/src/index.html +15 -0
  1105. package/src/main.ts +14 -0
  1106. package/src/polyfills.ts +63 -0
  1107. package/src/styles.scss +93 -0
  1108. package/src/test.ts +25 -0
  1109. package/src/transaction.unit.test.ts +60 -0
  1110. package/tsconfig.app.json +15 -0
  1111. package/tsconfig.json +42 -0
  1112. package/tsconfig.spec.json +18 -0
  1113. package/webpack.config.js +18 -0
  1114. package/bundles/colijnit-transaction.umd.js +0 -25632
  1115. package/bundles/colijnit-transaction.umd.js.map +0 -1
  1116. package/colijnit-transaction.d.ts +0 -346
  1117. package/colijnit-transaction.metadata.json +0 -1
  1118. package/esm2015/colijnit-transaction.js +0 -347
  1119. package/esm2015/lib/assets/dictionary/text.properties.js +0 -749
  1120. package/esm2015/lib/cache/cache-field.js +0 -75
  1121. package/esm2015/lib/cache/parameter-cache-field.js +0 -54
  1122. package/esm2015/lib/cache/service/business-object-cache-manager.service.js +0 -150
  1123. package/esm2015/lib/cache/service/select-multiple-cache.service.js +0 -38
  1124. package/esm2015/lib/cache/service/select-multiple-parameterized-cache.service.js +0 -47
  1125. package/esm2015/lib/cache/service/select-single-cache.service.js +0 -30
  1126. package/esm2015/lib/component/animated-checkbox/animated-checkbox.component.js +0 -27
  1127. package/esm2015/lib/component/animated-checkbox/animated-checkbox.module.js +0 -21
  1128. package/esm2015/lib/component/avatar/avatar.component.js +0 -106
  1129. package/esm2015/lib/component/avatar/avatar.module.js +0 -21
  1130. package/esm2015/lib/component/checkout/checkout-login/checkout-login.component.js +0 -106
  1131. package/esm2015/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +0 -47
  1132. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +0 -267
  1133. package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +0 -101
  1134. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +0 -219
  1135. package/esm2015/lib/component/checkout/checkout.component.js +0 -180
  1136. package/esm2015/lib/component/checkout/checkout.module.js +0 -124
  1137. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +0 -67
  1138. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.module.js +0 -25
  1139. package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.js +0 -83
  1140. package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.module.js +0 -26
  1141. package/esm2015/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component.js +0 -41
  1142. package/esm2015/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module.js +0 -21
  1143. package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.js +0 -47
  1144. package/esm2015/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.js +0 -19
  1145. package/esm2015/lib/component/core/base/components/warehouse/warehouse.component.js +0 -64
  1146. package/esm2015/lib/component/core/base/components/warehouse/warehouse.module.js +0 -26
  1147. package/esm2015/lib/component/core/base/dialog-base.component.js +0 -6
  1148. package/esm2015/lib/component/core/base/dialog-transaction-header-base.component.js +0 -33
  1149. package/esm2015/lib/component/core/base/dialog-transaction-line-base.component.js +0 -37
  1150. package/esm2015/lib/component/core/base/dynamic-base-component.js +0 -8
  1151. package/esm2015/lib/component/core/base/transaction-base.component.js +0 -103
  1152. package/esm2015/lib/component/core/base/transaction-filter-base.component.js +0 -61
  1153. package/esm2015/lib/component/core/base/transaction-filter-content-base.component.js +0 -44
  1154. package/esm2015/lib/component/core/base/transaction-filter-popup-base.component.js +0 -110
  1155. package/esm2015/lib/component/core/base/transaction-grid-base.component.js +0 -53
  1156. package/esm2015/lib/component/core/base/transaction-header-base.component.js +0 -47
  1157. package/esm2015/lib/component/core/base/transaction-header-filter-popup-base.component.js +0 -111
  1158. package/esm2015/lib/component/core/base/transaction-line-base.component.js +0 -51
  1159. package/esm2015/lib/component/core/base/transaction-lines-line-base.component.js +0 -44
  1160. package/esm2015/lib/component/core/base/transaction-search-grid-base.component.js +0 -25
  1161. package/esm2015/lib/component/core/base/transaction-search-tile-base.component.js +0 -28
  1162. package/esm2015/lib/component/core/core.module.js +0 -48
  1163. package/esm2015/lib/component/core/directive/lazy-render-master.directive.js +0 -43
  1164. package/esm2015/lib/component/core/directive/lazy-render.directive.js +0 -29
  1165. package/esm2015/lib/component/core/enum/app-popup-button-type.enum.js +0 -11
  1166. package/esm2015/lib/component/core/enum/app-popup-type.enum.js +0 -8
  1167. package/esm2015/lib/component/core/icon/icon.component.js +0 -31
  1168. package/esm2015/lib/component/core/image-display/image-display.component.js +0 -29
  1169. package/esm2015/lib/component/core/relation/customer-groups.component.js +0 -46
  1170. package/esm2015/lib/component/core/stock-status-indicator/stock-status-indicator.component.js +0 -24
  1171. package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.component.js +0 -47
  1172. package/esm2015/lib/component/delivery-type-tile/delivery-type-tile.module.js +0 -26
  1173. package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +0 -47
  1174. package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.js +0 -23
  1175. package/esm2015/lib/component/dialog/dialog-header-search/dialog-header-search.component.js +0 -37
  1176. package/esm2015/lib/component/dialog/dialog-header-search/dialog-header-search.module.js +0 -23
  1177. package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.js +0 -37
  1178. package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.js +0 -28
  1179. package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.js +0 -78
  1180. package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.js +0 -29
  1181. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.js +0 -36
  1182. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.js +0 -28
  1183. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.js +0 -37
  1184. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module.js +0 -28
  1185. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.js +0 -95
  1186. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.js +0 -36
  1187. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.js +0 -36
  1188. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.js +0 -28
  1189. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.js +0 -37
  1190. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.js +0 -28
  1191. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.js +0 -37
  1192. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.js +0 -28
  1193. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.js +0 -37
  1194. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module.js +0 -28
  1195. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +0 -80
  1196. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.js +0 -31
  1197. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.js +0 -44
  1198. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.js +0 -28
  1199. package/esm2015/lib/component/discount/discount.component.js +0 -110
  1200. package/esm2015/lib/component/discount/discount.module.js +0 -29
  1201. package/esm2015/lib/component/down-payment/down-payment.component.js +0 -71
  1202. package/esm2015/lib/component/down-payment/down-payment.module.js +0 -27
  1203. package/esm2015/lib/component/editable-label/editable-label.component.js +0 -65
  1204. package/esm2015/lib/component/editable-label/editable-label.module.js +0 -21
  1205. package/esm2015/lib/component/loader/loader.component.js +0 -51
  1206. package/esm2015/lib/component/loader/loader.module.js +0 -19
  1207. package/esm2015/lib/component/payment/payment.component.js +0 -242
  1208. package/esm2015/lib/component/payment/payment.module.js +0 -37
  1209. package/esm2015/lib/component/payment-qr-code/payment-qr-code.component.js +0 -23
  1210. package/esm2015/lib/component/payment-qr-code/payment-qr-code.module.js +0 -23
  1211. package/esm2015/lib/component/payment-tile/payment-tile.component.js +0 -34
  1212. package/esm2015/lib/component/payment-tile/payment-tile.module.js +0 -25
  1213. package/esm2015/lib/component/quick-send-button/quick-send-button.component.js +0 -50
  1214. package/esm2015/lib/component/quick-send-button/quick-send-button.module.js +0 -27
  1215. package/esm2015/lib/component/relation/relation-address/relation-address.component.js +0 -111
  1216. package/esm2015/lib/component/relation/relation-address/relation-address.module.js +0 -29
  1217. package/esm2015/lib/component/relation/relation-address-select/relation-address-select.component.js +0 -145
  1218. package/esm2015/lib/component/relation/relation-address-select/relation-address-select.module.js +0 -33
  1219. package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.component.js +0 -65
  1220. package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.module.js +0 -32
  1221. package/esm2015/lib/component/relation/relation-addresses/relation-addresses.component.js +0 -112
  1222. package/esm2015/lib/component/relation/relation-addresses/relation-addresses.module.js +0 -34
  1223. package/esm2015/lib/component/relation/relation-base.component.js +0 -34
  1224. package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +0 -65
  1225. package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.module.js +0 -24
  1226. package/esm2015/lib/component/relation/relation-general/relation-general.component.js +0 -225
  1227. package/esm2015/lib/component/relation/relation-general/relation-general.module.js +0 -27
  1228. package/esm2015/lib/component/relation/relation-preferences/relation-preferences.component.js +0 -68
  1229. package/esm2015/lib/component/relation/relation-preferences/relation-preferences.module.js +0 -21
  1230. package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.js +0 -30
  1231. package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.js +0 -21
  1232. package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.js +0 -33
  1233. package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.js +0 -19
  1234. package/esm2015/lib/component/relation/relation-type/relation-type.component.js +0 -47
  1235. package/esm2015/lib/component/relation/relation-type/relation-type.module.js +0 -23
  1236. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +0 -165
  1237. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.module.js +0 -34
  1238. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +0 -126
  1239. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.js +0 -30
  1240. package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +0 -69
  1241. package/esm2015/lib/component/shopping-cart/shopping-cart.module.js +0 -27
  1242. package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.component.js +0 -59
  1243. package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.module.js +0 -29
  1244. package/esm2015/lib/component/stepper/component/stepper-step.component.js +0 -40
  1245. package/esm2015/lib/component/stepper/stepper.component.js +0 -126
  1246. package/esm2015/lib/component/stepper/stepper.module.js +0 -29
  1247. package/esm2015/lib/component/tile/tile.component.js +0 -32
  1248. package/esm2015/lib/component/tile/tile.module.js +0 -19
  1249. package/esm2015/lib/component/transaction/transaction.component.js +0 -177
  1250. package/esm2015/lib/component/transaction/transaction.module.js +0 -67
  1251. package/esm2015/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.js +0 -81
  1252. package/esm2015/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.js +0 -25
  1253. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.js +0 -37
  1254. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.js +0 -73
  1255. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.js +0 -40
  1256. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.component.js +0 -57
  1257. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.module.js +0 -35
  1258. package/esm2015/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.js +0 -137
  1259. package/esm2015/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.js +0 -34
  1260. package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +0 -113
  1261. package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.js +0 -33
  1262. package/esm2015/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.js +0 -94
  1263. package/esm2015/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module.js +0 -24
  1264. package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.js +0 -55
  1265. package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.js +0 -30
  1266. package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.component.js +0 -85
  1267. package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.module.js +0 -19
  1268. package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.js +0 -90
  1269. package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.js +0 -28
  1270. package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.js +0 -117
  1271. package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.js +0 -48
  1272. package/esm2015/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.js +0 -51
  1273. package/esm2015/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.js +0 -29
  1274. package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.js +0 -155
  1275. package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.js +0 -34
  1276. package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +0 -50
  1277. package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.module.js +0 -31
  1278. package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +0 -126
  1279. package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.js +0 -48
  1280. package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.js +0 -71
  1281. package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.js +0 -31
  1282. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +0 -119
  1283. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.js +0 -35
  1284. package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +0 -230
  1285. package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.js +0 -46
  1286. package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.js +0 -62
  1287. package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.js +0 -23
  1288. package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.component.js +0 -78
  1289. package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.module.js +0 -26
  1290. package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.component.js +0 -48
  1291. package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.module.js +0 -23
  1292. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.component.js +0 -86
  1293. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.module.js +0 -23
  1294. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.component.js +0 -97
  1295. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.module.js +0 -29
  1296. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.js +0 -74
  1297. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module.js +0 -23
  1298. package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-amount.component.js +0 -84
  1299. package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-amount.module.js +0 -23
  1300. package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.js +0 -84
  1301. package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-percentage.module.js +0 -23
  1302. package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.js +0 -85
  1303. package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module.js +0 -23
  1304. package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.js +0 -83
  1305. package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.js +0 -23
  1306. package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.js +0 -83
  1307. package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.js +0 -23
  1308. package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.component.js +0 -51
  1309. package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.module.js +0 -26
  1310. package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +0 -54
  1311. package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.js +0 -23
  1312. package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.js +0 -86
  1313. package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.js +0 -23
  1314. package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.component.js +0 -82
  1315. package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.module.js +0 -23
  1316. package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.component.js +0 -82
  1317. package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.module.js +0 -23
  1318. package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.component.js +0 -82
  1319. package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.module.js +0 -23
  1320. package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.js +0 -49
  1321. package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.js +0 -23
  1322. package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +0 -92
  1323. package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.module.js +0 -26
  1324. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.js +0 -63
  1325. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.js +0 -109
  1326. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.js +0 -33
  1327. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.component.js +0 -100
  1328. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.module.js +0 -21
  1329. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.js +0 -15
  1330. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +0 -122
  1331. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.js +0 -36
  1332. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +0 -123
  1333. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.js +0 -59
  1334. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +0 -93
  1335. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.js +0 -46
  1336. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.js +0 -68
  1337. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.js +0 -115
  1338. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.js +0 -34
  1339. package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +0 -192
  1340. package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.js +0 -30
  1341. package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.js +0 -53
  1342. package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.js +0 -25
  1343. package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.component.js +0 -47
  1344. package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.module.js +0 -21
  1345. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-button.component.js +0 -48
  1346. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-button.module.js +0 -23
  1347. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +0 -55
  1348. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.module.js +0 -26
  1349. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-button.component.js +0 -54
  1350. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-button.module.js +0 -23
  1351. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.js +0 -33
  1352. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.js +0 -23
  1353. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.component.js +0 -86
  1354. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.module.js +0 -23
  1355. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.component.js +0 -52
  1356. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.module.js +0 -26
  1357. package/esm2015/lib/component/transaction-line-fields/transaction-line-description.component.js +0 -90
  1358. package/esm2015/lib/component/transaction-line-fields/transaction-line-description.module.js +0 -24
  1359. package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.component.js +0 -53
  1360. package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.module.js +0 -23
  1361. package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.component.js +0 -53
  1362. package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.module.js +0 -23
  1363. package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.js +0 -90
  1364. package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.js +0 -23
  1365. package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.component.js +0 -52
  1366. package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.module.js +0 -26
  1367. package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.component.js +0 -36
  1368. package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.module.js +0 -23
  1369. package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.js +0 -53
  1370. package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.js +0 -23
  1371. package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.component.js +0 -51
  1372. package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.module.js +0 -23
  1373. package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.component.js +0 -53
  1374. package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.module.js +0 -23
  1375. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.component.js +0 -60
  1376. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.module.js +0 -28
  1377. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.component.js +0 -57
  1378. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.module.js +0 -25
  1379. package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.component.js +0 -49
  1380. package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.module.js +0 -28
  1381. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.js +0 -60
  1382. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-button.module.js +0 -23
  1383. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.js +0 -58
  1384. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.js +0 -21
  1385. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.js +0 -45
  1386. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.js +0 -23
  1387. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +0 -52
  1388. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.module.js +0 -27
  1389. package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.component.js +0 -23
  1390. package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.module.js +0 -21
  1391. package/esm2015/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.js +0 -99
  1392. package/esm2015/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module.js +0 -27
  1393. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +0 -118
  1394. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.js +0 -41
  1395. package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.js +0 -114
  1396. package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.js +0 -60
  1397. package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +0 -119
  1398. package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.js +0 -35
  1399. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.js +0 -81
  1400. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +0 -25
  1401. package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.js +0 -111
  1402. package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.module.js +0 -23
  1403. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +0 -177
  1404. package/esm2015/lib/component/transaction-lines/transaction-lines.module.js +0 -32
  1405. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.js +0 -87
  1406. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +0 -41
  1407. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.js +0 -69
  1408. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.js +0 -25
  1409. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.js +0 -44
  1410. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.js +0 -29
  1411. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +0 -65
  1412. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.js +0 -28
  1413. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.js +0 -56
  1414. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.js +0 -28
  1415. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +0 -128
  1416. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.js +0 -31
  1417. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.js +0 -128
  1418. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module.js +0 -29
  1419. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.js +0 -91
  1420. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.js +0 -27
  1421. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.js +0 -110
  1422. package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.js +0 -78
  1423. package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.js +0 -30
  1424. package/esm2015/lib/component/transaction-search/service/filter-request.service.js +0 -172
  1425. package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +0 -114
  1426. package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.js +0 -96
  1427. package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module.js +0 -19
  1428. package/esm2015/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component.js +0 -56
  1429. package/esm2015/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module.js +0 -34
  1430. package/esm2015/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.js +0 -56
  1431. package/esm2015/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module.js +0 -34
  1432. package/esm2015/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.js +0 -42
  1433. package/esm2015/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.js +0 -19
  1434. package/esm2015/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.js +0 -27
  1435. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.js +0 -143
  1436. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module.js +0 -29
  1437. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.js +0 -236
  1438. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module.js +0 -35
  1439. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.js +0 -225
  1440. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module.js +0 -34
  1441. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.js +0 -133
  1442. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module.js +0 -29
  1443. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.js +0 -235
  1444. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module.js +0 -35
  1445. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +0 -248
  1446. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module.js +0 -34
  1447. package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.js +0 -55
  1448. package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.js +0 -26
  1449. package/esm2015/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.js +0 -64
  1450. package/esm2015/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module.js +0 -23
  1451. package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.js +0 -81
  1452. package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module.js +0 -19
  1453. package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component.js +0 -84
  1454. package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module.js +0 -25
  1455. package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.js +0 -84
  1456. package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.js +0 -27
  1457. package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.js +0 -126
  1458. package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.js +0 -27
  1459. package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +0 -119
  1460. package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.js +0 -44
  1461. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component.js +0 -67
  1462. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module.js +0 -29
  1463. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.js +0 -74
  1464. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.js +0 -32
  1465. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.js +0 -89
  1466. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module.js +0 -19
  1467. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.js +0 -79
  1468. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.module.js +0 -23
  1469. package/esm2015/lib/component/transaction-search/transaction-search.component.js +0 -146
  1470. package/esm2015/lib/component/transaction-search/transaction-search.module.js +0 -32
  1471. package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.js +0 -144
  1472. package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.js +0 -201
  1473. package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.js +0 -50
  1474. package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.js +0 -35
  1475. package/esm2015/lib/component/transaction-tile/transaction-tile.component.js +0 -121
  1476. package/esm2015/lib/component/transaction-tile/transaction-tile.module.js +0 -30
  1477. package/esm2015/lib/component/transaction-totals/transaction-totals.component.js +0 -51
  1478. package/esm2015/lib/component/transaction-totals/transaction-totals.module.js +0 -25
  1479. package/esm2015/lib/component/view-mode-buttons/view-mode-buttons.component.js +0 -61
  1480. package/esm2015/lib/component/view-mode-buttons/view-mode-buttons.module.js +0 -23
  1481. package/esm2015/lib/enum/content-view-mode.enum.js +0 -11
  1482. package/esm2015/lib/enum/direction.enum.js +0 -9
  1483. package/esm2015/lib/enum/icon.enum.js +0 -84
  1484. package/esm2015/lib/enum/language-code.enum.js +0 -8
  1485. package/esm2015/lib/enum/order-discount-type.enum.js +0 -7
  1486. package/esm2015/lib/enum/position-grid-row.enum.js +0 -6
  1487. package/esm2015/lib/enum/search-view-mode.enum.js +0 -7
  1488. package/esm2015/lib/enum/searchbar-view-mode.enum.js +0 -7
  1489. package/esm2015/lib/enum/status-type.enum.js +0 -7
  1490. package/esm2015/lib/enum/time-size.type.js +0 -10
  1491. package/esm2015/lib/enum/transaction-type-category.enum.js +0 -17
  1492. package/esm2015/lib/interface/dialog-response.interface.js +0 -2
  1493. package/esm2015/lib/model/down-payment-view-model.js +0 -7
  1494. package/esm2015/lib/model/extended-transaction-line-view-model.js +0 -4
  1495. package/esm2015/lib/model/filter-item.viewmodel.js +0 -9
  1496. package/esm2015/lib/model/filter-viewmodel.js +0 -11
  1497. package/esm2015/lib/model/icon-svg.js +0 -83
  1498. package/esm2015/lib/model/payment.viewmodel.js +0 -6
  1499. package/esm2015/lib/model/received-goods-view-model.js +0 -11
  1500. package/esm2015/lib/model/relation-any-type.js +0 -3
  1501. package/esm2015/lib/model/standard-text.js +0 -3
  1502. package/esm2015/lib/model/text-value-container.js +0 -3
  1503. package/esm2015/lib/model/transaction-bar-button.js +0 -2
  1504. package/esm2015/lib/model/transaction-search-result.js +0 -3
  1505. package/esm2015/lib/pipe/append.pipe.js +0 -17
  1506. package/esm2015/lib/pipe/co-currency.pipe.js +0 -47
  1507. package/esm2015/lib/pipe/date-duration.pipe.js +0 -57
  1508. package/esm2015/lib/pipe/delivery-time.pipe.js +0 -36
  1509. package/esm2015/lib/pipe/localize.pipe.js +0 -28
  1510. package/esm2015/lib/pipe/pipe.module.js +0 -37
  1511. package/esm2015/lib/pipe/safe-html.pipe.js +0 -19
  1512. package/esm2015/lib/pipe/safe-style.pipe.js +0 -19
  1513. package/esm2015/lib/service/article-connector.service.js +0 -106
  1514. package/esm2015/lib/service/article.service.js +0 -33
  1515. package/esm2015/lib/service/dialog.service.js +0 -116
  1516. package/esm2015/lib/service/dictionary.service.js +0 -76
  1517. package/esm2015/lib/service/dynamic-component.service.js +0 -71
  1518. package/esm2015/lib/service/error.service.js +0 -68
  1519. package/esm2015/lib/service/icon-cache.service.js +0 -51
  1520. package/esm2015/lib/service/options.service.js +0 -71
  1521. package/esm2015/lib/service/payment.service.js +0 -105
  1522. package/esm2015/lib/service/pending-reason.service.js +0 -310
  1523. package/esm2015/lib/service/relation-connector.service.js +0 -222
  1524. package/esm2015/lib/service/relation.service.js +0 -158
  1525. package/esm2015/lib/service/shared-connector.service.js +0 -53
  1526. package/esm2015/lib/service/shared.service.js +0 -42
  1527. package/esm2015/lib/service/transaction-connector-adapter.service.js +0 -1807
  1528. package/esm2015/lib/service/transaction-connector.service.js +0 -667
  1529. package/esm2015/lib/service/transaction-event.service.js +0 -35
  1530. package/esm2015/lib/service/transaction-image.service.js +0 -53
  1531. package/esm2015/lib/service/transaction-mapping.service.js +0 -178
  1532. package/esm2015/lib/service/transaction.service.js +0 -845
  1533. package/esm2015/public_api.js +0 -46
  1534. package/fesm2015/colijnit-transaction.js +0 -25177
  1535. package/fesm2015/colijnit-transaction.js.map +0 -1
  1536. package/lib/assets/dictionary/text.properties.d.ts +0 -3
  1537. package/lib/cache/cache-field.d.ts +0 -25
  1538. package/lib/cache/parameter-cache-field.d.ts +0 -11
  1539. package/lib/cache/service/business-object-cache-manager.service.d.ts +0 -58
  1540. package/lib/cache/service/select-multiple-cache.service.d.ts +0 -15
  1541. package/lib/cache/service/select-multiple-parameterized-cache.service.d.ts +0 -19
  1542. package/lib/cache/service/select-single-cache.service.d.ts +0 -12
  1543. package/lib/component/animated-checkbox/animated-checkbox.component.d.ts +0 -5
  1544. package/lib/component/animated-checkbox/animated-checkbox.module.d.ts +0 -2
  1545. package/lib/component/avatar/avatar.component.d.ts +0 -31
  1546. package/lib/component/avatar/avatar.module.d.ts +0 -2
  1547. package/lib/component/checkout/checkout-login/checkout-login.component.d.ts +0 -21
  1548. package/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.d.ts +0 -11
  1549. package/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +0 -65
  1550. package/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.d.ts +0 -21
  1551. package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +0 -38
  1552. package/lib/component/checkout/checkout.component.d.ts +0 -48
  1553. package/lib/component/checkout/checkout.module.d.ts +0 -2
  1554. package/lib/component/confirmation-dialog/confirmation-dialog.component.d.ts +0 -18
  1555. package/lib/component/confirmation-dialog/confirmation-dialog.module.d.ts +0 -2
  1556. package/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.d.ts +0 -21
  1557. package/lib/component/core/base/components/characteristic-answer/characteristic-answer.module.d.ts +0 -2
  1558. package/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component.d.ts +0 -13
  1559. package/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module.d.ts +0 -2
  1560. package/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.d.ts +0 -10
  1561. package/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.d.ts +0 -2
  1562. package/lib/component/core/base/components/warehouse/warehouse.component.d.ts +0 -20
  1563. package/lib/component/core/base/components/warehouse/warehouse.module.d.ts +0 -2
  1564. package/lib/component/core/base/dialog-base.component.d.ts +0 -4
  1565. package/lib/component/core/base/dialog-transaction-header-base.component.d.ts +0 -13
  1566. package/lib/component/core/base/dialog-transaction-line-base.component.d.ts +0 -16
  1567. package/lib/component/core/base/dynamic-base-component.d.ts +0 -3
  1568. package/lib/component/core/base/transaction-base.component.d.ts +0 -30
  1569. package/lib/component/core/base/transaction-filter-base.component.d.ts +0 -26
  1570. package/lib/component/core/base/transaction-filter-content-base.component.d.ts +0 -21
  1571. package/lib/component/core/base/transaction-filter-popup-base.component.d.ts +0 -37
  1572. package/lib/component/core/base/transaction-grid-base.component.d.ts +0 -25
  1573. package/lib/component/core/base/transaction-header-base.component.d.ts +0 -16
  1574. package/lib/component/core/base/transaction-header-filter-popup-base.component.d.ts +0 -38
  1575. package/lib/component/core/base/transaction-line-base.component.d.ts +0 -16
  1576. package/lib/component/core/base/transaction-lines-line-base.component.d.ts +0 -23
  1577. package/lib/component/core/base/transaction-search-grid-base.component.d.ts +0 -11
  1578. package/lib/component/core/base/transaction-search-tile-base.component.d.ts +0 -13
  1579. package/lib/component/core/core.module.d.ts +0 -2
  1580. package/lib/component/core/directive/lazy-render-master.directive.d.ts +0 -10
  1581. package/lib/component/core/directive/lazy-render.directive.d.ts +0 -10
  1582. package/lib/component/core/enum/app-popup-button-type.enum.d.ts +0 -9
  1583. package/lib/component/core/enum/app-popup-type.enum.d.ts +0 -6
  1584. package/lib/component/core/icon/icon.component.d.ts +0 -12
  1585. package/lib/component/core/image-display/image-display.component.d.ts +0 -5
  1586. package/lib/component/core/relation/customer-groups.component.d.ts +0 -14
  1587. package/lib/component/core/stock-status-indicator/stock-status-indicator.component.d.ts +0 -5
  1588. package/lib/component/delivery-type-tile/delivery-type-tile.component.d.ts +0 -10
  1589. package/lib/component/delivery-type-tile/delivery-type-tile.module.d.ts +0 -2
  1590. package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.d.ts +0 -15
  1591. package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.d.ts +0 -2
  1592. package/lib/component/dialog/dialog-header-search/dialog-header-search.component.d.ts +0 -10
  1593. package/lib/component/dialog/dialog-header-search/dialog-header-search.module.d.ts +0 -2
  1594. package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.d.ts +0 -4
  1595. package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.d.ts +0 -2
  1596. package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.d.ts +0 -8
  1597. package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.d.ts +0 -2
  1598. package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.d.ts +0 -4
  1599. package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.d.ts +0 -2
  1600. package/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.d.ts +0 -4
  1601. package/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module.d.ts +0 -2
  1602. package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.d.ts +0 -14
  1603. package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.d.ts +0 -2
  1604. package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.d.ts +0 -4
  1605. package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.d.ts +0 -2
  1606. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.d.ts +0 -4
  1607. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.d.ts +0 -2
  1608. package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.d.ts +0 -4
  1609. package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.d.ts +0 -2
  1610. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.d.ts +0 -4
  1611. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module.d.ts +0 -2
  1612. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.d.ts +0 -12
  1613. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.d.ts +0 -2
  1614. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.d.ts +0 -6
  1615. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.d.ts +0 -2
  1616. package/lib/component/discount/discount.component.d.ts +0 -19
  1617. package/lib/component/discount/discount.module.d.ts +0 -2
  1618. package/lib/component/down-payment/down-payment.component.d.ts +0 -16
  1619. package/lib/component/down-payment/down-payment.module.d.ts +0 -2
  1620. package/lib/component/editable-label/editable-label.component.d.ts +0 -16
  1621. package/lib/component/editable-label/editable-label.module.d.ts +0 -2
  1622. package/lib/component/loader/loader.component.d.ts +0 -3
  1623. package/lib/component/loader/loader.module.d.ts +0 -2
  1624. package/lib/component/payment/payment.component.d.ts +0 -58
  1625. package/lib/component/payment/payment.module.d.ts +0 -2
  1626. package/lib/component/payment-qr-code/payment-qr-code.component.d.ts +0 -4
  1627. package/lib/component/payment-qr-code/payment-qr-code.module.d.ts +0 -2
  1628. package/lib/component/payment-tile/payment-tile.component.d.ts +0 -10
  1629. package/lib/component/payment-tile/payment-tile.module.d.ts +0 -2
  1630. package/lib/component/quick-send-button/quick-send-button.component.d.ts +0 -15
  1631. package/lib/component/quick-send-button/quick-send-button.module.d.ts +0 -2
  1632. package/lib/component/relation/relation-address/relation-address.component.d.ts +0 -25
  1633. package/lib/component/relation/relation-address/relation-address.module.d.ts +0 -2
  1634. package/lib/component/relation/relation-address-select/relation-address-select.component.d.ts +0 -33
  1635. package/lib/component/relation/relation-address-select/relation-address-select.module.d.ts +0 -2
  1636. package/lib/component/relation/relation-address-tile/relation-address-tile.component.d.ts +0 -15
  1637. package/lib/component/relation/relation-address-tile/relation-address-tile.module.d.ts +0 -2
  1638. package/lib/component/relation/relation-addresses/relation-addresses.component.d.ts +0 -27
  1639. package/lib/component/relation/relation-addresses/relation-addresses.module.d.ts +0 -2
  1640. package/lib/component/relation/relation-base.component.d.ts +0 -13
  1641. package/lib/component/relation/relation-contact-details/relation-contact-details.component.d.ts +0 -12
  1642. package/lib/component/relation/relation-contact-details/relation-contact-details.module.d.ts +0 -2
  1643. package/lib/component/relation/relation-general/relation-general.component.d.ts +0 -34
  1644. package/lib/component/relation/relation-general/relation-general.module.d.ts +0 -2
  1645. package/lib/component/relation/relation-preferences/relation-preferences.component.d.ts +0 -15
  1646. package/lib/component/relation/relation-preferences/relation-preferences.module.d.ts +0 -2
  1647. package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.d.ts +0 -7
  1648. package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.d.ts +0 -2
  1649. package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.d.ts +0 -8
  1650. package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.d.ts +0 -2
  1651. package/lib/component/relation/relation-type/relation-type.component.d.ts +0 -11
  1652. package/lib/component/relation/relation-type/relation-type.module.d.ts +0 -2
  1653. package/lib/component/shared/transaction-article-text/transaction-article-text.component.d.ts +0 -44
  1654. package/lib/component/shared/transaction-article-text/transaction-article-text.module.d.ts +0 -2
  1655. package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +0 -29
  1656. package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.d.ts +0 -2
  1657. package/lib/component/shopping-cart/shopping-cart.component.d.ts +0 -17
  1658. package/lib/component/shopping-cart/shopping-cart.module.d.ts +0 -2
  1659. package/lib/component/shopping-cart-preview/shopping-cart-preview.component.d.ts +0 -13
  1660. package/lib/component/shopping-cart-preview/shopping-cart-preview.module.d.ts +0 -2
  1661. package/lib/component/stepper/component/stepper-step.component.d.ts +0 -12
  1662. package/lib/component/stepper/stepper.component.d.ts +0 -36
  1663. package/lib/component/stepper/stepper.module.d.ts +0 -2
  1664. package/lib/component/tile/tile.component.d.ts +0 -6
  1665. package/lib/component/tile/tile.module.d.ts +0 -2
  1666. package/lib/component/transaction/style/_layout.scss +0 -56
  1667. package/lib/component/transaction/style/material.scss +0 -13
  1668. package/lib/component/transaction/transaction.component.d.ts +0 -45
  1669. package/lib/component/transaction/transaction.module.d.ts +0 -2
  1670. package/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.d.ts +0 -18
  1671. package/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.d.ts +0 -2
  1672. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.d.ts +0 -16
  1673. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.d.ts +0 -18
  1674. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.d.ts +0 -12
  1675. package/lib/component/transaction-button-bar/transaction-button-bar.component.d.ts +0 -19
  1676. package/lib/component/transaction-button-bar/transaction-button-bar.module.d.ts +0 -2
  1677. package/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.d.ts +0 -24
  1678. package/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.d.ts +0 -2
  1679. package/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.d.ts +0 -30
  1680. package/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.d.ts +0 -2
  1681. package/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.d.ts +0 -26
  1682. package/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module.d.ts +0 -2
  1683. package/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.d.ts +0 -8
  1684. package/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.d.ts +0 -2
  1685. package/lib/component/transaction-grid/transaction-grid/transaction-grid.component.d.ts +0 -26
  1686. package/lib/component/transaction-grid/transaction-grid/transaction-grid.module.d.ts +0 -2
  1687. package/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.d.ts +0 -19
  1688. package/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.d.ts +0 -2
  1689. package/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.d.ts +0 -21
  1690. package/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.d.ts +0 -2
  1691. package/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.d.ts +0 -4
  1692. package/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.d.ts +0 -2
  1693. package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.d.ts +0 -37
  1694. package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.d.ts +0 -2
  1695. package/lib/component/transaction-header/transaction-header/transaction-header.component.d.ts +0 -12
  1696. package/lib/component/transaction-header/transaction-header/transaction-header.module.d.ts +0 -2
  1697. package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.d.ts +0 -21
  1698. package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.d.ts +0 -2
  1699. package/lib/component/transaction-header/transaction-header-order/style/_layout.scss +0 -51
  1700. package/lib/component/transaction-header/transaction-header-order/style/_material-definition.scss +0 -12
  1701. package/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.d.ts +0 -13
  1702. package/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.d.ts +0 -2
  1703. package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +0 -22
  1704. package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.d.ts +0 -2
  1705. package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.d.ts +0 -41
  1706. package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.d.ts +0 -2
  1707. package/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.d.ts +0 -14
  1708. package/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.d.ts +0 -2
  1709. package/lib/component/transaction-header-fields/transaction-header-branch.component.d.ts +0 -17
  1710. package/lib/component/transaction-header-fields/transaction-header-branch.module.d.ts +0 -2
  1711. package/lib/component/transaction-header-fields/transaction-header-definitive.component.d.ts +0 -9
  1712. package/lib/component/transaction-header-fields/transaction-header-definitive.module.d.ts +0 -2
  1713. package/lib/component/transaction-header-fields/transaction-header-delivery-date.component.d.ts +0 -17
  1714. package/lib/component/transaction-header-fields/transaction-header-delivery-date.module.d.ts +0 -2
  1715. package/lib/component/transaction-header-fields/transaction-header-delivery-method.component.d.ts +0 -20
  1716. package/lib/component/transaction-header-fields/transaction-header-delivery-method.module.d.ts +0 -2
  1717. package/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.d.ts +0 -21
  1718. package/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module.d.ts +0 -2
  1719. package/lib/component/transaction-header-fields/transaction-header-discount-amount.component.d.ts +0 -17
  1720. package/lib/component/transaction-header-fields/transaction-header-discount-amount.module.d.ts +0 -2
  1721. package/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.d.ts +0 -17
  1722. package/lib/component/transaction-header-fields/transaction-header-discount-percentage.module.d.ts +0 -2
  1723. package/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.d.ts +0 -18
  1724. package/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module.d.ts +0 -2
  1725. package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.d.ts +0 -17
  1726. package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.d.ts +0 -2
  1727. package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.d.ts +0 -17
  1728. package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.d.ts +0 -2
  1729. package/lib/component/transaction-header-fields/transaction-header-marketing.component.d.ts +0 -14
  1730. package/lib/component/transaction-header-fields/transaction-header-marketing.module.d.ts +0 -2
  1731. package/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.d.ts +0 -11
  1732. package/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.d.ts +0 -2
  1733. package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.d.ts +0 -17
  1734. package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.d.ts +0 -2
  1735. package/lib/component/transaction-header-fields/transaction-header-reference.component.d.ts +0 -17
  1736. package/lib/component/transaction-header-fields/transaction-header-reference.module.d.ts +0 -2
  1737. package/lib/component/transaction-header-fields/transaction-header-relation-reference.component.d.ts +0 -17
  1738. package/lib/component/transaction-header-fields/transaction-header-relation-reference.module.d.ts +0 -2
  1739. package/lib/component/transaction-header-fields/transaction-header-remarks.component.d.ts +0 -17
  1740. package/lib/component/transaction-header-fields/transaction-header-remarks.module.d.ts +0 -2
  1741. package/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.d.ts +0 -11
  1742. package/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.d.ts +0 -2
  1743. package/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.d.ts +0 -20
  1744. package/lib/component/transaction-line/transaction-base-line/transaction-base-line.module.d.ts +0 -2
  1745. package/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.d.ts +0 -12
  1746. package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.d.ts +0 -27
  1747. package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.d.ts +0 -2
  1748. package/lib/component/transaction-line/transaction-line/transaction-line.component.d.ts +0 -32
  1749. package/lib/component/transaction-line/transaction-line/transaction-line.module.d.ts +0 -2
  1750. package/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.d.ts +0 -4
  1751. package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.d.ts +0 -25
  1752. package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.d.ts +0 -2
  1753. package/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.d.ts +0 -28
  1754. package/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.d.ts +0 -2
  1755. package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.d.ts +0 -19
  1756. package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.d.ts +0 -2
  1757. package/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.d.ts +0 -19
  1758. package/lib/component/transaction-line/transaction-receive-goods-line/style/_layout.scss +0 -36
  1759. package/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.d.ts +0 -27
  1760. package/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.d.ts +0 -2
  1761. package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts +0 -49
  1762. package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.d.ts +0 -2
  1763. package/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.d.ts +0 -20
  1764. package/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.d.ts +0 -2
  1765. package/lib/component/transaction-line-fields/transaction-line-amount.component.d.ts +0 -10
  1766. package/lib/component/transaction-line-fields/transaction-line-amount.module.d.ts +0 -2
  1767. package/lib/component/transaction-line-fields/transaction-line-commission-button.component.d.ts +0 -9
  1768. package/lib/component/transaction-line-fields/transaction-line-commission-button.module.d.ts +0 -2
  1769. package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +0 -15
  1770. package/lib/component/transaction-line-fields/transaction-line-commission-code.module.d.ts +0 -2
  1771. package/lib/component/transaction-line-fields/transaction-line-delivery-button.component.d.ts +0 -13
  1772. package/lib/component/transaction-line-fields/transaction-line-delivery-button.module.d.ts +0 -2
  1773. package/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.d.ts +0 -10
  1774. package/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.d.ts +0 -2
  1775. package/lib/component/transaction-line-fields/transaction-line-delivery-date.component.d.ts +0 -17
  1776. package/lib/component/transaction-line-fields/transaction-line-delivery-date.module.d.ts +0 -2
  1777. package/lib/component/transaction-line-fields/transaction-line-delivery-method.component.d.ts +0 -14
  1778. package/lib/component/transaction-line-fields/transaction-line-delivery-method.module.d.ts +0 -2
  1779. package/lib/component/transaction-line-fields/transaction-line-description.component.d.ts +0 -21
  1780. package/lib/component/transaction-line-fields/transaction-line-description.module.d.ts +0 -2
  1781. package/lib/component/transaction-line-fields/transaction-line-discount-amount.component.d.ts +0 -10
  1782. package/lib/component/transaction-line-fields/transaction-line-discount-amount.module.d.ts +0 -2
  1783. package/lib/component/transaction-line-fields/transaction-line-line-discount.component.d.ts +0 -10
  1784. package/lib/component/transaction-line-fields/transaction-line-line-discount.module.d.ts +0 -2
  1785. package/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.d.ts +0 -18
  1786. package/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.d.ts +0 -2
  1787. package/lib/component/transaction-line-fields/transaction-line-price-list.component.d.ts +0 -14
  1788. package/lib/component/transaction-line-fields/transaction-line-price-list.module.d.ts +0 -2
  1789. package/lib/component/transaction-line-fields/transaction-line-quantity.component.d.ts +0 -7
  1790. package/lib/component/transaction-line-fields/transaction-line-quantity.module.d.ts +0 -2
  1791. package/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.d.ts +0 -10
  1792. package/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.d.ts +0 -2
  1793. package/lib/component/transaction-line-fields/transaction-line-reference.component.d.ts +0 -10
  1794. package/lib/component/transaction-line-fields/transaction-line-reference.module.d.ts +0 -2
  1795. package/lib/component/transaction-line-fields/transaction-line-special-discount.component.d.ts +0 -10
  1796. package/lib/component/transaction-line-fields/transaction-line-special-discount.module.d.ts +0 -2
  1797. package/lib/component/transaction-line-fields/transaction-line-supplier-button.component.d.ts +0 -12
  1798. package/lib/component/transaction-line-fields/transaction-line-supplier-button.module.d.ts +0 -2
  1799. package/lib/component/transaction-line-fields/transaction-line-supplier.component.d.ts +0 -16
  1800. package/lib/component/transaction-line-fields/transaction-line-supplier.module.d.ts +0 -2
  1801. package/lib/component/transaction-line-fields/transaction-line-vat.component.d.ts +0 -13
  1802. package/lib/component/transaction-line-fields/transaction-line-vat.module.d.ts +0 -2
  1803. package/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.d.ts +0 -15
  1804. package/lib/component/transaction-line-fields/transaction-line-warehouse-button.module.d.ts +0 -2
  1805. package/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.d.ts +0 -18
  1806. package/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.d.ts +0 -2
  1807. package/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.d.ts +0 -13
  1808. package/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.d.ts +0 -2
  1809. package/lib/component/transaction-line-fields/transaction-line-warehouse.component.d.ts +0 -14
  1810. package/lib/component/transaction-line-fields/transaction-line-warehouse.module.d.ts +0 -2
  1811. package/lib/component/transaction-line-grid/transaction-line-grid.component.d.ts +0 -5
  1812. package/lib/component/transaction-line-grid/transaction-line-grid.module.d.ts +0 -2
  1813. package/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.d.ts +0 -29
  1814. package/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module.d.ts +0 -2
  1815. package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +0 -27
  1816. package/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.d.ts +0 -2
  1817. package/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.d.ts +0 -21
  1818. package/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.d.ts +0 -2
  1819. package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.d.ts +0 -28
  1820. package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.d.ts +0 -2
  1821. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.d.ts +0 -20
  1822. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.d.ts +0 -2
  1823. package/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.d.ts +0 -30
  1824. package/lib/component/transaction-line-statusbar/transaction-line-statusbar.module.d.ts +0 -2
  1825. package/lib/component/transaction-lines/transaction-lines.component.d.ts +0 -48
  1826. package/lib/component/transaction-lines/transaction-lines.module.d.ts +0 -2
  1827. package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.d.ts +0 -28
  1828. package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.d.ts +0 -2
  1829. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.d.ts +0 -20
  1830. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.d.ts +0 -2
  1831. package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.d.ts +0 -7
  1832. package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.d.ts +0 -2
  1833. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +0 -19
  1834. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.d.ts +0 -2
  1835. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.d.ts +0 -14
  1836. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.d.ts +0 -2
  1837. package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.d.ts +0 -33
  1838. package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.d.ts +0 -2
  1839. package/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.d.ts +0 -33
  1840. package/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module.d.ts +0 -2
  1841. package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.d.ts +0 -34
  1842. package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.d.ts +0 -2
  1843. package/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.d.ts +0 -43
  1844. package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.d.ts +0 -17
  1845. package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.d.ts +0 -2
  1846. package/lib/component/transaction-search/service/filter-request.service.d.ts +0 -87
  1847. package/lib/component/transaction-search/service/transaction-search.service.d.ts +0 -37
  1848. package/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.d.ts +0 -26
  1849. package/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module.d.ts +0 -2
  1850. package/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component.d.ts +0 -9
  1851. package/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module.d.ts +0 -2
  1852. package/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.d.ts +0 -9
  1853. package/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module.d.ts +0 -2
  1854. package/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.d.ts +0 -10
  1855. package/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.d.ts +0 -2
  1856. package/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.d.ts +0 -25
  1857. package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.d.ts +0 -40
  1858. package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module.d.ts +0 -2
  1859. package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.d.ts +0 -36
  1860. package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module.d.ts +0 -2
  1861. package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.d.ts +0 -50
  1862. package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module.d.ts +0 -2
  1863. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.d.ts +0 -40
  1864. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module.d.ts +0 -2
  1865. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.d.ts +0 -36
  1866. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module.d.ts +0 -2
  1867. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.d.ts +0 -57
  1868. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module.d.ts +0 -2
  1869. package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.d.ts +0 -24
  1870. package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.d.ts +0 -2
  1871. package/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.d.ts +0 -21
  1872. package/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module.d.ts +0 -2
  1873. package/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.d.ts +0 -22
  1874. package/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module.d.ts +0 -2
  1875. package/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component.d.ts +0 -7
  1876. package/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module.d.ts +0 -2
  1877. package/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.d.ts +0 -7
  1878. package/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.d.ts +0 -2
  1879. package/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.d.ts +0 -36
  1880. package/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.d.ts +0 -2
  1881. package/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.d.ts +0 -32
  1882. package/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.d.ts +0 -2
  1883. package/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component.d.ts +0 -3
  1884. package/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module.d.ts +0 -2
  1885. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.d.ts +0 -6
  1886. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.d.ts +0 -2
  1887. package/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.d.ts +0 -25
  1888. package/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module.d.ts +0 -2
  1889. package/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.d.ts +0 -22
  1890. package/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.module.d.ts +0 -2
  1891. package/lib/component/transaction-search/transaction-search.component.d.ts +0 -32
  1892. package/lib/component/transaction-search/transaction-search.module.d.ts +0 -2
  1893. package/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.d.ts +0 -35
  1894. package/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.d.ts +0 -48
  1895. package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.d.ts +0 -15
  1896. package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.d.ts +0 -2
  1897. package/lib/component/transaction-tile/transaction-tile.component.d.ts +0 -24
  1898. package/lib/component/transaction-tile/transaction-tile.module.d.ts +0 -2
  1899. package/lib/component/transaction-totals/transaction-totals.component.d.ts +0 -12
  1900. package/lib/component/transaction-totals/transaction-totals.module.d.ts +0 -2
  1901. package/lib/component/view-mode-buttons/view-mode-buttons.component.d.ts +0 -17
  1902. package/lib/component/view-mode-buttons/view-mode-buttons.module.d.ts +0 -2
  1903. package/lib/enum/content-view-mode.enum.d.ts +0 -8
  1904. package/lib/enum/direction.enum.d.ts +0 -6
  1905. package/lib/enum/icon.enum.d.ts +0 -82
  1906. package/lib/enum/language-code.enum.d.ts +0 -6
  1907. package/lib/enum/order-discount-type.enum.d.ts +0 -5
  1908. package/lib/enum/position-grid-row.enum.d.ts +0 -4
  1909. package/lib/enum/search-view-mode.enum.d.ts +0 -4
  1910. package/lib/enum/searchbar-view-mode.enum.d.ts +0 -4
  1911. package/lib/enum/status-type.enum.d.ts +0 -5
  1912. package/lib/enum/time-size.type.d.ts +0 -7
  1913. package/lib/enum/transaction-type-category.enum.d.ts +0 -15
  1914. package/lib/interface/dialog-response.interface.d.ts +0 -5
  1915. package/lib/model/down-payment-view-model.d.ts +0 -7
  1916. package/lib/model/extended-transaction-line-view-model.d.ts +0 -10
  1917. package/lib/model/filter-item.viewmodel.d.ts +0 -7
  1918. package/lib/model/filter-viewmodel.d.ts +0 -8
  1919. package/lib/model/icon-svg.d.ts +0 -4
  1920. package/lib/model/payment.viewmodel.d.ts +0 -6
  1921. package/lib/model/received-goods-view-model.d.ts +0 -10
  1922. package/lib/model/relation-any-type.d.ts +0 -3
  1923. package/lib/model/standard-text.d.ts +0 -5
  1924. package/lib/model/text-value-container.d.ts +0 -4
  1925. package/lib/model/transaction-bar-button.d.ts +0 -10
  1926. package/lib/model/transaction-search-result.d.ts +0 -5
  1927. package/lib/pipe/append.pipe.d.ts +0 -4
  1928. package/lib/pipe/co-currency.pipe.d.ts +0 -10
  1929. package/lib/pipe/date-duration.pipe.d.ts +0 -10
  1930. package/lib/pipe/delivery-time.pipe.d.ts +0 -12
  1931. package/lib/pipe/localize.pipe.d.ts +0 -7
  1932. package/lib/pipe/pipe.module.d.ts +0 -2
  1933. package/lib/pipe/safe-html.pipe.d.ts +0 -7
  1934. package/lib/pipe/safe-style.pipe.d.ts +0 -7
  1935. package/lib/service/article-connector.service.d.ts +0 -20
  1936. package/lib/service/article.service.d.ts +0 -8
  1937. package/lib/service/dialog.service.d.ts +0 -25
  1938. package/lib/service/dictionary.service.d.ts +0 -21
  1939. package/lib/service/dynamic-component.service.d.ts +0 -11
  1940. package/lib/service/error.service.d.ts +0 -12
  1941. package/lib/service/icon-cache.service.d.ts +0 -18
  1942. package/lib/service/options.service.d.ts +0 -13
  1943. package/lib/service/payment.service.d.ts +0 -23
  1944. package/lib/service/pending-reason.service.d.ts +0 -59
  1945. package/lib/service/relation-connector.service.d.ts +0 -36
  1946. package/lib/service/relation.service.d.ts +0 -44
  1947. package/lib/service/shared-connector.service.d.ts +0 -12
  1948. package/lib/service/shared.service.d.ts +0 -15
  1949. package/lib/service/transaction-connector-adapter.service.d.ts +0 -206
  1950. package/lib/service/transaction-connector.service.d.ts +0 -197
  1951. package/lib/service/transaction-event.service.d.ts +0 -67
  1952. package/lib/service/transaction-image.service.d.ts +0 -10
  1953. package/lib/service/transaction-mapping.service.d.ts +0 -26
  1954. package/lib/service/transaction.service.d.ts +0 -175
  1955. package/public_api.d.ts +0 -45
@@ -1 +0,0 @@
1
- {"version":3,"file":"colijnit-transaction.js","sources":["../../../projects/transaction/src/lib/enum/language-code.enum.ts","../../../projects/transaction/src/lib/assets/dictionary/text.properties.ts","../../../projects/transaction/src/lib/service/dictionary.service.ts","../../../projects/transaction/src/lib/service/options.service.ts","../../../projects/transaction/src/lib/cache/cache-field.ts","../../../projects/transaction/src/lib/cache/parameter-cache-field.ts","../../../projects/transaction/src/lib/cache/service/business-object-cache-manager.service.ts","../../../projects/transaction/src/lib/cache/service/select-multiple-cache.service.ts","../../../projects/transaction/src/lib/cache/service/select-multiple-parameterized-cache.service.ts","../../../projects/transaction/src/lib/model/standard-text.ts","../../../projects/transaction/src/lib/model/transaction-search-result.ts","../../../projects/transaction/src/lib/component/core/enum/app-popup-button-type.enum.ts","../../../projects/transaction/src/lib/component/core/base/dialog-base.component.ts","../../../projects/transaction/src/lib/component/core/enum/app-popup-type.enum.ts","../../../projects/transaction/src/lib/enum/icon.enum.ts","../../../projects/transaction/src/lib/model/icon-svg.ts","../../../projects/transaction/src/lib/service/icon-cache.service.ts","../../../projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.component.ts","../../../projects/transaction/src/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.ts","../../../projects/transaction/src/lib/component/core/base/transaction-line-base.component.ts","../../../projects/transaction/src/lib/component/core/base/dialog-transaction-line-base.component.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.ts","../../../projects/transaction/src/lib/service/dynamic-component.service.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.ts","../../../projects/transaction/src/lib/service/dialog.service.ts","../../../projects/transaction/src/lib/service/error.service.ts","../../../projects/transaction/src/lib/service/transaction-connector-adapter.service.ts","../../../projects/transaction/src/lib/cache/service/select-single-cache.service.ts","../../../projects/transaction/src/lib/service/transaction-connector.service.ts","../../../projects/transaction/src/lib/service/transaction-event.service.ts","../../../projects/transaction/src/lib/service/article-connector.service.ts","../../../projects/transaction/src/lib/service/relation-connector.service.ts","../../../projects/transaction/src/lib/service/relation.service.ts","../../../projects/transaction/src/lib/service/pending-reason.service.ts","../../../projects/transaction/src/lib/service/transaction.service.ts","../../../projects/transaction/src/lib/component/checkout/checkout.component.ts","../../../projects/transaction/src/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.ts","../../../projects/transaction/src/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.ts","../../../projects/transaction/src/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.ts","../../../projects/transaction/src/lib/component/checkout/checkout-login/checkout-login.component.ts","../../../projects/transaction/src/lib/component/core/image-display/image-display.component.ts","../../../projects/transaction/src/lib/component/core/icon/icon.component.ts","../../../projects/transaction/src/lib/component/core/relation/customer-groups.component.ts","../../../projects/transaction/src/lib/component/core/stock-status-indicator/stock-status-indicator.component.ts","../../../projects/transaction/src/lib/pipe/append.pipe.ts","../../../projects/transaction/src/lib/enum/time-size.type.ts","../../../projects/transaction/src/lib/pipe/date-duration.pipe.ts","../../../projects/transaction/src/lib/pipe/delivery-time.pipe.ts","../../../projects/transaction/src/lib/pipe/localize.pipe.ts","../../../projects/transaction/src/lib/pipe/co-currency.pipe.ts","../../../projects/transaction/src/lib/pipe/safe-style.pipe.ts","../../../projects/transaction/src/lib/pipe/safe-html.pipe.ts","../../../projects/transaction/src/lib/pipe/pipe.module.ts","../../../projects/transaction/src/lib/component/confirmation-dialog/confirmation-dialog.module.ts","../../../projects/transaction/src/lib/component/core/base/components/characteristic-answer/characteristic-answer.module.ts","../../../projects/transaction/src/lib/component/core/base/components/warehouse/warehouse.component.ts","../../../projects/transaction/src/lib/component/core/base/components/warehouse/warehouse.module.ts","../../../projects/transaction/src/lib/component/core/directive/lazy-render-master.directive.ts","../../../projects/transaction/src/lib/component/core/directive/lazy-render.directive.ts","../../../projects/transaction/src/lib/component/core/core.module.ts","../../../projects/transaction/src/lib/component/relation/relation-base.component.ts","../../../projects/transaction/src/lib/component/relation/relation-address-select/relation-address-select.component.ts","../../../projects/transaction/src/lib/component/relation/relation-address/relation-address.component.ts","../../../projects/transaction/src/lib/component/relation/relation-address/relation-address.module.ts","../../../projects/transaction/src/lib/component/relation/relation-address-tile/relation-address-tile.component.ts","../../../projects/transaction/src/lib/component/tile/tile.component.ts","../../../projects/transaction/src/lib/component/tile/tile.module.ts","../../../projects/transaction/src/lib/component/relation/relation-address-tile/relation-address-tile.module.ts","../../../projects/transaction/src/lib/component/relation/relation-address-select/relation-address-select.module.ts","../../../projects/transaction/src/lib/component/stepper/component/stepper-step.component.ts","../../../projects/transaction/src/lib/component/stepper/stepper.component.ts","../../../projects/transaction/src/lib/component/stepper/stepper.module.ts","../../../projects/transaction/src/lib/component/transaction-totals/transaction-totals.component.ts","../../../projects/transaction/src/lib/component/core/base/transaction-header-filter-popup-base.component.ts","../../../projects/transaction/src/lib/component/core/base/transaction-header-base.component.ts","../../../projects/transaction/src/lib/component/core/base/dialog-transaction-header-base.component.ts","../../../projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-percentage.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-amount.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-amount.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module.ts","../../../projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module.ts","../../../projects/transaction/src/lib/component/transaction-totals/transaction-totals.module.ts","../../../projects/transaction/src/lib/service/transaction-image.service.ts","../../../projects/transaction/src/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-description.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-description.module.ts","../../../projects/transaction/src/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module.ts","../../../projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.component.ts","../../../projects/transaction/src/lib/component/shared/transaction-article-text/transaction-article-text.module.ts","../../../projects/transaction/src/lib/enum/search-view-mode.enum.ts","../../../projects/transaction/src/lib/enum/searchbar-view-mode.enum.ts","../../../projects/transaction/src/lib/component/transaction-search/service/transaction-search.service.ts","../../../projects/transaction/src/lib/component/core/base/transaction-filter-base.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.ts","../../../projects/transaction/src/lib/component/core/base/transaction-search-grid-base.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.ts","../../../projects/transaction/src/lib/component/core/base/transaction-search-tile-base.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.ts","../../../projects/transaction/src/lib/enum/transaction-type-category.enum.ts","../../../projects/transaction/src/lib/component/core/base/transaction-base.component.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.ts","../../../projects/transaction/src/lib/component/core/base/transaction-grid-base.component.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.ts","../../../projects/transaction/src/lib/enum/direction.enum.ts","../../../projects/transaction/src/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.ts","../../../projects/transaction/src/lib/component/core/base/transaction-lines-line-base.component.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.ts","../../../projects/transaction/src/lib/model/extended-transaction-line-view-model.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.ts","../../../projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.ts","../../../projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.ts","../../../projects/transaction/src/lib/service/transaction-mapping.service.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-line/transaction-line.component.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-line/transaction-line.module.ts","../../../projects/transaction/src/lib/component/transaction-lines/transaction-lines.component.ts","../../../projects/transaction/src/lib/component/transaction-lines/transaction-lines.module.ts","../../../projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.component.ts","../../../projects/transaction/src/lib/component/shopping-cart-preview/shopping-cart-preview.module.ts","../../../projects/transaction/src/lib/service/shared-connector.service.ts","../../../projects/transaction/src/lib/service/shared.service.ts","../../../projects/transaction/src/lib/component/avatar/avatar.component.ts","../../../projects/transaction/src/lib/component/avatar/avatar.module.ts","../../../projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.component.ts","../../../projects/transaction/src/lib/component/delivery-type-tile/delivery-type-tile.module.ts","../../../projects/transaction/src/lib/model/payment.viewmodel.ts","../../../projects/transaction/src/lib/service/payment.service.ts","../../../projects/transaction/src/lib/model/down-payment-view-model.ts","../../../projects/transaction/src/lib/component/payment/payment.component.ts","../../../projects/transaction/src/lib/component/payment-tile/payment-tile.component.ts","../../../projects/transaction/src/lib/component/payment-tile/payment-tile.module.ts","../../../projects/transaction/src/lib/component/payment-qr-code/payment-qr-code.component.ts","../../../projects/transaction/src/lib/component/loader/loader.component.ts","../../../projects/transaction/src/lib/component/loader/loader.module.ts","../../../projects/transaction/src/lib/component/payment-qr-code/payment-qr-code.module.ts","../../../projects/transaction/src/lib/component/down-payment/down-payment.component.ts","../../../projects/transaction/src/lib/component/down-payment/down-payment.module.ts","../../../projects/transaction/src/lib/component/payment/payment.module.ts","../../../projects/transaction/src/lib/component/relation/relation-type/relation-type.component.ts","../../../projects/transaction/src/lib/component/relation/relation-type/relation-type.module.ts","../../../projects/transaction/src/lib/component/relation/relation-general/relation-general.component.ts","../../../projects/transaction/src/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.ts","../../../projects/transaction/src/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.ts","../../../projects/transaction/src/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module.ts","../../../projects/transaction/src/lib/component/relation/relation-suggestions-list/relation-suggestions-list.module.ts","../../../projects/transaction/src/lib/component/relation/relation-general/relation-general.module.ts","../../../projects/transaction/src/lib/component/relation/relation-addresses/relation-addresses.component.ts","../../../projects/transaction/src/lib/component/relation/relation-addresses/relation-addresses.module.ts","../../../projects/transaction/src/lib/component/relation/relation-contact-details/relation-contact-details.component.ts","../../../projects/transaction/src/lib/component/relation/relation-contact-details/relation-contact-details.module.ts","../../../projects/transaction/src/lib/component/relation/relation-preferences/relation-preferences.component.ts","../../../projects/transaction/src/lib/component/relation/relation-preferences/relation-preferences.module.ts","../../../projects/transaction/src/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.ts","../../../projects/transaction/src/lib/component/core/base/components/transaction-header-block/transaction-header-block.component.ts","../../../projects/transaction/src/lib/component/core/base/components/transaction-header-block/transaction-header-block.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-date.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-date.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-remarks.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-remarks.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-reference.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-reference.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-relation-reference.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-relation-reference.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-method.component.ts","../../../projects/transaction/src/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.ts","../../../projects/transaction/src/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-method.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module.ts","../../../projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.ts","../../../projects/transaction/src/lib/component/dialog/dialog-header-search/dialog-header-search.component.ts","../../../projects/transaction/src/lib/component/dialog/dialog-header-search/dialog-header-search.module.ts","../../../projects/transaction/src/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-partial-delivery.module.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-downpayment-amount.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-definitive.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-definitive.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-branch.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-branch.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-administrative-relation.module.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-marketing.component.ts","../../../projects/transaction/src/lib/component/transaction-header-fields/transaction-header-marketing.module.ts","../../../projects/transaction/src/lib/component/checkout/checkout.module.ts","../../../projects/transaction/src/lib/component/shopping-cart/shopping-cart.component.ts","../../../projects/transaction/src/lib/enum/content-view-mode.enum.ts","../../../projects/transaction/src/lib/component/core/base/dynamic-base-component.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.ts","../../../projects/transaction/src/lib/component/transaction/transaction.component.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header/transaction-header.component.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-order/transaction-header-order.module.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.ts","../../../projects/transaction/src/lib/component/transaction-header/transaction-header/transaction-header.module.ts","../../../projects/transaction/src/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.ts","../../../projects/transaction/src/lib/component/transaction-line-statusbar/transaction-line-statusbar.module.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantity.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-line-discount.module.ts","../../../projects/transaction/src/lib/component/core/base/transaction-filter-popup-base.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-vat.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price-list.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-method.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-reference.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-code.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-discount-amount.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-quantum-discount.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-special-discount.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module.ts","../../../projects/transaction/src/lib/enum/status-type.enum.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.ts","../../../projects/transaction/src/lib/component/transaction-history-grid-status/transaction-history-grid-status.module.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.ts","../../../projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.ts","../../../projects/transaction/src/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.ts","../../../projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar.component.ts","../../../projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.ts","../../../projects/transaction/src/lib/component/animated-checkbox/animated-checkbox.component.ts","../../../projects/transaction/src/lib/component/animated-checkbox/animated-checkbox.module.ts","../../../projects/transaction/src/lib/component/transaction-button-bar/transaction-button-bar.module.ts","../../../projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.ts","../../../projects/transaction/src/lib/component/transaction-confirmation-history/transaction-confirmation-history.module.ts","../../../projects/transaction/src/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.ts","../../../projects/transaction/src/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component.ts","../../../projects/transaction/src/lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module.ts","../../../projects/transaction/src/lib/component/transaction-confirmation-details/transaction-confirmation-details.module.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module.ts","../../../projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.ts","../../../projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.ts","../../../projects/transaction/src/lib/service/article.service.ts","../../../projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module.ts","../../../projects/transaction/src/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.ts","../../../projects/transaction/src/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.ts","../../../projects/transaction/src/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.ts","../../../projects/transaction/src/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.ts","../../../projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.ts","../../../projects/transaction/src/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.ts","../../../projects/transaction/src/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.ts","../../../projects/transaction/src/lib/enum/order-discount-type.enum.ts","../../../projects/transaction/src/lib/component/discount/discount.component.ts","../../../projects/transaction/src/lib/component/discount/discount.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.ts","../../../projects/transaction/src/lib/component/quick-send-button/quick-send-button.component.ts","../../../projects/transaction/src/lib/component/quick-send-button/quick-send-button.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.ts","../../../projects/transaction/src/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.ts","../../../projects/transaction/src/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module.ts","../../../projects/transaction/src/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module.ts","../../../projects/transaction/src/lib/component/view-mode-buttons/view-mode-buttons.component.ts","../../../projects/transaction/src/lib/component/view-mode-buttons/view-mode-buttons.module.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-grid/transaction-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-grid/transaction-grid.module.ts","../../../projects/transaction/src/lib/model/received-goods-view-model.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-location.module.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module.ts","../../../projects/transaction/src/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.ts","../../../projects/transaction/src/lib/component/transaction-tile/transaction-tile.component.ts","../../../projects/transaction/src/lib/component/transaction-tile/transaction-tile.module.ts","../../../projects/transaction/src/lib/component/editable-label/editable-label.component.ts","../../../projects/transaction/src/lib/component/editable-label/editable-label.module.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-base-line/transaction-base-line.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-button.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-commission-button.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-warehouse-button.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-button.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-button.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-delivery-date-button.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-amount.component.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-amount.module.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-button.component.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.ts","../../../projects/transaction/src/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.ts","../../../projects/transaction/src/lib/component/transaction-line-fields/transaction-line-supplier-button.module.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.ts","../../../projects/transaction/src/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.ts","../../../projects/transaction/src/lib/component/transaction/transaction.module.ts","../../../projects/transaction/src/lib/component/shopping-cart/shopping-cart.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module.ts","../../../projects/transaction/src/lib/model/filter-item.viewmodel.ts","../../../projects/transaction/src/lib/model/filter-viewmodel.ts","../../../projects/transaction/src/lib/component/transaction-search/service/filter-request.service.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.ts","../../../projects/transaction/src/lib/component/core/base/transaction-filter-content-base.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module.ts","../../../projects/transaction/src/lib/component/transaction-search/transaction-search.module.ts","../../../projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.component.ts","../../../projects/transaction/src/lib/component/transaction-line-grid/transaction-line-grid.module.ts","../../../projects/transaction/src/colijnit-transaction.ts"],"sourcesContent":["export enum LanguageCode {\r\n Dutch = \"nl-NL\",\r\n English = \"en-GB\",\r\n German = \"de-DE\",\r\n French = \"fr-FR\",\r\n}\r\n","export class Dictionary {\r\n public strings: {} = {\r\n \"nl\": {\r\n \"0_RESULTS_FOUND\": \"0 resultaten gevonden\",\r\n \"ACCOUNT_DETAILS\": \"Accountgegevens\",\r\n \"ACCOUNT_EXPLANATION\": \"Het e-mailadres en wachtwoord zijn nodig om toegang te krijgen tot de gegevens. \" +\r\n \"Ook zullen we je via dit e-mailadres op de hoogte houden van de status van bestellingen.\",\r\n \"ACTIVE\": \"Actief\",\r\n \"ADD_ARTICLE_LINE_UP\": \"Artikelregel boven toevoegen\",\r\n \"ADD_ARTICLE_LINE_DOWN\": \"Artikelregel onder toevoegen\",\r\n \"ADD_ARTICLE_TEXT_LINE_UP\": \"Tekstregel boven toevoegen\",\r\n \"ADD_ARTICLE_TEXT_LINE_DOWN\": \"Tekstregel onder toevoegen\",\r\n \"ADD_DELIVERY_OPTION\": \"Voeg een leveroptie toe\",\r\n \"ADD_DISCOUNTS\": \"Korting toevoegen\",\r\n \"ADD_REFERENCE\": \"Voeg referentie toe\",\r\n \"ADD_REMARK\": \"Voeg een opmerking toe\",\r\n \"ADDRESS\": \"Adres\",\r\n \"ADDRESSES\": \"Adressen\",\r\n \"ADDRESS_ADD\": \"Adres toevoegen\",\r\n \"ADDRESS_CHANGE\": \"Adres wijzigen\",\r\n \"ADMINISTRATIVE_MANAGER\": \"Administratief verantwoordelijke\",\r\n \"ALLOCATED\": \"Toegewezen\",\r\n \"ALLOCATION\": \"Toewijzen\",\r\n \"ALWAYS_SHOW_LOGISTICS_POPUP\": \"Controleer magazijn en commissiecode\",\r\n \"ARRIVAL_DATE\": \"Aankomstdatum\",\r\n \"ARTICLE\": \"Artikel\",\r\n \"ARTICLE_DESCRIPTION\": \"Artikelomschrijving\",\r\n \"ARTICLE_IMAGE\": \"Artikel afbeelding\",\r\n \"ARTICLE_IN_OUT_COLLECTION\": \"Status van artikel is '|~'. Weet u zeker dat u door wilt gaan?\",\r\n \"ARTICLE_NR\": \"Artikelnummer\",\r\n \"ARTICLE_NR_SUPPLIER\": \"Artikelnr leverancier\",\r\n \"ARTICLE_UNKNOWN\": \"Onbekend artikel\",\r\n \"ASSEMBLY_COSTS\": \"Montagekosten\",\r\n \"ASSEMBLY_DATE\": \"Montagedatum\",\r\n \"ASSEMBLY_TIME\": \"Montagetijd\",\r\n \"AMOUNT\": \"Aantal\",\r\n \"AVAILABLE_STOCK\": \"Bechikbaar\",\r\n \"BACK\": \"Terug\",\r\n \"BACK_TO_STOCK_LINES\": \"Terug naar voorraadregels\",\r\n \"BALANCE\": \"Betaald\",\r\n \"BATCH_NUMBER\": \"Batchnummer\",\r\n \"BRANCH\": \"Filiaal\",\r\n \"BRANCH_NUMBER\": \"Filiaalnummer\",\r\n \"BUSINESS_RULE_DISCOUNT\": \"Business rule korting\",\r\n \"BY\": \"Door\",\r\n \"CANCEL\": \"Annuleren\",\r\n \"CANNOT_CHANGE_NEGATIVE_QUANTITY\": \"Een negatieve voorraad kan niet gewijzigd worden.\",\r\n \"CART\": \"Winkelwagen\",\r\n \"CHANGE_DATA\": \"Wijzig gegevens\",\r\n \"CHARACTERISTIC_QUESTION\": \"Kenmerkvraag\",\r\n \"CHECK_WAREHOUSE_AND_COMMISSIONCODE\": \"Controleer magazijn en commissiecode.\",\r\n \"CHECKOUT_FINISH\": \"Bestelling afronden\",\r\n \"CITY\": \"Stad\",\r\n \"CLIENT_DATA\": \"Klantgegevens\",\r\n \"CLIENT_INFORMATION\": \"Klantinformatie\",\r\n \"COMPANY\": \"Bedrijf\",\r\n \"COMPANY_NAME\": \"Bedrijfsnaam\",\r\n \"COMMISSION_CODE\": \"Commisiecode\",\r\n \"COMMISSION_CODE_WAREHOUSE_SELECTION\": \"Commisiecode en magazijnselectie\",\r\n \"CONFIRMED\": \"Bevestigd\",\r\n \"CONFIRMATION\": \"Bevestiging\",\r\n \"CONFIRMED_DATE\": \"Bevestigde datum\",\r\n \"CONFIRMED_DELIVERY_DATE\": \"Bevestigde leverdatum\",\r\n \"CONFIRMED_PRICE\": \"Bevestigde prijs\",\r\n \"CONTACT_DETAILS\": \"Contactgegevens\",\r\n \"CONTINUE\": \"Volgende\",\r\n \"CONTINUE_ORDER_WHILE_STOCK_AVAILABLE_PLEASE_CONFIRM\": \"U heeft gekozen voor het bestellen van artikelen terwijl er nog voorraad aanwezig is. Wilt u verdergaan?\",\r\n \"CONTINUE_WITHOUT_ACCOUNT\": \"Ga door zonder account\",\r\n \"COSTS\": \"Kosten\",\r\n \"COUNTRY\": \"Land\",\r\n \"CREATE_ACCOUNT\": \"Maak een account aan\",\r\n \"CREATE_ACCOUNT_IN_2_MIN\": \"Maak binnen 2 minuten een account aan.\",\r\n \"CREATE_TRANSACTION\": \"Opslaan\",\r\n \"CUSTOMER\": \"Klant\",\r\n \"CUSTOMER_GROUP\": \"Klantgroep\",\r\n \"CUSTOMER_NAME\": \"Klantnaam\",\r\n \"DATE\": \"Datum\",\r\n \"DATE_OF_BIRTH\": \"Geboortedatum\",\r\n \"DEFINITIVE\": \"Definitief\",\r\n \"DELETE\": \"Verwijderen\",\r\n \"DELETE_TRANSACTION_LINE\": \"verwijderen\",\r\n \"DELETE_TRANSACTION_LINE_HINT\": \"Verwijderen transactieregel\",\r\n \"DELETE_TRANSACTION_LINE_FAILED\": \"Het verwijderen van de transactieregel is mislukt\",\r\n \"DELETE_TRANSACTION_LINE_QUESTION\": \"Weet u zeker dat u deze regel wilt verwijderen?\",\r\n \"DELIVERED\": \"Geleverd\",\r\n \"DELIVERY\": \"Bezorging\",\r\n \"DELIVERY_ADDRESS\": \"Afleveradres\",\r\n \"DELIVERY_ADDRESS_ADD\": \"Bezorgadres toevoegen\",\r\n \"DELIVERY_ADDRESS_CHANGE\": \"Bezorgadres wijzigen\",\r\n \"DELIVERY_BATCH\": \"Leverbatch\",\r\n \"DELIVERY_COSTS\": \"Bezorgkosten\",\r\n \"DELIVERY_DATA\": \"Levergegevens\",\r\n \"DELIVERY_DATE\": \"Leverdatum\",\r\n \"DELIVERY_DATE_DEFINITIVE\": \"Leverdatum definitief\",\r\n \"DELIVERY_DATE_FINAL\": \"Definitieve leverdatum\",\r\n \"DELIVERY_DIRECT\": \"Direct leverbaar\",\r\n \"DELIVERY_INFORMATION\": \"Leverinformatie\",\r\n \"DELIVERY_LOCATION\": \"Bezorgingslocatie\",\r\n \"DELIVERY_NOTE\": \"Afleverbon\",\r\n \"DELIVERY_OPTIONS\": \"Leveropties\",\r\n \"DELIVERY_METHOD\": \"Levermethode\",\r\n \"DELIVERY_MOMENT\": \"Levermoment\",\r\n \"DELIVERY_OPTARTICLE_NRIONS\": \"Bezorgopties\",\r\n \"DELIVERY_TIME_PERIOD\": \"Levertijd\",\r\n \"DESCRIPTION\": \"Omschrijving\",\r\n \"DETAILS\": \"Details\",\r\n \"DISCOUNT\": \"Korting\",\r\n \"DISCOUNTS\": \"Kortingen\",\r\n \"DISCOUNT_AMOUNT\": \"Kortingsbedrag\",\r\n \"DISCOUNT_PERCENTAGE\": \"Kortings %\",\r\n \"DISCOUNT_PRICE_INFORMATION\": \"Korting en prijsinformatie\",\r\n \"DOWNPAYMENT\": \"Aanbetaling\",\r\n \"DOWNPAYMENT_PERCENTAGE\": \"Aan te betalen %\",\r\n \"DOWNPAYMENT_AMOUNT\": \"Aan te betalen bedrag\",\r\n \"DOWNPAYMENT_BY_BR\": \"Berekend door BR\",\r\n \"DOWNPAYMENT_ON_DELIVERY\": \"Rembours\",\r\n \"DROPSHIPMENT\": \"Dropshipment\",\r\n \"ECONOMICAL_STOCK\": \"Later beschikbaar\",\r\n \"EDIT_CART\": \"Wijzig winkelwagen\",\r\n \"EMAIL_ADDRESS\": \"E-mailadres\",\r\n \"EXCEEDENCE_CODE\": \"Uitloopcode\",\r\n \"EXISTING_CUSTOMERS\": \"Bestaande klanten\",\r\n \"EXPECTED_DELIVERY_DATE\": \"(Verwachte) leverdatum\",\r\n \"EXPECTED_DELIVERY_WEEK\": \"(Verwachte) leverweek\",\r\n \"FABRICATION_COST\": \"Fabricageprijs\",\r\n \"FABRICATION_COST_LINE_TOTAL\": \"Fabricageprijs regeltotaal\",\r\n \"FEMALE\": \"Vrouw\",\r\n \"FIRST_NAME\": \"Voornaam\",\r\n \"FREE\": \"Gratis\",\r\n \"FULLY_ALLOCATED\": \"Volledig toegewezen\",\r\n \"FULLY_CONFIRMED\": \"Volledig bevestigd\",\r\n \"FULLY_DELIVERED\": \"Volledig geleverd\",\r\n \"FULLY_RECEIVED_DELIVERED\": \"Volledig binnengemeld / geleverd\",\r\n \"FULLY_INVOICED\": \"Volledig gefactureerd\",\r\n \"FULLY_TO_BE_PICKED\": \"Volledig te picken\",\r\n \"FULLY_PICKED\": \"Volledig gepickt\",\r\n \"GROSS_PRICE\": \"Bruto prijs\",\r\n \"GOOD_DESCRIPTION\": \"Artikelomschrijving\",\r\n \"HANDLED_BY\": \"Verkoper\",\r\n \"HOUSE_NO\": \"Huisnummer\",\r\n \"HOUSE_NO_ADDITION\": \"Huisnummer toevoeging\",\r\n \"IN\": \"In\",\r\n \"INSIDE\": \"Binnen\",\r\n \"INACTIVE_TRANSACTIONS\": \"Inactieve transacties\",\r\n \"INCLUDING_RETURNS\": \"Inclusief retouren\",\r\n \"IN_SEARCHORDERS\": \"In verkooporders\",\r\n \"IN_ORDER\": \"In bestelling\",\r\n \"IN_OUT_COLLECTION\": \"In-uit-collectie\",\r\n \"INVITE_TO_ACCOUNT\": \"Uitnodigen voor account\",\r\n \"INVOICED\": \"Gefactureerd\",\r\n \"INVOICE\": \"Factureren\",\r\n \"INVOICE_ADDRESS\": \"Factuuradres\",\r\n \"INVOICE_ADDRESS_ADD\": \"Factuuradres toevoegen\",\r\n \"INVOICE_ADDRESS_CHANGE\": \"Factuuradres wijzigen\",\r\n \"INVOICE_CHECK\": \"Factuurcontrole\",\r\n \"ITEM_ACCEPTED\": \"Binnengemeld\",\r\n \"LAST_EDITED_DATE\": \"Datum laatste wijziging\",\r\n \"LAST_EDITED_USER\": \"Gebruiker laatste wijziging\",\r\n \"LAST_NAME\": \"Achternaam\",\r\n \"LINE_NEEDS_COMMISSION_CODE\": \"De commisiecode ontbreekt. Vul de commissiecode in.\",\r\n \"LOCATION\": \"Locatie\",\r\n \"LOGIN\": \"Inloggen\",\r\n \"LOGIN_DETAILS\": \"Inloggegevens\",\r\n \"LOGISTICS\": \"Logistiek\",\r\n \"LOGISTICS_AND_PLANNING\": \"Logistiek & planning\",\r\n \"MAIN_ARTICLE\": \"Hoofd artikel\",\r\n \"MALE\": \"Man\",\r\n \"MARKETING\": \"Marketing\",\r\n \"MARKETING_CODE\": \"Marketingcode\",\r\n \"MENU\": \"Menu\",\r\n \"MODIFICATION_TIME\": \"Bewerkingstijd\",\r\n \"MORE_FILTERS\": \"Meer filters\",\r\n \"NAME\": \"Naam\",\r\n \"NET_LINE_TOTAL\": \"Regeltotaal\",\r\n \"NETT\": \"Netto\",\r\n \"NETTO_PRICE\": \"Netto prijs\",\r\n \"NEW_ADDRESS\": \"Nieuw adres\",\r\n \"NEW_AT\": \"Nieuw bij \",\r\n \"NEW_LOCATION\": \"Nieuwe locatie\",\r\n \"NEXT\": \"Volgende\",\r\n \"NO_IMAGE\": \"Geen afbeelding\",\r\n \"NO_RESULTS\": \"Geen resultaten\",\r\n \"NOT_AFTER\": \"Niet later dan\",\r\n \"NOT_BEFORE\": \"Niet eerder dan\",\r\n \"NOTHING_ALLOCATED\": \"Niets toegewezen\",\r\n \"NOTHING_CONFIRMED\": \"Niets bevestigd\",\r\n \"NOTHING_DELIVERED\": \"Niets geleverd\",\r\n \"NOTHING_RECEIVED_DELIVERED\": \"Niets binnengemeld / geleverd\",\r\n \"NOTHING_INVOICED\": \"Niets gefactureerd\",\r\n \"NOTHING_TO_BE_PICKED\": \"Niets te picken\",\r\n \"NOTHING_PICKED\": \"Niets gepickt\",\r\n \"NR\": \"Nummer\",\r\n \"NUMBER\": \"Aantal\",\r\n \"ON_DATE\": \"Op datum\",\r\n \"ON_HOLD\": \"Gepauzeerd\",\r\n \"OPEN\": \"Open\",\r\n \"OPEN_SHOPPING_CART\": \"Open winkelwagen\",\r\n \"ORDER_CONFIRMATIONS\": \"Bevestigingen\",\r\n \"ORDER_DATE\": \"Orderdatum\",\r\n \"ORDER_DATA\": \"Ordergegevens\",\r\n \"ORDER_DEFINITIVE\": \"Order definitief\",\r\n \"ORDER_GROSS\": \"Ordertotaal bruto\",\r\n \"ORDER_LINES\": \"Orderregels\",\r\n \"ORDER_NET\": \"Ordertotaal netto\",\r\n \"ORDER_NUMBER\": \"Ordernummer\",\r\n \"ORDER_PARAMETERS\": \"Orderparameters\",\r\n \"ORDER_RULE\": \"Orderregel\",\r\n \"ORDER_RULESET\": \"Orderregelset\",\r\n \"ORDER_TOTAL\": \"Ordertotaal\",\r\n \"ORDER_TYPE\": \"Type bestelling\",\r\n \"ORDERED\": \"Besteld\",\r\n \"ORDER\": \"Order\",\r\n \"OTHER\": \"Overig\",\r\n \"OVERVIEW\": \"Overzicht\",\r\n \"OVERVIEW_AND_PAYMENT\": \"Overzicht en betaling\",\r\n \"OWN_REFERENCE\": \"Eigen referentie\",\r\n \"PACKING_SLIP\": \"Pakbon\",\r\n \"PAID_DOWN2\": \"Aanbetaald\",\r\n \"PART_DELIVERY\": \"Deellevering\",\r\n \"PART_DELIVERIES\": \"Deelleveringen\",\r\n \"PARTLY_ALLOCATED\": \"Gedeeltelijk toegewezen\",\r\n \"PARTLY_CONFIRMED\": \"Gedeeltelijk bevestigd\",\r\n \"PARTLY_DELIVERED\": \"Gedeeltelijk geleverd\",\r\n \"PARTLY_RECEIVED_DELIVERED\": \"Gedeeltelijk binnengemeld / geleverd\",\r\n \"PARTLY_INVOICED\": \"Gedeeltelijk gefactureerd\",\r\n \"PARTLY_TO_BE_PICKED\": \"Gedeeltelijk te picken\",\r\n \"PARTLY_PICKED\": \"Gedeeltelijk gepickt\",\r\n \"PASSWORD\": \"Wachtwoord\",\r\n \"PAY\": \"Betalen\",\r\n \"PAYMENT\": \"Betaling\",\r\n \"PAYMENT_INFORMATION\": \"Betaalinformatie\",\r\n \"PAYMENT_METHOD\": \"Betaalmethode\",\r\n \"PAYMENTS_MADE\": \"Verrichte betalingen\",\r\n \"PERSONAL_DATA\": \"Basisgegevens\",\r\n \"PICKED\": \"Gepickt\",\r\n \"PHONE_NO\": \"Telefoonnummer\",\r\n \"PHYSICAL_STOCK\": \"Fysieke voorraad\",\r\n \"PLANNED\": \"Gepland\",\r\n \"PLANNING\": \"Planning\",\r\n \"PLANNING_REQUESTED\": \"Voorkeur aangevraagd\",\r\n \"PLANNING_PREFERRED_DATE_ENTERED\": \"Voorkeur bekend\",\r\n \"POSTAL_CODE\": \"Postcode\",\r\n \"PREFERRED_DATE\": \"Voorkeursdatum\",\r\n \"PREFIX\": \"Tussenvoegsel\",\r\n \"PREVIOUS\": \"Vorige\",\r\n \"PRICE\": \"Prijs\",\r\n \"PRICE_LIST\": \"Prijslijst\",\r\n \"PRICING\": \"Prijzen\",\r\n \"PRIVACY_PREFERENCES\": \"Privacyvoorkeuren\",\r\n \"PRIVATE_PERSON\": \"Particulier\",\r\n \"PRODUCT\": \"Product\",\r\n \"PRODUCT_TYPE\": \"Productsoort\",\r\n \"PRODUCT_DESCRIPTION_AND_TEXTS\": \"Productomschrijving & teksten\",\r\n \"PURCHASE\": \"Inkoop\",\r\n \"PURCHASENUMBER\": \"Inkoopnummer\",\r\n \"PURCHASEORDERS\": \"Inkooporders\",\r\n \"PURCHASE_PERSON\": \"Inkoper\",\r\n \"QUANTITY_CANNOT_BE_ZERO_OR_EMPTY\": \"Het aantal mag geen 0 zijn.\",\r\n \"QUANTITY_CANNOT_BE_LESS_THAN_DELIVERED\": \"Het aantal moet gelijk zijn aan het geleverde aantal\",\r\n \"QUANTITY_CANNOT_BE_MORE_THAN_DELIVERED\": \"Het aantal moet gelijk zijn aan het geleverde aantal\",\r\n \"QUANTITY_CANNOT_BE_LESS_THAN_INVOICED\": \"Het aantal moet gelijk zijn aan de bestelde voorraad\",\r\n \"QUANTITY_CANNOT_BE_MORE_THAN_INVOICED\": \"Het aantal moet gelijk zijn aan de bestelde voorraad\",\r\n \"QUANTITY_CANNOT_BE_LESS_THAN_ALLOCATED\": \"Het aantal moet gelijk zijn aan dde toegewezen voorraad\",\r\n \"QUANTITY_CANNOT_BE_MORE_THAN_ALLOCATED\": \"Het aantal moet gelijk zijn aan dde toegewezen voorraad\",\r\n \"QUANTITY_CANNOT_BE_LESS_THAN_RECEIVED\": \"Het aantal moet gelijk zijn aan het aantal ontvangen.\",\r\n \"QUANTITY_CANNOT_BE_MORE_THAN_RECEIVED\": \"Het aantal moet gelijk zijn aan het aantal ontvangen\",\r\n \"QUANTUM_DISCOUNT\": \"Kwantumkorting\",\r\n \"RECEIPT_DETAILS\": \"Ontvangst details\",\r\n \"RECEIVE\": \"Ontvangen\",\r\n \"RECEIVED\": \"Ontvangst\",\r\n \"RECEIVED_DELIVERED\": \"Binnengemeld / geleverd\",\r\n \"RECEIVED_DATE\": \"Ontvangst datum\",\r\n \"REDISTRIBUTE_DISCOUNT\": \"Herverdeel korting\",\r\n \"REFERENCE\": \"Referentie\",\r\n \"REFERENCE_RELATION\": \"Ref. relatie\",\r\n \"RELATION_ALREADY_LOCKED\": \"De relatie wordt al bewerkt\",\r\n \"RELATION_NUMBER\": \"Relatienummer\",\r\n \"REMARKS\": \"Opmerkingen\",\r\n \"REQUESTED_DELIVERY\": \"Gevraagde leverdatum\",\r\n \"RETURN_DETAILS\": \"Retour details\",\r\n \"RETURN_STOCK\": \"Retourneren\",\r\n \"SALUTATION\": \"Aanhef\",\r\n \"SALESORDERS\": \"Verkooporders\",\r\n \"SAME_AS_DELIVERY\": \"Hetzelfde als bezorgadres\",\r\n \"SAVE\": \"Opslaan\",\r\n \"SEARCH\": \"Zoeken\",\r\n \"SEARCH_IMPERATIVE\": \"Zoek\",\r\n \"SEARCH_ADD_ARTICLE\": \"Zoeken en toevoegen artikel\",\r\n \"SEARCH_DELIVERY_METHOD\": \"Zoek levermethode\",\r\n \"SEARCH_IN_COLLECTION\": \"Zoek binnen collectie...\",\r\n \"SEARCH_NUMBER_CUSTOMER_OR_DATE\": \"Zoeken op nummer, klant of datum\",\r\n \"SEARCH_NUMBER_SUPPLIER_OR_DATE\": \"Zoeken op nummer, leverancier of datum\",\r\n \"SEARCH_PRICE_LIST\": \"Zoek prijslijst\",\r\n \"SEARCH_VAT\": \"Zoek btw\",\r\n \"SEARCH_ARTICLE_NR\": \"Zoek artikelnummer\",\r\n \"SEARCH_BATCH_NUMBER\": \"Zoek batchnummer\",\r\n \"SEARCH_BRANCH\": \"Zoek filiaal\",\r\n \"SEARCH_COMMISSION_CODE\": \"Zoek commissiecode\",\r\n \"SEARCH_CUSTOMER_GROUP\": \"Zoek klantgroep\",\r\n \"SEARCH_CUSTOMER_NAME\": \"Zoek klantnaam\",\r\n \"SEARCH_EXCEEDENCE_CODE\": \"Zoek uitloopcode\",\r\n \"SEARCH_MAIN_ARTICLE\": \"Zoek hoofdartikel\",\r\n \"SEARCH_ONHOLD\": \"Zoek gepauzeerd\",\r\n \"SEARCH_OWN_REFERENCE\": \"Zoek eigen referentie\",\r\n \"SEARCH_PURCHASENUMBER\": \"Zoek inkoopnummer\",\r\n \"SEARCH_PURCHASEPERSON\": \"Zoek inkoper\",\r\n \"SEARCH_SALESPERSON\": \"Zoek verkoper\",\r\n \"SEARCH_SERIAL_NUMBER\": \"Zoek serienummer\",\r\n \"SEARCH_SOURCE_WAREHOUSE\": \"Zoek bronmagazijn\",\r\n \"SEARCH_SUPPLIER\": \"Zoek leverancier\",\r\n \"SEARCH_TAGS\": \"Zoek tags\",\r\n \"SEARCH_TURNOVER_GROUP\": \"Zoek omzetgroep\",\r\n \"SEARCH_WAREHOUSE\": \"Zoek magazijn\",\r\n \"SELECT\": \"Selecteren\",\r\n \"SELECT_A\": \"Selecteer een\",\r\n \"SELECT_ALL_LINES\": \"Selecteer alle regels\",\r\n \"SELECT_CASH_REGISTER\": \"Selecteer kassa\",\r\n \"SELECT_DATE\": \"Selecteer een start- en einddatum\",\r\n \"SEND\": \"Versturen\",\r\n \"SERIAL_NUMBER\": \"Serienummer\",\r\n \"SERVICE_NUMBER\": \"Servicenummer\",\r\n \"SERVICE_REQUEST_DATE\": \"Datum aanvraag\",\r\n \"SERVICE_STATE\": \"Service status\",\r\n \"SHOPPING_CART\": \"Winkelwagen\",\r\n \"SHOPPING_CART_CHECKOUT\": \"Bestellen\",\r\n \"SHOPPING_CART_OVERVIEW\": \"Overzicht van uw bestelling\",\r\n \"SHOPPING_CART_RESUME\": \"Verder winkelen\",\r\n \"SHOW_MORE\": \"Toon meer\",\r\n \"SHOW_LESS\": \"Toon minder\",\r\n \"SINCE\": \"Sinds\",\r\n \"SPECIAL_DISCOUNT\": \"Speciale korting\",\r\n \"SOURCE_WAREHOUSE\": \"Bron magazijn\",\r\n \"STOCK\": \"Voorraad\",\r\n \"STOCK_NOTIFICATION\": \"Voorraadmelding\",\r\n \"STOCK_AVAILABLE_CHANGE_WAREHOUSE_OR_COMMISSIONCODE\": \"Er is voldoende voorraad. Verander magazijn en/of commissiecode\",\r\n \"SUBTOTAL\": \"Subtotaal\",\r\n \"SUGGESTIONS\": \"Suggesties\",\r\n \"SUPPLIER\": \"Leverancier\",\r\n \"SURCHARGE_AMOUNT\": \"Toeslag\",\r\n \"STATE\": \"Status\",\r\n \"STREET\": \"Straatnaam\",\r\n \"TAGS\": \"Tags\",\r\n \"TEXT_ARTICLE_BOUND\": \"Text bij artikel |~\",\r\n \"TO_REPORT_IN\": 'Binnen te melden',\r\n \"TO_BE_PICKED\": \"Te picken\",\r\n \"TO_ORDER\": \"Te bestellen\",\r\n \"TO_DELIVER\": \"Te leveren\",\r\n \"TO_PAY\": \"Te betalen\",\r\n \"TOTAL_AMOUNT\": \"Totaalbedrag\",\r\n \"TOTAL_ASSEMBLY_TIME\": \"Totale montagetijd\",\r\n \"TOTAL_GROSS\": \"Totaal bruto\",\r\n \"TOTAL_LINE_DISCOUNT\": \"Totale regelkorting\",\r\n \"TRANSACTION_ALREADY_LOCKED\": \"De transactie wordt al bewerkt\",\r\n \"TRANSACTION_DATE\": \"Orderdatum\",\r\n \"TRANSACTION_DISCOUNT\": \"Transactie korting\",\r\n \"TRANSACTION_DISCOUNT_PERC\": \"% Trans. korting\",\r\n \"TRANSACTION_PRICE_DECLARATION\": \"Order prijsverklaring\",\r\n \"TRANSACTION_SUM_I\": \"Ordertotaal incl. BTW\",\r\n \"TRANSACTION_TOTAL\": \"Transactie totaal\",\r\n \"TRANSPORT\": \"Transport\",\r\n \"TRANSPORT_NOTIFICATION\": \"Transport notificatie\",\r\n \"TRANSPORT_COST\": \"Transportkosten\",\r\n \"TRANSPORT_COST_LINE_TOTAL\": \"Transportkosten regeltotaal\",\r\n \"TURNOVER_GROUP\": \"Omzetgroep\",\r\n \"TYPE\": \"Soort\",\r\n \"TYPE_OR_SEARCH_TEXT\": \"Type of zoek de tekst die u wilt toevoegen...\",\r\n \"UNKNOWN\": \"Onbekend\",\r\n \"UNKNOWN_ADDRESS_CHECK_IT\": \"Onbekend adres\",\r\n \"USER\": \"Gebruiker\",\r\n \"VAT\": \"Btw\",\r\n \"VAT2\": \"BTW\",\r\n \"VAT_AMOUNT\": \"BTW-bedrag\",\r\n \"VALUE\": \"Waarde\",\r\n \"WHERE_ARE_YOU_LOOKING_FOR\": \"Waar ben je naar op zoek?\",\r\n \"WAREHOUSE\": \"Magazijn\",\r\n \"YOUR_DATA\": \"Gegevens\",\r\n \"STANDARD_TEXTS\":\"Standaardteksten\",\r\n \"ARTICLE_BOUND_TEXT\": \"Artikelgebonden tekst\",\r\n \"FOR_DOCUMENTS\": \"Bestemd voor documenten\",\r\n \"CHANGE_ARTICLE_TEXT\": \"Wijzigen artikeltekst\",\r\n },\r\n \"de\": {},\r\n \"fr\": {},\r\n \"en\": {\r\n \"0_RESULTS_FOUND\": \"0 results found\",\r\n \"ACCOUNT_DETAILS\": \"Account details\",\r\n \"ACCOUNT_EXPLANATION\": \"E-mailaddress and password are needed to gain access to the data. We also notify you on this e-mailaddress about the order status\",\r\n \"ACTIVE\": \"Active\",\r\n \"ADD_ARTICLE_LINE_UP\": \"Add article line up\",\r\n \"ADD_ARTICLE_LINE_DOWN\": \"Add article line down\",\r\n \"ADD_ARTICLE_TEXT_LINE_UP\": \"Add text line up\",\r\n \"ADD_ARTICLE_TEXT_LINE_DOWN\": \"Add text line down\",\r\n \"ADD_DELIVERY_OPTION\": \"Add delivery option\",\r\n \"ADD_DISCOUNTS\": \"Add discount\",\r\n \"ADD_REFERENCE\": \"Add reference\",\r\n \"ADD_REMARK\": \"Add remark\",\r\n \"ADDRESS\": \"Address\",\r\n \"ADDRESSES\": \"Addresses\",\r\n \"ADDRESS_ADD\": \"Add address\",\r\n \"ADDRESS_CHANGE\": \"Change address\",\r\n \"ADMINISTRATIVE_MANAGER\": \"Administrative manager\",\r\n \"ALLOCATED\": \"Allocated\",\r\n \"ALLOCATION\": \"Allocation\",\r\n \"ALWAYS_SHOW_LOGISTICS_POPUP\": \"Check warehouse and commissioncode\",\r\n \"ARRIVAL_DATE\": \"Arrival date\",\r\n \"ARTICLE\": \"Article\",\r\n \"ARTICLE_DESCRIPTION\": \"Article description\",\r\n \"ARTICLE_IMAGE\": \"Article image\",\r\n \"ARTICLE_IN_OUT_COLLECTION\": \"Status of article is '|~'. Are you sure to proceed?\",\r\n \"ARTICLE_NR\": \"Article number\",\r\n \"ARTICLE_NR_SUPPLIER\": \"Artikelnr supplier\",\r\n \"ARTICLE_UNKNOWN\": \"Article unknown\",\r\n \"ASSEMBLY_COSTS\": \"Assembly costs\",\r\n \"ASSEMBLY_DATE\": \"Assembly date\",\r\n \"ASSEMBLY_TIME\": \"Assembly time\",\r\n \"AMOUNT\": \"Amount\",\r\n \"BACK\": \"Back\",\r\n \"BALANCE\": \"Balance\",\r\n \"BATCH_NUMBER\": \"Batchnumber\",\r\n \"BRANCH\": \"Branch\",\r\n \"BRANCH_NUMBER\": \"Branch number\",\r\n \"BUSINESS_RULE_DISCOUNT\": \"Business rule discount\",\r\n \"BY\": \"By\",\r\n \"CANCEL\": \"Cancel\",\r\n \"CANNOT_CHANGE_NEGATIVE_QUANTITY\": \"A negative supply cannot be changed.\",\r\n \"CART\": \"Cart\",\r\n \"CHANGE_DATA\": \"Change data\",\r\n \"CHARACTERISTIC_QUESTION\": \"Characteristic question\",\r\n \"CHECK_WAREHOUSE_AND_COMMISSIONCODE\": \"Check warehouse and commissioncode\",\r\n \"CHECKOUT_FINISH\": \"Finish checkout\",\r\n \"CITY\": \"City\",\r\n \"CLIENT_DATA\": \"Client data\",\r\n \"CLIENT_INFORMATION\": \"Client information\",\r\n \"COMPANY\": \"Company\",\r\n \"COMPANY_NAME\": \"Company name\",\r\n \"COMMISSION_CODE\": \"Commission code\",\r\n \"COMMISSION_CODE_WAREHOUSE_SELECTION\": \"Commission code and warehouse selection\",\r\n \"CONFIRMATION\": \"Confirmation\",\r\n \"CONFIRMED_DATE\": \"Confirmed date\",\r\n \"CONFIRMED_DELIVERY_DATE\": \"Confirmed delivery date\",\r\n \"CONFIRMED_PRICE\": \"Confirmed price\",\r\n \"CONTACT_DETAILS\": \"Contactdetails\",\r\n \"CONTINUE\": \"Next\",\r\n \"CONFIRMED\": \"Confirmed\",\r\n \"CONTINUE_ORDER_WHILE_STOCK_AVAILABLE_PLEASE_CONFIRM\": \"You have chosen to order articles while stock is still available. Do you wish to proceed?\",\r\n \"CONTINUE_WITHOUT_ACCOUNT\": \"Continue without an account\",\r\n \"COSTS\": \"Costs\",\r\n \"COUNTRY\": \"Country\",\r\n \"CREATE_ACCOUNT\": \"Create an account\",\r\n \"CREATE_ACCOUNT_IN_2_MIN\": \"Create an account in 2 minutes.\",\r\n \"CREATE_TRANSACTION\": \"Save\",\r\n \"CUSTOMER\": \"Customer\",\r\n \"CUSTOMER_GROUP\": \"Customergroup\",\r\n \"CUSTOMER_NAME\": \"Customer name\",\r\n \"DATE\": \"Date\",\r\n \"DATE_OF_BIRTH\": \"Date of birth\",\r\n \"DEFINITIVE\": \"Definitive\",\r\n \"DELETE\": \"Delete\",\r\n \"DELETE_TRANSACTION_LINE\": \"Delete transaction line verwijderen?\",\r\n \"DELETE_TRANSACTION_LINE_HINT\": \"Delete transaction line\",\r\n \"DELETE_TRANSACTION_LINE_FAILED\": \"Deletion of transaction line has failed\",\r\n \"DELIVERED\": \"Delivered\",\r\n \"DELIVERY\": \"Delivery\",\r\n \"DELIVERY_ADDRESS\": \"Delivery address\",\r\n \"DELIVERY_ADDRESS_ADD\": \"Add delivery address\",\r\n \"DELIVERY_ADDRESS_CHANGE\": \"Change delivery address\",\r\n \"DELIVERY_BATCH\": \"Delivery batch\",\r\n \"DELIVERY_COSTS\": \"Delivery costs\",\r\n \"DELIVERY_DATA\": \"Deliverydata\",\r\n \"DELIVERY_DATE\": \"Delivery date\",\r\n \"DELIVERY_DATE_DEFINITIVE\": \"Delivery date definitive\",\r\n \"DELIVERY_DATE_FINAL\": \"Final delivery date\",\r\n \"DELIVERY_DIRECT\": \"Direct delivery\",\r\n \"DELIVERY_INFORMATION\": \"Direct information\",\r\n \"DELIVERY_LOCATION\": \"Delivery location\",\r\n \"DELIVERY_NOTE\": \"Delivery note\",\r\n \"DELIVERY_OPTIONS\": \"Delivery options\",\r\n \"DELIVERY_METHOD\": \"Delivery method\",\r\n \"DELIVERY_MOMENT\": \"Delivery moment\",\r\n \"DELIVERY_OPTARTICLE_NRIONS\": \"Delivery options\",\r\n \"DELIVERY_TIME_PERIOD\": \"Delivery time period\",\r\n \"DESCRIPTION\": \"Description\",\r\n \"DETAILS\": \"Details\",\r\n \"DISCOUNT\": \"Discount\",\r\n \"DISCOUNTS\": \"Discounts\",\r\n \"DISCOUNT_AMOUNT\": \"Discount amount\",\r\n \"DISCOUNT_PERCENTAGE\": \"Discount %\",\r\n \"DISCOUNT_PRICE_INFORMATION\": \"Discount and price information\",\r\n \"DOWNPAYMENT\": \"Downpayment\",\r\n \"DOWNPAYMENT_PERCENTAGE\": \"Percentage to be paid\",\r\n \"DOWNPAYMENT_AMOUNT\": \"Amount to be paid\",\r\n \"DOWNPAYMENT_BY_BR\": \"Calculated by BR\",\r\n \"DOWNPAYMENT_ON_DELIVERY\": \"On delivery\",\r\n \"DROPSHIPMENT\": \"Dropshipment\",\r\n \"EDIT_CART\": \"Edit cart\",\r\n \"EMAIL_ADDRESS\": \"E-mailadres\",\r\n \"EXCEEDENCE_CODE\": \"Exceedence code\",\r\n \"EXISTING_CUSTOMERS\": \"Existing customers\",\r\n \"EXPECTED_DELIVERY_DATE\": \"(Expected) delivery date\",\r\n \"EXPECTED_DELIVERY_WEEK\": \"(Expected) delivery week\",\r\n \"FABRICATION_COST\": \"Fabricationcost\",\r\n \"FABRICATION_COST_LINE_TOTAL\": \"Fabricationcost linetotal\",\r\n \"FEMALE\": \"Female\",\r\n \"FIRST_NAME\": \"First name\",\r\n \"FREE\": \"Free\",\r\n \"FULLY_ALLOCATED\": \"Fully allocated\",\r\n \"FULLY_CONFIRMED\": \"Fully confirmed\",\r\n \"FULLY_DELIVERED\": \"Fully delivered\",\r\n \"FULLY_RECEIVED_DELIVERED\": \"Fully received / delivered\",\r\n \"FULLY_INVOICED\": \"Fully invoiced\",\r\n \"FULLY_TO_BE_PICKED\": \"Fully to be picked\",\r\n \"FULLY_PICKED\": \"Fully picked\",\r\n \"GOOD_DESCRIPTION\": \"Article description\",\r\n \"GROSS_PRICE\": \"Gross price\",\r\n \"HANDLED_BY\": \"Handled by\",\r\n \"HISTORICAL\": \"Historisch\",\r\n \"HOUSE_NO\": \"Housenumber\",\r\n \"HOUSE_NO_ADDITION\": \"Housenumber addition\",\r\n \"IN\": \"In\",\r\n \"INACTIVE_TRANSACTIONS\": \"Inactieve transacties\",\r\n \"INCLUDING_RETURNS\": \"Including returns\",\r\n \"IN_SEARCHORDERS\": \"In sales orders\",\r\n \"IN_ORDER\": \"In order\",\r\n \"IN_OUT_COLLECTION\": \"In-out-collection\",\r\n \"INVITE_TO_ACCOUNT\": \"Invite account\",\r\n \"INVOICED\": \"Invoiced\",\r\n \"INVOICE\": \"Invoice\",\r\n \"INVOICE_ADDRESS\": \"Invoice address\",\r\n \"INVOICE_ADDRESS_ADD\": \"Add invoice address\",\r\n \"INVOICE_ADDRESS_CHANGE\": \"Change invoice address\",\r\n \"INVOICE_CHECK\": \"Invoice check\",\r\n \"ITEM_ACCEPTED\": \"Item accepted\",\r\n \"LAST_EDITED_DATE\": \"Date last mutation\",\r\n \"LAST_EDITED_USER\": \"User last mutation\",\r\n \"LAST_NAME\": \"Last name\",\r\n \"LINE_NEEDS_COMMISSION_CODE\": \"Line needs a commission code\",\r\n \"LOCATION\": \"Location\",\r\n \"LOGIN\": \"Login\",\r\n \"LOGIN_DETAILS\": \"Login details\",\r\n \"LOGISTICS\": \"Logistics\",\r\n \"LOGISTICS_AND_PLANNING\": \"Logistics & planning\",\r\n \"MAIN_ARTICLE\": \"Main article\",\r\n \"MALE\": \"Male\",\r\n \"MARKETING\": \"Marketing\",\r\n \"MARKETING_CODE\": \"Marketingcode\",\r\n \"MENU\": \"Menu\",\r\n \"MODIFICATION_TIME\": \"Modification time\",\r\n \"MORE_FILTERS\": \"More filters\",\r\n \"NAME\": \"Name\",\r\n \"NET_LINE_TOTAL\": \"Linetotal\",\r\n \"NETT\": \"Net\",\r\n \"NETTO_PRICE\": \"Netto price\",\r\n \"NEW_ADDRESS\": \"New address\",\r\n \"NEW_AT\": \"New at \",\r\n \"NEW_LOCATION\": \"New location\",\r\n \"NEXT\": \"Next\",\r\n \"NO_IMAGE\": \"No image available\",\r\n \"NO_RESULTS\": \"No results\",\r\n \"NOT_AFTER\": \"Not after\",\r\n \"NOT_BEFORE\": \"Not before\",\r\n \"NOTHING_ALLOCATED\": \"Nothing allocated\",\r\n \"NOTHING_CONFIRMED\": \"Nothing confirmed\",\r\n \"NOTHING_DELIVERED\": \"Nothing delivered\",\r\n \"NOTHING_RECEIVED_DELIVERED\": \"Nothing received / delivered\",\r\n \"NOTHING_INVOICED\": \"Nothing invoiced\",\r\n \"NOTHING_TO_BE_PICKED\": \"Nothing to be picked\",\r\n \"NOTHING_PICKED\": \"Nothing picked\",\r\n \"NR\": \"Number\",\r\n \"NUMBER\": \"Amount\",\r\n \"ON_DATE\": \"On date\",\r\n \"ON_HOLD\": \"On hold\",\r\n \"OPEN_SHOPPING_CART\": \"Open shopping cart\",\r\n \"ORDER_CONFIRMATIONS\": \"Order confirmations\",\r\n \"ORDER_DATE\": \"Order date\",\r\n \"ORDER_DATA\": \"Orderdata\",\r\n \"ORDER_DEFINITIVE\": \"Order definitive\",\r\n \"ORDER_GROSS\": \"Total gross amount\",\r\n \"ORDER_LINES\": \"Orderlines\",\r\n \"ORDER_NET\": \"Total net amount\",\r\n \"ORDER_NUMBER\": \"Order number\",\r\n \"ORDER_PARAMETERS\": \"Order parameters\",\r\n \"ORDER_RULE\": \"Order rule\",\r\n \"ORDER_RULESET\": \"Orderruleset\",\r\n \"ORDER_TOTAAL\": \"Order total\",\r\n \"ORDER_TYPE\": \"Order type\",\r\n \"ORDER\": \"Order\",\r\n \"ORDERED\": \"Ordered\",\r\n \"OTHER\": \"Other\",\r\n \"OVERVIEW\": \"Overview\",\r\n \"OVERVIEW_AND_PAYMENT\": \"Overview and payment\",\r\n \"OWN_REFERENCE\": \"Own reference\",\r\n \"PACKING_SLIP\": \"Packing slip\",\r\n \"PAID_DOWN2\": \"Prepaid\",\r\n \"PART_DELIVERY\": \"Partial delivery\",\r\n \"PART_DELIVERIES\": \"Partial deliveries\",\r\n \"PARTLY_ALLOCATED\": \"Partly allocated\",\r\n \"PARTLY_CONFIRMED\": \"Partly confirmed\",\r\n \"PARTLY_DELIVERED\": \"Partly delivered\",\r\n \"PARTLY_RECEIVED_DELIVERED\": \"Partly received / delivered\",\r\n \"PARTLY_INVOICED\": \"Partly invoiced\",\r\n \"PARTLY_TO_BE_PICKED\": \"Partly to be picked\",\r\n \"PARTLY_PICKED\": \"Partly picked\",\r\n \"PASSWORD\": \"Password\",\r\n \"PAY\": \"Pay\",\r\n \"PAYMENT\": \"Payment\",\r\n \"PAYMENT_INFORMATION\": \"Payment information\",\r\n \"PAYMENT_METHOD\": \"Payment method\",\r\n \"PAYMENTS_MADE\": \"Payments made\",\r\n \"PERSONAL_DATA\": \"Personal data\",\r\n \"PHONE_NO\": \"Telephone number\",\r\n \"PLANNING\": \"Planning\",\r\n \"PICKED\": \"Picked\",\r\n \"POSTAL_CODE\": \"postal code\",\r\n \"PREFERRED_DATE\": \"Preferred date\",\r\n \"PREFIX\": \"Prefix\",\r\n \"PREVIOUS\": \"Previous\",\r\n \"PRICE\": \"Price\",\r\n \"PRICE_LIST\": \"Pricelist\",\r\n \"PRICING\": \"Pricing\",\r\n \"PRIVACY_PREFERENCES\": \"Privacy preferences\",\r\n \"PRIVATE_PERSON\": \"Private\",\r\n \"PLANNED\": \"Planned\",\r\n \"PLANNING_REQUESTED\": \"Planning requested\",\r\n \"PLANNING_PREFERRED_DATE_ENTERED\": \"Planning preferred date entered\",\r\n \"PRODUCT\": \"Product\",\r\n \"PRODUCT_TYPE\": \"Product type\",\r\n \"PRODUCT_DESCRIPTION_AND_TEXTS\": \"Product description & texts\",\r\n \"PURCHASE\": \"Purchase\",\r\n \"PURCHASENUMBER\": \"Purchase number\",\r\n \"PURCHASEORDERS\": \"Purchase orders\",\r\n \"PURCHASE_PERSON\": \"Purchase person\",\r\n \"QUANTITY_CANNOT_BE_ZERO_OR_EMPTY\": \"Quantity cannot be zero or empty\",\r\n \"QUANTUM_DISCOUNT\": \"Quantum discount\",\r\n \"RECEIPT_DETAILS\": \"Receipt details\",\r\n \"RECEIVED\": \"Received\",\r\n \"RECEIVED_DATE\": \"Received date\",\r\n \"REDISTRIBUTE_DISCOUNT\": \"Redistribute discount\",\r\n \"RECEIVED_DELIVERED\": \"Received / delivered\",\r\n \"REFERENCE\": \"Reference\",\r\n \"REFERENCE_RELATION\": \"Ref. relation\",\r\n \"RELATION_ALREADY_LOCKED\": \"Relation is already locked\",\r\n \"RELATION_NUMBER\": \"Relation number\",\r\n \"REMARKS\": \"Remarks\",\r\n \"REQUESTED_DELIVERY\": \"Requested delivery\",\r\n \"RETURN_DETAILS\": \"Return details\",\r\n \"RETURN_STOCK\": \"Return stock\",\r\n \"SALESORDERS\": \"Sales orders\",\r\n \"SALUTATION\": \"Salutation\",\r\n \"SAME_AS_DELIVERY\": \"Same as delivery address\",\r\n \"SAVE\": \"Save\",\r\n \"SEARCH\": \"Search\",\r\n \"SEARCH_IMPERATIVE\": \"Search\",\r\n \"SEARCH_ADD_ARTICLE\": \"Search and add article\",\r\n \"SEARCH_DELIVERY_METHOD\": \"Search deliverymethod\",\r\n \"SEARCH_IN_COLLECTION\": \"Search in collection...\",\r\n \"SEARCH_NUMBER_CUSTOMER_OR_DATE\": \"Search for number, customer or date\",\r\n \"SEARCH_NUMBER_SUPPLIER_OR_DATE\": \"Search for number, supplier or date\",\r\n \"SEARCH_PRICE_LIST\": \"Search pricelist\",\r\n \"SEARCH_VAT\": \"Search vat\",\r\n \"SEARCH_ARTICLE_NR\": \"Search article number\",\r\n \"SEARCH_BATCH_NUMBER\": \"Search batch number\",\r\n \"SEARCH_BRANCH\": \"Search branch\",\r\n \"SEARCH_COMMISSION_CODE\": \"Search commission code\",\r\n \"SEARCH_CUSTOMER_GROUP\": \"Search customer group\",\r\n \"SEARCH_CUSTOMER_NAME\": \"Search customer name\",\r\n \"SEARCH_EXCEEDENCE_CODE\": \"Search exceedence code\",\r\n \"SEARCH_MAIN_ARTICLE\": \"Search main article\",\r\n \"SEARCH_ONHOLD\": \"Search on hold\",\r\n \"SEARCH_OWN_REFERENCE\": \"Search own reference\",\r\n \"SEARCH_PURCHASENUMBER\": \"Search purchase number\",\r\n \"SEARCH_PURCHASEPERSON\": \"Search purchase person\",\r\n \"SEARCH_SALESPERSON\": \"Search sales person\",\r\n \"SEARCH_SERIAL_NUMBER\": \"Search serial number\",\r\n \"SEARCH_SOURCE_WAREHOUSE\": \"Search source warehouse\",\r\n \"SEARCH_SUPPLIER\": \"Search supplier\",\r\n \"SEARCH_TAGS\": \"Search tags\",\r\n \"SEARCH_TURNOVER_GROUP\": \"Search turnover group\",\r\n \"SEARCH_WAREHOUSE\": \"Search warehouse\",\r\n \"SELECT\": \"Select\",\r\n \"SELECT_A\": \"Select a\",\r\n \"SELECT_CASH_REGISTER\": \"Select cash register\",\r\n \"SELECT_DATE_RANGE\": \"Select a date range\",\r\n \"SEND\": \"Send\",\r\n \"SERIAL_NUMBER\": \"Serial number\",\r\n \"SERVICE_NUMBER\": \"Service number\",\r\n \"SERVICE_REQUEST_DATE\": \"Service request data\",\r\n \"SERVICE_STATE\": \"Service state\",\r\n \"SHOPPING_CART\": \"Shopping cart\",\r\n \"SHOPPING_CART_CHECKOUT\": \"Checkout\",\r\n \"SHOPPING_CART_OVERVIEW\": \"Order overview\",\r\n \"SHOPPING_CART_RESUME\": \"Resume shopping\",\r\n \"SHOW_MORE\": \"Show more\",\r\n \"SHOW_LESS\": \"Show less\",\r\n \"SINCE\": \"Since\",\r\n \"SPECIAL_DISCOUNT\": \"Special discount\",\r\n \"SOURCE_WAREHOUSE\": \"Source warehouse\",\r\n \"STOCK\": \"Stock\",\r\n \"STOCK_NOTIFICATION\": \"Stock notification\",\r\n \"STOCK_AVAILABLE_CHANGE_WAREHOUSE_OR_COMMISSIONCODE\": \"Not enough supply. Change warehouse and/or commissioncode\",\r\n \"SUBTOTAL\": \"Subtotal\",\r\n \"SUGGESTIONS\": \"Suggestions\",\r\n \"SUPPLIER\": \"Supplier\",\r\n \"SURCHARGE_AMOUNT\": \"Surcharge\",\r\n \"STATE\": \"STATUS\",\r\n \"STREET\": \"Streetname\",\r\n \"TAGS\": \"Tags\",\r\n \"TO_REPORT_IN\": 'To report in',\r\n \"TO_BE_PICKED\": \"Te be picked\",\r\n \"TO_DELIVER\": \"To deliver\",\r\n \"TO_ORDER\": \"To order\",\r\n \"TO_PAY\": \"To pay\",\r\n \"TOTAL_AMOUNT\": \"Total amount\",\r\n \"TOTAL_ASSEMBLY_TIME\": \"Total assembly time\",\r\n \"TOTAL_GROSS\": \"Gross total\",\r\n \"TOTAL_LINE_DISCOUNT\": \"Total linediscount\",\r\n \"TRANSACTION_ALREADY_LOCKED\": \"Transaction is already locked\",\r\n \"TRANSACTION_DATE\": \"Transaction date\",\r\n \"TRANSACTION_DISCOUNT\": \"Transaction discount\",\r\n \"TRANSACTION_DISCOUNT_PERC\": \"% Trans. discount\",\r\n \"TRANSACTION_PRICE_DECLARATION\": \"Transaction price declaration\",\r\n \"TRANSACTION_SUM_I\": \"Ordertotal incl VAT\",\r\n \"TRANSACTION_TOTAL\": \"Transaction total\",\r\n \"TRANSPORT\": \"Transport\",\r\n \"TRANSPORT_COST\": \"Transportcosts\",\r\n \"TRANSPORT_COST_LINE_TOTAL\": \"Transportcosts linetotal\",\r\n \"TRANSPORT_NOTIFICATION\": \"Transport notification\",\r\n \"TURNOVER_GROUP\": \"Turnover group\",\r\n \"TYPE\": \"Type\",\r\n \"TYPE_OR_SEARCH_TEXT\": \"Type or search the text you want to add...\",\r\n \"UNKNOWN\": \"unknown\",\r\n \"UNKNOWN_ADDRESS_CHECK_IT\": \"Unknown address\",\r\n \"USER\": \"User\",\r\n \"VALUE\": \"Value\",\r\n \"VAT\": \"VAT\",\r\n \"VAT2\": \"VAT\",\r\n \"VAT_AMOUNT\": \"VAT amount\",\r\n \"WAREHOUSE\": \"Warehouse\",\r\n \"WHERE_ARE_YOU_LOOKING_FOR\": \"Where are you looking for?\",\r\n \"YOUR_DATA\": \"Your data\",\r\n \"STANDARD_TEXTS\":\"Standard texts\",\r\n \"ARTICLE_BOUND_TEXT\": \"Article bound text\",\r\n \"FOR_DOCUMENTS\": \"Used at documents\",\r\n \"CHANGE_ARTICLE_TEXT\": \"Change article text\",\r\n },\r\n };\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {LanguageCode} from \"../enum/language-code.enum\";\r\nimport {Dictionary} from \"../assets/dictionary/text.properties\";\r\nimport {StringUtils} from \"@colijnit/ioneconnector/build/utils/string-utils\";\r\n\r\n// The localization service, providing peers with text translation functionality.\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DictionaryService {\r\n private readonly dictionaryUrl: string = \"js/browser/res/dictionary/\";\r\n\r\n public get language(): string {\r\n return this._language;\r\n }\r\n\r\n public set rootUrl(value: string) {\r\n this._rootUrl = value;\r\n this._dictBasePath = this._rootUrl + \"/\" + this.dictionaryUrl;\r\n }\r\n\r\n // public dictionaryLoaded: Subject<void> = new Subject();\r\n\r\n private _dictBasePath: string;\r\n private _rootUrl: string;\r\n // private _dictionaryPromise: Map<LanguageCode, Promise<{ [key: string]: string }>> = new Map<LanguageCode, Promise<{ [key: string]: string }>>();\r\n private _dictionaries: Map<string, { [key: string]: string }> = new Map<string, { [key: string]: string }>();\r\n private _language: string;\r\n\r\n // Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.\r\n private readonly _placeholder: string = \"|~\";\r\n\r\n constructor(\r\n ) {\r\n }\r\n\r\n // Loads the dictionary for given language in memory.\r\n public async setDictionary(language: string): Promise<void> {\r\n this._language = language || LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n private _loadDictionary() {\r\n if (!this._dictionaries.has(this._language)) {\r\n const dictionary: Dictionary = new Dictionary();\r\n // eslint-disable-next-line no-magic-numbers\r\n if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {\r\n // eslint-disable-next-line no-magic-numbers\r\n this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the localized text for the given dictionary key.\r\n * @param {string} key\r\n * @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val\r\n * @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value\r\n * @returns {string} The translated text for given dictionary key\r\n */\r\n public get(key: string, upperCaseFirst: boolean = true, ...replacementTexts: string[]): string {\r\n if (!StringUtils.IsStringWithLength(key)) {\r\n return key || \"\";\r\n }\r\n\r\n if (this.language === undefined) {\r\n this._language = LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n let text: string = this._dictionaries.get(this.language)[key];\r\n text = StringUtils.IsStringWithLength(text) ? text : key;\r\n\r\n if (upperCaseFirst) {\r\n text = text.charAt(0).toUpperCase() + text.slice(1);\r\n } else {\r\n text = text.charAt(0).toLowerCase() + text.slice(1);\r\n }\r\n\r\n if (replacementTexts.length > 0) {\r\n text = StringUtils.ReplaceOccurrencesIn(text, this._placeholder, ...replacementTexts);\r\n }\r\n\r\n return text;\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {BehaviorSubject} from \"rxjs\";\r\nimport {DictionaryService} from \"./dictionary.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class OptionsService {\r\n\r\n public optionsInitialized: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n\r\n public set options(value: any) {\r\n this._options = value;\r\n }\r\n\r\n public get options(): any {\r\n return this._options;\r\n }\r\n\r\n public optionsLoaded: BehaviorSubject<boolean> = new BehaviorSubject(false);\r\n\r\n private _options: any;\r\n\r\n constructor(private _dictionary: DictionaryService) {\r\n }\r\n\r\n public async createSettingsFromObject(obj: any): Promise<void> {\r\n this.options = new Object();\r\n if (obj.hasOwnProperty(\"url\")) {\r\n this.options.url = obj[\"url\"];\r\n }\r\n if (obj.hasOwnProperty(\"schema\")) {\r\n this.options.schema = obj[\"schema\"];\r\n }\r\n if (obj.hasOwnProperty(\"version\")) {\r\n this.options.version = obj[\"version\"];\r\n }\r\n if (obj.hasOwnProperty(\"languageCode\")) {\r\n this.options.languageCode = obj[\"languageCode\"];\r\n } else {\r\n this.options.languageCode = \"NL\";\r\n }\r\n if (obj.hasOwnProperty(\"username\")) {\r\n this.options.username = obj[\"username\"];\r\n }\r\n if (obj.hasOwnProperty(\"password\")) {\r\n this.options.password = obj[\"password\"];\r\n }\r\n if (obj.hasOwnProperty(\"session\")) {\r\n this.options.session = obj[\"session\"];\r\n }\r\n if (obj.hasOwnProperty(\"useLoginEncryption\")) {\r\n this.options.useLoginEncryption = obj[\"useLoginEncryption\"];\r\n }\r\n\r\n this.optionsLoaded.next(true);\r\n }\r\n\r\n public async initialize(options: any): Promise<void> {\r\n if (options) {\r\n await this.createSettingsFromObject(options);\r\n await this._dictionary.setDictionary(this.options.languageCode);\r\n this.optionsInitialized.next(true);\r\n }\r\n }\r\n}\r\n","import {EventEmitter} from \"@angular/core\";\r\n\r\n// Class represents a value that is to be loaded only once, lazily, by its .loadFunction, despite how many times or how fast its getValue() is called.\r\nexport class CacheField<T> {\r\n public readonly onLoad: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n // The value of this cache field. Warning: might not have been loaded yet. Call ensureLoaded() or getvalue() for true value.\r\n public get value(): T {\r\n return this._value;\r\n }\r\n\r\n public set value(value: T) {\r\n this._value = value;\r\n this._promiseValue = Promise.resolve(value);\r\n this._isLoaded = true;\r\n }\r\n\r\n // Whether the value has been loaded or not.\r\n public get isLoaded(): boolean {\r\n return this._isLoaded;\r\n }\r\n\r\n // Whether the value is currently loading or not.\r\n public get isLoading(): boolean {\r\n return !this._isLoaded && (this._promiseValue !== null && this._promiseValue !== undefined);\r\n }\r\n\r\n public get loadNeverCalled(): boolean {\r\n return !this.isLoading && !this.isLoaded;\r\n }\r\n\r\n // Assign the load function to this field. The function should return a promise that resolves with the value as data.\r\n public loadFunction: (params?: any) => Promise<T>;\r\n\r\n private _promiseValue: Promise<T>;\r\n private _value: T;\r\n private _isLoaded: boolean = false;\r\n\r\n constructor() {\r\n }\r\n\r\n // Loads and returns the value. Only loads from db if it wasn't loaded before (or forceReload was given true)\r\n public getValue(forceReload?: boolean): Promise<T> {\r\n return this.ensureLoaded(forceReload);\r\n }\r\n\r\n public setValue(value: any): void { //NOSONAR\r\n this.value = value;\r\n }\r\n\r\n /**\r\n * POSTCONDITION: The .value of this cache field contains the loaded value as fetched by the resolve data of its .loadFunction.\r\n * Will load only once, consecutive calls will resolve immediately or wait until the first original database fetch was finished.\r\n * @returns {Promise<any>} Postcondition holds after resolve\r\n */\r\n public ensureLoaded(forceReload?: boolean): Promise<T> {\r\n if (!forceReload && this._promiseValue) {\r\n return this._promiseValue;\r\n } else {\r\n return this._load();\r\n }\r\n }\r\n\r\n // POSTCONDITION: The .value of this cache field contains a freshly loaded value as fetched by the resolve data of its loadFunction.\r\n public reload(): Promise<T> {\r\n return this.ensureLoaded(true);\r\n }\r\n\r\n // Resets / invaldates this cache field. Makes sure that the next load() will really perform its load function body again (e.g. visit the DB,\r\n // if that's ur function)\r\n public reset(): void {\r\n this._value = undefined;\r\n this._promiseValue = undefined;\r\n this._isLoaded = false;\r\n }\r\n\r\n private _load(): Promise<T> {\r\n if (this.loadFunction) {\r\n this._promiseValue = this.loadFunction.call(this);\r\n this._promiseValue.then((value: T) => {\r\n this._value = value;\r\n this._isLoaded = true;\r\n this.onLoad.emit();\r\n return value;\r\n });\r\n return this._promiseValue;\r\n } else {\r\n return Promise.resolve(undefined);\r\n }\r\n }\r\n}\r\n","import {CacheField} from \"./cache-field\";\r\nimport {ObjectUtils} from \"@colijnit/ioneconnector/build/utils/object-utils\";\r\n\r\n// Class represents cached values retrieved by a load function that is to be called only once per unique input parameter combination.\r\nexport class ParameterCacheField<T> {\r\n public loadFunction: (...params: any[]) => Promise<T>;\r\n\r\n // A map from cache params (keys: the loadFunction arguments) to their cache fields\r\n private _paramsToCacheItems: Map<any[], CacheField<T>> = new Map<any[], CacheField<T>>();\r\n\r\n constructor() {\r\n }\r\n\r\n // Returns the value for given loadfunction parameters. Loads if not yet loaded.\r\n public getValue(...params: any[]): Promise<T> {\r\n return this._getCacheField(params).getValue();\r\n }\r\n\r\n public setValue(value: any, ...params: any[]): void {\r\n return this._getCacheField(params).setValue(value);\r\n }\r\n\r\n // Returns the freshly reloaded value for given loadfunction parameters.\r\n public reload(...params: any[]): Promise<T> {\r\n return this._getCacheField(params).reload();\r\n }\r\n\r\n // Resets one or all cache items. If no params given, resets ALL cache items.\r\n public reset(...params: any[]): void {\r\n if (params && params.length > 0) {\r\n this._getCacheField(params).reset();\r\n } else {\r\n this._paramsToCacheItems.forEach(cacheItem => cacheItem.reset());\r\n this._paramsToCacheItems.clear();\r\n this._paramsToCacheItems = new Map<any, CacheField<T>>(); // not sure if clear() is enough for garbage collector?\r\n }\r\n }\r\n\r\n // Makes a new cache field if none existed for these params. Returns the cache field that matches given params.\r\n private _getCacheField(params: any[]): CacheField<T> {\r\n let existingCacheField: CacheField<T> = undefined;\r\n\r\n this._paramsToCacheItems.forEach((value: CacheField<T>, key: any[]) => {\r\n if (!existingCacheField && ObjectUtils.DeepEquals(params, key)) {\r\n existingCacheField = value;\r\n }\r\n });\r\n\r\n if (existingCacheField) {\r\n return existingCacheField;\r\n } else {\r\n return this._makeNewCacheField(params);\r\n }\r\n }\r\n\r\n // Creates and returns a new loadField for given params\r\n private _makeNewCacheField(params: any[]): CacheField<T> {\r\n const cacheField: CacheField<T> = new CacheField<T>();\r\n cacheField.loadFunction = this.loadFunction.bind(cacheField, ...params);\r\n this._paramsToCacheItems.set(params, cacheField);\r\n return cacheField;\r\n }\r\n}\r\n","import {Injectable, OnDestroy} from \"@angular/core\";\r\nimport {Subject, Subscription} from \"rxjs\";\r\nimport {CacheField} from \"../cache-field\";\r\nimport {ParameterCacheField} from \"../parameter-cache-field\";\r\nimport {BusinessObject} from \"@colijnit/ioneconnector/build/model/business-object\";\r\nimport {ObjectUtils} from \"@colijnit/ioneconnector/build/utils/object-utils\";\r\nimport {BusinessObjectIDType} from \"@colijnit/ioneconnector/build/type/business-object-id-type\";\r\n\r\n/**\r\n * App-wide, top-level, 'dumb' BO cache manager service. It stores and returns simple and parameterized business object cache items.\r\n *\r\n * Several other services register cache items onto this manager, such as repositories or the more generic SelectMultipleSimpleCacheService.\r\n *\r\n * This is a dumb cache manager. It just functions as a point to add and retrieve generic cache items, but does not know how to actually\r\n * LOAD these cache items from the database, or what exact types the items are.\r\n *\r\n * All caches are reset when the user logs out.\r\n */\r\n@Injectable({\r\n providedIn: \"root\"\r\n }\r\n)\r\nexport class BusinessObjectCacheManagerService implements OnDestroy {\r\n // emits after this BO cache manager has been reset (e.g. after user logs out)\r\n public readonly reset: Subject<void> = new Subject<void>();\r\n\r\n private static _NullBoId: number = -1;\r\n\r\n // key: global cache id's, e.g. a model classe or any other arbitrary key for cache items\r\n private _selectMultipleCache: Map<any, CacheField<BusinessObject[]>> = new Map();\r\n\r\n // key: global cache id's, e.g. a model classe or any other arbitrary key for cache items\r\n private _selectMultipleParameterizedCache: Map<any, ParameterCacheField<BusinessObject[]>>\r\n = new Map<any, ParameterCacheField<BusinessObject[]>>();\r\n\r\n private _selectSingleCache: Map<{ new(): BusinessObject }, { [id: string]: CacheField<BusinessObject> }> = new Map();\r\n private _selectSingleParameterizedCache: Map<any, ParameterCacheField<BusinessObject>>\r\n = new Map<any, ParameterCacheField<BusinessObject>>();\r\n\r\n private _logoutSub: Subscription;\r\n\r\n // constructor(private _transactionService: TransactionService) {\r\n // this._logoutSub = this._transactionService.logout.subscribe(() => {\r\n // this._reset();\r\n // });\r\n // }\r\n\r\n ngOnDestroy(): void {\r\n this._logoutSub.unsubscribe();\r\n }\r\n\r\n /**\r\n * Creates and adds a new simple cache item for the given key with the given load function.\r\n * @param key\r\n * @param loadFunction e.g. () => { return this._dataService.selectMultiple(Color); }\r\n * @param overrideOld Whether to allow an old cache item with the same key to become override by this newly created cache item.\r\n * @returns The newly created cache item.\r\n */\r\n public addNewSelectMultipleCacheItem<T extends BusinessObject>(\r\n key: any,\r\n loadFunction: () => Promise<T[]>,\r\n overrideOld: boolean = false\r\n ): CacheField<T[]> {\r\n if (!overrideOld && this._selectMultipleCache.has(key)) {\r\n return;\r\n }\r\n\r\n const newCacheItem: CacheField<T[]> = new CacheField<T[]>();\r\n newCacheItem.loadFunction = loadFunction;\r\n this._selectMultipleCache.set(key, newCacheItem);\r\n return newCacheItem;\r\n }\r\n\r\n public addNewSelectSingleCacheItem<T extends BusinessObject>(\r\n key: { new(): T },\r\n id: BusinessObjectIDType = BusinessObjectCacheManagerService._NullBoId,\r\n loadFunction: () => Promise<T>,\r\n overrideOld: boolean = false\r\n ): CacheField<T> {\r\n const cacheId: string = id.toString();\r\n if (!overrideOld && this.hasSingleCacheItem(key, id)) {\r\n return;\r\n }\r\n if (!this._selectSingleCache.has(key)) {\r\n this._selectSingleCache.set(key, {});\r\n }\r\n const newCacheItem: CacheField<T> = new CacheField<T>();\r\n newCacheItem.loadFunction = loadFunction;\r\n this._selectSingleCache.get(key)[cacheId] = newCacheItem;\r\n return newCacheItem;\r\n }\r\n\r\n public addNewSelectSingleParameterizedCacheItem<T extends BusinessObject>(\r\n key: any,\r\n loadFunction: (params?: any) => Promise<T>,\r\n overrideOld: boolean = false\r\n ): ParameterCacheField<T> {\r\n if (!overrideOld && this._selectSingleParameterizedCache.has(key)) {\r\n return;\r\n }\r\n\r\n const newCacheItem: ParameterCacheField<T> = new ParameterCacheField<T>();\r\n newCacheItem.loadFunction = loadFunction;\r\n this._selectSingleParameterizedCache.set(key, newCacheItem);\r\n return newCacheItem;\r\n }\r\n\r\n /**\r\n * Creates and adds a new parameterized cache item for the given key with the given load function.\r\n * @param key\r\n * @param loadFunction e.g. (category: ArticleCategory) => { return this._dataService.selectMultiple(TurnoverGroupImage, category); }\r\n * @param overrideOld Whether to allow an old cache item with the same key to become override by this newly created cache item.\r\n */\r\n public addNewSelectMultipleParameterizedCacheItem<T extends BusinessObject>(\r\n key: any,\r\n loadFunction: (params?: any) => Promise<T[]>,\r\n overrideOld: boolean = false\r\n ): ParameterCacheField<T[]> {\r\n if (!overrideOld && this._selectMultipleParameterizedCache.has(key)) {\r\n return;\r\n }\r\n\r\n const newCacheItem: ParameterCacheField<T[]> = new ParameterCacheField<T[]>();\r\n newCacheItem.loadFunction = loadFunction;\r\n this._selectMultipleParameterizedCache.set(key, newCacheItem);\r\n return newCacheItem;\r\n }\r\n\r\n public hasSelectMultipleCacheItem(key: any): boolean {\r\n return this._selectMultipleCache.has(key);\r\n }\r\n\r\n public hasSingleCacheItem<T extends BusinessObject>(key: { new(): T }, id: BusinessObjectIDType = BusinessObjectCacheManagerService._NullBoId): boolean {\r\n const cacheId: string = id.toString();\r\n return this._selectSingleCache.has(key) && !!this._selectSingleCache.get(key)[cacheId];\r\n }\r\n\r\n public hasSelectMultipleParameterizedCacheItem(key: any): boolean {\r\n return this._selectMultipleParameterizedCache.has(key);\r\n }\r\n\r\n public hasSelectSingleParameterizedCacheItem(key: any): boolean {\r\n return this._selectSingleParameterizedCache.has(key);\r\n }\r\n\r\n // Returns the simple cache item with the given key. T is the type of the cache value items requested, e.g. Color.\r\n public getSelectMultipleCacheItem<T extends BusinessObject>(key: any): CacheField<T[]> {\r\n return <CacheField<T[]>>this._selectMultipleCache.get(key);\r\n }\r\n\r\n public getSingleCacheItem<T extends BusinessObject>(key: { new(): T }, id: BusinessObjectIDType = BusinessObjectCacheManagerService._NullBoId): CacheField<T> {\r\n const cacheId: string = id.toString();\r\n return this._selectSingleCache.has(key) && this._selectSingleCache.get(key)[cacheId] as CacheField<T>;\r\n }\r\n\r\n // Returns the parameterized cache item with the given key. T is the type of the cache value items requested, e.g. Color.\r\n public getSelectMultipleParameterCacheItem<T extends BusinessObject>(key: any): ParameterCacheField<T[]> {\r\n return <ParameterCacheField<T[]>>this._selectMultipleParameterizedCache.get(key);\r\n }\r\n\r\n public getSelectSingleParameterCacheItem<T extends BusinessObject>(key: any): ParameterCacheField<T> {\r\n return <ParameterCacheField<T>>this._selectSingleParameterizedCache.get(key);\r\n }\r\n\r\n private _reset(): void {\r\n this._selectMultipleCache.forEach((cacheItem: CacheField<BusinessObject[]>) => {\r\n if (cacheItem) {\r\n cacheItem.reset();\r\n }\r\n });\r\n\r\n this._selectSingleCache.forEach((cache: { [p: string]: CacheField<BusinessObject> }) => {\r\n if (cache) {\r\n ObjectUtils.ForOwnProperty(cache, (cacheField: CacheField<BusinessObject>) => {\r\n cacheField.reset();\r\n });\r\n }\r\n });\r\n\r\n this._selectSingleParameterizedCache.forEach((selSinParamCacheItem: ParameterCacheField<BusinessObject>) => {\r\n if (selSinParamCacheItem) {\r\n selSinParamCacheItem.reset();\r\n }\r\n });\r\n\r\n this._selectMultipleParameterizedCache.forEach((selMulParamCacheItem: ParameterCacheField<BusinessObject[]>) => {\r\n if (selMulParamCacheItem) {\r\n selMulParamCacheItem.reset();\r\n }\r\n });\r\n\r\n this.reset.next();\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {BusinessObjectCacheManagerService} from \"./business-object-cache-manager.service\";\r\nimport {CacheField} from \"../cache-field\";\r\nimport {BusinessObject} from \"@colijnit/ioneconnector/build/model/business-object\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SelectMultipleCacheService {\r\n private static _NullCache: CacheField<any> = new CacheField<any>();\r\n\r\n constructor(\r\n private _boCacheManager: BusinessObjectCacheManagerService\r\n ) {\r\n }\r\n\r\n /**\r\n * Returns the global cache item for the select multiple of the given business object class. Creates a new cache item if not yet exists.\r\n * @param clazz The BO class, e.g. CustomerFullObject\r\n * @returns {CacheField<T[]>}\r\n */\r\n public requestCache<T extends BusinessObject>(clazz: typeof BusinessObject, loadFunction: () => Promise<T[]>): CacheField<T[]> {\r\n if (!this._boCacheManager.hasSelectMultipleCacheItem(clazz)) {\r\n this._createCacheItem<T>(clazz, loadFunction);\r\n }\r\n\r\n // noinspection TypeScriptValidateTypes\r\n return this._boCacheManager.getSelectMultipleCacheItem<T>(clazz);\r\n }\r\n\r\n // Creates and returns a new select multiple cache item into the global business object cache manager for given business object class.\r\n private _createCacheItem<T extends BusinessObject>(clazz: typeof BusinessObject, loadFunction: () => Promise<T[]>): CacheField<T[]> {\r\n // noinspection TypeScriptValidateTypes\r\n return this._boCacheManager.addNewSelectMultipleCacheItem<T>(clazz, loadFunction);\r\n }\r\n}\r\n","import {Injectable, OnDestroy} from \"@angular/core\";\r\nimport {Subject, Subscription} from \"rxjs\";\r\nimport {BusinessObjectCacheManagerService} from \"./business-object-cache-manager.service\";\r\nimport {BusinessObject} from \"@colijnit/ioneconnector/build/model/business-object\";\r\nimport {ParameterCacheField} from \"../parameter-cache-field\";\r\n\r\n// service resonsible for filling the global BO cache manager service with parameterized select multiple cache items\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SelectMultipleParameterizedCacheService implements OnDestroy {\r\n // emits after this select multiple parameterized cache service has been reset (e.g. after user logs out)\r\n public readonly reset: Subject<void> = new Subject<void>();\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n constructor(private _boCacheManager: BusinessObjectCacheManagerService) {\r\n this._subs.push(this._boCacheManager.reset.subscribe(() => {\r\n this.reset.next();\r\n }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subs.forEach(sub => sub.unsubscribe());\r\n }\r\n\r\n /**\r\n * Returns the global cache item for the parameterized select multiple of the given business object class. Creates a new cache item if not yet exists.\r\n * @param clazz The BO class, used for undeflying dataService.selectMultiple(clazz) call.\r\n * @returns {CacheField<T[]>}\r\n */\r\n public requestCache<T extends BusinessObject>(clazz: typeof BusinessObject, loadFunction: (...params: any) => Promise<T[]>): ParameterCacheField<T[]> {\r\n if (!this._boCacheManager.hasSelectMultipleParameterizedCacheItem(clazz)) {\r\n this._createParameterizedCacheItem<T>(clazz, loadFunction);\r\n }\r\n\r\n // noinspection TypeScriptValidateTypes\r\n return this._boCacheManager.getSelectMultipleParameterCacheItem<T>(clazz);\r\n }\r\n\r\n // Creates and returns a new parameterized select multiple cache item into the global business object cache manager for given business object class.\r\n private _createParameterizedCacheItem<T extends BusinessObject>(clazz: typeof BusinessObject, loadFunction: (...params: any) => Promise<T[]>): ParameterCacheField<T[]> {\r\n // noinspection TypeScriptValidateTypes\r\n return this._boCacheManager.addNewSelectMultipleParameterizedCacheItem<T>(clazz, loadFunction);\r\n }\r\n}\r\n","export class StandardText {\r\n public textId: number;\r\n public description: string;\r\n public text: string;\r\n}\r\n","import {TransactionSearchView} from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\n\r\nexport class TransactionSearchResult {\r\n public transactions: TransactionSearchView[];\r\n public count: number;\r\n}\r\n","export enum AppPopupButtonType {\r\n Ok,\r\n Open,\r\n Save,\r\n Cancel,\r\n Yes,\r\n No,\r\n NoButton\r\n}\r\n","import {AppPopupButtonType} from \"../enum/app-popup-button-type.enum\";\r\n\r\nexport abstract class DialogBaseComponent {\r\n\r\n onClose(eventType: AppPopupButtonType, output?: any): void {\r\n return;\r\n }\r\n}\r\n","export enum AppPopupType {\r\n Error,\r\n Warning,\r\n Information,\r\n Confirmation\r\n}\r\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\n\nexport enum Icon {\n ArrowPointDown = \"arrow_point_down\",\n ArrowPointLeft = \"arrow_point_left\",\n ArrowPointRight = \"arrow_point_right\",\n Article = \"article\",\n AtSolid = \"at_solid\",\n BarcodeRegular = \"barcode_regular\",\n BarcodeSolid = \"barcode_solid\",\n BarsFilter = \"bars_filter\",\n CalendarDay = \"calendar_day\",\n CalendarDayRegular = \"calendar_day_regular\",\n Cancel = \"cancel\",\n CartCheck = \"cart_check\",\n CartFlatbedBoxesSolid = \"cart_flatbed_boxes_solid\",\n CartShoppingSolid = \"cart_shopping_solid\",\n CashRegister = \"cash_register\",\n CreditCardSolid = \"credit_card_solid\",\n DeliveryTruck = \"delivery_truck\",\n EditPencil = \"edit_pencil\",\n EllipsisLight = \"ellipsis_light\",\n EllipsisVerticalSolid = \"ellipsis_vertical_solid\",\n ExpandSolid = \"expand_solid\",\n FileCircleInfoSolid = \"file_circle_info_solid\",\n FileExportRegular = \"file_export_regular\",\n FileExportSolid = \"file_export_solid\",\n FilePdfRegular = \"file_pdf_regular\",\n FilePdfSolid = \"file_pdf_solid\",\n GearSolid = \"gear_solid\",\n GripDotsVerticalSolid = \"grip_dots_vertical_solid\",\n IdealLogo = \"ideal_logo\",\n InboxInSolid = \"inbox_in_solid\",\n ListRegular = \"list_regular\",\n ListView = \"list_view\",\n LocationDotSolid = \"location_dot_solid\",\n Lock = \"lock\",\n LockKeyholeOpenSolid = \"lock_keyhole_open_solid\",\n LockKeyholeSolid = \"lock_keyhole_solid\",\n Magnifier = \"magnifier\",\n MapMarker = \"map_marker\",\n MasterDetail = \"master_detail\",\n MemoCircleCheckSolid = \"memo_circle_check_solid\",\n Menu = \"menu\",\n MessageSmsRegular = \"message_sms_regular\",\n MessageSmsSolid = \"message_sms_solid\",\n ObjectIntersectSolid = \"object_intersect_solid\",\n PalletBoxesSolid = \"pallet_boxes_solid\",\n Pdf = \"pdf\",\n PercentSolid = \"percent_solid\",\n PlusRound = \"plus_round\",\n PlusSimple = \"plus_simple\",\n PrintRegular = \"print_regular\",\n PrintSolid = \"print_solid\",\n Purchase = \"purchase\",\n Resize = \"resize\",\n ShareSolid = \"share_solid\",\n ShelvesLight = \"shelves_light\",\n ShelvesSolid = \"shelves_solid\",\n SidePanel = \"side_panel\",\n SlideIn = \"slide_in\",\n SquareFull = \"square_full\",\n SquareFullSolid = \"square_full_solid\",\n SyncAlt = \"sync_alt\",\n Tag = \"tag\",\n TextSizeSolid = \"text_size_solid\",\n TextSolid = \"text_solid\",\n ThickLines = \"thick_lines\",\n ThinLines = \"thin_lines\",\n TrashBin = \"trash_bin\",\n TrashCanLight = \"trash_can_light\",\n TriangleDown = \"triangle_down\",\n TriangleUp = \"triangle_up\",\n Truck = \"truck\",\n TruckArrowRightSolid = \"truck_arrow_right_solid\",\n TruckContainerSolid = \"truck_container_solid\",\n TruckFastSolid = \"truck_fast_solid\",\n TruckMovingSolid = \"truck_moving_solid\",\n Txt = \"txt\",\n Unlock = \"unlock\",\n Warehouse = \"warehouse\",\n XSolid = \"x_solid\"\n}","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\n\nexport const IconSvg: {[iconName: string]: string} = {\n \"arrow_point_down\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-280 371 51 51\\\" enable-background=\\\"new -280 371 51 51\\\" ><path fill=\\\"#29363E\\\" d=\\\"M-248.3,392.2c0.3,0,0.6,0.1,0.8,0.3c0.5,0.5,0.5,1.2,0,1.6l-6.2,6.2c-0.2,0.2-0.5,0.3-0.8,0.3c-0.3,0-0.6-0.1-0.8-0.3l-6.2-6.2c-0.2-0.2-0.3-0.5-0.3-0.8c0-0.3,0.1-0.6,0.3-0.8c0.2-0.2,0.5-0.3,0.8-0.3c0.3,0,0.6,0.1,0.8,0.3l5.4,5.4l5.4-5.4C-248.9,392.4-248.6,392.2-248.3,392.2z\\\"/></svg>\",\n \"arrow_point_left\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M31.9,36.7l-14.7-9.6C17.1,27,17,26.9,17,26.7v-2.4c0-0.2,0.1-0.3,0.2-0.4l14.7-9.6c0.2-0.2,0.5-0.1,0.7,0.1l1.4,2.1c0.2,0.2,0.1,0.5-0.1,0.7l-12,7.8c-0.3,0.2-0.3,0.6,0,0.8l12,7.8c0.2,0.2,0.3,0.5,0.1,0.7l-1.4,2.1C32.4,36.8,32.1,36.8,31.9,36.7z\\\"/></svg>\",\n \"arrow_point_right\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M19.1,14.3l14.7,9.6c0.1,0.1,0.2,0.2,0.2,0.4v2.4c0,0.2-0.1,0.3-0.2,0.4l-14.7,9.6c-0.2,0.2-0.5,0.1-0.7-0.1l-1.4-2.1c-0.2-0.2-0.1-0.5,0.1-0.7l12-7.8c0.3-0.2,0.3-0.6,0-0.8l-12-7.8c-0.2-0.2-0.3-0.5-0.1-0.7l1.4-2.1C18.6,14.2,18.9,14.2,19.1,14.3z\\\"/></svg>\",\n \"article\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M37.43,15.14H12.57A2.57,2.57,0,0,0,10,17.71V32.29a2.57,2.57,0,0,0,2.57,2.57H37.43A2.57,2.57,0,0,0,40,32.29V17.71A2.57,2.57,0,0,0,37.43,15.14ZM14.29,32.71H12.15V17.29h2.14Zm2,0H15V17.29h1.29Zm2.57,0H17.54V17.29h1.29Zm3.52,0H20.2V17.29h2.15Zm2,0H23.11V17.29H24.4Zm2.06,0H25.17V17.29h1.29Zm2.66,0H27.83V17.29h1.29Zm3.51,0H31.34V17.29h1.29Zm3.34,0H33.4V17.29H36Zm2.32,0H37V17.29h1.29Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"at_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M207.8 20.73c-93.45 18.32-168.7 93.66-187 187.1c-27.64 140.9 68.65 266.2 199.1 285.1c19.01 2.888 36.17-12.26 36.17-31.49l.0001-.6631c0-15.74-11.44-28.88-26.84-31.24c-84.35-12.98-149.2-86.13-149.2-174.2c0-102.9 88.61-185.5 193.4-175.4c91.54 8.869 158.6 91.25 158.6 183.2l0 16.16c0 22.09-17.94 40.05-40 40.05s-40.01-17.96-40.01-40.05v-120.1c0-8.847-7.161-16.02-16.01-16.02l-31.98 .0036c-7.299 0-13.2 4.992-15.12 11.68c-24.85-12.15-54.24-16.38-86.06-5.106c-38.75 13.73-68.12 48.91-73.72 89.64c-9.483 69.01 43.81 128 110.9 128c26.44 0 50.43-9.544 69.59-24.88c24 31.3 65.23 48.69 109.4 37.49C465.2 369.3 496 324.1 495.1 277.2V256.3C495.1 107.1 361.2-9.332 207.8 20.73zM239.1 304.3c-26.47 0-48-21.56-48-48.05s21.53-48.05 48-48.05s48 21.56 48 48.05S266.5 304.3 239.1 304.3z\\\"/></svg>\",\n \"barcode_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M48 55.1V455.1C48 469.3 37.25 479.1 24 479.1C10.75 479.1 0 469.3 0 455.1V55.1C0 42.74 10.75 31.1 24 31.1C37.25 31.1 48 42.74 48 55.1V55.1zM128 47.1V463.1C128 472.8 120.8 479.1 112 479.1C103.2 479.1 96 472.8 96 463.1V47.1C96 39.16 103.2 31.1 112 31.1C120.8 31.1 128 39.16 128 47.1V47.1zM208 55.1V455.1C208 469.3 197.3 479.1 184 479.1C170.7 479.1 160 469.3 160 455.1V55.1C160 42.74 170.7 31.1 184 31.1C197.3 31.1 208 42.74 208 55.1V55.1zM320 55.1V455.1C320 469.3 309.3 479.1 296 479.1C282.7 479.1 272 469.3 272 455.1V55.1C272 42.74 282.7 31.1 296 31.1C309.3 31.1 320 42.74 320 55.1V55.1zM464 55.1C464 42.74 474.7 31.1 488 31.1C501.3 31.1 512 42.74 512 55.1V455.1C512 469.3 501.3 479.1 488 479.1C474.7 479.1 464 469.3 464 455.1V55.1zM400 47.1C400 39.16 407.2 31.1 416 31.1C424.8 31.1 432 39.16 432 47.1V463.1C432 472.8 424.8 479.1 416 479.1C407.2 479.1 400 472.8 400 463.1V47.1z\\\"/></svg>\",\n \"barcode_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M40 32C53.25 32 64 42.75 64 56V456C64 469.3 53.25 480 40 480H24C10.75 480 0 469.3 0 456V56C0 42.75 10.75 32 24 32H40zM128 48V464C128 472.8 120.8 480 112 480C103.2 480 96 472.8 96 464V48C96 39.16 103.2 32 112 32C120.8 32 128 39.16 128 48zM200 32C213.3 32 224 42.75 224 56V456C224 469.3 213.3 480 200 480H184C170.7 480 160 469.3 160 456V56C160 42.75 170.7 32 184 32H200zM296 32C309.3 32 320 42.75 320 56V456C320 469.3 309.3 480 296 480H280C266.7 480 256 469.3 256 456V56C256 42.75 266.7 32 280 32H296zM448 56C448 42.75 458.7 32 472 32H488C501.3 32 512 42.75 512 56V456C512 469.3 501.3 480 488 480H472C458.7 480 448 469.3 448 456V56zM384 48C384 39.16 391.2 32 400 32C408.8 32 416 39.16 416 48V464C416 472.8 408.8 480 400 480C391.2 480 384 472.8 384 464V48z\\\"/></svg>\",\n \"bars_filter\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M264 392H183.1C170.8 392 160 402.8 160 415.1C160 429.2 170.8 440 183.1 440h80C277.2 440 288 429.2 288 416C288 402.8 277.2 392 264 392zM424 72H23.1C10.8 72 0 82.8 0 95.1S10.8 120 23.1 120H424c13.2 0 24-10.8 24-23.1S437.2 72 424 72zM360 232H87.1C74.8 232 64 242.8 64 255.1C64 269.2 74.8 280 87.1 280h272C373.2 280 384 269.2 384 256C384 242.8 373.2 232 360 232z\\\"/></svg>\",\n \"calendar_day\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><path fill=\\\"#022D42\\\" d=\\\"M35.4,13.7H14.6c-0.6,0-1,0.5-1,1V20h22.9v-5.2C36.4,14.2,36,13.7,35.4,13.7z M19,18.8c-1,0-1.8-0.8-1.8-1.8c0-1,0.8-1.8,1.8-1.8c1,0,1.8,0.8,1.8,1.8C20.8,18,20,18.8,19,18.8z M31,18.8c-1,0-1.8-0.8-1.8-1.8c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8C32.7,18,32,18.8,31,18.8z\\\"/><path fill=\\\"#022D42\\\" d=\\\"M35.4,22.3v12.6L31.3,39H14.6c0,0,0,0,0,0V22.3H35.4 M36.4,21.3H13.6V39c0,0.6,0.5,1,1,1h17.2l4.7-4.7V21.3L36.4,21.3z\\\"/><rect x=\\\"18.2\\\" y=\\\"10\\\" fill=\\\"#022D42\\\" width=\\\"1.6\\\" height=\\\"5.2\\\"/><rect x=\\\"30.2\\\" y=\\\"10\\\" fill=\\\"#022D42\\\" width=\\\"1.6\\\" height=\\\"5.2\\\"/><rect x=\\\"18.6\\\" y=\\\"30.5\\\" fill=\\\"#022D42\\\" width=\\\"3.4\\\" height=\\\"3.4\\\"/><rect x=\\\"19.1\\\" y=\\\"24.8\\\" opacity=\\\"0.1\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"19.1\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"19.1\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"24.8\\\" opacity=\\\"0.1\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"22.2\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"24.8\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"25.4\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"31.6\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"31.6\\\" y=\\\"24.8\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"31.6\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"24.8\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"28.5\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"24.8\\\" opacity=\\\"0.1\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"27.9\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"31\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/><rect x=\\\"16\\\" y=\\\"34.1\\\" opacity=\\\"0.25\\\" fill=\\\"#022D42\\\" width=\\\"2.4\\\" height=\\\"2.4\\\"/></g></svg>\",\n \"calendar_day_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M208 256C216.8 256 224 263.2 224 272V368C224 376.8 216.8 384 208 384H112C103.2 384 96 376.8 96 368V272C96 263.2 103.2 256 112 256H208zM128 0C141.3 0 152 10.75 152 24V64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0zM400 192H48V448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192z\\\"/></svg>\",\n \"cancel\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"36 35.16 30.45 35.16 14 14.84 19.55 14.84 36 35.16\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"14 35.16 19.55 35.16 36 14.84 30.45 14.84 14 35.16\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"cart_check\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><g ><g ><g><g opacity=\\\".75\\\"><path d=\\\"M16.58,29.12c-.99,0-1.8,.81-1.8,1.8s.81,1.8,1.8,1.8,1.8-.81,1.8-1.8-.81-1.8-1.8-1.8Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M16.51,24.98c-.67,0-1.38-.52-1.57-1.16l-2.31-5.61c-.19-.64,.19-1.22,.86-1.28l19.71-2.51c.67-.06,1.12,.42,1,1.08l-.89,3.99c.66,.15,1.3,.36,1.91,.63l1.38-6.84c.12-.66-.34-1.15-1-1.08l-24.68,2.93c-.67,.06-1.06,.64-.87,1.28l3.34,9.44c.19,.64,.89,1.17,1.56,1.17h5.92c.19-.71,.45-1.38,.77-2.02h-5.13Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M39.01,11.31c-.66,.14-1.27,.79-1.37,1.46l-.42,2.9c-.1,.66,.31,.98,.9,.7,.59-.28,1.19-1.04,1.33-1.7l.51-2.42c.14-.66-.28-1.08-.94-.94h-.02Z\\\" fill=\\\"#484f60\\\"/></g><g><path d=\\\"M31,21.72c4.41,0,8,3.59,8,8s-3.59,8-8,8-8-3.59-8-8,3.59-8,8-8m0-1c-4.97,0-9,4.03-9,9s4.03,9,9,9,9-4.03,9-9-4.03-9-9-9h0Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"30.63 34.72 26.79 29.33 28.31 28.25 30.34 31.11 33.54 24.72 35.21 25.55 30.63 34.72\\\" fill=\\\"#484f60\\\"/></g></g></g></g><g /></svg>\",\n \"cart_flatbed_boxes_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M448 160h64c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32h-64c-17.6 0-32 14.4-32 32v64C416 145.6 430.4 160 448 160zM448 320h128c17.6 0 32-14.4 32-32V224c0-17.6-14.4-32-32-32h-128c-17.6 0-32 14.4-32 32v64C416 305.6 430.4 320 448 320zM224 320h128c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32H224C206.4 32 192 46.4 192 64v224C192 305.6 206.4 320 224 320zM640 415.1c0 17.6-14.4 32-32 31.1l-66.88-.0011c1.787 5.027 2.907 10.36 2.907 16c0 26.51-21.5 48-48.01 48c-26.51 0-47.99-21.49-47.99-48c0-5.641 1.141-10.97 2.928-16H253.1C254.9 453 256 458.4 256 464C256 490.5 234.5 512 208 512S160 490.5 160 464c0-5.641 1.13-10.97 2.917-16l-66.92 .0011C78.4 448 64 433.6 64 415.1V80C64 71.16 56.84 64 48 64H31.1C14.4 64 0 49.6 0 32S14.4 0 31.1 0H64c35.2 0 64 28.8 64 64v320h480C625.6 384 640 398.4 640 415.1z\\\"/></svg>\",\n \"cart_shopping_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M96 0C107.5 0 117.4 8.19 119.6 19.51L121.1 32H541.8C562.1 32 578.3 52.25 572.6 72.66L518.6 264.7C514.7 278.5 502.1 288 487.8 288H170.7L179.9 336H488C501.3 336 512 346.7 512 360C512 373.3 501.3 384 488 384H159.1C148.5 384 138.6 375.8 136.4 364.5L76.14 48H24C10.75 48 0 37.25 0 24C0 10.75 10.75 0 24 0H96zM128 464C128 437.5 149.5 416 176 416C202.5 416 224 437.5 224 464C224 490.5 202.5 512 176 512C149.5 512 128 490.5 128 464zM512 464C512 490.5 490.5 512 464 512C437.5 512 416 490.5 416 464C416 437.5 437.5 416 464 416C490.5 416 512 437.5 512 464z\\\"/></svg>\",\n \"cash_register\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M35.39,18.12H14.62L10,29.66H40ZM23,19.29H27l.1,1.6H22.87Zm-.13,2h4.32l.12,1.81H22.72Zm-.15,2.3h4.62l.14,2.08h-4.9ZM17.9,19.29H22l-.16,1.6H17.54Zm-.46,2h4.32l-.18,1.81H17Zm-.53,2.3h4.62l-.2,2.08h-4.9Zm-1.16,5.06.55-2.42H27.49l.16,2.42ZM28,19.29H32.1l.36,1.6H28.2Zm.2,2h4.32L33,23.12H28.42Zm.23,2.3h4.62l.48,2.08h-4.9Zm.5,5.06-.24-2.42h5l.55,2.42Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M10,29.66v9.23H40V29.66Zm27.69,6.92H12.31V32H37.69Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M15.63,11.11v7.58H34.37V11.11Zm17.31,6.15H17.06V12.54H32.94Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"credit_card_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M512 32C547.3 32 576 60.65 576 96V128H0V96C0 60.65 28.65 32 64 32H512zM576 416C576 451.3 547.3 480 512 480H64C28.65 480 0 451.3 0 416V224H576V416zM112 352C103.2 352 96 359.2 96 368C96 376.8 103.2 384 112 384H176C184.8 384 192 376.8 192 368C192 359.2 184.8 352 176 352H112zM240 384H368C376.8 384 384 376.8 384 368C384 359.2 376.8 352 368 352H240C231.2 352 224 359.2 224 368C224 376.8 231.2 384 240 384z\\\"/></svg>\",\n \"delivery_truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"15.35\\\" y=\\\"16.56\\\" width=\\\"15.14\\\" height=\\\"10.94\\\" transform=\\\"translate(-1.83 2.08) rotate(-5)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M38.5,18.1l-6.9.61L32.41,28l-7.63.67a3.76,3.76,0,0,1,1.43,2.25l7.25-.63A3.83,3.83,0,0,1,41,29.6l1-.1-.52-6Zm.29,5.84-3.91.34a.51.51,0,0,1-.55-.46L34,20.1a.49.49,0,0,1,.45-.54l2.27-.2a.5.5,0,0,1,.48.25l2,3.59A.5.5,0,0,1,38.79,23.94Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.66,29.09a3.8,3.8,0,0,0-1,2.46l-.74.07-1.82-.94L16,29.41Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.56,30.62a2.74,2.74,0,1,0,2.49-3A2.73,2.73,0,0,0,34.56,30.62Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.74,31.91a2.74,2.74,0,1,0,2.49-3A2.74,2.74,0,0,0,19.74,31.91Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"7.96\\\" y=\\\"17.63\\\" width=\\\"5\\\" height=\\\"1\\\" transform=\\\"translate(-1.54 0.98) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.02\\\" y=\\\"29.71\\\" width=\\\"3\\\" height=\\\"1\\\" transform=\\\"translate(-2.59 1.21) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"9.48\\\" y=\\\"23.53\\\" width=\\\"4\\\" height=\\\"1\\\" transform=\\\"matrix(1, -0.09, 0.09, 1, -2.05, 1.09)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"edit_pencil\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"12.54 38.16 12 37.62 14.85 29.64 20.52 35.31 12.54 38.16\\\" fill=\\\"#484f60\\\"/><rect x=\\\"16.33\\\" y=\\\"20.52\\\" width=\\\"17.99\\\" height=\\\"8.64\\\" transform=\\\"translate(-10.15 25.18) rotate(-45)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37.54,18.73,36,20.32l-6.11-6.1,1.59-1.59a1.55,1.55,0,0,1,2.2,0l3.91,3.9A1.55,1.55,0,0,1,37.54,18.73Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"ellipsis_light\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M352 256C352 238.3 366.3 224 384 224C401.7 224 416 238.3 416 256C416 273.7 401.7 288 384 288C366.3 288 352 273.7 352 256zM192 256C192 238.3 206.3 224 224 224C241.7 224 256 238.3 256 256C256 273.7 241.7 288 224 288C206.3 288 192 273.7 192 256zM96 256C96 273.7 81.67 288 64 288C46.33 288 32 273.7 32 256C32 238.3 46.33 224 64 224C81.67 224 96 238.3 96 256z\\\"/></svg>\",\n \"ellipsis_vertical_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 512\\\"><path d=\\\"M64 360c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56s25.1-56 56-56zm0-160c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56s25.1-56 56-56zM120 96c0 30.9-25.1 56-56 56S8 126.9 8 96S33.1 40 64 40s56 25.1 56 56z\\\"/></svg>\",\n \"expand_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M32 32C14.3 32 0 46.3 0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V352z\\\"/></svg>\",\n \"file_circle_info_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M0 64C0 28.65 28.65 0 64 0H224V128C224 145.7 238.3 160 256 160H384V198.6C310.1 219.5 256 287.4 256 368C256 427.1 285.1 479.3 329.7 511.3C326.6 511.7 323.3 512 320 512H64C28.65 512 0 483.3 0 448V64zM256 128V0L384 128H256zM288 368C288 288.5 352.5 224 432 224C511.5 224 576 288.5 576 368C576 447.5 511.5 512 432 512C352.5 512 288 447.5 288 368zM432 320C445.3 320 456 309.3 456 296C456 282.7 445.3 272 432 272C418.7 272 408 282.7 408 296C408 309.3 418.7 320 432 320zM416 384L416 432C407.2 432 400 439.2 400 448C400 456.8 407.2 464 416 464H448C456.8 464 464 456.8 464 448C464 439.2 456.8 432 448 432V368C448 359.2 440.8 352 432 352H416C407.2 352 400 359.2 400 368C400 376.8 407.2 384 416 384z\\\"/></svg>\",\n \"file_export_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M568.1 303l-80-80c-9.375-9.375-24.56-9.375-33.94 0s-9.375 24.56 0 33.94L494.1 296H216C202.8 296 192 306.8 192 320s10.75 24 24 24h278.1l-39.03 39.03C450.3 387.7 448 393.8 448 400s2.344 12.28 7.031 16.97c9.375 9.375 24.56 9.375 33.94 0l80-80C578.3 327.6 578.3 312.4 568.1 303zM360 384c-13.25 0-24 10.74-24 24V448c0 8.836-7.164 16-16 16H64.02c-8.836 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1v72c0 13.25 10.74 24 23.1 24S384 245.3 384 232V138.6c0-16.98-6.742-33.26-18.75-45.26l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H63.1C28.65 0-.002 28.66 0 64l.0065 384c.002 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64v-40C384 394.7 373.3 384 360 384z\\\"/></svg>\",\n \"file_export_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M32 64C32 28.7 60.7 0 96 0H256V128c0 17.7 14.3 32 32 32H416V288H248c-13.3 0-24 10.7-24 24s10.7 24 24 24H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM416 336V288H526.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H416zm0-208H288V0L416 128z\\\"/></svg>\",\n \"file_pdf_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M320 464C328.8 464 336 456.8 336 448V416H384V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V416H48V448C48 456.8 55.16 464 64 464H320zM256 160C238.3 160 224 145.7 224 128V48H64C55.16 48 48 55.16 48 64V192H0V64C0 28.65 28.65 0 64 0H229.5C246.5 0 262.7 6.743 274.7 18.75L365.3 109.3C377.3 121.3 384 137.5 384 154.5V192H336V160H256zM88 224C118.9 224 144 249.1 144 280C144 310.9 118.9 336 88 336H80V368C80 376.8 72.84 384 64 384C55.16 384 48 376.8 48 368V240C48 231.2 55.16 224 64 224H88zM112 280C112 266.7 101.3 256 88 256H80V304H88C101.3 304 112 293.3 112 280zM160 240C160 231.2 167.2 224 176 224H200C226.5 224 248 245.5 248 272V336C248 362.5 226.5 384 200 384H176C167.2 384 160 376.8 160 368V240zM192 352H200C208.8 352 216 344.8 216 336V272C216 263.2 208.8 256 200 256H192V352zM336 224C344.8 224 352 231.2 352 240C352 248.8 344.8 256 336 256H304V288H336C344.8 288 352 295.2 352 304C352 312.8 344.8 320 336 320H304V368C304 376.8 296.8 384 288 384C279.2 384 272 376.8 272 368V240C272 231.2 279.2 224 288 224H336z\\\"/></svg>\",\n \"file_pdf_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 224H88c30.9 0 56 25.1 56 56s-25.1 56-56 56H80v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V320 240c0-8.8 7.2-16 16-16zm24 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H80v48h8zm72-64c0-8.8 7.2-16 16-16h24c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-8.8 0-16-7.2-16-16V240zm32 112h8c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16h-8v96zm96-128h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 240c0-8.8 7.2-16 16-16z\\\"/></svg>\",\n \"gear_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M200 0H312l17.2 78.4c15.8 6.5 30.6 15.1 44 25.4l76.5-24.4 56 97-59.4 54.1c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l59.4 54.1-56 97-76.5-24.4c-13.4 10.3-28.2 18.9-44 25.4L312 512H200l-17.2-78.4c-15.8-6.5-30.6-15.1-44-25.4L62.3 432.5l-56-97 59.4-54.1C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L6.3 176.5l56-97 76.5 24.4c13.4-10.3 28.2-18.9 44-25.4L200 0zm56 336c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80z\\\"/></svg>\",\n \"grip_dots_vertical_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 256 512\\\"><path d=\\\"M48 144c26.5 0 48-21.5 48-48s-21.5-48-48-48S0 69.5 0 96s21.5 48 48 48zm0 160c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zM96 416c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM208 144c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48zm48 112c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zM208 464c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48z\\\"/></svg>\",\n \"ideal_logo\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 306.1 269.8\\\" style=\\\"enable-background:new 0 0 306.1 269.8;\\\" ><style type=\\\"text/css\\\">.st0{fill:#FFFFFF;}.st1{fill:#CC0066;}</style><g><g><path class=\\\"st0\\\" d=\\\"M0,20v229.8c0,11,9,20,20,20h137.3c103.8,0,148.8-58.1,148.8-135.2C306.1,57.9,261.1,0,157.3,0H20C9,0,0,9,0,20z\\\"/><path class=\\\"st1\\\" d=\\\"M91.9,56.4v169.8h73.9c67.1,0,96.2-37.9,96.2-91.5c0-51.3-29.1-91.1-96.2-91.1h-61.1C97.6,43.6,91.9,49.4,91.9,56.4z\\\"/><g><g><path d=\\\"M157.3,251.5H37.9c-10.6,0-19.2-8.6-19.2-19.2V37.6c0-10.6,8.6-19.2,19.2-19.2h119.4c113.3,0,130.2,72.9,130.2,116.3C287.5,210,241.2,251.5,157.3,251.5z M37.9,24.8c-7.1,0-12.8,5.7-12.8,12.8v194.7c0,7.1,5.7,12.8,12.8,12.8h119.4c79.8,0,123.8-39.2,123.8-110.4c0-95.6-77.6-109.9-123.8-109.9H37.9z\\\"/></g></g></g><g><path class=\\\"st0\\\" d=\\\"M117.9,111.8c2.6,0,5,0.4,7.3,1.2c2.3,0.8,4.2,2.1,5.9,3.7c1.6,1.7,2.9,3.8,3.9,6.2c0.9,2.5,1.4,5.4,1.4,8.8c0,3-0.4,5.7-1.1,8.2c-0.8,2.5-1.9,4.7-3.4,6.5c-1.5,1.8-3.4,3.2-5.7,4.3c-2.3,1-5,1.6-8.1,1.6h-17.5v-40.6H117.9z M117.3,144.9c1.3,0,2.5-0.2,3.8-0.6c1.2-0.4,2.3-1.1,3.2-2.1c0.9-1,1.7-2.2,2.3-3.8c0.6-1.6,0.9-3.4,0.9-5.7c0-2-0.2-3.9-0.6-5.5c-0.4-1.6-1.1-3.1-2-4.2s-2.1-2.1-3.6-2.7c-1.5-0.6-3.3-0.9-5.5-0.9h-6.4v25.6H117.3z\\\"/><path class=\\\"st0\\\" d=\\\"M172.5,111.8v7.5h-21.4v8.7h19.7v6.9h-19.7v9.9H173v7.5h-30.8v-40.6H172.5z\\\"/><path class=\\\"st0\\\" d=\\\"M203.1,111.8l15.2,40.6H209l-3.1-9h-15.2l-3.2,9h-9l15.3-40.6H203.1z M203.6,136.7l-5.1-14.9h-0.1l-5.3,14.9H203.6z\\\"/><path class=\\\"st0\\\" d=\\\"M232.8,111.8v33.1h19.8v7.5h-28.7v-40.6H232.8z\\\"/></g><g><circle cx=\\\"58.5\\\" cy=\\\"132.1\\\" r=\\\"18.7\\\"/></g><path d=\\\"M72.6,226.2L72.6,226.2c-15.7,0-28.3-12.7-28.3-28.3v-22.1c0-7.8,6.3-14.2,14.2-14.2h0c7.8,0,14.2,6.3,14.2,14.2V226.2z\\\"/></g></svg>\",\n \"inbox_in_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M288 32V210.7l41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 210.7V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM48 320h76.2c12.1 0 23.2 6.8 28.6 17.7l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7H316.2c12.1 0 23.2-6.8 28.6-17.7l14.3-28.6c5.4-10.8 16.5-17.7 28.6-17.7H464c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48z\\\"/></svg>\",\n \"list_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M88 48C101.3 48 112 58.75 112 72V120C112 133.3 101.3 144 88 144H40C26.75 144 16 133.3 16 120V72C16 58.75 26.75 48 40 48H88zM488 72C501.3 72 512 82.75 512 96C512 109.3 501.3 120 488 120H184C170.7 120 160 109.3 160 96C160 82.75 170.7 72 184 72H488zM488 232C501.3 232 512 242.7 512 256C512 269.3 501.3 280 488 280H184C170.7 280 160 269.3 160 256C160 242.7 170.7 232 184 232H488zM488 392C501.3 392 512 402.7 512 416C512 429.3 501.3 440 488 440H184C170.7 440 160 429.3 160 416C160 402.7 170.7 392 184 392H488zM16 232C16 218.7 26.75 208 40 208H88C101.3 208 112 218.7 112 232V280C112 293.3 101.3 304 88 304H40C26.75 304 16 293.3 16 280V232zM88 368C101.3 368 112 378.7 112 392V440C112 453.3 101.3 464 88 464H40C26.75 464 16 453.3 16 440V392C16 378.7 26.75 368 40 368H88z\\\"/></svg>\",\n \"list_view\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><rect x=\\\"26.5\\\" y=\\\"13\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"10.5\\\" y=\\\"13\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"10.5\\\" y=\\\"22\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"26.5\\\" y=\\\"22\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"10.5\\\" y=\\\"31\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/><rect x=\\\"26.5\\\" y=\\\"31\\\" width=\\\"14\\\" height=\\\"7\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"location_dot_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M168.3 499.2C116.1 435 0 279.4 0 192C0 85.96 85.96 0 192 0C298 0 384 85.96 384 192C384 279.4 267 435 215.7 499.2C203.4 514.5 180.6 514.5 168.3 499.2H168.3zM192 256C227.3 256 256 227.3 256 192C256 156.7 227.3 128 192 128C156.7 128 128 156.7 128 192C128 227.3 156.7 256 192 256z\\\"/></svg>\",\n \"lock\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M32.65,21.67H17.35c-2.81,0-3.06,2.29-3.06,5.12v8.09c0,2.83.25,5.12,3.06,5.12h15.3c2.81,0,3.06-2.29,3.06-5.12V26.79C35.71,24,35.46,21.67,32.65,21.67ZM20.22,37.49l2.61-6.32a3.82,3.82,0,1,1,4.35,0l2.6,6.32Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M29.51,16.64c0-3.6-2-4.07-4.51-4.07h0c-2.49,0-4.51.47-4.51,4.07v3h-2.7v-3C17.79,11.62,21,10,25,10h0c4,0,7.21,1.62,7.21,6.64v3h-2.7Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"lock_keyhole_open_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M432 64C387.8 64 352 99.82 352 144V192H384C419.3 192 448 220.7 448 256V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V256C0 220.7 28.65 192 64 192H288V144C288 64.47 352.5 0 432 0C511.5 0 576 64.47 576 144V192C576 209.7 561.7 224 544 224C526.3 224 512 209.7 512 192V144C512 99.82 476.2 64 432 64zM256 384C273.7 384 288 369.7 288 352C288 334.3 273.7 320 256 320H192C174.3 320 160 334.3 160 352C160 369.7 174.3 384 192 384H256z\\\"/></svg>\",\n \"lock_keyhole_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M224 0C303.5 0 368 64.47 368 144V192H384C419.3 192 448 220.7 448 256V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V256C0 220.7 28.65 192 64 192H80V144C80 64.47 144.5 0 224 0zM224 64C179.8 64 144 99.82 144 144V192H304V144C304 99.82 268.2 64 224 64zM256 320C256 302.3 241.7 288 224 288C206.3 288 192 302.3 192 320V384C192 401.7 206.3 416 224 416C241.7 416 256 401.7 256 384V320z\\\"/></svg>\",\n \"magnifier\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 50 50\\\" enable-background=\\\"new 0 0 50 50\\\" ><g><path fill=\\\"#29363E\\\" d=\\\"M27.8,15.5c-3.4-3.4-8.9-3.4-12.3,0c-3.4,3.4-3.4,8.9,0,12.3c3.4,3.4,8.9,3.4,12.3,0C31.2,24.4,31.2,18.9,27.8,15.5z M26.4,26.4c-2.6,2.6-6.8,2.6-9.4,0c-2.6-2.6-2.6-6.8,0-9.4c2.6-2.6,6.8-2.6,9.4,0C29,19.6,29,23.8,26.4,26.4z\\\"/><path fill=\\\"#29363E\\\" d=\\\"M36.4,32.8l-4.3-4.3c-0.8-0.8-2.1-0.8-2.9,0l-0.7,0.7c-0.8,0.8-0.8,2.1,0,2.9l4.3,4.3c0.8,0.8,2.1,0.8,2.9,0l0.7-0.7C37.2,34.9,37.2,33.6,36.4,32.8z\\\"/></g></svg>\",\n \"map_marker\": \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z\\\" /></svg>\",\n \"master_detail\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"22\\\" y=\\\"32.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 68.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22\\\" y=\\\"26.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 56.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22\\\" y=\\\"20.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 44.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"22\\\" y=\\\"14.17\\\" width=\\\"18\\\" height=\\\"4\\\" transform=\\\"translate(62 32.33) rotate(180)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"14.17\\\" width=\\\"10\\\" height=\\\"22\\\" transform=\\\"translate(30 50.33) rotate(180)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"memo_circle_check_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M288 368C288 288.5 352.5 224 432 224C511.5 224 576 288.5 576 368C576 447.5 511.5 512 432 512C352.5 512 288 447.5 288 368zM499.3 347.3C505.6 341.1 505.6 330.9 499.3 324.7C493.1 318.4 482.9 318.4 476.7 324.7L416 385.4L387.3 356.7C381.1 350.4 370.9 350.4 364.7 356.7C358.4 362.9 358.4 373.1 364.7 379.3L404.7 419.3C410.9 425.6 421.1 425.6 427.3 419.3L499.3 347.3zM320 0C355.3 0 384 28.65 384 64V198.6C310.1 219.5 256 287.4 256 368C256 427.1 285.1 479.3 329.7 511.3C326.6 511.7 323.3 512 320 512H64C28.65 512 0 483.3 0 448V64C0 28.65 28.65 0 64 0H320zM80 128C71.16 128 64 135.2 64 144C64 152.8 71.16 160 80 160H304C312.8 160 320 152.8 320 144C320 135.2 312.8 128 304 128H80zM80 256H240C248.8 256 256 248.8 256 240C256 231.2 248.8 224 240 224H80C71.16 224 64 231.2 64 240C64 248.8 71.16 256 80 256zM80 352H176C184.8 352 192 344.8 192 336C192 327.2 184.8 320 176 320H80C71.16 320 64 327.2 64 336C64 344.8 71.16 352 80 352z\\\"/></svg>\",\n \"menu\": \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\\\" /></svg>\",\n \"message_sms_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M448-.0004H64c-35.25 0-64 28.75-64 63.1v287.1c0 35.25 28.75 63.1 64 63.1h96v83.98c0 9.836 11.02 15.55 19.12 9.7L304 415.1H448c35.25 0 64-28.75 64-63.1V63.1C512 28.75 483.3-.0004 448-.0004zM464 352c0 8.75-7.25 16-16 16h-160l-80 60v-60H64c-8.75 0-16-7.25-16-16V64c0-8.75 7.25-16 16-16h384c8.75 0 16 7.25 16 16V352zM124.4 192.6C113.6 189.5 103.2 187.2 104.2 181.5c.7813-4.5 10.28-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.375 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34C143.1 147.8 136.5 145.9 130.6 145c-30.69-4.812-53.94 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34C135 239 125.7 241.1 114.3 239.4C107.9 238.4 100.4 235.4 93.38 232.9c-8.375-2.969-16 1.875-18.97 10.19S77.19 261.1 85.5 264.1C92.81 266.8 101.1 269.8 109.4 271C113.7 271.7 117.9 272 121.1 272c24.28 0 41.94-12.03 45.38-32.13C173.1 206.5 141.4 197.5 124.4 192.6zM396.4 192.6C385.6 189.5 375.2 187.2 376.2 181.5c.7813-4.5 10.31-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.406 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34c-6.156-2.125-12.69-4.062-18.59-4.969c-30.75-4.812-53.97 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34c-.7813 4.562-10.12 6.656-21.56 4.938c-6.342-.9883-13.9-3.939-20.88-6.438c-8.375-2.969-16 1.875-18.97 10.19s2.781 17.97 11.09 20.97c7.312 2.656 15.62 5.656 23.88 6.906C385.7 271.7 389.9 272 393.1 272c24.28 0 41.94-12.03 45.38-32.13C445.1 206.5 413.4 197.5 396.4 192.6zM309.1 144.8c-6.469-2.062-13.72 .0625-17.88 5.594L256 197.3L220.8 150.4C216.7 144.9 209.4 142.7 202.9 144.8C196.4 147 192 153.1 192 160v96c0 8.844 7.156 16 16 16S224 264.8 224 256V208l19.19 25.59c6.062 8.062 19.56 8.062 25.62 0L288 208V256c0 8.844 7.156 16 16 16S320 264.8 320 256V160C320 153.1 315.6 147 309.1 144.8z\\\"/></svg>\",\n \"message_sms_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm202.9 80.8C196.4 147 192 153.1 192 160v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 208v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 197.3l-35.2-46.9c-4.1-5.5-11.3-7.8-17.9-5.6zm173.1 38c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.1 .1 12.9 1.4 20.1 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.2-2.2-17.9-4.3-27.9-4.4c-9.3-.1-20.4 1.9-29.7 7.4c-9.9 5.9-18.6 16.4-18.5 31.6c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7-.2-13.5-2.4-22.6-5.5l0 0 0 0c-1.5-.5-3.2-1.1-4.9-1.6c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.2 .4 2.6 .9 4 1.4l0 0 0 0c8.8 3 20.4 7 32.6 7.4c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.2-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4zm-272 0c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.6 .1 16.7 1.6 23.3 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.8-2.4-21.6-4.3-31.1-4.4c-9.3-.1-20.4 1.9-29.7 7.4C80.6 157.3 72 167.8 72 183c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l0 0 1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7.2-.2-14.2-2.6-23.7-5.8l0 0 0 0c-1.3-.4-2.7-.9-4.1-1.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.1 .4 2.4 .8 3.6 1.2l0 0 0 0c9 3.1 20.9 7.2 33.2 7.6c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.3-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4z\\\"/></svg>\",\n \"object_intersect_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M288 64v96H224c-35.3 0-64 28.7-64 64v64H64V64H288zM64 352h96v96c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H352V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64zM448 224V448H224V352h64c35.3 0 64-28.7 64-64V224h96z\\\"/></svg>\",\n \"pallet_boxes_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M96 255.1L288 256c17.6 0 32-14.4 32-32V31.1c0-17.6-14.4-31.1-32-31.1L96 0c-17.6 0-32 14.4-32 32V224C64 241.6 78.4 255.1 96 255.1zM416 255.1h128c17.6 0 32-14.4 32-31.1v-128c0-17.6-14.4-32-32-32h-128c-17.6 0-32 14.4-32 32v128C384 241.6 398.4 255.1 416 255.1zM624 384c8.75 0 16-7.25 16-16v-32c0-8.75-7.25-16-16-16h-608C7.25 320 0 327.3 0 336v32C0 376.8 7.25 384 16 384H64v64H16C7.25 448 0 455.3 0 464v32C0 504.8 7.25 512 16 512h608c8.75 0 16-7.25 16-16v-32c0-8.75-7.25-16-16-16H576v-64H624zM288 448H128v-64h160V448zM512 448h-160v-64h160V448z\\\"/></svg>\",\n \"pdf\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.42,40.17H13.88c-2.16,0-2.72-.56-2.72-2.72V12.88c0-2.15.56-2.71,2.72-2.71h11.6l8.66,8.88v3.43H32.8V19.6l-7.88-8.09h-11c-1.38,0-1.38,0-1.38,1.37V37.45c0,1.37,0,1.37,1.38,1.37H31.42c1.38,0,1.38,0,1.38-1.37V35h1.34v2.43C34.14,39.61,33.58,40.17,31.42,40.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M27.83,26.63v4.24h1a3.57,3.57,0,0,0,.78-.06,1.22,1.22,0,0,0,.52-.26,1.44,1.44,0,0,0,.34-.62,4.13,4.13,0,0,0,.13-1.18,3.79,3.79,0,0,0-.13-1.14,1.51,1.51,0,0,0-.37-.62,1.14,1.14,0,0,0-.6-.3,5.93,5.93,0,0,0-1.06-.06Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21.86,26.63v1.82h.71a3.57,3.57,0,0,0,1-.1A.88.88,0,0,0,24,28a.84.84,0,0,0,.14-.5.8.8,0,0,0-.2-.57.88.88,0,0,0-.52-.29,6.36,6.36,0,0,0-.93,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.14,24.27v9h19.7v-9Zm6.12,4.24a1.68,1.68,0,0,1-.54.63,1.9,1.9,0,0,1-.67.3,6.57,6.57,0,0,1-1.34.1h-.85V32H20.57V25.54h2.07a7.75,7.75,0,0,1,1.54.1,1.73,1.73,0,0,1,.93.63,2,2,0,0,1,.37,1.25A2,2,0,0,1,25.26,28.51Zm6.45,1.66A2.91,2.91,0,0,1,31,31.31a2.28,2.28,0,0,1-.91.51A4,4,0,0,1,29,32H26.54V25.54H28.9a4.21,4.21,0,0,1,1.22.13,2.08,2.08,0,0,1,1,.59,2.79,2.79,0,0,1,.61,1,4.76,4.76,0,0,1,.21,1.52A4.19,4.19,0,0,1,31.71,30.17Zm5.7-3.54h-3.1v1.52H37v1.08H34.31V32H33V25.54h4.39Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25.2,10.84v6.44c0,1.78.27,2,2,2h6.23Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"percent_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M374.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-320 320c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l320-320zM128 128c0-35.3-28.7-64-64-64S0 92.7 0 128s28.7 64 64 64s64-28.7 64-64zM384 384c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\\\"/></svg>\",\n \"plus_round\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"-288 379 35 35\\\" enable-background=\\\"new -288 379 35 35\\\" ><path fill=\\\"#29363E\\\" d=\\\"M-270.5,381.5c-8.3,0-15,6.7-15,15c0,8.3,6.7,15,15,15s15-6.7,15-15C-255.5,388.2-262.2,381.5-270.5,381.5z M-261.1,397.3c0,0.9-0.7,1.6-1.6,1.6h-5.5v5.5c0,0.9-0.7,1.6-1.6,1.6h-1.6c-0.9,0-1.6-0.7-1.6-1.6v-5.5h-5.5c-0.9,0-1.6-0.7-1.6-1.6v-1.6c0-0.9,0.7-1.6,1.6-1.6h5.5v-5.5c0-0.9,0.7-1.6,1.6-1.6h1.6c0.9,0,1.6,0.7,1.6,1.6v5.5h5.5c0.9,0,1.6,0.7,1.6,1.6V397.3z\\\"/></svg>\",\n \"plus_simple\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><g ><path d=\\\"M13.86,27c-.32,0-.58-.26-.58-.57v-9.72H3.58c-.32,0-.58-.26-.58-.57v-2.29c0-.31,.26-.57,.58-.57H13.29V3.57c0-.31,.26-.57,.58-.57h2.28c.31,0,.57,.26,.57,.57V13.29h9.72c.31,0,.57,.26,.57,.57v2.29c0,.31-.26,.57-.57,.57h-9.72v9.72c0,.31-.26,.57-.57,.57h-2.28Z\\\" fill=\\\"#484f60\\\"/></g></g><g /></svg>\",\n \"print_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M111.1 48h254.1L400 81.94V160H448V81.94c0-12.73-5.057-24.94-14.06-33.94l-33.94-33.94C391 5.057 378.8 0 366.1 0H111.1C85.49 0 64.01 21.48 64 47.98l.002 82.28c-.002 0 .002 0 0 0L64 160h48.01L111.1 48zM440 192H72C32.3 192 0 224.3 0 264v112c0 13.25 10.75 24 24 24H80V480c0 17.67 14.33 32 32 32h288c17.67 0 32-14.33 32-32v-80h56c13.25 0 24-10.75 24-24v-112C512 224.3 479.7 192 440 192zM384 464H128v-96h256V464zM464 352h-32c0-17.67-14.33-32-32-32h-288c-17.67 0-32 14.33-32 32h-32V264c0-13.23 10.77-24 24-24h368c13.23 0 24 10.77 24 24V352z\\\"/></svg>\",\n \"print_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M448 192H64C28.65 192 0 220.7 0 256v96c0 17.67 14.33 32 32 32h32v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h32c17.67 0 32-14.33 32-32V256C512 220.7 483.3 192 448 192zM384 448H128v-96h256V448zM432 296c-13.25 0-24-10.75-24-24c0-13.27 10.75-24 24-24s24 10.73 24 24C456 285.3 445.3 296 432 296zM128 64h229.5L384 90.51V160h64V77.25c0-8.484-3.375-16.62-9.375-22.62l-45.25-45.25C387.4 3.375 379.2 0 370.8 0H96C78.34 0 64 14.33 64 32v128h64V64z\\\"/></svg>\",\n \"purchase\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><g opacity=\\\"0.75\\\"><polygon points=\\\"33.34 25.04 27.34 28.52 33.35 31.97 39.34 28.49 33.34 25.04\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"33.99 33.08 39.99 29.6 40 36.53 34.01 40.01 33.99 33.08\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"26.72 36.55 26.71 29.63 32.71 33.08 32.72 40.01 26.72 36.55\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"12.78 28.54 18.79 32 24.78 28.52 18.77 25.07 12.78 28.54\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"19.43 33.1 25.42 29.63 25.44 36.56 19.44 40.03 19.43 33.1\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"12.15 36.58 12.14 29.65 18.15 33.11 18.16 40.04 12.15 36.58\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/><polygon points=\\\"32.04 15.89 26.03 12.44 22.09 14.73 27.52 14.73 24.03 18.21 26.05 19.37 32.04 15.89\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"32.68 17 26.69 20.48 26.7 27.41 32.7 23.93 32.68 17\\\" fill=\\\"#484f60\\\" opacity=\\\"0.5\\\"/><polygon points=\\\"23.1 19.15 19.41 22.83 19.41 23.95 25.42 27.41 25.41 20.48 23.1 19.15\\\" fill=\\\"#484f60\\\" opacity=\\\"0.25\\\"/></g><polygon points=\\\"19.03 16.34 19.03 10.3 14.61 10.3 14.61 16.34 14.61 16.34 10 16.34 16.82 23.16 23.64 16.34 19.03 16.34\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"resize\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 51 51\\\"><polygon points=\\\"1.1 49.9 1.1 30.6 7.8 37.3 37.3 8 30.6 1.3 49.9 1.3 49.9 20.6 43.2 13.9 13.7 43.2 20.5 49.9 1.1 49.9\\\" fill=\\\"#4d5050\\\"/></svg>\",\n \"share_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M503.7 226.2l-176 151.1c-15.38 13.3-39.69 2.545-39.69-18.16V272.1C132.9 274.3 66.06 312.8 111.4 457.8c5.031 16.09-14.41 28.56-28.06 18.62C39.59 444.6 0 383.8 0 322.3c0-152.2 127.4-184.4 288-186.3V56.02c0-20.67 24.28-31.46 39.69-18.16l176 151.1C514.8 199.4 514.8 216.6 503.7 226.2z\\\"/></svg>\",\n \"shelves_light\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M624 0C615.2 0 608 7.162 608 16V160H32V16C32 7.162 24.84 0 16 0S0 7.162 0 16v480C0 504.8 7.164 512 16 512S32 504.8 32 496V448h576v48c0 8.836 7.164 16 16 16s16-7.164 16-16v-480C640 7.162 632.8 0 624 0zM608 416H32V192h576V416zM384 128h64c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v64C352 113.7 366.3 128 384 128zM384 32h64v64h-64V32zM288 384h64c17.67 0 32-14.33 32-32V288c0-17.67-14.33-32-32-32H288C270.3 256 256 270.3 256 288v64C256 369.7 270.3 384 288 384zM288 288h64v64H288V288zM128 384h64c17.67 0 32-14.33 32-32V288c0-17.67-14.33-32-32-32H128C110.3 256 96 270.3 96 288v64C96 369.7 110.3 384 128 384zM128 288h64v64H128V288z\\\"/></svg>\",\n \"shelves_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M608 0c-17.6 0-32 14.4-32 31.1V160H64V31.1C64 14.4 49.6 0 32 0S0 14.4 0 31.1v480h64v-32h512v32h64v-480C640 14.4 625.6 0 608 0zM576 416H64V224h512V416zM368 128h96C472.8 128 480 120.8 480 112v-96C480 7.25 472.8 0 464 0h-96C359.2 0 352 7.25 352 16v96C352 120.8 359.2 128 368 128zM112 384h96C216.8 384 224 376.8 224 368v-96C224 263.2 216.8 256 208 256h-96C103.2 256 96 263.2 96 272v96C96 376.8 103.2 384 112 384zM272 384h96c8.75 0 16-7.25 16-16v-96C384 263.2 376.8 256 368 256h-96C263.2 256 256 263.2 256 272v96C256 376.8 263.2 384 272 384z\\\"/></svg>\",\n \"side_panel\": \"<svg width=\\\"47px\\\" height=\\\"43px\\\" viewBox=\\\"0 0 47 43\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><defs><image width=\\\"47\\\" height=\\\"43\\\" xlink:href=\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAArCAYAAADottG6AAAABHNCSVQICAgIfAhkiAAAAHtJREFUWIXt18EJwCAQAEENKSNv60gVgVQYSBWpw3f6OHvQx3Kw8xcX0QNrRERJaqMDVhhPMZ5iPMV4ivEU4ynGU/bZhb3/5Xm/pc3v6yytHdPrq58RiPEUHywl9bUxnuKDpaS+NsZTUsennjapT95RSTGeYjzFeErq+AEBrixGEVJ5mAAAAABJRU5ErkJggg==\\\" /></defs><use xlink:href=\\\"#img_1\\\" fill=\\\"#FFFFFF\\\" stroke=\\\"none\\\" /></svg>\",\n \"slide_in\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><g><path d=\\\"M2,2.17H28V28.17H2V2.17Zm24.76,1.24H3.24V26.93H26.76V3.4Z\\\" fill=\\\"#484f60\\\"/><polygon points=\\\"23.71 13.42 18.41 13.42 18.41 10.43 14.12 14.72 18.41 19.01 18.41 16.02 23.71 16.02 23.71 13.42\\\" fill=\\\"#484f60\\\"/><rect x=\\\"2\\\" y=\\\"2.17\\\" width=\\\"9\\\" height=\\\"26\\\" fill=\\\"#484f60\\\"/></g></g></svg>\",\n \"square_full\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M464 48v416h-416v-416H464zM512 0H0v512h512V0z\\\"/></svg>\",\n \"square_full_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M0 0h512v512H0V0z\\\"/></svg>\",\n \"sync_alt\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z\\\"/></svg>\",\n \"tag\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M40,29.15v-.68a5.28,5.28,0,0,0-1.34-3.25L24.78,11.34A5.34,5.34,0,0,0,21.53,10H11.9A1.91,1.91,0,0,0,10,11.9v9.63a5.28,5.28,0,0,0,1.34,3.25L25.22,38.66A5.28,5.28,0,0,0,28.47,40h.68a5.28,5.28,0,0,0,3.24-1.34l6.27-6.27A5.28,5.28,0,0,0,40,29.15ZM13.13,16.72a2.54,2.54,0,1,1,3.59,0A2.55,2.55,0,0,1,13.13,16.72Zm15.9,19L17.84,24.55l1.34-1.34L30.37,34.4Zm2.69-2.69L20.52,21.87l1.35-1.35,11.19,11.2Zm2.68-2.69L23.21,19.18l1.34-1.34L35.75,29Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"text_size_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M32 32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V96h96l0 320H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H224l0-320h96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H192 32zM352 224c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32s32-14.3 32-32h64l0 128H432c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H512l0-128h64c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32H352z\\\"/></svg>\",\n \"text_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M0 32H32 192h64H416h32V64v64 32H384V128 96H256l0 320h48 32v64H304 144 112V416h32 48l0-320H64v32 32H0V128 64 32z\\\"/></svg>\",\n \"thick_lines\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"12.67\\\" width=\\\"30\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"21.67\\\" width=\\\"30\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"30.67\\\" width=\\\"30\\\" height=\\\"7\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"thin_lines\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"14.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"20.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"26.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/><rect x=\\\"10\\\" y=\\\"32.17\\\" width=\\\"30\\\" height=\\\"4\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"trash_bin\": \"<svg preserveAspectRatio=\\\"none\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 50 50\\\" x=\\\"0px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" y=\\\"0px\\\"><g transform=\\\" translate(14 10)\\\"><path d=\\\"M 0 0 L 0 18.215 C 0 19.99 1.439 21.429 3.215 21.429 L 15 21.429 C 16.775 21.429 18.215 19.99 18.215 18.215 L 18.215 0 L 0 0 Z M 4.287 19.286 L 2.143 19.286 L 2.143 2.143 L 4.287 2.143 L 4.287 19.286 Z M 10.18 19.286 L 8.037 19.286 L 8.037 2.143 L 10.18 2.143 L 10.18 19.286 Z M 16.072 19.286 L 13.93 19.286 L 13.93 2.143 L 16.072 2.143 L 16.072 19.286 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(1.891 8.571)\\\" /><path d=\\\"M 18.213 2.143 L 10.713 2.143 C 11.305 2.143 11.785 1.664 11.785 1.071 C 11.785 0.479 11.305 0 10.713 0 L 9.643 0 C 9.051 0 8.57 0.479 8.57 1.071 C 8.57 1.664 9.051 2.143 9.643 2.143 L 2.143 2.143 C 0.959 2.143 0 3.103 0 4.286 L 0 5.357 C 0 6.541 0.959 6.429 2.143 6.429 L 18.213 6.429 C 19.397 6.429 20.357 6.541 20.357 5.357 L 20.357 4.286 C 20.357 3.103 19.397 2.143 18.213 2.143 Z\\\" fill=\\\"#1E2930\\\" transform=\\\" translate(0.821 0)\\\" /></g></svg>\",\n \"trash_can_light\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M144 400C144 408.8 136.8 416 128 416C119.2 416 112 408.8 112 400V176C112 167.2 119.2 160 128 160C136.8 160 144 167.2 144 176V400zM240 400C240 408.8 232.8 416 224 416C215.2 416 208 408.8 208 400V176C208 167.2 215.2 160 224 160C232.8 160 240 167.2 240 176V400zM336 400C336 408.8 328.8 416 320 416C311.2 416 304 408.8 304 400V176C304 167.2 311.2 160 320 160C328.8 160 336 167.2 336 176V400zM310.1 22.56L336.9 64H432C440.8 64 448 71.16 448 80C448 88.84 440.8 96 432 96H416V432C416 476.2 380.2 512 336 512H112C67.82 512 32 476.2 32 432V96H16C7.164 96 0 88.84 0 80C0 71.16 7.164 64 16 64H111.1L137 22.56C145.8 8.526 161.2 0 177.7 0H270.3C286.8 0 302.2 8.526 310.1 22.56V22.56zM148.9 64H299.1L283.8 39.52C280.9 34.84 275.8 32 270.3 32H177.7C172.2 32 167.1 34.84 164.2 39.52L148.9 64zM64 432C64 458.5 85.49 480 112 480H336C362.5 480 384 458.5 384 432V96H64V432z\\\"/></svg>\",\n \"triangle_down\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"29.06 18.75 37.5 18.75 25 31.25 12.5 18.75 20.95 18.75 29.06 18.75\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"triangle_up\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"20.94 31.25 12.5 31.25 25 18.75 37.5 31.25 29.05 31.25 20.94 31.25\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"10\\\" y=\\\"14.75\\\" width=\\\"17.47\\\" height=\\\"12.62\\\" fill=\\\"#484f60\\\"/><path d=\\\"M37,18.11h-8V28.84H20.22a4.42,4.42,0,0,1,1.41,2.73H30a4.41,4.41,0,0,1,8.76,0H40V24.63Zm-.26,6.73H32.25a.57.57,0,0,1-.57-.57V20a.57.57,0,0,1,.57-.58h2.63a.58.58,0,0,1,.52.35L37.31,24A.58.58,0,0,1,36.78,24.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M14.28,28.84a4.39,4.39,0,0,0-1.42,2.73H12l-2-1.26V28.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M31.25,32.1a3.16,3.16,0,1,0,3.16-3.16A3.16,3.16,0,0,0,31.25,32.1Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M14.09,32.1a3.16,3.16,0,1,0,3.16-3.16A3.15,3.15,0,0,0,14.09,32.1Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"truck_arrow_right_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M0 48C0 21.49 21.49 0 48 0H368C394.5 0 416 21.49 416 48V96H466.7C483.7 96 499.1 102.7 512 114.7L589.3 192C601.3 204 608 220.3 608 237.3V352C625.7 352 640 366.3 640 384C640 401.7 625.7 416 608 416H576C576 469 533 512 480 512C426.1 512 384 469 384 416H256C256 469 213 512 160 512C106.1 512 64 469 64 416H48C21.49 416 0 394.5 0 368V48zM544 256V237.3L466.7 160H416V256H544zM160 464C186.5 464 208 442.5 208 416C208 389.5 186.5 368 160 368C133.5 368 112 389.5 112 416C112 442.5 133.5 464 160 464zM480 368C453.5 368 432 389.5 432 416C432 442.5 453.5 464 480 464C506.5 464 528 442.5 528 416C528 389.5 506.5 368 480 368zM256.1 95.03C247.6 85.66 232.4 85.66 223 95.03C213.7 104.4 213.7 119.6 223 128.1L262.1 168H96C82.75 168 72 178.7 72 192C72 205.3 82.75 216 96 216H262.1L223 255C213.7 264.4 213.7 279.6 223 288.1C232.4 298.3 247.6 298.3 256.1 288.1L336.1 208.1C346.3 199.6 346.3 184.4 336.1 175L256.1 95.03z\\\"/></svg>\",\n \"truck_container_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M352 32C378.5 32 400 53.49 400 80V240C400 266.5 378.5 288 352 288H48C21.49 288 0 266.5 0 240V80C0 53.49 21.49 32 48 32H352zM80 80C71.16 80 64 87.16 64 96V224C64 232.8 71.16 240 80 240C88.84 240 96 232.8 96 224V96C96 87.16 88.84 80 80 80zM224 224C224 232.8 231.2 240 240 240C248.8 240 256 232.8 256 224V96C256 87.16 248.8 80 240 80C231.2 80 224 87.16 224 96V224zM160 80C151.2 80 144 87.16 144 96V224C144 232.8 151.2 240 160 240C168.8 240 176 232.8 176 224V96C176 87.16 168.8 80 160 80zM304 224C304 232.8 311.2 240 320 240C328.8 240 336 232.8 336 224V96C336 87.16 328.8 80 320 80C311.2 80 304 87.16 304 96V224zM432 168C432 154.7 442.7 144 456 144H528.8C545.6 144 561.5 151.5 572.2 164.5L630.1 236.4C636.8 243.5 640 252.5 640 261.7V352C640 369.7 625.7 384 608 384H606.4C607.4 389.2 608 394.5 608 400C608 444.2 572.2 480 528 480C483.8 480 448 444.2 448 400C448 394.5 448.6 389.2 449.6 384H286.4C287.4 389.2 288 394.5 288 400C288 444.2 252.2 480 208 480C181.8 480 158.6 467.4 144 448C129.4 467.4 106.2 480 80 480C35.82 480 0 444.2 0 400V352C0 334.3 14.33 320 32 320H432V168zM480 256H584.1L535 194.9C533.5 193.1 531.2 192 528.8 192H480V256zM528 368C510.3 368 496 382.3 496 400C496 417.7 510.3 432 528 432C545.7 432 560 417.7 560 400C560 382.3 545.7 368 528 368zM208 432C225.7 432 240 417.7 240 400C240 382.3 225.7 368 208 368C190.3 368 176 382.3 176 400C176 417.7 190.3 432 208 432zM80 368C62.33 368 48 382.3 48 400C48 417.7 62.33 432 80 432C97.67 432 112 417.7 112 400C112 382.3 97.67 368 80 368z\\\"/></svg>\",\n \"truck_fast_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M416 0H64V96H0v32H64 288v32H64 32v32H64 256v32H64 0v32H64 224v32H64V416c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32 32V352H608V288 256 224 210.7l-9.4-9.4-96-96L493.3 96H480 416V0zM544 237.3V256H416V160h50.7L544 237.3zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48zm368-48c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48z\\\"/></svg>\",\n \"truck_moving_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M64 32C28.7 32 0 60.7 0 96V304v80 16c0 44.2 35.8 80 80 80c26.2 0 49.4-12.6 64-32c14.6 19.4 37.8 32 64 32c44.2 0 80-35.8 80-80c0-5.5-.6-10.8-1.6-16H416h33.6c-1 5.2-1.6 10.5-1.6 16c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H608c17.7 0 32-14.3 32-32V288 272 261.7c0-9.2-3.2-18.2-9-25.3l-58.8-71.8c-10.6-13-26.5-20.5-43.3-20.5H480V96c0-35.3-28.7-64-64-64H64zM585 256H480V192h48.8c2.4 0 4.7 1.1 6.2 2.9L585 256zM528 432c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zM240 400c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32zM80 432c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z\\\"/></svg>\",\n \"txt\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.42,40.17H13.87c-2.15,0-2.71-.56-2.71-2.72V12.88c0-2.15.56-2.71,2.71-2.71H25.48l8.66,8.88v3.43H32.8V19.6l-7.88-8.09H13.87c-1.37,0-1.37,0-1.37,1.37V37.45c0,1.37,0,1.37,1.37,1.37H31.42c1.38,0,1.38,0,1.38-1.37V35h1.34v2.43C34.14,39.61,33.58,40.17,31.42,40.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25.2,10.84v6.44c0,1.78.27,2,2,2h6.23Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.14,24.27v9h19.7v-9Zm6.68,2.36h-1.9V32h-1.3V26.63h-1.9V25.54h5.1ZM30.4,32,29,29.74,27.55,32H26l2.19-3.34-2-3.07h1.52L29,27.6l1.26-2.06h1.5l-2,3.12L32,32Zm6.86-5.32h-1.9V32H34.07V26.63H32.16V25.54h5.1Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"unlock\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M32.65,21.67H17.35c-2.81,0-3.06,2.29-3.06,5.12v8.09c0,2.83.25,5.12,3.06,5.12h15.3c2.81,0,3.06-2.29,3.06-5.12V26.79C35.71,24,35.46,21.67,32.65,21.67ZM20.22,37.49l2.61-6.32a3.82,3.82,0,1,1,4.35,0l2.6,6.32Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35.51,16.64c0-3.6-2-4.07-4.51-4.07h0c-2.49,0-4.51.47-4.51,4.07v3h-2.7v-3C23.79,11.62,27,10,31,10h0c4,0,7.21,1.62,7.21,6.64Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"warehouse\": \"<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M6 19H8V21H6V19M12 3L2 8V21H4V13H20V21H22V8L12 3M8 11H4V9H8V11M14 11H10V9H14V11M20 11H16V9H20V11M6 15H8V17H6V15M10 15H12V17H10V15M10 19H12V21H10V19M14 19H16V21H14V19Z\\\" /></svg>\",\n \"x_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z\\\"/></svg>\"\n};","import {Injectable} from \"@angular/core\";\r\nimport {DomSanitizer, SafeHtml} from \"@angular/platform-browser\";\r\nimport {Icon} from \"../enum/icon.enum\";\r\nimport {IconSvg} from \"../model/icon-svg\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class IconCacheService {\r\n /**\r\n * All the icons as a large JSON object, from the all-icons.json file.\r\n * The object has property keys that are the icon names, and property values with the data string of the actual svg icon.\r\n */\r\n public get iconCache(): { [iconName: string]: SafeHtml } {\r\n return this._iconCache;\r\n }\r\n\r\n private _iconCache: { [iconName: string]: SafeHtml } = {};\r\n\r\n constructor(\r\n private _sanitizer: DomSanitizer\r\n ) {\r\n this.setIconCache();\r\n }\r\n\r\n public getIcon(iconName: Icon | string): SafeHtml {\r\n if (iconName) {\r\n return this._iconCache[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public getIconAsBase64(iconName: Icon): SafeHtml {\r\n const icon: string = IconSvg[iconName];\r\n const base64Data: string = window.btoa(icon);\r\n return this._sanitizer.bypassSecurityTrustUrl(`data:image/svg+xml;base64,${base64Data}`);\r\n }\r\n\r\n public getRawIcon(iconName: Icon): string {\r\n if (iconName) {\r\n return IconSvg[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public setIconCache(): void {\r\n for (const key in IconSvg) {\r\n if (IconSvg.hasOwnProperty(key) && typeof IconSvg[key] !== \"function\") {\r\n this._iconCache[key.toLowerCase()] = this._sanitizer.bypassSecurityTrustHtml(IconSvg[key]);\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogBaseComponent} from \"../core/base/dialog-base.component\";\r\nimport {AppPopupButtonType} from \"../core/enum/app-popup-button-type.enum\";\r\nimport {AppPopupType} from \"../core/enum/app-popup-type.enum\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-confirmation-dialog\",\r\n template: `\r\n <co-dialog [showCloseIcon]=\"false\" [headerTemplate]=\"headerTemplate\" [footerTemplate]=\"footerTemplate\">\r\n <div class=\"confirmation-dialog-wrapper\">\r\n <div class=\"text\" [innerHTML]=\"text\"></div>\r\n <co-collapsible [headerTitle]=\"'DETAILS' | localize\" [iconData]=\"iconCacheService.getIcon(icons.TriangleDown)\" *ngIf=\"details\">\r\n <div class=\"dialog-details\" [innerHTML]=\"details\"></div>\r\n </co-collapsible>\r\n </div>\r\n </co-dialog>\r\n <ng-template #headerTemplate>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"title | localize\"></div>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\">\r\n <ng-container *ngIf=\"type === ptype.Confirmation\">\r\n <co-button [label]=\"'YES' | localize\" (click)=\"handleYesClick($event)\"></co-button>\r\n <co-button [label]=\"'NO' | localize\" (click)=\"handleNoClick($event)\"></co-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"type === ptype.Information || type === ptype.Error\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick($event)\"></co-button>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ConfirmationDialogComponent extends DialogBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly ptype: typeof AppPopupType = AppPopupType;\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public text: string;\r\n\r\n @Input()\r\n public details: string;\r\n\r\n @Input()\r\n public type: AppPopupType\r\n\r\n @HostBinding(\"class.co-confirmation-dialog\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n super();\r\n }\r\n\r\n public handleYesClick(event: MouseEvent): void {\r\n this.onClose(AppPopupButtonType.Yes);\r\n }\r\n\r\n public handleNoClick(event: MouseEvent): void {\r\n this.onClose(AppPopupButtonType.No);\r\n }\r\n\r\n public handleOkClick(event: MouseEvent): void {\r\n this.onClose(AppPopupButtonType.Ok);\r\n }\r\n}\r\n","import {ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {TransactionLineCharacteristicChoice} from \"@colijnit/transactionapi/build/model/transactionLineCharacteristicChoice.bo\";\nimport {DialogBaseComponent} from \"../../dialog-base.component\";\nimport {AppPopupButtonType} from \"../../../enum/app-popup-button-type.enum\";\n\n@Component({\n selector: \"co-characteristic-answer\",\n template: `\n <co-dialog [showCloseIcon]=\"false\" [modal]=\"true\" [headerTemplate]=\"headerTemplate\" [footerTemplate]=\"footerTemplate\">\n <ng-container *ngIf=\"choices && choices.length > 0\">\n <div class=\"co-transaction-default-popup-row\" *ngFor=\"let choice of viewModels\">\n <co-input-checkbox [model]=\"choice.checked\" [label]=\"choice.value\" (click)=\"handleChecked($event, choice.value)\"></co-input-checkbox>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!choices || choices.length === 0\">\n <co-input-text\n [(model)]=\"value\"\n (enter)=\"handleOkClick()\"\n ></co-input-text>\n </ng-container>\n </co-dialog>\n <ng-template #headerTemplate>\n <div class=\"co-dialog-header-title\" [textContent]=\"title\"></div>\n </ng-template>\n <ng-template #footerTemplate>\n <div class=\"co-dialog-footer-button-wrapper\">\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick()\"></co-button>\n </div>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class CharacteristicAnswerComponent extends DialogBaseComponent {\n @Input()\n public title: string = \"\";\n\n @Input()\n public set choices(value: TransactionLineCharacteristicChoice[]) {\n this._choices = value;\n this._prepareViewModels();\n }\n\n public get choices(): TransactionLineCharacteristicChoice[] {\n return this._choices;\n }\n\n @Input()\n public value: string = \"\";\n\n @Output()\n public readonly okClick: EventEmitter<string> = new EventEmitter<string>();\n\n @HostBinding('class.co-characteristic-answer')\n public showClass() {\n return true;\n }\n\n public viewModels: {value: string, checked: boolean}[] = [];\n\n private _choices: TransactionLineCharacteristicChoice[] = [];\n\n constructor(private _changeDetector: ChangeDetectorRef) {\n super();\n }\n\n public handleChecked(event: MouseEvent, choice: string): void {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.value = choice;\n this.viewModels.forEach(v => {\n v.checked = v.value === choice;\n })\n this._changeDetector.markForCheck();\n }\n\n public handleOkClick(): void {\n this.onClose(AppPopupButtonType.Ok, this.value);\n }\n\n private _prepareViewModels(): void {\n if (this._choices && this._choices.length > 0) {\n for (let i = 0; i < this._choices.length; i++) {\n this.viewModels.push({value: this._choices[i].value, checked: i === 0});\n }\n }\n }\n}\n","import {Directive, HostBinding, Input} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\nimport {BusinessObject} from \"@colijnit/ioneconnector/build/model/business-object\";\r\n\r\n@Directive()\r\nexport abstract class TransactionLineBaseComponent<T extends BusinessObject | number | string> {\r\n\r\n @Input()\r\n public set transactionLine(value: TransactionLineInfo) {\r\n if (value) {\r\n this._transactionLine = value;\r\n this.readonly = this._transactionLine.hasInvoices;\r\n this.transactionLineSet();\r\n }\r\n }\r\n\r\n public get transactionLine(): TransactionLineInfo {\r\n return this._transactionLine;\r\n }\r\n\r\n @Input()\r\n public set transactionInfo(value: TransactionInfo) {\r\n if (value) {\r\n this._transactionInfo = value;\r\n this.transactionInfoSet();\r\n }\r\n }\r\n\r\n public get transactionInfo(): TransactionInfo {\r\n return this._transactionInfo;\r\n }\r\n\r\n public get model(): TransactionLineInfo | TransactionInfo {\r\n return this._transactionLine;\r\n }\r\n\r\n @HostBinding('class.read-only')\r\n public readonly: boolean = false;\r\n private _transactionLine: TransactionLineInfo = new TransactionLineInfo();\r\n private _transactionInfo: TransactionInfo = new TransactionInfo();\r\n\r\n // overridden by descendents\r\n protected transactionLineSet(): void {\r\n\r\n }\r\n\r\n // overridden by descendents\r\n protected transactionInfoSet(): void {\r\n\r\n }\r\n\r\n public stopPropagation(event: PointerEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n}\r\n","import {AppPopupButtonType} from \"../enum/app-popup-button-type.enum\";\r\nimport {Directive, EventEmitter, Input, Output} from \"@angular/core\";\r\nimport {TransactionLineBaseComponent} from \"./transaction-line-base.component\";\r\n\r\n@Directive()\r\nexport abstract class DialogTransactionLineBaseComponent extends TransactionLineBaseComponent<any> {\r\n public readonly buttonType: typeof AppPopupButtonType = AppPopupButtonType;\r\n\r\n @Input()\r\n public autoClose: boolean = false;\r\n\r\n @Input()\r\n public useModel: boolean = true;\r\n\r\n @Output()\r\n public close: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public value: any;\r\n public searchText: string;\r\n\r\n onClose(eventType: AppPopupButtonType, output?: any): void {\r\n return;\r\n }\r\n\r\n public handleValueChange(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n public handleOkClick(): void {\r\n this.onClose(AppPopupButtonType.Ok, this.value);\r\n }\r\n\r\n public handleSearch(text: string): void {\r\n this.searchText = text;\r\n }\r\n\r\n public handleClose(type: AppPopupButtonType): void {\r\n this.close.emit();\r\n this.onClose(type);\r\n }\r\n\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogTransactionLineBaseComponent} from \"../../../core/base/dialog-transaction-line-base.component\";\r\n\r\n@Component({\r\n selector: \"co-dialog-transaction-line-warehouse\",\r\n template: `\r\n <co-dialog [headerTemplate]=\"dialogHeader\" [footerTemplate]=\"footerTemplate\" [showCloseIcon]=\"useModel\" (closeClick)=\"handleClose(buttonType.Ok)\">\r\n <co-transaction-line-warehouse\r\n [autoClose]=\"autoClose\"\r\n [useModel]=\"useModel\"\r\n [transactionLine]=\"transactionLine\"\r\n [searchText]=\"searchText\"\r\n (closeAfterCommit)=\"handleClose(buttonType.Ok)\"\r\n (valueChange)=\"handleValueChange($event)\"\r\n ></co-transaction-line-warehouse>\r\n </co-dialog>\r\n <ng-template #dialogHeader>\r\n <co-dialog-header-search [title]=\"'WAREHOUSE'\" (search)=\"handleSearch($event)\"></co-dialog-header-search>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\" *ngIf=\"!useModel\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick()\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogTransactionLineWarehouseComponent extends DialogTransactionLineBaseComponent {\r\n @HostBinding(\"class.co-dialog-transaction-line-warehouse\")\r\n public showClass() {\r\n return true;\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogTransactionLineBaseComponent} from \"../../../core/base/dialog-transaction-line-base.component\";\r\n\r\n@Component({\r\n selector: \"co-dialog-transaction-line-commission-code\",\r\n template: `\r\n <co-dialog [headerTemplate]=\"dialogHeader\" [footerTemplate]=\"footerTemplate\" [showCloseIcon]=\"useModel\" (closeClick)=\"handleClose(buttonType.Ok)\">\r\n <co-transaction-line-commission-code\r\n [autoClose]=\"autoClose\"\r\n [useModel]=\"useModel\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n (closeAfterCommit)=\"handleClose(buttonType.Ok)\"\r\n (valueChange)=\"handleValueChange($event)\"></co-transaction-line-commission-code>\r\n </co-dialog>\r\n <ng-template #dialogHeader>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"'COMMISSION_CODE' | localize\"></div>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\" *ngIf=\"!useModel\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick()\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogTransactionLineCommissionCodeComponent extends DialogTransactionLineBaseComponent {\r\n @HostBinding(\"class.co-dialog-transaction-line-commission-code\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n Injectable,\r\n Injector,\r\n StaticProvider\r\n} from \"@angular/core\";\r\nimport {DialogResponseInterface} from \"../interface/dialog-response.interface\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DynamicComponentService {\r\n\r\n private _componentRefs: any[] = [];\r\n\r\n constructor(\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector\r\n ) { }\r\n\r\n public getComponentRefs(): ComponentRef<any>[] {\r\n return this._componentRefs;\r\n }\r\n\r\n public createComponent(componentClass: any, inputs?: any, outputs?: any, providers?: StaticProvider[]): Promise<DialogResponseInterface> {\r\n return new Promise((resolve: Function) => {\r\n if (providers) {\r\n Injector.create(providers, this.injector);\r\n }\r\n const componentRef: any = this._compFactoryResolver\r\n .resolveComponentFactory(componentClass)\r\n .create(this.injector);\r\n this._componentRefs.push(componentRef);\r\n\r\n if (inputs) {\r\n for (let property in inputs) {\r\n if (inputs.hasOwnProperty(property)) {\r\n componentRef.instance[property] = inputs[property];\r\n }\r\n }\r\n }\r\n\r\n if (outputs) {\r\n for (let event in outputs) {\r\n if (outputs.hasOwnProperty(event)) {\r\n componentRef.instance[event].subscribe(() => outputs[event]());\r\n }\r\n }\r\n }\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n document.body.appendChild(domElem);\r\n componentRef.onDestroy(() => {\r\n this.appRef.detachView(componentRef.hostView);\r\n });\r\n\r\n componentRef.instance.onClose = (button: any, output?: any) => {\r\n const idx: number = this._componentRefs.indexOf(componentRef);\r\n this.appRef.detachView(componentRef.hostView);\r\n this._componentRefs[idx] = undefined;\r\n this._componentRefs.splice(idx, 1);\r\n\r\n if (outputs) {\r\n for (let event in outputs) {\r\n if (outputs.hasOwnProperty(event)) {\r\n componentRef.instance[event].unsubscribe();\r\n }\r\n }\r\n }\r\n resolve({button: button, output: output ? output : undefined});\r\n }\r\n })\r\n }\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogTransactionLineBaseComponent} from \"../../../core/base/dialog-transaction-line-base.component\";\r\n\r\n@Component({\r\n selector: \"co-dialog-transaction-line-warehouse-location\",\r\n template: `\r\n <co-dialog [headerTemplate]=\"dialogHeader\" [footerTemplate]=\"footerTemplate\" [showCloseIcon]=\"showClose\" (closeClick)=\"handleClose(buttonType.Ok)\">\r\n <co-transaction-line-warehouse-location\r\n [autoClose]=\"autoClose\"\r\n [useModel]=\"useModel\"\r\n [transactionLine]=\"transactionLine\"\r\n [searchText]=\"searchText\"\r\n [warehouseNr]=\"warehouseNr\"\r\n (closeAfterCommit)=\"handleClose(buttonType.Ok)\"\r\n (valueChange)=\"handleValueChange($event)\"\r\n ></co-transaction-line-warehouse-location>\r\n </co-dialog>\r\n <ng-template #dialogHeader>\r\n <co-dialog-header-search [title]=\"'LOCATION'\" (search)=\"handleSearch($event)\"></co-dialog-header-search>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\" *ngIf=\"!useModel\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick()\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogTransactionLineWarehouseLocationComponent extends DialogTransactionLineBaseComponent {\r\n\r\n @Input()\r\n public warehouseNr: number;\r\n\r\n @Input()\r\n public showClose: boolean = false;\r\n\r\n @HostBinding(\"class.co-dialog-transaction-line-warehouse-location\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogTransactionLineBaseComponent} from \"../../../core/base/dialog-transaction-line-base.component\";\r\nimport {AppPopupButtonType} from \"../../../core/enum/app-popup-button-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-dialog-transaction-line-warehouse-cc\",\r\n template: `\r\n <co-dialog\r\n [customCssClass]=\"'co-small-toolbar'\"\r\n [headerTemplate]=\"dialogHeader\"\r\n [footerTemplate]=\"footerTemplate\"\r\n (closeClick)=\"handleDialogClose()\">\r\n <div class=\"transaction-line-warehouse-cc-section\">\r\n <co-input-number-picker class=\"quantity-number-picker\"\r\n [(model)]=\"quantity\" [min]=\"1\"\r\n (modelChange)=\"handleQuantityChange($event)\"></co-input-number-picker>\r\n </div>\r\n <div class=\"transaction-line-warehouse-cc-section\">\r\n <div class=\"transaction-line-warehouse-cc-section-label\" [textContent]=\"'COMMISSION_CODE' | localize\"></div>\r\n <co-transaction-line-commission-code\r\n [value]=\"commissionCode\"\r\n [useModel]=\"false\"\r\n (valueChange)=\"handleCommissionCodeChange($event)\"></co-transaction-line-commission-code>\r\n </div>\r\n <div class=\"transaction-line-warehouse-cc-section\">\r\n <div class=\"transaction-line-warehouse-cc-section-label\" [textContent]=\"'WAREHOUSE' | localize\"></div>\r\n <co-transaction-line-warehouse\r\n [value]=\"warehouse\"\r\n [useModel]=\"false\"\r\n (valueChange)=\"handleWarehouseChange($event)\"></co-transaction-line-warehouse>\r\n </div>\r\n </co-dialog>\r\n <ng-template #dialogHeader>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"'COMMISSION_CODE_WAREHOUSE_SELECTION' | localize\"></div>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick()\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogTransactionLineWarehouseCcComponent extends DialogTransactionLineBaseComponent {\r\n\r\n @Input()\r\n public quantity: number = 1;\r\n\r\n @Input()\r\n public commissionCode: string;\r\n\r\n @Input()\r\n public warehouse: string;\r\n\r\n @HostBinding(\"class.co-dialog-transaction-line-warehouse-cc\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public handleQuantityChange(value: any): void {\r\n this.quantity = value;\r\n }\r\n\r\n public handleCommissionCodeChange(value: any): void {\r\n this.commissionCode = value;\r\n }\r\n\r\n public handleWarehouseChange(value: any): void {\r\n this.warehouse = value;\r\n }\r\n\r\n public handleOkClick(): void {\r\n const output = {\r\n quantity: this.quantity,\r\n commissionCode: this.commissionCode,\r\n warehouseNr: this.warehouse,\r\n }\r\n this.onClose(AppPopupButtonType.Ok, output);\r\n }\r\n\r\n public handleDialogClose(): void {\r\n this.handleClose(AppPopupButtonType.Cancel);\r\n }\r\n}\r\n","import {ApplicationRef, ComponentFactoryResolver, Injectable, Injector, Type} from \"@angular/core\";\r\nimport {AppPopupButtonType} from \"../component/core/enum/app-popup-button-type.enum\";\r\nimport {ConfirmationDialogComponent} from \"../component/confirmation-dialog/confirmation-dialog.component\";\r\nimport {AppPopupType} from \"../component/core/enum/app-popup-type.enum\";\r\nimport {TransactionLineCharacteristicChoice} from \"@colijnit/transactionapi/build/model/transactionLineCharacteristicChoice.bo\";\r\nimport {CharacteristicAnswerComponent} from \"../component/core/base/components/characteristic-answer/characteristic-answer.component\";\r\nimport {DialogTransactionLineWarehouseComponent} from \"../component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component\";\r\nimport {DialogTransactionLineCommissionCodeComponent} from \"../component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component\";\r\nimport {DynamicComponentService} from \"./dynamic-component.service\";\r\nimport {DialogTransactionLineWarehouseLocationComponent} from \"../component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\nimport {DialogBaseComponent} from \"../component/core/base/dialog-base.component\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {DialogTransactionLineWarehouseCcComponent} from \"../component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component\";\r\nimport {DialogResponseInterface} from \"../interface/dialog-response.interface\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DialogService {\r\n\r\n private _componentRefs: any[] = [];\r\n\r\n constructor(\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector,\r\n private dynamicComponentService: DynamicComponentService\r\n ) {\r\n }\r\n\r\n public async showYesNo(title: string, text: string): Promise<boolean> {\r\n const data: {} = {\r\n title: title,\r\n text: text,\r\n type: AppPopupType.Confirmation\r\n };\r\n const response: DialogResponseInterface = await this.dynamicComponentService.createComponent(ConfirmationDialogComponent, data);\r\n return response.button === AppPopupButtonType.Yes;\r\n }\r\n\r\n public showError(message: string, details?: string): Promise<any> {\r\n const data: any = {\r\n title: 'ERROR',\r\n text: message,\r\n type: AppPopupType.Error\r\n };\r\n if (details) {\r\n data.details = details;\r\n }\r\n return this.dynamicComponentService.createComponent(ConfirmationDialogComponent, data);\r\n }\r\n\r\n public showInformation(message: string): Promise<any> {\r\n const data: {} = {\r\n title: 'INFORMATION',\r\n text: message,\r\n type: AppPopupType.Information\r\n };\r\n return this.dynamicComponentService.createComponent(ConfirmationDialogComponent, data);\r\n }\r\n\r\n public showTransactionLineComponent(comp: Type<DialogBaseComponent>, transLine: TransactionLineInfo) {\r\n const data: {} = {\r\n transactionLine: transLine\r\n }\r\n return this.dynamicComponentService.createComponent(comp, data);\r\n }\r\n\r\n public showTransactionHeaderComponent(comp: Type<DialogBaseComponent>, transactionInfo: TransactionInfo) {\r\n const data: {} = {\r\n transactionInfo: transactionInfo\r\n }\r\n return this.dynamicComponentService.createComponent(comp, data);\r\n }\r\n\r\n public showCharacteristics(title: string, choices: TransactionLineCharacteristicChoice[], value: string): Promise<DialogResponseInterface> {\r\n const data: {} = {\r\n title: title,\r\n choices: choices,\r\n value: value\r\n };\r\n return this.dynamicComponentService.createComponent(CharacteristicAnswerComponent, data);\r\n }\r\n\r\n public showWarehouseCC(quantity: number, commissionCode: string, warehouseNr: number): Promise<DialogResponseInterface> {\r\n const data: {} = {\r\n useModel: false,\r\n quantity: quantity,\r\n commissionCode: commissionCode,\r\n warehouse: warehouseNr,\r\n };\r\n return this.dynamicComponentService.createComponent(DialogTransactionLineWarehouseCcComponent, data);\r\n }\r\n\r\n public showWarehouse(): Promise<DialogResponseInterface> {\r\n const data: {} = {\r\n useModel: false\r\n };\r\n return this.dynamicComponentService.createComponent(DialogTransactionLineWarehouseComponent, data);\r\n }\r\n\r\n public showCommissionCode(): Promise<DialogResponseInterface> {\r\n const data: {} = {\r\n useModel: false\r\n };\r\n return this.dynamicComponentService.createComponent(DialogTransactionLineCommissionCodeComponent, data);\r\n }\r\n\r\n public showWarehouseLocation(warehouseNr: number, useModel?: boolean, autoClose?: boolean, showClose?: boolean, transactionLine?: TransactionLineInfo): Promise<DialogResponseInterface> {\r\n const data: {} = {\r\n useModel: useModel,\r\n autoClose: autoClose,\r\n showClose: showClose,\r\n transactionLine: transactionLine,\r\n warehouseNr: warehouseNr\r\n };\r\n return this.dynamicComponentService.createComponent(DialogTransactionLineWarehouseLocationComponent, data);\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {DialogService} from \"./dialog.service\";\r\nimport {DictionaryService} from \"./dictionary.service\";\r\nimport {DataServiceResponseData} from \"@colijnit/ioneconnector/build/model/data-service-response-data\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ErrorService {\r\n\r\n constructor(\r\n private _dialogService: DialogService,\r\n private _dictionaryService: DictionaryService\r\n ) {\r\n }\r\n\r\n public showError(message: string, details?: string): Promise<any> {\r\n return this._dialogService.showError(message, details);\r\n }\r\n\r\n public showValidationError(response: DataServiceResponseData | any): Promise<any> {\r\n const messages: string[] = [];\r\n const messagesDetails: string[] = [];\r\n messages.push('<div class=\"dialog-error-wrapper\">');\r\n if (response.message) {\r\n messages.push(this._messageAsValidationError(response.message))\r\n } else if (response.validationResult && !response.validationResult.success) {\r\n if (response.validationResult.messages && response.validationResult.messages.length > 0) {\r\n response.validationResult.messages.forEach(m => {\r\n messages.push(this._messageAsValidationError(m.message));\r\n if (m.messageCode) {\r\n messagesDetails.push(this._messageDetails(m.messageCode));\r\n }\r\n })\r\n } else if (response.validationResult.fieldValidations) {\r\n messages.push(this._messageAsValidationError('Validation error'));\r\n for (let key in response.validationResult.fieldValidations) {\r\n if (response.validationResult.fieldValidations.hasOwnProperty(key)) {\r\n if (response.validationResult.fieldValidations[key].messages && response.validationResult.fieldValidations[key].messages.length > 0) {\r\n for (let i = 0; i < response.validationResult.fieldValidations[key].messages.length; i++) {\r\n const messageCode = {\r\n value: response.validationResult.fieldValidations[key].messages[i].fieldId,\r\n defaultStr: response.validationResult.fieldValidations[key].messages[i].message\r\n }\r\n messagesDetails.push(this._messageDetails(messageCode));\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n messages.push('</div>');\r\n return this.showError(messages.join(''), messagesDetails.length > 0 ? messagesDetails.join('') : undefined);\r\n }\r\n\r\n private _messageAsValidationError(message: string): string {\r\n return `<div class=\"dialog-validation-error\">${message}</div>`;\r\n }\r\n\r\n private _messageDetails(messageCode: any): string {\r\n return `<div class=\"dialog-error-code-string\">${messageCode.value}: ${messageCode.defaultStr}</div>`;\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {Marketing} from \"@colijnit/transactionapi/build/model/marketing.bo\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\r\nimport {SequenceName} from \"@colijnit/transactionapi/build/enum/sequence-name.enum\";\r\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\nimport {DeliveryOption} from \"@colijnit/transactionapi/build/model/delivery-option.bo\";\r\nimport {SetTransactionDeliveryOptionsRequest} from \"@colijnit/transactionapi/build/model/set-transaction-delivery-options-request.bo\";\r\nimport {GetPostalCodeRetrievalOutputParams} from \"@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params\";\r\nimport {TransactionLineType} from \"@colijnit/transactionapi/build/enum/transaction-line-type.enum\";\r\nimport {TransactionArticleWarehouse} from \"@colijnit/transactionapi/build/model/transaction-article-warehouse.bo\";\r\nimport {ArticleFullObject} from \"@colijnit/transactionapi/build/model/article-full-object\";\r\nimport {TransactionResponseBase} from \"@colijnit/transactionapi/build/model/transaction-response-base.bo\";\r\nimport {Transaction} from \"@colijnit/transactionapi/build/transaction\";\r\nimport {StandardText} from \"../model/standard-text\";\r\nimport {CustomerGroup} from \"@colijnit/transactionapi/build/model/customer-group.bo\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {CashRegister} from \"@colijnit/transactionapi/build/model/cash-register\";\r\nimport {ChangeLineSequenceRequest} from \"@colijnit/transactionapi/build/model/change-line-sequence-request\";\r\nimport {ResolveLinePendingReasonRequest} from \"@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo\";\r\nimport {PriceList} from \"@colijnit/transactionapi/build/model/price-list\";\r\nimport {Vat} from \"@colijnit/transactionapi/build/model/vat\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\nimport {TransactionSearchViewRequest} from \"@colijnit/transactionapi/build/model/transaction-search-view-request\";\r\nimport {TransactionSearchView} from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\nimport {OnHoldCode} from \"@colijnit/transactionapi/build/model/on-hold-code.bo\";\r\nimport {Warehouse} from \"@colijnit/transactionapi/build/model/warehouse.bo\";\r\nimport {CodeDescription} from \"@colijnit/transactionapi/build/model/code-description\";\r\nimport {ReceiveGoodsForPurchaseOrderRequest} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-request.bo\";\r\nimport {GoodsReceiptStatusWithHistory} from \"@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo\";\r\nimport {ReceiveGoodsForPurchaseOrderCorrectionRequest} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-correction-request.bo\";\r\nimport {PaymentMethod} from \"@colijnit/transactionapi/build/model/payment-method.bo\";\r\nimport {GetPurchasePortalLine} from \"@colijnit/transactionapi/build/model/get-purchase-portal-line\";\r\nimport {PurchasePortalLine} from \"@colijnit/transactionapi/build/model/purchase-portal-line.bo\";\r\nimport {CreatePaymentLinkResult} from \"@colijnit/transactionapi/build/model/create-payment-link-result.bo\";\r\nimport {TransactionSearchResult} from \"../model/transaction-search-result\";\r\nimport {ResolveHeaderPendingReasonRequest} from \"@colijnit/transactionapi/build/model/resolve-header-pending-reason-request.bo\";\r\nimport {PaymentLinkStatus} from \"@colijnit/transactionapi/build/model/payment-link-status.bo\";\r\nimport {SelectMultipleCacheService} from \"../cache/service/select-multiple-cache.service\";\r\nimport {SelectMultipleParameterizedCacheService} from \"../cache/service/select-multiple-parameterized-cache.service\";\r\nimport {ErrorService} from \"./error.service\";\r\nimport {GetPurchaseOrderConfirmation} from \"@colijnit/transactionapi/build/model/get-purchase-order-confirmation\";\r\nimport {TransactionDownPaymentInfo} from \"@colijnit/transactionapi/build/model/transaction-down-payment-info.bo\";\r\nimport {TransactionLockResult} from \"@colijnit/transactionapi/build/model/transaction-lock-result.bo\";\r\nimport {PrivacySetting} from \"@colijnit/mainapi/build/model/privacy-setting.bo\";\r\nimport {DataServiceResponseData} from \"@colijnit/ioneconnector/build/model/data-service-response-data\";\r\nimport {RelationPrivacySetting} from \"@colijnit/relationapi/build/model/relation-privacy-setting.bo\";\r\nimport {BusinessObjectFactory} from \"@colijnit/ioneconnector/build/factory/business-object-factory\";\r\nimport {ImageUtils} from \"@colijnit/ioneconnector/build/utils/image-utils\";\r\nimport {CoDomainValue} from \"@colijnit/mainapi/build/model/co-domain-value.bo\";\r\nimport {Tag} from \"@colijnit/mainapi/build/model/tag\";\r\nimport {DeliveryOrderStatus} from \"@colijnit/transactionapi/build/model/delivery-order-status.bo\";\r\nimport {SalesPerson} from \"@colijnit/relationapi/build/model/sales-person.bo\";\r\nimport {StockStickersPrintLayouts} from \"@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo\";\r\nimport {Sharedapi} from \"@colijnit/sharedapi/build/sharedapi\";\r\nimport {AvailableStock} from \"@colijnit/transactionapi/build/model/available-stock.bo\";\r\nimport {AllocateGoodsForSalesOrderRequest} from \"@colijnit/transactionapi/build/model/allocate-goods-for-sales-order-request\";\r\nimport {AllocateGoodsForSalesOrderCorrectionRequest} from \"@colijnit/transactionapi/build/model/allocate-goods-for-sales-order-correction-request\";\r\nimport {GoodsAllocationStatus} from \"@colijnit/transactionapi/build/model/goods-allocation-status.bo\";\r\nimport {GoodsAllocationStatusWithHistory} from \"@colijnit/transactionapi/build/model/goods-allocation-status-with-history.bo\";\r\nimport {ReportLayoutSelectionEmail} from \"@colijnit/mainapi/build/model/report-layout-selection-email.bo\";\r\nimport {ReportLayoutSelectionPrint} from \"@colijnit/mainapi/build/model/report-layout-selection-print.bo\";\r\nimport {EmailOrderConfirmationRequest} from \"@colijnit/mainapi/build/model/email-order-confirmation-request\";\r\nimport {PrintOrderConfirmationRequest} from \"@colijnit/mainapi/build/model/print-order-confirmation-request\";\r\nimport {PdfOrderConfirmationRequest} from \"@colijnit/mainapi/build/model/pdf-order-confirmation-request\";\r\nimport {PrintPurchaseOrderRequest} from \"@colijnit/mainapi/build/model/print-purchase-order-request\";\r\nimport {EmailPurchaseOrderRequest} from \"@colijnit/mainapi/build/model/email-purchase-order-request\";\r\nimport {PdfPurchaseOrderRequest} from \"@colijnit/mainapi/build/model/pdf-purchase-order-request\";\r\nimport {CreateSalesOrderRequest} from \"@colijnit/transactionapi/build/model/create-sales-order-request\";\r\nimport {CreateCashRegisterOrderRequest} from \"@colijnit/transactionapi/build/model/create-cash-register-order-request\";\r\nimport {CreatePurchaseOrderRequest} from \"@colijnit/transactionapi/build/model/create-purchase-order-request\";\r\nimport {CreateServiceOrderRequest} from \"@colijnit/transactionapi/build/model/create-service-order-request\";\r\nimport {CreateSalesQuotationRequest} from \"@colijnit/transactionapi/build/model/create-sales-quotation-request\";\r\nimport {PurchaseAdviceLine} from \"@colijnit/transactionapi/build/model/purchase-advice-line.bo\";\r\nimport {PurchaseAdviceFilters} from \"@colijnit/transactionapi/build/model/purchase-advice-filters\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class TransactionConnectorAdapterService {\r\n public connector: Transaction;\r\n public sharedConnector: Sharedapi;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n constructor(\r\n private _optionsService: OptionsService,\r\n private _selectMultipleCacheService: SelectMultipleCacheService,\r\n private _selectMultipleParameterizedCacheService: SelectMultipleParameterizedCacheService,\r\n private _errorService: ErrorService\r\n ) {}\r\n\r\n public async connect(): Promise<void> {\r\n this.connector = new Transaction(this._optionsService.options);\r\n this.sharedConnector = new Sharedapi(this._optionsService.options);\r\n this._optionsService.options.session = this.connector.session;\r\n }\r\n\r\n public async getArticleFullObject(goodId: number): Promise<ArticleFullObject> {\r\n const result: DataServiceResponseData = await this.connector.getArticleFullObject(goodId);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(ArticleFullObject, result.resultObject) as unknown as ArticleFullObject;\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return null;\r\n }\r\n }\r\n\r\n public async getGoodIdFromArticleNr(articleNr: string): Promise<number> {\r\n const result: DataServiceResponseData = await this.connector.getGoodIdFromArticleNr(articleNr);\r\n if (result.validationResult && result.validationResult.success) {\r\n return result.resultObject;\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return null;\r\n }\r\n }\r\n\r\n public async getSingleImage(nodeId: number | string, publication: number, includeMimetype: boolean, thumb: boolean): Promise<string> {\r\n const result: DataServiceResponseData = await this.connector.getSingleImage(nodeId, publication, includeMimetype, thumb);\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject && result.resultObject.filePath !== null && result.resultObject.filePath !== undefined && result.resultObject.filePath !== \"\") {\r\n return ImageUtils.getFixedImageFilepathUrl(result.resultObject.filePath);\r\n } else {\r\n if (result.resultObject) {\r\n if (includeMimetype) {\r\n return ImageUtils.getDocBodyWithMimeTypeDefinition(result.resultObject.fileName,\r\n thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody);\r\n }\r\n return thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody;\r\n }\r\n else { // no image\r\n return \"\";\r\n }\r\n }\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return null;\r\n }\r\n }\r\n\r\n public async getCountries(): Promise<Country[]> {\r\n const result: DataServiceResponseData = await this.connector.getCountries();\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(Country, result.resultObjects) as unknown as Country[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getCustomerGroups(): Promise<CustomerGroup[]> {\r\n const result: DataServiceResponseData = await this.connector.getCustomerGroups();\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(CustomerGroup, result.resultObjects) as unknown as CustomerGroup[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getCountry(countryCode: string): Promise<Country> {\r\n const countries: Country[] = await this.getCountries();\r\n return countries.find(country => country.code === countryCode);\r\n }\r\n\r\n public async getPrivacySettings(): Promise<PrivacySetting[]> {\r\n const result: DataServiceResponseData = await this.connector.getPrivacySettings();\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(PrivacySetting, result.resultObjects) as unknown as PrivacySetting[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getRelationPrivacySettings(): Promise<RelationPrivacySetting[]> {\r\n const privacySettings: RelationPrivacySetting[] = [];\r\n\r\n const basePrivacySettings: PrivacySetting[] = await this.getPrivacySettings();\r\n for (let i: number = 0, len: number = basePrivacySettings.length; i < len; i++) {\r\n const basePrivSetting: PrivacySetting = basePrivacySettings[i];\r\n const newRelPrivSet: RelationPrivacySetting = <RelationPrivacySetting><unknown>this._boFactory.instantiateNewBo(RelationPrivacySetting);\r\n newRelPrivSet.applyBasePrivacySettingValues(basePrivSetting);\r\n privacySettings.push(newRelPrivSet);\r\n }\r\n return privacySettings;\r\n }\r\n\r\n public async getMarketingCodes(): Promise<Marketing[]> {\r\n const result: DataServiceResponseData = await this.connector.getMarketingCodes();\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(Marketing, result.resultObjects) as unknown as Marketing[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getArticleBoundTextLinesOfArticleLine(articleLineUuid: string): Promise<TransactionLineInfo[]> {\r\n const result: DataServiceResponseData = await this.connector.getArticleBoundTextLinesOfArticleLine(articleLineUuid);\r\n if (result.validationResult && result.validationResult.success) {\r\n return <TransactionLineInfo[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(TransactionLineInfo, result.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getTransactionByNrAndKind(kind: TransactionKind, transactionNo: number): Promise<TransactionInfoResponse> {\r\n const result: DataServiceResponseData = await this.connector.getTransactionByNrAndKind(kind, transactionNo);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject) as unknown as TransactionInfoResponse;\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return null;\r\n }\r\n }\r\n\r\n public async getTransactionById(transactionId: number): Promise<TransactionInfoResponse> {\r\n const result: DataServiceResponseData = await this.connector.getTransactionById(transactionId);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject) as unknown as TransactionInfoResponse;\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return null;\r\n }\r\n }\r\n\r\n public async lockTransactionById(transactionId: number, version: number): Promise<TransactionLockResult> {\r\n const result: DataServiceResponseData = await this.connector.lockTransactionByTransId(transactionId, version);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(TransactionLockResult, result.resultObject) as unknown as TransactionLockResult;\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return null;\r\n }\r\n }\r\n\r\n public async getCashRegisters(branch?: string, group?: number): Promise<CashRegister[]> {\r\n const result: DataServiceResponseData = await this.connector.getCashRegister(branch, group);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(CashRegister, result.resultObjects) as unknown as CashRegister[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getPriceLists(code?: string): Promise<PriceList[]> {\r\n const result: DataServiceResponseData = await this.connector.getPriceLists(code);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(PriceList, result.resultObjects) as unknown as PriceList[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getVatList(onlyValid: boolean = false): Promise<Vat[]> {\r\n const result: DataServiceResponseData = await this.connector.getVatList(onlyValid);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(Vat, result.resultObjects) as unknown as Vat[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async searchTransactions(request: TransactionSearchViewRequest): Promise<TransactionSearchResult> {\r\n const response = await this.connector.searchTransactions(request);\r\n if (response.validationResult && response.validationResult.success) {\r\n const result: TransactionSearchResult = new TransactionSearchResult();\r\n result.count = (response.pagingParameters as any).resultCount; // todo: fix property in api\r\n result.transactions = <unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(TransactionSearchView, response.resultObjects) as TransactionSearchView[];\r\n return result;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getSequenceValue(sequenceName: SequenceName): Promise<number> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.getSequenceValue(sequenceName).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(result.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getDeliveryMethods(): Promise<DeliveryMethod[]> {\r\n const result: DataServiceResponseData = await this.connector.getDeliveryMethods();\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryMethod, result.resultObjects) as unknown as DeliveryMethod[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getDeliveryOptions(): Promise<DeliveryOption[]> {\r\n const result: DataServiceResponseData = await this.connector.getDeliveryOptions();\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(DeliveryOption, result.resultObjects) as unknown as DeliveryOption[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getPostalCodeRetrieval(postcalCode: string, houseNo: string): Promise<GetPostalCodeRetrievalOutputParams> {\r\n const result: DataServiceResponseData = await this.connector.getPostalCodeRetrieval(postcalCode, houseNo);\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.validationResult && result.validationResult.success) {\r\n const outputParams: GetPostalCodeRetrievalOutputParams = new GetPostalCodeRetrievalOutputParams();\r\n outputParams.city = result.resultObject.city;\r\n outputParams.street = result.resultObject.street;\r\n outputParams.status = result.resultObject.status;\r\n outputParams.netNumber = result.resultObject.netNumber;\r\n return outputParams;\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return null;\r\n }\r\n }\r\n }\r\n\r\n public async getCommissionCodes(languageCode: string): Promise<CoDomainValue[]> {\r\n const result: DataServiceResponseData = await this.connector.getCommissionCodes(languageCode);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects) as unknown as CoDomainValue[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getInOutCollection(languageCode: string): Promise<CoDomainValue[]> {\r\n const result: DataServiceResponseData = await this.connector.getInOutCollection(languageCode);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects) as unknown as CoDomainValue[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getTransactionArticleWarehouses(goodId: number): Promise<TransactionArticleWarehouse[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.getTransactionArticleWarehouses(goodId).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(<TransactionArticleWarehouse[]>result.resultObjects);\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject([]);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getTextTypes(languageCode: string): Promise<CoDomainValue[]> {\r\n const result: DataServiceResponseData = await this.connector.getTextTypes(languageCode);\r\n if (result.validationResult && result.validationResult.success) {\r\n const texts: CoDomainValue[] = <CoDomainValue[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(CoDomainValue, result.resultObjects);\r\n texts.sort((a, b) => a.sequence > b.sequence ? 1 : -1);\r\n return texts;\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getStandardTexts(languageCode: string): Promise<StandardText[]> {\r\n const result: DataServiceResponseData = await this.connector.getStandardTexts(languageCode);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(StandardText, result.resultObject) as unknown as StandardText[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getSalesPersons(date?: Date): Promise<SalesPerson[]> {\r\n const result: DataServiceResponseData = await this.connector.getSalesPersons(date);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(SalesPerson, result.resultObjects) as unknown as SalesPerson[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getTags(category: number): Promise<Tag[]> {\r\n const result: DataServiceResponseData = await this.connector.getTags(category);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(Tag, result.resultObjects) as unknown as Tag[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getOnHoldCodes(): Promise<OnHoldCode[]> {\r\n const result: DataServiceResponseData = await this.connector.getOnHoldCodes();\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(OnHoldCode, result.resultObjects) as unknown as OnHoldCode[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getWarehouses(branchNr?: string): Promise<Warehouse[]> {\r\n const result: DataServiceResponseData = await this.connector.getWarehouses(branchNr);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(Warehouse, result.resultObjects) as unknown as Warehouse[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getHistoricStateValues(): Promise<CodeDescription[]> {\r\n const result: DataServiceResponseData = await this.connector.getHistoricStateValues();\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(CodeDescription, result.resultObjects) as unknown as CodeDescription[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getPaymentMethods(): Promise<PaymentMethod[]> {\r\n const result: DataServiceResponseData = await this.connector.getPaymentMethodsForSalesOrder();\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(PaymentMethod, result.resultObject) as unknown as PaymentMethod[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public commit(): Promise<DataServiceResponseData> {\r\n return this.connector.commit();\r\n }\r\n\r\n public createTransaction(kind: TransactionKind, branchNr: string): Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.createTransaction(kind, branchNr).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async createSalesOrder(request: CreateSalesOrderRequest): Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.createSalesOrder(request).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async createCashRegisterOrder(request: CreateCashRegisterOrderRequest): Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.createCashRegisterOrder(request).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async createPurchaseOrder(request: CreatePurchaseOrderRequest): Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.createPurchaseOrder(request).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async createServiceOrder(request: CreateServiceOrderRequest): Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.createServiceOrder(request).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async createSalesQuotation(request: CreateSalesQuotationRequest): Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.createSalesQuotation(request).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n public saveTransaction(uuid: string): Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.saveTransaction(uuid).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async setRelationByUser(uuid: string, username: string, password: string): Promise<boolean> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.setRelationByUser(uuid, username, password).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(result.validationResult.success);\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(false);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async resolvePendingHeaderReason(pendingHeaderValues: ResolveHeaderPendingReasonRequest): Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.resolvePendingHeaderReason(pendingHeaderValues).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async resolvePendingLineReason(pendingLineValues: ResolveLinePendingReasonRequest): Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.resolvePendingLineReason(pendingLineValues).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async addTransactionLine(\r\n uuid: string,\r\n articleLine: TransactionLineType,\r\n articleNo: string,\r\n amount: number,\r\n warehouseNo: number,\r\n commissionCode: string,\r\n isReturn: boolean,\r\n aboveLineNr: number,\r\n belowLineNr: number\r\n ):\r\n Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.addTransactionLine(uuid, articleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async addTextLineToTransaction(uuid: string, showOnDocuments: number, text: string, amount: number, articleBound: boolean, refArticleLineNr: number, aboveLineNr?: number, belowLineNr?: number):\r\n Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.addTextLineToTransaction(uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async addRelationToTransaction(uuid: string, relationId: number): Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.addRelationToTransaction(uuid, relationId).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async setTransactionDeliveryOptions(transactionDeliveryOptionsRequest: SetTransactionDeliveryOptionsRequest): Promise<TransactionResponseBase> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.setTransactionDeliveryOptions(transactionDeliveryOptionsRequest).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async changeLineSequence(uuid: string, lineUuid: string, aboveLineNr?: number, belowLineNr?: number):\r\n Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n const request: ChangeLineSequenceRequest = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n aboveLineNr: aboveLineNr,\r\n belowLineNr: belowLineNr\r\n }\r\n return this.connector.changeLineSequence(request).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async cancelAddTransactionLine(lineUuid: string): Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.cancelAddTransactionLine(lineUuid).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n\r\n }\r\n\r\n public async deleteTransactionLine(uuid: string, lineUuid: string): Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.deleteTransactionLine(uuid, lineUuid).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n public async changeTransactionLineQuantity(uuid: string, lineUuid: string, newQuantity: number): Promise<TransactionInfoResponse> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newQuantity: newQuantity\r\n }\r\n return this.connector.changeTransactionLineQuantity(request).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async changeTransactionLineCommissionCode(uuid: string, lineUuid: string, code: string): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newCommissionCode: code\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLineCommissionCode(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLineSupplier(uuid: string, lineUuid: string, id: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newSupplierId: id\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLineSupplier(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLineWarehouse(uuid: string, lineUuid: string, warehouseNumber: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newWarehouseNumber: warehouseNumber\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLineWarehouse(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLinePrice(uuid: string, lineUuid: string, price: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newPrice: price\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLinePrice(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLinePriceList(uuid: string, lineUuid: string, priceList: string): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newPriceListCode: priceList\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLinePriceList(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLineVat(uuid: string, lineUuid: string, id: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newVatId: id\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLineVat(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLineLineDiscount(uuid: string, lineUuid: string, type: DiscountType, discount: number, reason: string, code: string): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n discountType: type,\r\n newDiscount: discount,\r\n newDiscountReason: reason,\r\n newDiscountCode: code\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLineDiscount(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLineDeliveryMethod(uuid: string, lineUuid: string, method: string): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newDeliveryMethodCode: method\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLineDeliveryMethod(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLineDeliveryDate(uuid: string, lineUuid: string, date: Date): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newDeliveryDate: date\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLineDeliveryDate(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLineAssemblyTime(uuid: string, lineUuid: string, time: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newAssemblyTime: time\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLineAssemblyTime(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLineEditTime(uuid: string, lineUuid: string, time: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newEditTime: time\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLineEditTime(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLineSupplierArticleNumber(uuid: string, lineUuid: string, articleNumber: string): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newSupplierArticleNumber: articleNumber\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLineSupplierArticleNumber(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLineReference(uuid: string, lineUuid: string, reference: string): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newReference: reference\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLineReference(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLineGoodDescription(uuid: string, lineUuid: string, goodDescription: string): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newGoodDescription: goodDescription\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLineGoodDescription(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionDefinitive(uuid: string, definitive: boolean): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newTransactionDefinitive: definitive\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderTransactionDefinitive(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderDeliveryAddress(uuid: string, newNawNr: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newTransactionAddressNawNr: newNawNr\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderTransactionAddress(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderInvoiceAddress(uuid: string, newNawNr: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newInvoiceAddressNawNr: newNawNr\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderInvoiceAddress(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionDeliveryDate(uuid: string, date: Date): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newDeliveryDate: date\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderDeliveryDate(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionDeliveryDateDefinitive(uuid: string, definitive: boolean): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newDeliveryDateDefinitive: definitive\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderDeliveryDateDefinitive(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionRemark(uuid: string, remark: string): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newRemarks: remark\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderRemarks(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionReference(uuid: string, reference: string): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newOwnReference: reference\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderOwnReference(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionRelationReference(uuid: string, reference: string): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newRelationReference: reference\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderRelationReference(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderToDownPayPercentage(uuid: string, amount: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newToDownPayPercentage: amount\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderToDownPayPercentage(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderToDownPayAmount(uuid: string, amount: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newToDownPayAmount: amount\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderToDownPayAmount(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionPreferredDeliveryDate(uuid: string, date: Date): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newPreferredDeliveryDate: date,\r\n newPreferredDeliveryDateOption: \"\"\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderPreferredDeliveryDate(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionDeliveryMethod(uuid: string, method: string): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newDeliveryMethodCode: method\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderDeliveryMethod(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionDeliveryOptions(uuid: string, options: string[]): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newDeliveryOptions: options\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderDeliveryOptions(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionPartialDelivery(uuid: string, allowPartial: boolean): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newPartialDeliveryAllowed: allowPartial\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderPartialDeliveryAllowed(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionBranch(uuid: string, branch: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newBranchId: branch\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderBranch(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionAdmCoordinator(uuid: string, relation: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newAdmCoordinator: relation\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderAdmCoordinator(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionMarketing(uuid: string, code: string): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newMarketingCode: code\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderMarketingCode(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionDiscount(uuid: string, type: DiscountType, amount: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n orderDiscountType: type,\r\n discountValue: amount\r\n };\r\n const response: DataServiceResponseData = await this.connector.setTransactionDiscounts(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeHeaderTransactionToDownPay(uuid: string, downPayment: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n newToDownPayAmount: downPayment\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeHeaderToDownPayAmount(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async changeTransactionLineCollectionCode(uuid: string, lineUuid: string, code: string): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transactionUuid: uuid,\r\n lineUuid: lineUuid,\r\n newCollectionCode: code\r\n };\r\n const response: DataServiceResponseData = await this.connector.changeTransactionLineCollectionCode(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async createOutstandingEntry(uuid: string, amount: number): Promise<TransactionInfoResponse> {\r\n const request = {\r\n transUUID: uuid,\r\n amount: amount\r\n };\r\n const response: DataServiceResponseData = await this.connector.createOutstandingEntry(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async registerSalesOrderPayment(\r\n uuid: string, amount: number, currencyId: number, paymentMethod: string, cashRegisterGroupId: number\r\n ): Promise<DataServiceResponseData> {\r\n const request = {\r\n transUUID: uuid,\r\n amount: amount,\r\n currencyId: currencyId,\r\n paymentMethodCode: paymentMethod,\r\n cashRegisterGroupId: cashRegisterGroupId\r\n };\r\n const response: DataServiceResponseData = await this.connector.registerSalesOrderPayment(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async createIonePaymentLinkAndQRCode(uuid: string, amount: number, paymentMethodCode: string): Promise<CreatePaymentLinkResult> {\r\n const request = {\r\n transUUID: uuid,\r\n amount: amount,\r\n paymentMethodCode: paymentMethodCode\r\n };\r\n const response: DataServiceResponseData = await this.connector.createIonePaymentLinkAndQRCode(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(CreatePaymentLinkResult, response.resultObject) as unknown as CreatePaymentLinkResult;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getPaymentLinkStatus(paymentLinkUUID: string): Promise<PaymentLinkStatus> {\r\n const response: DataServiceResponseData = await this.connector.getPaymentLinkStatus(paymentLinkUUID);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(PaymentLinkStatus, response.resultObject) as unknown as PaymentLinkStatus;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getDownPaymentInfo(uuid: string): Promise<TransactionDownPaymentInfo> {\r\n const response: DataServiceResponseData = await this.connector.getDownPaymentInfo(uuid);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(TransactionDownPaymentInfo, response.resultObject) as unknown as TransactionDownPaymentInfo;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getGoodsReceiptStatus(transId: number, lineNr: number): Promise<GoodsReceiptStatusWithHistory> {\r\n const response: DataServiceResponseData = await this.connector.getGoodsReceiptStatus(transId, lineNr);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <GoodsReceiptStatusWithHistory><unknown>this._boFactory.makeWithRawBackendData(GoodsReceiptStatusWithHistory, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getGoodsReceiptStatusWithHistory(transId: number, lineNr: number): Promise<GoodsReceiptStatusWithHistory> {\r\n const response: DataServiceResponseData = await this.connector.getGoodsReceiptStatusWithHistory(transId, lineNr);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <GoodsReceiptStatusWithHistory><unknown>this._boFactory.makeWithRawBackendData(GoodsReceiptStatusWithHistory, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async receiveGoodsForPurchaseOrder(request: ReceiveGoodsForPurchaseOrderRequest): Promise<TransactionInfoResponse> {\r\n const response: DataServiceResponseData = await this.connector.receiveGoodsForPurchaseOrder(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async receiveGoodsForPurchaseOrderCorrection(request: ReceiveGoodsForPurchaseOrderCorrectionRequest): Promise<TransactionInfoResponse> {\r\n const response: DataServiceResponseData = await this.connector.receiveGoodsForPurchaseOrderCorrection(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <TransactionInfoResponse><unknown>this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getPurchasePortalLines(request: GetPurchasePortalLine): Promise<PurchasePortalLine[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.getPurchasePortalLines(request).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(PurchasePortalLine, result.resultObjects));\r\n }\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async updatePurchasePortalLines(purchasePortalLine: PurchasePortalLine): Promise<DataServiceResponseData> {\r\n const result: DataServiceResponseData = await this.connector.updatePurchasePortalLines(purchasePortalLine);\r\n if (result && result.validationResult && result.validationResult.success) {\r\n await this.commit();\r\n return null;\r\n }\r\n }\r\n\r\n public async purchaseOrderConfirmation(purchaseOrderConfirmation: GetPurchaseOrderConfirmation): Promise<DataServiceResponseData> {\r\n const result: DataServiceResponseData = await this.connector.getPurchaseOrderConfirmation(purchaseOrderConfirmation);\r\n if (result && result.validationResult && result.validationResult.success) {\r\n await this.commit();\r\n return null;\r\n }\r\n }\r\n\r\n public async lockPurchasePortalLines(transIdPurchase: number, lineId: number): Promise<boolean> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.lockPurchasePortalLines(transIdPurchase, lineId).then(async (result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(true);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n // @ts-ignore\r\n return this.sharedConnector.getStockStickerPrintLayouts(data).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStickersPrintLayouts, result.resultObject));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async generateCommissionOrders(transId: number, onlyGenerateForDirectSellSuppliers: boolean): Promise<boolean> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers).then(async (result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(true);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getDeliveryOrderStatus(transId: number, lineNr: number): Promise<DeliveryOrderStatus> {\r\n const response: DataServiceResponseData = await this.connector.getDeliveryOrderStatus(transId, lineNr);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <DeliveryOrderStatus><unknown>this._boFactory.makeWithRawBackendData(DeliveryOrderStatus, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getAvailableStockGroupedByWLBSByTransIdLineNr(transId: number, lineNr: number): Promise<AvailableStock[]> {\r\n const response: DataServiceResponseData = await this.connector.getAvailableStockGroupedByWLBSByTransIdLineNr(transId, lineNr);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <AvailableStock[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(AvailableStock, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async allocateGoodsForSalesOrder(request: AllocateGoodsForSalesOrderRequest): Promise<boolean> {\r\n const response: DataServiceResponseData = await this.connector.allocateGoodsForSalesOrder(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return true;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async allocateGoodsForSalesOrderCorrection(request: AllocateGoodsForSalesOrderCorrectionRequest): Promise<boolean> {\r\n const response: DataServiceResponseData = await this.connector.allocateGoodsForSalesOrderCorrection(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return true;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getGoodsAllocationStatus(transId: number, lineNr: number): Promise<GoodsAllocationStatus> {\r\n const response: DataServiceResponseData = await this.connector.getGoodsAllocationStatus(transId, lineNr);\r\n if (response && response.resultObject) {\r\n return this._boFactory.makeWithRawBackendData(GoodsAllocationStatus, response.resultObject) as unknown as GoodsAllocationStatus;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getGoodsAllocationStatusWithHistory(transId: number, lineNr: number): Promise<GoodsAllocationStatusWithHistory> {\r\n const response: DataServiceResponseData = await this.connector.getGoodsAllocationStatusWithHistory(transId, lineNr);\r\n if (response && response.resultObject) {\r\n return this._boFactory.makeWithRawBackendData(GoodsAllocationStatusWithHistory, response.resultObject) as unknown as GoodsAllocationStatusWithHistory;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getOrderConfirmationEmailLayouts(transactionUUID: string): Promise<ReportLayoutSelectionEmail[]> {\r\n const response: DataServiceResponseData = await this.connector.getOrderConfirmationEmailLayouts(transactionUUID);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <ReportLayoutSelectionEmail[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionEmail, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getOrderConfirmationPrintLayouts(transactionUUID: string): Promise<ReportLayoutSelectionPrint[]> {\r\n const response: DataServiceResponseData = await this.connector.getOrderConfirmationPrintLayouts(transactionUUID);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <ReportLayoutSelectionPrint[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionPrint, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {\r\n const response: DataServiceResponseData = await this.connector.getOrderConfirmationDefaultSendMethod(relationId);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response.resultObject;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async printOrderConfirmation(request: PrintOrderConfirmationRequest): Promise<void> {\r\n const response: DataServiceResponseData = await this.connector.printOrderConfirmation(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response.resultObject;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async emailOrderConfirmation(request: EmailOrderConfirmationRequest): Promise<void> {\r\n const response: DataServiceResponseData = await this.connector.emailOrderConfirmation(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response.resultObject;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async pdfOrderConfirmation(request: PdfOrderConfirmationRequest): Promise<void> {\r\n const response: DataServiceResponseData = await this.connector.pdfOrderConfirmation(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response.resultObject;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async printPurchaseOrder(request: PrintPurchaseOrderRequest): Promise<void> {\r\n const response: DataServiceResponseData = await this.connector.printPurchaseOrder(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response.resultObject;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async emailPurchaseOrder(request: EmailPurchaseOrderRequest): Promise<void> {\r\n const response: DataServiceResponseData = await this.connector.emailPurchaseOrder(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response.resultObject;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async pdfPurchaseOrder(request: PdfPurchaseOrderRequest): Promise<void> {\r\n const response: DataServiceResponseData = await this.connector.pdfPurchaseOrder(request);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response.resultObject;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<ReportLayoutSelectionEmail[]> {\r\n const response: DataServiceResponseData = await this.connector.getPurchaseOrderEmailLayouts(transactionUUID);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <ReportLayoutSelectionEmail[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionEmail, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getPurchaseOrderPrintLayouts(transactionUUID: string): Promise<ReportLayoutSelectionPrint[]> {\r\n const response: DataServiceResponseData = await this.connector.getPurchaseOrderPrintLayouts(transactionUUID);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <ReportLayoutSelectionPrint[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(ReportLayoutSelectionPrint, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID): Promise<string[]> {\r\n const response: DataServiceResponseData = await this.connector.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response.resultObject;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getPurchaseOrderDefaultSendMethod(relationId: number): Promise<number> {\r\n const response: DataServiceResponseData = await this.connector.getPurchaseOrderDefaultSendMethod(relationId);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response.resultObject;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async generateAndSendPurchaseOrdersForSalesOrder(transactionId: number): Promise<void> {\r\n const response: DataServiceResponseData = await this.connector.generateAndSendPurchaseOrdersForSalesOrder(transactionId);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return response.resultObject;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async getPurchaseAdviceLines(filters: PurchaseAdviceFilters, goodId?: number): Promise<PurchaseAdviceLine[]> {\r\n const response: DataServiceResponseData = await this.connector.getPurchaseAdviceLines(filters, goodId);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return <PurchaseAdviceLine[]><unknown>this._boFactory.makeBOArrayFromRawBackendDataArray(PurchaseAdviceLine, response.resultObject);\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n public async generateAndSendPurchaseOrders(purchaseAdviceLines: PurchaseAdviceLine[]): Promise<boolean> {\r\n const response: DataServiceResponseData = await this.connector.generateAndSendPurchaseOrders(purchaseAdviceLines);\r\n if (response && response.validationResult && response.validationResult.success) {\r\n return true;\r\n } else {\r\n this._handleExceptionFromResponse(response);\r\n return null;\r\n }\r\n }\r\n\r\n private _handleExceptionFromResponse(result: DataServiceResponseData): void {\r\n this._errorService.showValidationError(result);\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {BusinessObjectCacheManagerService} from \"./business-object-cache-manager.service\";\r\nimport {BusinessObject} from \"@colijnit/ioneconnector/build/model/business-object\";\r\nimport {CacheField} from \"../cache-field\";\r\nimport {BusinessObjectIDType} from \"@colijnit/ioneconnector/build/type/business-object-id-type\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SelectSingleCacheService {\r\n\r\n constructor(private _boCacheManager: BusinessObjectCacheManagerService) {\r\n }\r\n\r\n public requestCache<T extends BusinessObject>(clazz: { new(): T }, sourceId: BusinessObjectIDType, loadFunction: () => Promise<T>): CacheField<T> {\r\n if (!this._boCacheManager.hasSingleCacheItem<T>(clazz, sourceId)) {\r\n this._createCacheItem<T>(clazz, sourceId, loadFunction);\r\n }\r\n\r\n // noinspection TypeScriptValidateTypes\r\n return this._boCacheManager.getSingleCacheItem<T>(clazz, sourceId);\r\n }\r\n\r\n private _createCacheItem<T extends BusinessObject>(clazz: { new(): T }, sourceId: BusinessObjectIDType, loadFunction: () => Promise<T>): CacheField<T> {\r\n // noinspection TypeScriptValidateTypes\r\n return this._boCacheManager.addNewSelectSingleCacheItem<T>(clazz, sourceId, loadFunction);\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\nimport {Marketing} from \"@colijnit/transactionapi/build/model/marketing.bo\";\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\nimport {SequenceName} from \"@colijnit/transactionapi/build/enum/sequence-name.enum\";\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\nimport {DeliveryOption} from \"@colijnit/transactionapi/build/model/delivery-option.bo\";\nimport {SetTransactionDeliveryOptionsRequest} from \"@colijnit/transactionapi/build/model/set-transaction-delivery-options-request.bo\";\nimport {GetPostalCodeRetrievalOutputParams} from \"@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params\";\nimport {TransactionLineType} from \"@colijnit/transactionapi/build/enum/transaction-line-type.enum\";\nimport {TransactionArticleWarehouse} from \"@colijnit/transactionapi/build/model/transaction-article-warehouse.bo\";\nimport {ArticleFullObject} from \"@colijnit/transactionapi/build/model/article-full-object\";\nimport {TransactionResponseBase} from \"@colijnit/transactionapi/build/model/transaction-response-base.bo\";\nimport {StandardText} from \"../model/standard-text\";\nimport {CustomerGroup} from \"@colijnit/transactionapi/build/model/customer-group.bo\";\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\nimport {CashRegister} from \"@colijnit/transactionapi/build/model/cash-register\";\nimport {ResolveLinePendingReasonRequest} from \"@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo\";\nimport {PriceList} from \"@colijnit/transactionapi/build/model/price-list\";\nimport {Vat} from \"@colijnit/transactionapi/build/model/vat\";\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\nimport {TransactionSearchViewRequest} from \"@colijnit/transactionapi/build/model/transaction-search-view-request\";\nimport {OnHoldCode} from \"@colijnit/transactionapi/build/model/on-hold-code.bo\";\nimport {Warehouse} from \"@colijnit/transactionapi/build/model/warehouse.bo\";\nimport {CodeDescription} from \"@colijnit/transactionapi/build/model/code-description\";\nimport {ReceiveGoodsForPurchaseOrderRequest} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-request.bo\";\nimport {GoodsReceiptStatusWithHistory} from \"@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo\";\nimport {ReceiveGoodsForPurchaseOrderCorrectionRequest} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-correction-request.bo\";\nimport {PaymentMethod} from \"@colijnit/transactionapi/build/model/payment-method.bo\";\nimport {GetPurchasePortalLine} from \"@colijnit/transactionapi/build/model/get-purchase-portal-line\";\nimport {PurchasePortalLine} from \"@colijnit/transactionapi/build/model/purchase-portal-line.bo\";\nimport {CreatePaymentLinkResult} from \"@colijnit/transactionapi/build/model/create-payment-link-result.bo\";\nimport {TransactionSearchResult} from \"../model/transaction-search-result\";\nimport {ResolveHeaderPendingReasonRequest} from \"@colijnit/transactionapi/build/model/resolve-header-pending-reason-request.bo\";\nimport {PaymentLinkStatus} from \"@colijnit/transactionapi/build/model/payment-link-status.bo\";\nimport {SelectMultipleCacheService} from \"../cache/service/select-multiple-cache.service\";\nimport {SelectMultipleParameterizedCacheService} from \"../cache/service/select-multiple-parameterized-cache.service\";\nimport {TransactionConnectorAdapterService} from \"./transaction-connector-adapter.service\";\nimport {SelectSingleCacheService} from \"../cache/service/select-single-cache.service\";\nimport {GetPurchaseOrderConfirmation} from \"@colijnit/transactionapi/build/model/get-purchase-order-confirmation\";\nimport {TransactionLockResult} from \"@colijnit/transactionapi/build/model/transaction-lock-result.bo\";\nimport {PrivacySetting} from \"@colijnit/mainapi/build/model/privacy-setting.bo\";\nimport {RelationPrivacySetting} from \"@colijnit/relationapi/build/model/relation-privacy-setting.bo\";\nimport {DataServiceResponseData} from \"@colijnit/ioneconnector/build/model/data-service-response-data\";\nimport {CoDomainValue} from \"@colijnit/mainapi/build/model/co-domain-value.bo\";\nimport {SalesPerson} from \"@colijnit/relationapi/build/model/sales-person.bo\";\nimport {Tag} from \"@colijnit/mainapi/build/model/tag\";\nimport {DeliveryOrderStatus} from \"@colijnit/transactionapi/build/model/delivery-order-status.bo\";\nimport {StockStickersPrintLayouts} from \"@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo\";\nimport {AvailableStock} from \"@colijnit/transactionapi/build/model/available-stock.bo\";\nimport {AllocateGoodsForSalesOrderRequest} from \"@colijnit/transactionapi/build/model/allocate-goods-for-sales-order-request\";\nimport {AllocateGoodsForSalesOrderCorrectionRequest} from \"@colijnit/transactionapi/build/model/allocate-goods-for-sales-order-correction-request\";\nimport {GoodsAllocationStatus} from \"@colijnit/transactionapi/build/model/goods-allocation-status.bo\";\nimport {GoodsAllocationStatusWithHistory} from \"@colijnit/transactionapi/build/model/goods-allocation-status-with-history.bo\";\nimport {ReportLayoutSelectionEmail} from \"@colijnit/mainapi/build/model/report-layout-selection-email.bo\";\nimport {ReportLayoutSelectionPrint} from \"@colijnit/mainapi/build/model/report-layout-selection-print.bo\";\nimport {EmailOrderConfirmationRequest} from \"@colijnit/mainapi/build/model/email-order-confirmation-request\";\nimport {PrintOrderConfirmationRequest} from \"@colijnit/mainapi/build/model/print-order-confirmation-request\";\nimport {PdfOrderConfirmationRequest} from \"@colijnit/mainapi/build/model/pdf-order-confirmation-request\";\nimport {PrintPurchaseOrderRequest} from \"@colijnit/mainapi/build/model/print-purchase-order-request\";\nimport {EmailPurchaseOrderRequest} from \"@colijnit/mainapi/build/model/email-purchase-order-request\";\nimport {PdfPurchaseOrderRequest} from \"@colijnit/mainapi/build/model/pdf-purchase-order-request\";\nimport {CreateSalesOrderRequest} from \"@colijnit/transactionapi/build/model/create-sales-order-request\";\nimport {CreateCashRegisterOrderRequest} from \"@colijnit/transactionapi/build/model/create-cash-register-order-request\";\nimport {CreatePurchaseOrderRequest} from \"@colijnit/transactionapi/build/model/create-purchase-order-request\";\nimport {CreateServiceOrderRequest} from \"@colijnit/transactionapi/build/model/create-service-order-request\";\nimport {CreateSalesQuotationRequest} from \"@colijnit/transactionapi/build/model/create-sales-quotation-request\";\nimport {PurchaseAdviceFilters} from \"@colijnit/transactionapi/build/model/purchase-advice-filters\";\nimport {PurchaseAdviceLine} from \"@colijnit/transactionapi/build/model/purchase-advice-line.bo\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class TransactionConnectorService {\n\n constructor(\n private _adapterService: TransactionConnectorAdapterService,\n private _selectSingleCacheService: SelectSingleCacheService,\n private _selectMultipleCacheService: SelectMultipleCacheService,\n private _selectMultipleParameterizedCacheService: SelectMultipleParameterizedCacheService,\n ) {}\n\n public async connect(): Promise<void> {\n this._adapterService.connect();\n }\n\n public async getArticleFullObject(goodId: number): Promise<ArticleFullObject> {\n return this._selectSingleCacheService.requestCache<ArticleFullObject>(ArticleFullObject, goodId,() => {\n return this._adapterService.getArticleFullObject(goodId)\n }).getValue();\n }\n\n public getGoodIdFromArticleNr(articleNr: string): Promise<number> {\n return this._adapterService.getGoodIdFromArticleNr(articleNr);\n }\n\n public getSingleImage(nodeId: number | string, publication: number, includeMimetype: boolean, thumb: boolean): Promise<string> {\n return this._adapterService.getSingleImage(nodeId, publication, includeMimetype, thumb);\n }\n\n public getCountries(): Promise<Country[]> {\n return this._selectMultipleCacheService.requestCache<Country>(Country, () => {\n return this._adapterService.getCountries()\n }).getValue();\n }\n\n public async getCustomerGroups(): Promise<CustomerGroup[]> {\n return this._selectMultipleCacheService.requestCache<CustomerGroup>(CustomerGroup, () => {\n return this._adapterService.getCustomerGroups()\n }).getValue();\n }\n\n public async getCountry(countryCode: string): Promise<Country> {\n return this._adapterService.getCountry(countryCode);\n }\n\n public getPrivacySettings(): Promise<PrivacySetting[]> {\n return this._selectMultipleCacheService.requestCache<PrivacySetting>(PrivacySetting, () => {\n return this._adapterService.getPrivacySettings()\n }).getValue();\n }\n\n public async getRelationPrivacySettings(): Promise<RelationPrivacySetting[]> {\n return this._adapterService.getRelationPrivacySettings();\n }\n\n public getMarketingCodes(): Promise<Marketing[]> {\n return this._selectMultipleCacheService.requestCache<Marketing>(Marketing, () => {\n return this._adapterService.getMarketingCodes()\n }).getValue();\n }\n\n public createTransaction(kind: TransactionKind, branchNr: string): Promise<TransactionInfoResponse> {\n return this._adapterService.createTransaction(kind, branchNr);\n }\n\n public async createSalesOrder(request: CreateSalesOrderRequest): Promise<TransactionInfoResponse> {\n return this._adapterService.createSalesOrder(request);\n }\n\n public async createCashRegisterOrder(request: CreateCashRegisterOrderRequest): Promise<TransactionInfoResponse> {\n return this._adapterService.createCashRegisterOrder(request);\n }\n\n public async createPurchaseOrder(request: CreatePurchaseOrderRequest): Promise<TransactionInfoResponse> {\n return this._adapterService.createPurchaseOrder(request);\n }\n\n public async createServiceOrder(request: CreateServiceOrderRequest): Promise<TransactionInfoResponse> {\n return this._adapterService.createServiceOrder(request);\n }\n\n public async createSalesQuotation(request: CreateSalesQuotationRequest): Promise<TransactionInfoResponse> {\n return this._adapterService.createSalesQuotation(request);\n }\n\n public async getArticleBoundTextLinesOfArticleLine(articleLineUuid: string): Promise<TransactionLineInfo[]> {\n return this._adapterService.getArticleBoundTextLinesOfArticleLine(articleLineUuid);\n }\n\n public getTransactionByNrAndKind(kind: TransactionKind, transactionNo: number): Promise<TransactionInfoResponse> {\n return this._adapterService.getTransactionByNrAndKind(kind, transactionNo);\n }\n\n public getTransactionById(transactionId: number): Promise<TransactionInfoResponse> {\n return this._adapterService.getTransactionById(transactionId);\n }\n\n public lockTransactionById(transId: number, version: number): Promise<TransactionLockResult> {\n return this._adapterService.lockTransactionById(transId, version);\n }\n\n public commit(): Promise<DataServiceResponseData> {\n return this._adapterService.commit();\n }\n\n public saveTransaction(uuid: string): Promise<TransactionInfoResponse> {\n return this._adapterService.saveTransaction(uuid);\n }\n\n public async getCashRegisters(branch?: string, group?: number): Promise<CashRegister[]> {\n const params = {\n branch: branch,\n group: group\n }\n return this._selectMultipleParameterizedCacheService.requestCache<CashRegister>(CashRegister, (branch, group) => {\n return this._adapterService.getCashRegisters(branch, group)\n }).getValue(branch, group);\n }\n\n public async getPriceLists(code?: string): Promise<PriceList[]> {\n return this._selectMultipleParameterizedCacheService.requestCache<PriceList>(PriceList, (code?: string) => {\n return this._adapterService.getPriceLists(code)\n }).getValue(code);\n }\n\n public async getVatList(onlyValid: boolean = false): Promise<Vat[]> {\n return this._selectMultipleParameterizedCacheService.requestCache<Vat>(Vat, (onlyValid: boolean = false) => {\n return this._adapterService.getVatList(onlyValid)\n }).getValue(onlyValid);\n }\n\n public async searchTransactions(request: TransactionSearchViewRequest): Promise<TransactionSearchResult> {\n return this._adapterService.searchTransactions(request)\n }\n\n public async getSequenceValue(sequenceName: SequenceName): Promise<number> {\n return this._adapterService.getSequenceValue(sequenceName);\n }\n\n public async getDeliveryMethods(): Promise<DeliveryMethod[]> {\n return this._selectMultipleCacheService.requestCache<DeliveryMethod>(DeliveryMethod, () => {\n return this._adapterService.getDeliveryMethods()\n }).getValue();\n }\n\n public async getDeliveryOptions(): Promise<DeliveryOption[]> {\n return this._selectMultipleCacheService.requestCache<DeliveryOption>(DeliveryOption, () => {\n return this._adapterService.getDeliveryOptions()\n }).getValue();\n }\n\n public async addRelationToTransaction(uuid: string, relationId: number): Promise<TransactionInfoResponse> {\n return this._adapterService.addRelationToTransaction(uuid, relationId);\n }\n\n public async setTransactionDeliveryOptions(transactionDeliveryOptionsRequest: SetTransactionDeliveryOptionsRequest): Promise<TransactionResponseBase> {\n return this._adapterService.setTransactionDeliveryOptions(transactionDeliveryOptionsRequest);\n }\n\n public async getPostalCodeRetrieval(postcalCode: string, houseNo: string): Promise<GetPostalCodeRetrievalOutputParams> {\n return this._adapterService.getPostalCodeRetrieval(postcalCode, houseNo);\n }\n\n public async addTransactionLine(\n uuid: string,\n articleLine: TransactionLineType,\n articleNo: string,\n amount: number,\n warehouseNo: number,\n commissionCode: string,\n isReturn: boolean,\n aboveLineNr: number,\n belowLineNr: number\n ):\n Promise<TransactionInfoResponse> {\n return this._adapterService.addTransactionLine(uuid, articleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr);\n }\n\n public async addTextLineToTransaction(uuid: string, showOnDocuments: number, text: string, amount: number, articleBound: boolean, refArticleLineNr: number, aboveLineNr?: number, belowLineNr?: number):\n Promise<TransactionInfoResponse> {\n return this._adapterService.addTextLineToTransaction(uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr);\n }\n\n public async changeLineSequence(uuid: string, lineUuid: string, aboveLineNr?: number, belowLineNr?: number):\n Promise<TransactionInfoResponse> {\n return this._adapterService.changeLineSequence(uuid, lineUuid, aboveLineNr, belowLineNr);\n }\n\n public async cancelAddTransactionLine(lineUuid: string): Promise<TransactionInfoResponse> {\n return this._adapterService.cancelAddTransactionLine(lineUuid);\n }\n\n public async deleteTransactionLine(uuid: string, lineUuid: string): Promise<TransactionInfoResponse> {\n return this._adapterService.deleteTransactionLine(uuid, lineUuid);\n }\n\n\n public async changeTransactionLineQuantity(uuid: string, lineUuid: string, newQuantity: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineQuantity(uuid, lineUuid, newQuantity);\n }\n\n public async resolvePendingLineReason(pendingLineValues: ResolveLinePendingReasonRequest): Promise<TransactionInfoResponse> {\n return this._adapterService.resolvePendingLineReason(pendingLineValues);\n }\n\n public async resolvePendingHeaderReason(pendingHeaderValues: ResolveHeaderPendingReasonRequest): Promise<TransactionInfoResponse> {\n return this._adapterService.resolvePendingHeaderReason(pendingHeaderValues);\n }\n\n public async getCommissionCodes(languageCode: string): Promise<CoDomainValue[]> {\n return this._selectMultipleParameterizedCacheService.requestCache<CoDomainValue>(CoDomainValue, (domainValue: string, languageCode: string) => {\n return this._adapterService.getCommissionCodes(languageCode)\n }).getValue('CommissionCode', languageCode);\n }\n\n public async getInOutCollection(languageCode: string): Promise<CoDomainValue[]> {\n return this._selectMultipleParameterizedCacheService.requestCache<CoDomainValue>(CoDomainValue, (domainValue: string, languageCode: string) => {\n return this._adapterService.getInOutCollection(languageCode)\n }).getValue('InOutCollection', languageCode);\n }\n\n public async getTransactionArticleWarehouses(goodId: number): Promise<TransactionArticleWarehouse[]> {\n return this._adapterService.getTransactionArticleWarehouses(goodId);\n }\n\n public async setRelationByUser(uuid: string, username: string, password: string): Promise<boolean> {\n return this._adapterService.setRelationByUser(uuid, username, password);\n }\n\n public async getTextTypes(languageCode: string): Promise<CoDomainValue[]> {\n return this._adapterService.getTextTypes(languageCode)\n }\n\n public async getStandardTexts(languageCode: string): Promise<StandardText[]> {\n return this._adapterService.getStandardTexts(languageCode);\n }\n\n public async getSalesPersons(date?: Date): Promise<SalesPerson[]> {\n return this._selectMultipleParameterizedCacheService.requestCache<SalesPerson>(SalesPerson, (date?: Date) => {\n return this._adapterService.getSalesPersons(date)\n }).getValue(date);\n }\n\n public async getTags(category: number): Promise<Tag[]> {\n return this._selectMultipleParameterizedCacheService.requestCache<Tag>(Tag, (category: number) => {\n return this._adapterService.getTags(category)\n }).getValue(category);\n }\n\n public async getOnHoldCodes(): Promise<OnHoldCode[]> {\n return this._selectMultipleCacheService.requestCache<OnHoldCode>(OnHoldCode, () => {\n return this._adapterService.getOnHoldCodes()\n }).getValue();\n }\n\n public async getWarehouses(branchNr?: string): Promise<Warehouse[]> {\n return this._selectMultipleParameterizedCacheService.requestCache<Warehouse>(Warehouse, (branchNr?: string) => {\n return this._adapterService.getWarehouses(branchNr)\n }).getValue(branchNr);\n }\n\n public async getHistoricStateValues(): Promise<CodeDescription[]> {\n return this._adapterService.getHistoricStateValues();\n }\n\n public async getPaymentMethods(): Promise<PaymentMethod[]> {\n return this._selectMultipleCacheService.requestCache<PaymentMethod>(PaymentMethod, () => {\n return this._adapterService.getPaymentMethods()\n }).getValue();\n }\n\n public async changeTransactionLineCommissionCode(uuid: string, lineUuid: string, code: string): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineCommissionCode(uuid, lineUuid, code);\n }\n\n public async changeTransactionLineSupplier(uuid: string, lineUuid: string, id: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineSupplier(uuid, lineUuid, id);\n }\n\n public async changeTransactionLineWarehouse(uuid: string, lineUuid: string, warehouseNumber: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineWarehouse(uuid, lineUuid, warehouseNumber);\n }\n\n public async changeTransactionLinePrice(uuid: string, lineUuid: string, price: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLinePrice(uuid, lineUuid, price);\n }\n\n public async changeTransactionLinePriceList(uuid: string, lineUuid: string, priceList: string): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLinePriceList(uuid, lineUuid, priceList);\n }\n\n public async changeTransactionLineVat(uuid: string, lineUuid: string, id: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineVat(uuid, lineUuid, id);\n }\n\n public async changeTransactionLineLineDiscount(uuid: string, lineUuid: string, type: DiscountType, discount: number, reason: string, code: string): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineLineDiscount(uuid, lineUuid, type, discount, reason, code);\n }\n\n public async changeTransactionLineDeliveryMethod(uuid: string, lineUuid: string, method: string): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineDeliveryMethod(uuid, lineUuid, method);\n }\n\n public async changeTransactionLineDeliveryDate(uuid: string, lineUuid: string, date: Date): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineDeliveryDate(uuid, lineUuid, date);\n }\n\n public async changeTransactionLineAssemblyTime(uuid: string, lineUuid: string, time: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineAssemblyTime(uuid, lineUuid, time);\n }\n\n public async changeTransactionLineEditTime(uuid: string, lineUuid: string, time: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineEditTime(uuid, lineUuid, time);\n }\n\n public async changeTransactionLineSupplierArticleNumber(uuid: string, lineUuid: string, articleNumber: string): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineSupplierArticleNumber(uuid, lineUuid, articleNumber);\n }\n\n public async changeTransactionLineReference(uuid: string, lineUuid: string, reference: string): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineReference(uuid, lineUuid, reference);\n }\n\n public async changeTransactionLineGoodDescription(uuid: string, lineUuid: string, goodDescription: string): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineGoodDescription(uuid, lineUuid, goodDescription);\n }\n\n public async changeTransactionLineCollectionCode(uuid: string, lineUuid: string, code: string): Promise<TransactionInfoResponse> {\n return this._adapterService.changeTransactionLineCollectionCode(uuid, lineUuid, code);\n }\n\n public async changeHeaderTransactionDefinitive(uuid: string, definitive: boolean): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionDefinitive(uuid, definitive);\n }\n\n public async changeHeaderDeliveryAddress(uuid: string, newNawNr: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderDeliveryAddress(uuid, newNawNr);\n }\n\n public async changeHeaderInvoiceAddress(uuid: string, newNawNr: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderInvoiceAddress(uuid, newNawNr);\n }\n\n public async changeHeaderTransactionDeliveryDate(uuid: string, date: Date): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionDeliveryDate(uuid, date);\n }\n\n public async changeHeaderTransactionDeliveryDateDefinitive(uuid: string, definitive: boolean): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionDeliveryDateDefinitive(uuid, definitive);\n }\n\n public async changeHeaderTransactionRemark(uuid: string, remark: string): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionRemark(uuid, remark);\n }\n\n public async changeHeaderTransactionReference(uuid: string, reference: string): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionReference(uuid, reference);\n }\n\n public async changeHeaderTransactionRelationReference(uuid: string, reference: string): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionRelationReference(uuid, reference);\n }\n\n public async changeHeaderToDownPayPercentage(uuid: string, amount: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderToDownPayPercentage(uuid, amount);\n }\n\n public async changeHeaderToDownPayAmount(uuid: string, amount: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderToDownPayAmount(uuid, amount);\n }\n\n public async changeHeaderTransactionPreferredDeliveryDate(uuid: string, date: Date): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionPreferredDeliveryDate(uuid, date);\n }\n\n public async changeHeaderTransactionDeliveryMethod(uuid: string, method: string): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionDeliveryMethod(uuid, method);\n }\n\n public async changeHeaderTransactionDeliveryOptions(uuid: string, options: string[]): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionDeliveryOptions(uuid, options);\n }\n\n public async changeHeaderTransactionPartialDelivery(uuid: string, allowPartial: boolean): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionPartialDelivery(uuid, allowPartial);\n }\n\n public async changeHeaderTransactionBranch(uuid: string, branch: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionBranch(uuid, branch);\n }\n\n public async changeHeaderTransactionAdmCoordinator(uuid: string, relation: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionAdmCoordinator(uuid, relation);\n }\n\n public async changeHeaderTransactionMarketing(uuid: string, code: string): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionMarketing(uuid, code);\n }\n\n public async changeHeaderTransactionDiscount(uuid: string, type: DiscountType, amount: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionDiscount(uuid, type, amount);\n }\n\n public async changeHeaderTransactionToDownPay(uuid: string, downPayment: number): Promise<TransactionInfoResponse> {\n return this._adapterService.changeHeaderTransactionToDownPay(uuid, downPayment);\n }\n\n public async createOutstandingEntry(uuid: string, amount: number): Promise<TransactionInfoResponse> {\n return this._adapterService.createOutstandingEntry(uuid, amount);\n }\n\n public async createIonePaymentLinkAndQRCode(uuid: string, amount: number, paymentMethodCode: string): Promise<CreatePaymentLinkResult> {\n return this._adapterService.createIonePaymentLinkAndQRCode(uuid, amount, paymentMethodCode);\n }\n\n public async getPaymentLinkStatus(paymentLinkUUID: string): Promise<PaymentLinkStatus> {\n return this._adapterService.getPaymentLinkStatus(paymentLinkUUID);\n }\n\n public async getGoodsReceiptStatus(transId: number, lineNr: number): Promise<GoodsReceiptStatusWithHistory> {\n return this._adapterService.getGoodsReceiptStatus(transId, lineNr);\n }\n\n public async getGoodsReceiptStatusWithHistory(transId: number, lineNr: number): Promise<GoodsReceiptStatusWithHistory> {\n return this._adapterService.getGoodsReceiptStatusWithHistory(transId, lineNr);\n }\n\n public async receiveGoodsForPurchaseOrder(request: ReceiveGoodsForPurchaseOrderRequest): Promise<TransactionInfoResponse> {\n return this._adapterService.receiveGoodsForPurchaseOrder(request);\n }\n\n public async receiveGoodsForPurchaseOrderCorrection(request: ReceiveGoodsForPurchaseOrderCorrectionRequest): Promise<TransactionInfoResponse> {\n return this._adapterService.receiveGoodsForPurchaseOrderCorrection(request);\n }\n\n public async getPurchasePortalLines(request: GetPurchasePortalLine): Promise<PurchasePortalLine[]> {\n return this._adapterService.getPurchasePortalLines(request);\n }\n\n public async updatePurchasePortalLines(purchasePortalLine: PurchasePortalLine): Promise<DataServiceResponseData> {\n return this._adapterService.updatePurchasePortalLines(purchasePortalLine);\n }\n\n public async purchaseOrderConfirmation(purchaseOrderConfirmation: GetPurchaseOrderConfirmation): Promise<DataServiceResponseData> {\n return this._adapterService.purchaseOrderConfirmation(purchaseOrderConfirmation);\n }\n\n public async lockPurchasePortalLines(transIdPurchase: number, lineId: number): Promise<boolean> {\n return this._adapterService.lockPurchasePortalLines(transIdPurchase, lineId)\n }\n\n public generateCommissionOrders(transId: number, onlyGenerateForDirectSellSuppliers: boolean): Promise<boolean> {\n return this._adapterService.generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers);\n }\n\n public async getDeliveryOrderStatus(transId: number, lineId: number): Promise<DeliveryOrderStatus> {\n return this._adapterService.getDeliveryOrderStatus(transId, lineId)\n }\n\n public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\n return await this._adapterService.getStockStickerTemplates(data);\n }\n\n public async getAvailableStockGroupedByWLBSByTransIdLineNr(transId: number, lineNr: number): Promise<AvailableStock[]> {\n return await this._adapterService.getAvailableStockGroupedByWLBSByTransIdLineNr(transId, lineNr);\n }\n\n public async allocateGoodsForSalesOrder(request: AllocateGoodsForSalesOrderRequest): Promise<boolean> {\n return await this._adapterService.allocateGoodsForSalesOrder(request);\n }\n\n public async allocateGoodsForSalesOrderCorrection(request: AllocateGoodsForSalesOrderCorrectionRequest): Promise<boolean> {\n return await this._adapterService.allocateGoodsForSalesOrderCorrection(request);\n }\n\n public async getGoodsAllocationStatus(transId: number, lineNr: number): Promise<GoodsAllocationStatus> {\n return await this._adapterService.getGoodsAllocationStatus(transId, lineNr);\n }\n\n public async getGoodsAllocationStatusWithHistory(transId: number, lineNr: number): Promise<GoodsAllocationStatusWithHistory> {\n return await this._adapterService.getGoodsAllocationStatusWithHistory(transId, lineNr);\n }\n\n public async getOrderConfirmationEmailLayouts(transactionUUID: string): Promise<ReportLayoutSelectionEmail[]> {\n return await this._adapterService.getOrderConfirmationEmailLayouts(transactionUUID);\n }\n\n public async getOrderConfirmationPrintLayouts(transactionUUID: string): Promise<ReportLayoutSelectionPrint[]> {\n return await this._adapterService.getOrderConfirmationPrintLayouts(transactionUUID);\n }\n\n public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {\n return await this._adapterService.getOrderConfirmationDefaultSendMethod(relationId);\n }\n\n public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID: string): Promise<string[]> {\n return await this._adapterService.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);\n }\n\n public async printOrderConfirmation(request: PrintOrderConfirmationRequest): Promise<void> {\n return await this._adapterService.printOrderConfirmation(request);\n }\n\n public async emailOrderConfirmation(request: EmailOrderConfirmationRequest): Promise<void> {\n return await this._adapterService.emailOrderConfirmation(request);\n }\n\n public async pdfOrderConfirmation(request: PdfOrderConfirmationRequest): Promise<void> {\n return await this._adapterService.pdfOrderConfirmation(request);\n }\n\n public async printPurchaseOrder(request: PrintPurchaseOrderRequest): Promise<void> {\n return await this._adapterService.printPurchaseOrder(request);\n }\n\n public async emailPurchaseOrder(request: EmailPurchaseOrderRequest): Promise<void> {\n return await this._adapterService.emailPurchaseOrder(request);\n }\n\n public async pdfPurchaseOrder(request: PdfPurchaseOrderRequest): Promise<void> {\n return await this._adapterService.pdfPurchaseOrder(request);\n }\n\n public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<ReportLayoutSelectionEmail[]> {\n return await this._adapterService.getPurchaseOrderEmailLayouts(transactionUUID);\n }\n\n public async getPurchaseOrderPrintLayouts(transactionUUID: string): Promise<ReportLayoutSelectionPrint[]> {\n return await this._adapterService.getPurchaseOrderPrintLayouts(transactionUUID);\n }\n\n public async getPurchaseOrderDefaultSendMethod(relationId: number): Promise<number> {\n return await this._adapterService.getPurchaseOrderDefaultSendMethod(relationId);\n }\n\n public async generateAndSendPurchaseOrdersForSalesOrder(transactionId: number): Promise<void> {\n return await this._adapterService.generateAndSendPurchaseOrdersForSalesOrder(transactionId);\n }\n\n public async getPurchaseAdviceLines(filters: PurchaseAdviceFilters, goodId?: number): Promise<PurchaseAdviceLine[]> {\n return await this._adapterService.getPurchaseAdviceLines(filters, goodId);\n }\n\n public async generateAndSendPurchaseOrders(purchaseAdviceLines: PurchaseAdviceLine[]): Promise<boolean> {\n return await this._adapterService.generateAndSendPurchaseOrders(purchaseAdviceLines);\n }\n\n\n}\n","import {Injectable} from \"@angular/core\";\nimport {BehaviorSubject, Subject} from \"rxjs\";\nimport {PositionGridRow} from \"../enum/position-grid-row.enum\";\nimport {Scroll} from \"@angular/router\";\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\nimport {BusinessObject} from \"@colijnit/ioneconnector/build/model/business-object\";\nimport {ExtendedTransactionLineViewModel} from \"../model/extended-transaction-line-view-model\";\n\n@Injectable({providedIn: \"root\"})\nexport class TransactionEventService {\n public readonly addToCartBySku: Subject<{sku: string, amount: number, popCart: boolean}> = new Subject<{sku: string, amount: number, popCart: boolean}>();\n public readonly addToCartBySelectorResult: Subject<{selectorResult: {goodId: number, baseGoodId: number, selectorData: any, quantity: number}, popCart: boolean}> =\n new Subject<{selectorResult: {goodId: number, baseGoodId: number, selectorData: any, quantity: number}, popCart: boolean}>();\n public readonly openShoppingCartModule: Subject<void> = new Subject<void>();\n public readonly loggedIn: Subject<void> = new Subject<void>();\n public readonly addNewUserToShoppingCartModule: Subject<string> = new Subject<string>();\n public readonly addUserRelationShoppingCartModule: Subject<{user: string, pw: string}> = new Subject<{user: string, pw: string}>();\n public readonly addArticleLine: Subject<{lineNr: number, beforeOrAfter: PositionGridRow}> = new Subject<{lineNr: number, beforeOrAfter: PositionGridRow}>();\n public readonly addTextLine: Subject<{lineNr: number, beforeOrAfter: PositionGridRow}> = new Subject<{lineNr: number, beforeOrAfter: PositionGridRow}>();\n public readonly addArticleLineAt: Subject<{sku: string, amount: number, lineNr: number, beforeOrAfter: PositionGridRow}> = new Subject<{sku: string, amount: number, lineNr: number, beforeOrAfter: PositionGridRow}>();\n public readonly addTextLineAt: Subject<{text: string, lineNr: number, beforeOrAfter: PositionGridRow}> = new Subject<{text: string, lineNr: number, beforeOrAfter: PositionGridRow}>();\n public readonly changeLineSequence: Subject<({fromIndex: number, toIndex: number})> = new Subject<{fromIndex: number, toIndex: number}>();\n public readonly transactionLineClicked: Subject<BusinessObject> = new Subject<BusinessObject>();\n public readonly rightSidebarClose: Subject<void> = new Subject<void>();\n public readonly scrollContent: Subject<Scroll> = new Subject<Scroll>();\n public readonly commitReceivePurchaseOrders: Subject<{date: Date, id: string}> = new Subject<{date: Date, id: string}>();\n public readonly selectAllLines: Subject<boolean> = new Subject<boolean>();\n public readonly transactionLineChanged: Subject<ExtendedTransactionLineViewModel> = new Subject<ExtendedTransactionLineViewModel>();\n public readonly openSidePanel: Subject<TransactionLineInfo> = new Subject<TransactionLineInfo>()\n public readonly selectAllSalesOrderLinesForPurchase: Subject<boolean> = new Subject<boolean>();\n public readonly generateCommissionOrders: Subject<boolean> = new Subject<boolean>();\n public readonly allowPartialDeliveryChanged: Subject<boolean> = new Subject<boolean>();\n public readonly connectionInitialized: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n public readonly createTransaction: Subject<void> = new Subject<void>();\n}\n","import {Injectable} from \"@angular/core\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {Articles} from \"@colijnit/articleapi/build/articles\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {ArticleExtendedRequest} from \"@colijnit/articleapi/build/model/article-extended-request\";\r\nimport {ArticleLight} from \"@colijnit/articleapi/build/model/article-light.bo\";\r\nimport {TurnoverGroupImage} from \"@colijnit/articleapi/build/model/turnover-group-image.bo\";\r\nimport {MainArticle} from \"@colijnit/articleapi/build/model/main-article.bo\";\r\nimport {BusinessObjectFactory} from \"@colijnit/ioneconnector/build/factory/business-object-factory\";\r\nimport {TransactionEventService} from \"./transaction-event.service\";\r\nimport {DataServiceResponseData} from \"@colijnit/ioneconnector/build/model/data-service-response-data\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ArticleConnectorService {\r\n public connector: Articles;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n constructor(\r\n private _optionsService: OptionsService,\r\n private _transactionEventService: TransactionEventService\r\n ) {\r\n this._transactionEventService.connectionInitialized.subscribe((initialized: boolean) => {\r\n if (initialized) {\r\n this.connect();\r\n }\r\n })\r\n }\r\n\r\n public async connect(): Promise<void> {\r\n this.connector = new Articles(this._optionsService.options);\r\n }\r\n\r\n public async getWarehouseLocations(warehouseNr: number): Promise<StockLocation[]> {\r\n return new Promise((resolve, reject) => {\r\n return this.connector.getStockManagementLocations(warehouseNr).then((response) => {\r\n if (response && response.validationResult && response.validationResult.success) {\r\n const collection: StockLocation[] = this._boFactory.makeBOArrayFromRawBackendDataArray(StockLocation, response.resultObjects) as unknown as StockLocation[];\r\n resolve(collection);\r\n } else {\r\n reject(response.validationMessagesAsString);\r\n }\r\n });\r\n })\r\n }\r\n\r\n public async searchArticles(request: ArticleExtendedRequest): Promise<ArticleLight[]> {\r\n return new Promise((resolve, reject) => {\r\n return this.connector.searchArticlesLight(request).then((response) => {\r\n if (response && response.validationResult && response.validationResult.success) {\r\n const collection: ArticleLight[] = this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleLight, response.resultObjects) as unknown as ArticleLight[];\r\n resolve(collection);\r\n } else {\r\n reject(response.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getMainArticles(): Promise<MainArticle[]> {\r\n return new Promise((resolve, reject) => {\r\n return this.connector.getMainArticles().then((response) => {\r\n if (response && response.validationResult && response.validationResult.success) {\r\n const collection: MainArticle[] = this._boFactory.makeBOArrayFromRawBackendDataArray(MainArticle, response.resultObjects) as unknown as MainArticle[];\r\n resolve(collection);\r\n } else {\r\n reject(response.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getTurnoverGroups(category?: string): Promise<TurnoverGroupImage[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n // const collection = this._collectionService.getCollection(TurnoverGroupImage.name);\r\n // if (collection) {\r\n // return resolve(collection);\r\n // }\r\n return this.connector.getTurnoverGroups(category).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n const collection: TurnoverGroupImage[] = this._boFactory.makeBOArrayFromRawBackendDataArray(TurnoverGroupImage, result.resultObjects) as unknown as TurnoverGroupImage[];\r\n // this._collectionService.cacheCollection(TurnoverGroupImage.name, collection);\r\n resolve(collection);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {BusinessObjectFactory} from \"@colijnit/ioneconnector/build/factory/business-object-factory\";\r\nimport {RelationApi} from \"@colijnit/relationapi\";\r\nimport {CustomerFullObject} from \"@colijnit/relationapi/build/model/customer-full-object.bo\";\r\nimport {SupplierFullObject} from \"@colijnit/relationapi/build/model/supplier-full-object.bo\";\r\nimport {ErrorService} from \"./error.service\";\r\nimport {DataServiceResponseData} from \"@colijnit/ioneconnector/build/model/data-service-response-data\";\r\nimport {RelationRequest} from \"@colijnit/relationapi/build/model/relation-request\";\r\nimport {RelationListObject} from \"@colijnit/relationapi/build/model/relation-list-object.bo\";\r\nimport {BranchLov} from \"@colijnit/relationapi/build/model/branch-lov.bo\";\r\nimport {ValidationResult} from \"@colijnit/ioneconnector/build/model/validation-result\";\r\nimport {TransactionEventService} from \"./transaction-event.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class RelationConnectorService {\r\n public connector: RelationApi;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n constructor(\r\n private _optionsService: OptionsService,\r\n private _errorService: ErrorService,\r\n private _transactionEventService: TransactionEventService\r\n ) {\r\n this._transactionEventService.connectionInitialized.subscribe((initialized: boolean) => {\r\n if (initialized) {\r\n this.connect();\r\n }\r\n })\r\n }\r\n\r\n public async connect(): Promise<void> {\r\n this.connector = new RelationApi(this._optionsService.options);\r\n }\r\n\r\n public async getCustomerFullObject(relationNo: number): Promise<CustomerFullObject> {\r\n const result: DataServiceResponseData = await this.connector.getCustomerFullObject(relationNo);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject) as unknown as CustomerFullObject;\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return null;\r\n }\r\n }\r\n\r\n public async getSupplierFullObject(relationNo: number): Promise<SupplierFullObject> {\r\n const result: DataServiceResponseData = await this.connector.getSupplierFullObject(relationNo);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeWithRawBackendData(SupplierFullObject, result.resultObject) as unknown as SupplierFullObject;\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return null;\r\n }\r\n }\r\n\r\n public async getRelationListObjects(relationRequest: RelationRequest): Promise<RelationListObject[]> {\r\n const result: DataServiceResponseData = await this.connector.getRelationListObjects(relationRequest);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(RelationListObject, result.resultObjects) as unknown as RelationListObject[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async getRelationNumber(relationId: number): Promise<string> {\r\n const result: DataServiceResponseData = await this.connector.getRelationNumber(relationId);\r\n if (result.validationResult && result.validationResult.success) {\r\n return result.resultObject;\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return \"\";\r\n }\r\n }\r\n\r\n public async getBranches(branchNr?: string): Promise<BranchLov[]> {\r\n const result: DataServiceResponseData = await this.connector.getBranches(branchNr);\r\n if (result.validationResult && result.validationResult.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(BranchLov, result.resultObjects) as unknown as BranchLov[];\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return [];\r\n }\r\n }\r\n\r\n public async commit(): Promise<boolean> {\r\n const result: DataServiceResponseData = await this.connector.commit();\r\n if (result) {\r\n return true;\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n return false;\r\n }\r\n }\r\n\r\n public lockCustomerFullObject(relationNr: number): Promise<ValidationResult> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.lockCustomerById(relationNr).then(async (result: DataServiceResponseData) => {\r\n resolve(result.validationResult);\r\n });\r\n });\r\n }\r\n\r\n public lockSupplierFullObject(relationNr: number): Promise<ValidationResult> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.lockSupplierById(relationNr).then(async (result: DataServiceResponseData) => {\r\n resolve(result.validationResult);\r\n });\r\n });\r\n }\r\n\r\n public lockEmployeeFullObject(relationNr: number): Promise<ValidationResult> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.lockEmployeeById(relationNr).then(async (result: DataServiceResponseData) => {\r\n resolve(result.validationResult);\r\n });\r\n });\r\n }\r\n\r\n public lockBranchFullObject(relationNr: number): Promise<ValidationResult> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.lockBranchById(relationNr).then(async (result: DataServiceResponseData) => {\r\n resolve(result.validationResult);\r\n });\r\n });\r\n }\r\n\r\n public lockCompanyFullObject(relationNr: number): Promise<ValidationResult> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.lockCompanyById(relationNr).then(async (result: DataServiceResponseData) => {\r\n resolve(result.validationResult);\r\n });\r\n });\r\n }\r\n\r\n public lockContactPerson(relationNr: number): Promise<ValidationResult> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.lockContactPersonById(relationNr).then(async (result: DataServiceResponseData) => {\r\n resolve(result.validationResult);\r\n });\r\n });\r\n }\r\n\r\n public async insertCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.insertCustomer(relation).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async updateCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.updateCustomer(relation).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(CustomerFullObject, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async insertSupplier(relation: SupplierFullObject): Promise<SupplierFullObject> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.insertSupplier(relation).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(SupplierFullObject, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async updateSupplier(relation: SupplierFullObject): Promise<SupplierFullObject> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.updateSupplier(relation).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeWithRawBackendData(SupplierFullObject, result.resultObject));\r\n } else {\r\n this._handleExceptionFromResponse(result);\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n private _handleExceptionFromResponse(result: DataServiceResponseData): void {\r\n this._errorService.showValidationError(result);\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {SelectMultipleCacheService} from \"../cache/service/select-multiple-cache.service\";\r\nimport {RelationConnectorService} from \"./relation-connector.service\";\r\nimport {RelationKind} from \"@colijnit/articleapi/build/enum/relation-kind.enum\";\r\nimport {ValidationResult} from \"@colijnit/ioneconnector/build/model/validation-result\";\r\nimport {CustomerFullObject} from \"@colijnit/relationapi/build/model/customer-full-object.bo\";\r\nimport {RelationRequest} from \"@colijnit/relationapi/build/model/relation-request\";\r\nimport {RelationListObject} from \"@colijnit/relationapi/build/model/relation-list-object.bo\";\r\nimport {BranchLov} from \"@colijnit/relationapi/build/model/branch-lov.bo\";\r\nimport {SupplierFullObject} from \"@colijnit/relationapi/build/model/supplier-full-object.bo\";\r\nimport {SelectSingleCacheService} from \"../cache/service/select-single-cache.service\";\r\nimport {SelectMultipleParameterizedCacheService} from \"../cache/service/select-multiple-parameterized-cache.service\";\r\nimport {Relation} from \"@colijnit/relationapi/build/model/relation.bo\";\r\nimport {RelationAnyType} from \"@colijnit/relationapi/build/model/relation-any-type\";\r\n\r\ntype LockFnHeader = (relationNr: number) => Promise<ValidationResult>;\r\ntype GetRelationFnHeader = (relationNr: number) => Promise<RelationAnyType>;\r\ntype InsertRelationFn = (relation: RelationAnyType) => Promise<RelationAnyType>;\r\ntype UpdateRelationFn = (relation: RelationAnyType) => Promise<RelationAnyType>;\r\n\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class RelationService {\r\n private readonly _lockMethods: Map<RelationKind, LockFnHeader> = new Map<RelationKind, LockFnHeader>([\r\n [RelationKind.Customer, (relationNr: number) => this._lockCustomerFullObject(relationNr)],\r\n [RelationKind.Supplier, (relationNr: number) => this._lockSupplierFullObject(relationNr)],\r\n [RelationKind.Personnel, (relationNr: number) => this._lockEmployeeFullObject(relationNr)],\r\n [RelationKind.Branch, (relationNr: number) => this._lockBranchFullObject(relationNr)],\r\n [RelationKind.Company, (relationNr: number) => this._lockCompanyFullObject(relationNr)],\r\n [RelationKind.ContactPerson, (relationNr: number) => this._lockContactPerson(relationNr)],\r\n ]);\r\n\r\n private readonly _getMethods: Map<RelationKind, GetRelationFnHeader> = new Map<RelationKind, GetRelationFnHeader>([\r\n [RelationKind.Customer, (relationNr: number) => this.getCustomerFullObject(relationNr)],\r\n [RelationKind.Supplier, (relationNr: number) => this.getSupplierFullObject(relationNr)]\r\n ]);\r\n\r\n private readonly _updateMethods: Map<RelationKind, UpdateRelationFn> = new Map<RelationKind, UpdateRelationFn>([\r\n [RelationKind.Customer, (relation: CustomerFullObject) => this.updateCustomer(relation)],\r\n [RelationKind.Supplier, (relation: SupplierFullObject) => this.updateSupplier(relation)]\r\n ]);\r\n\r\n private readonly _insertMethods: Map<RelationKind, InsertRelationFn> = new Map<RelationKind, InsertRelationFn>([\r\n [RelationKind.Customer, (relation: CustomerFullObject) => this.insertCustomer(relation)],\r\n [RelationKind.Supplier, (relation: SupplierFullObject) => this.insertSupplier(relation)]\r\n ])\r\n\r\n constructor(\r\n private _adapterService: RelationConnectorService,\r\n private _selectMultipleCacheService: SelectMultipleCacheService,\r\n private _selectSingleCacheService: SelectSingleCacheService,\r\n private _selectMultipleParameterizedCacheService: SelectMultipleParameterizedCacheService\r\n ) {}\r\n\r\n public getCustomerFullObject(relationNo: number): Promise<CustomerFullObject> {\r\n return this._selectSingleCacheService.requestCache<CustomerFullObject>(CustomerFullObject, relationNo, () => {\r\n return this._adapterService.getCustomerFullObject(relationNo)\r\n }).getValue();\r\n }\r\n\r\n public getSupplierFullObject(relationNo: number): Promise<SupplierFullObject> {\r\n return this._selectSingleCacheService.requestCache<SupplierFullObject>(SupplierFullObject, relationNo, () => {\r\n return this._adapterService.getSupplierFullObject(relationNo)\r\n }).getValue();\r\n }\r\n\r\n public insertCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\r\n return this._adapterService.insertCustomer(relation);\r\n }\r\n\r\n public async updateCustomer(relation: CustomerFullObject): Promise<CustomerFullObject> {\r\n return this._adapterService.updateCustomer(relation);\r\n }\r\n\r\n public insertSupplier(relation: SupplierFullObject): Promise<SupplierFullObject> {\r\n return this._adapterService.insertSupplier(relation);\r\n }\r\n\r\n public async updateSupplier(relation: SupplierFullObject): Promise<SupplierFullObject> {\r\n return this._adapterService.updateSupplier(relation);\r\n }\r\n\r\n public getRelationListObjects(relationRequest: RelationRequest): Promise<RelationListObject[]> {\r\n return this._adapterService.getRelationListObjects(relationRequest);\r\n }\r\n\r\n public getRelationNumber(relationId: number): Promise<string> {\r\n return this._adapterService.getRelationNumber(relationId);\r\n }\r\n\r\n public getBranches(branchNr?: string): Promise<BranchLov[]> {\r\n return this._selectMultipleParameterizedCacheService.requestCache<BranchLov>(BranchLov, (branchNr?: string) => {\r\n return this._adapterService.getBranches(branchNr)\r\n }).getValue(branchNr);\r\n }\r\n\r\n public insertRelation(relationKind: RelationKind, relation: Relation): Promise<Relation> {\r\n const insertMethod: InsertRelationFn = this._insertMethods.get(relationKind);\r\n if (insertMethod) {\r\n return insertMethod.call(this, relation);\r\n } else {\r\n const result: Relation = new Relation();\r\n return Promise.resolve(result);\r\n }\r\n }\r\n\r\n public updateRelation(relationKind: RelationKind, relation: Relation): Promise<Relation> {\r\n const updateMethod: UpdateRelationFn = this._updateMethods.get(relationKind);\r\n if (updateMethod) {\r\n return updateMethod.call(this, relation);\r\n } else {\r\n const result: Relation = new Relation();\r\n return Promise.resolve(result);\r\n }\r\n }\r\n\r\n public lockRelation(relationKind: RelationKind, relationNr: number): Promise<ValidationResult> {\r\n const lockMethod: LockFnHeader = this._lockMethods.get(relationKind);\r\n if (lockMethod) {\r\n return lockMethod.call(this, relationNr);\r\n } else {\r\n const result: ValidationResult = new ValidationResult();\r\n result.success = false;\r\n return Promise.resolve(result);\r\n }\r\n }\r\n\r\n public getRelation(relationKind: RelationKind, relationNr: number): Promise<RelationAnyType> {\r\n const getMethod: GetRelationFnHeader = this._getMethods.get(relationKind);\r\n if (getMethod) {\r\n return getMethod.call(this, relationNr);\r\n } else {\r\n const result: ValidationResult = new ValidationResult();\r\n result.success = false;\r\n return Promise.resolve(null);\r\n }\r\n }\r\n\r\n public commit(): Promise<boolean> {\r\n return this._adapterService.commit();\r\n }\r\n\r\n private _lockCustomerFullObject(relationNr: number): Promise<ValidationResult> {\r\n return this._adapterService.lockCustomerFullObject(relationNr);\r\n }\r\n\r\n private _lockSupplierFullObject(relationNr: number): Promise<ValidationResult> {\r\n return this._adapterService.lockSupplierFullObject(relationNr);\r\n }\r\n\r\n private _lockEmployeeFullObject(relationNr: number): Promise<ValidationResult> {\r\n return this._adapterService.lockEmployeeFullObject(relationNr);\r\n }\r\n\r\n private _lockBranchFullObject(relationNr: number): Promise<ValidationResult> {\r\n return this._adapterService.lockBranchFullObject(relationNr);\r\n }\r\n\r\n private _lockCompanyFullObject(relationNr: number): Promise<ValidationResult> {\r\n return this._adapterService.lockCompanyFullObject(relationNr);\r\n }\r\n\r\n private _lockContactPerson(relationNr: number): Promise<ValidationResult> {\r\n return this._adapterService.lockContactPerson(relationNr);\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {LineOperationStatus} from \"@colijnit/transactionapi/build/model/line-operation-status.bo\";\r\nimport {PendingReasonType} from \"@colijnit/transactionapi/build/enum/pending-reason-type.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {TransactionConnectorService} from \"./transaction-connector.service\";\r\nimport {BehaviorSubject, Subject} from \"rxjs\";\r\nimport {TransactionLineType} from \"@colijnit/transactionapi/build/enum/transaction-line-type.enum\";\r\nimport {DialogService} from \"./dialog.service\";\r\nimport {ResolveLinePendingReasonRequest} from \"@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo\";\r\nimport {ArticleConnectorService} from \"./article-connector.service\";\r\nimport {HeaderOperationStatus} from \"@colijnit/transactionapi/build/model/header-operation-status.bo\";\r\nimport {ResolveHeaderPendingReasonRequest} from \"@colijnit/transactionapi/build/model/resolve-header-pending-reason-request.bo\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\nimport {TransactionLineCharacteristic} from \"@colijnit/transactionapi/build/model/transactionLineCharacteristic.bo\";\r\nimport {PurchasePortalLine} from \"@colijnit/transactionapi/build/model/purchase-portal-line.bo\";\r\nimport {DocDeliveryBatch} from \"@colijnit/transactionapi/build/model/doc-delivery-batch.bo\";\r\nimport {DialogResponseInterface} from \"../interface/dialog-response.interface\";\r\nimport {AppPopupButtonType} from \"../component/core/enum/app-popup-button-type.enum\";\r\nimport {SharedService} from \"@colijnit/sharedcomponents\";\r\nimport {DictionaryService} from \"./dictionary.service\";\r\nimport {TransactionEventService} from \"./transaction-event.service\";\r\nimport {CustomerFullObject} from \"@colijnit/relationapi/build/model/customer-full-object.bo\";\r\nimport {ValidationResult} from \"@colijnit/ioneconnector/build/model/validation-result\";\r\nimport {RelationStatus} from \"@colijnit/articleapi/build/enum/relation-status.enum\";\r\nimport {RelationKind} from \"@colijnit/articleapi/build/enum/relation-kind.enum\";\r\nimport {SupplierFullObject} from \"@colijnit/relationapi/build/model/supplier-full-object.bo\";\r\nimport {RelationSmallObject} from \"@colijnit/relationapi/build/model/relation-small-object.bo\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {RelationService} from \"./relation.service\";\r\nimport {Relation} from \"@colijnit/relationapi/build/model/relation.bo\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class PendingReasonService {\r\n public logout: Subject<void> = new Subject<void>();\r\n public transactionUpdated: BehaviorSubject<TransactionInfoResponse> = new BehaviorSubject<TransactionInfoResponse>(undefined);\r\n public relationUpdated: BehaviorSubject<Relation> = new BehaviorSubject<Relation>(undefined);\r\n\r\n public applicationUser: boolean = false;\r\n public invoiceAddressSameAsDelivery: boolean = true;\r\n\r\n public transactionKind: TransactionKind = TransactionKind.SalesOrder;\r\n\r\n public currentTransaction: TransactionInfoResponse = new TransactionInfoResponse();\r\n\r\n public set relation(value: Relation) {\r\n if (value) {\r\n this._relation = value;\r\n this.relationUpdated.next(this._relation);\r\n }\r\n }\r\n public get relation(): Relation {\r\n return this._relation;\r\n }\r\n public purchasePortalLine: PurchasePortalLine[] = [];\r\n public docDeliveryBatch: DocDeliveryBatch = new DocDeliveryBatch()\r\n\r\n public articleAmount: number = 0;\r\n\r\n private _relation: Relation = new Relation();\r\n\r\n constructor(\r\n public options: OptionsService,\r\n protected dialogService: DialogService,\r\n protected connector: TransactionConnectorService,\r\n protected sharedService: SharedService,\r\n protected articleConnector: ArticleConnectorService,\r\n protected dictionaryService: DictionaryService,\r\n protected transactionEventService: TransactionEventService,\r\n protected relationService: RelationService\r\n ) {\r\n }\r\n\r\n public async init(options: any): Promise<void> {\r\n await this.options.initialize(options);\r\n this.sharedService.init(options);\r\n this.connector.connect();\r\n this.transactionEventService.connectionInitialized.next(true);\r\n }\r\n\r\n public resetCurrentTransaction(): void {\r\n this.currentTransaction = new TransactionInfoResponse();\r\n this._relation = new CustomerFullObject();\r\n this.articleAmount = 0;\r\n }\r\n\r\n public async cancelAddTransactionLine(lineUuid: string, remember: boolean = true): Promise<TransactionInfoResponse> {\r\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\r\n this.connector.cancelAddTransactionLine(lineUuid)\r\n .then(async (response: TransactionInfoResponse) => {\r\n if (remember) {\r\n this.rememberCurrentTransaction(response);\r\n }\r\n if (response.isSuccess) {\r\n resolve(response);\r\n } else {\r\n reject(response);\r\n }\r\n })\r\n .catch((reason: ValidationResult) => {\r\n resolve(null);\r\n });\r\n });\r\n }\r\n\r\n public async handleHeaderOperationStatuses(response: TransactionInfoResponse): Promise<boolean> {\r\n if (!response.headerOperationStatuses || response.headerOperationStatuses.length === 0) {\r\n return true;\r\n }\r\n let success: boolean = true;\r\n for (let i: number = 0; i < response.headerOperationStatuses.length; i++) {\r\n const status: HeaderOperationStatus = response.headerOperationStatuses[i];\r\n success = success && await this._handleHeaderOperationStatus(status, response.transactionInfo);\r\n }\r\n const hasPendingReasons: boolean = response.headerOperationStatuses.filter(los => los.pendingReason !== \"NONE\").length > 0;\r\n if (!hasPendingReasons) {\r\n this.rememberCurrentTransaction(response);\r\n }\r\n return success;\r\n }\r\n\r\n public async rememberCurrentTransaction(value: TransactionInfoResponse): Promise<void> {\r\n this.currentTransaction = value;\r\n this._setAmount();\r\n if (this.currentTransaction.transactionInfo.relation && this.currentTransaction.transactionInfo.relation.relationId) {\r\n this._getRelation(this.currentTransaction.transactionInfo.relation);\r\n }\r\n\r\n this.transactionUpdated.next(this.currentTransaction);\r\n }\r\n\r\n protected initializeTransaction(): void {\r\n if (!this.relation) {\r\n this.relation = new CustomerFullObject();\r\n }\r\n if (!this.relation.relationId) {\r\n if (this.relation.relationType === RelationKind.Customer) {\r\n (this.relation as CustomerFullObject).relationStatus = RelationStatus.RegularCustomer;\r\n }\r\n this.relation.startDate = new Date();\r\n }\r\n if (this.currentTransaction.transactionInfo.preferredDeliveryDate2 === undefined) {\r\n this.currentTransaction.transactionInfo.preferredDeliveryDate2 = \"=\";\r\n }\r\n }\r\n\r\n protected async handleLineOperationStatuses(response: TransactionInfoResponse): Promise<boolean> {\r\n if (!response.lineOperationStatuses || response.lineOperationStatuses.length === 0) {\r\n return true;\r\n }\r\n let success: boolean = true;\r\n for (let i: number = 0; i < response.lineOperationStatuses.length; i++) {\r\n const status: LineOperationStatus = response.lineOperationStatuses[i];\r\n const transLine: TransactionLineInfo = response.transactionLines.find(t => t.lineNr === status.lineNr);\r\n success = success && await this._handleLineOperationStatus(status, transLine);\r\n }\r\n const hasPendingReasons: boolean = response.lineOperationStatuses.filter(los => los.pendingReason !== \"NONE\").length > 0;\r\n if (!hasPendingReasons) {\r\n this.rememberCurrentTransaction(response);\r\n }\r\n return success;\r\n }\r\n\r\n private async _handleLineOperationStatus(operationStatus: LineOperationStatus, transactionLine: TransactionLineInfo): Promise<boolean> {\r\n switch (operationStatus.pendingReasonType) {\r\n case PendingReasonType.ABORTED:\r\n case PendingReasonType.CANCELLED:\r\n if (operationStatus.pendingReason !== 'USER_DECISION') {\r\n // await this._cancelArticle(operationStatus.uuid);\r\n // } else {\r\n this._showReasonDialog(operationStatus.pendingReason);\r\n }\r\n return false;\r\n case PendingReasonType.CONFIRMATION_NEEDED:\r\n await this._confirmAction(transactionLine.uuid, operationStatus.pendingReason, operationStatus.pendingReasonType);\r\n return false;\r\n case PendingReasonType.INVALID_LOGISTICS:\r\n await this._showWarehouseCcDialog(\r\n operationStatus.uuid, transactionLine.amount, transactionLine.commissionCode, transactionLine.warehouseNumber,\r\n operationStatus.pendingReason, operationStatus.pendingReasonType);\r\n return true;\r\n case PendingReasonType.NON_CRITICAL_DISCONTINUATION:\r\n this._showReasonDialog(operationStatus.pendingReason);\r\n break;\r\n case PendingReasonType.CHARACTERISTICS_ANSWER_NEEDED:\r\n this._showCharacteristicDialog(operationStatus.uuid, operationStatus.characteristic, operationStatus.pendingReason, operationStatus.pendingReasonType);\r\n break;\r\n case PendingReasonType.NONE:\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n private async _handleHeaderOperationStatus(operationStatus: HeaderOperationStatus, transactionInfo: TransactionInfo): Promise<boolean> {\r\n switch (operationStatus.pendingReasonType) {\r\n case PendingReasonType.ABORTED:\r\n case PendingReasonType.CANCELLED:\r\n await this._showReasonDialog(operationStatus.pendingReason);\r\n return false;\r\n case PendingReasonType.CONFIRMATION_NEEDED:\r\n return await this._confirmHeaderAction(transactionInfo.uuid, operationStatus.pendingReason, operationStatus.pendingReasonType);\r\n case PendingReasonType.NONE:\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n public async resolvePendingLineReason(pendingLineValues: ResolveLinePendingReasonRequest): Promise<void> {\r\n const response: TransactionInfoResponse = await this.connector.resolvePendingLineReason(pendingLineValues);\r\n // this.rememberCurrentTransaction(response);\r\n this.handleLineOperationStatuses(response);\r\n }\r\n\r\n public async resolvePendingHeaderReason(pendingHeaderValues: ResolveHeaderPendingReasonRequest): Promise<boolean> {\r\n const response: TransactionInfoResponse = await this.connector.resolvePendingHeaderReason(pendingHeaderValues);\r\n // this.rememberCurrentTransaction(response);\r\n return this.handleHeaderOperationStatuses(response);\r\n }\r\n\r\n private async _confirmAction(uuid: string, reason: string, type: PendingReasonType): Promise<void> {\r\n const reasonRequest = new ResolveLinePendingReasonRequest(uuid, reason, type);\r\n // const pendingReasonText: string = await this._getPendingReasonText(this.currentOperationStatus.pendingReason);\r\n reasonRequest.confirmation = await this.dialogService.showYesNo('Action', reason);\r\n await this.resolvePendingLineReason(reasonRequest);\r\n // this._handleLineOperationStatus()\r\n }\r\n\r\n private async _showCharacteristicDialog(uuid: string, characteristics: TransactionLineCharacteristic, reason: string, type: PendingReasonType): Promise<void> {\r\n const reasonRequest = new ResolveLinePendingReasonRequest(uuid, reason, type);\r\n let char: string;\r\n const response: DialogResponseInterface = await this.dialogService.showCharacteristics(\r\n characteristics.question, characteristics.transactionLineCharacteristicChoices, characteristics.value);\r\n if (response.button === AppPopupButtonType.Ok) {\r\n char = response.output;\r\n }\r\n reasonRequest.textualUserInput = char;\r\n await this.resolvePendingLineReason(reasonRequest);\r\n }\r\n\r\n private async _showWarehouseCcDialog(uuid: string, quantity: number, commissionCode: string, warehouseNr: number, reason: string, type: PendingReasonType): Promise<void> {\r\n const reasonRequest = new ResolveLinePendingReasonRequest(uuid, reason, type);\r\n const response: DialogResponseInterface = await this.dialogService.showWarehouseCC(quantity, commissionCode, warehouseNr);\r\n if (response.button === AppPopupButtonType.Ok) {\r\n reasonRequest.quantity = response.output.quantity;\r\n reasonRequest.commissionCode = response.output.commissionCode;\r\n reasonRequest.warehouseNr = response.output.warehouseNr;\r\n await this.resolvePendingLineReason(reasonRequest);\r\n } else {\r\n this._cancelArticle(uuid);\r\n }\r\n }\r\n\r\n private async _confirmHeaderAction(uuid: string, reason: string, type: PendingReasonType): Promise<boolean> {\r\n const reasonRequest = new ResolveHeaderPendingReasonRequest(uuid, reason, type);\r\n // const pendingReasonText: string = await this._getPendingReasonText(this.currentOperationStatus.pendingReason);\r\n reasonRequest.confirmation = await this.dialogService.showYesNo('Action', reason);\r\n return await this.resolvePendingHeaderReason(reasonRequest);\r\n }\r\n\r\n private async _showReasonDialog(reason: string): Promise<void> {\r\n return this.dialogService.showInformation(reason);\r\n }\r\n\r\n private _setAmount(): void {\r\n if (this.currentTransaction && this.currentTransaction.transactionLines) {\r\n this.articleAmount = this.currentTransaction.transactionLines.filter(t => t.lineType === TransactionLineType.ArticleLine).length;\r\n }\r\n }\r\n\r\n private async _cancelArticle(uuid: string): Promise<void> {\r\n await this.cancelAddTransactionLine(uuid, false)\r\n .then((response: TransactionInfoResponse) => {\r\n this.rememberCurrentTransaction(response);\r\n }\r\n );\r\n }\r\n\r\n private _getRelation(relation: RelationSmallObject): void {\r\n if (relation) {\r\n this.relationService.getRelationNumber(relation.relationId).then((relationNr: string) => {\r\n if (relation.relationType === RelationKind.Customer) {\r\n this.relationService.getCustomerFullObject(parseInt(relationNr, 0)).then((customer: CustomerFullObject) => {\r\n this.relation = customer;\r\n });\r\n } else if (relation.relationType === RelationKind.Supplier) {\r\n this.relationService.getSupplierFullObject(parseInt(relationNr, 0)).then((supplier: SupplierFullObject) => {\r\n this.relation = supplier;\r\n });\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\nimport {PendingReasonType} from \"@colijnit/transactionapi/build/enum/pending-reason-type.enum\";\nimport {SequenceName} from \"@colijnit/transactionapi/build/enum/sequence-name.enum\";\nimport {TransactionLineType} from \"@colijnit/transactionapi/build/enum/transaction-line-type.enum\";\nimport {ArticleFullObject} from \"@colijnit/transactionapi/build/model/article-full-object\";\nimport {CashRegister} from \"@colijnit/transactionapi/build/model/cash-register\";\nimport {CodeDescription} from \"@colijnit/transactionapi/build/model/code-description\";\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\nimport {CustomerGroup} from \"@colijnit/transactionapi/build/model/customer-group.bo\";\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\nimport {DeliveryOption} from \"@colijnit/transactionapi/build/model/delivery-option.bo\";\nimport {LineOperationStatus} from \"@colijnit/transactionapi/build/model/line-operation-status.bo\";\nimport {Marketing} from \"@colijnit/transactionapi/build/model/marketing.bo\";\nimport {OnHoldCode} from \"@colijnit/transactionapi/build/model/on-hold-code.bo\";\nimport {PriceList} from \"@colijnit/transactionapi/build/model/price-list\";\nimport {TransactionArticleWarehouse} from \"@colijnit/transactionapi/build/model/transaction-article-warehouse.bo\";\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\nimport {TransactionSearchViewRequest} from \"@colijnit/transactionapi/build/model/transaction-search-view-request\";\nimport {ValidationResult} from \"@colijnit/ioneconnector/build/model/validation-result\";\nimport {Vat} from \"@colijnit/transactionapi/build/model/vat\";\nimport {Warehouse} from \"@colijnit/transactionapi/build/model/warehouse.bo\";\nimport {throwError} from \"rxjs\";\nimport {StandardText} from \"../model/standard-text\";\nimport {PendingReasonService} from \"./pending-reason.service\";\nimport {ReceiveGoodsForPurchaseOrderRequest} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-request.bo\";\nimport {GoodsReceiptStatusWithHistory} from \"@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo\";\nimport {ReceiveGoodsForPurchaseOrderCorrectionRequest} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-correction-request.bo\";\nimport {ArticleExtendedRequest} from \"@colijnit/articleapi/build/model/article-extended-request\";\nimport {ArticleLight} from \"@colijnit/articleapi/build/model/article-light.bo\";\nimport {TurnoverGroupImage} from \"@colijnit/articleapi/build/model/turnover-group-image.bo\";\nimport {MainArticle} from \"@colijnit/articleapi/build/model/main-article.bo\";\nimport {GetPurchasePortalLine} from \"@colijnit/transactionapi/build/model/get-purchase-portal-line\";\nimport {PurchasePortalLine} from \"@colijnit/transactionapi/build/model/purchase-portal-line.bo\";\nimport {TransactionSearchResult} from \"../model/transaction-search-result\";\nimport {GetPurchaseOrderConfirmation} from \"@colijnit/transactionapi/build/model/get-purchase-order-confirmation\";\nimport {TransactionLockResult} from \"@colijnit/transactionapi/build/model/transaction-lock-result.bo\";\nimport {DataServiceResponseData} from \"@colijnit/ioneconnector/build/model/data-service-response-data\";\nimport {Tag} from \"@colijnit/mainapi/build/model/tag\";\nimport {CoDomainValue} from \"@colijnit/mainapi/build/model/co-domain-value.bo\";\nimport {RelationPrivacySetting} from \"@colijnit/relationapi/build/model/relation-privacy-setting.bo\";\nimport {DeliveryOrderStatus} from \"@colijnit/transactionapi/build/model/delivery-order-status.bo\";\nimport {SalesPerson} from \"@colijnit/relationapi/build/model/sales-person.bo\";\nimport {AvailableStock} from \"@colijnit/transactionapi/build/model/available-stock.bo\";\nimport {AllocateGoodsForSalesOrderRequest} from \"@colijnit/transactionapi/build/model/allocate-goods-for-sales-order-request\";\nimport {AllocateGoodsForSalesOrderCorrectionRequest} from \"@colijnit/transactionapi/build/model/allocate-goods-for-sales-order-correction-request\";\nimport {GoodsAllocationStatus} from \"@colijnit/transactionapi/build/model/goods-allocation-status.bo\";\nimport {GoodsAllocationStatusWithHistory} from \"@colijnit/transactionapi/build/model/goods-allocation-status-with-history.bo\";\nimport {ReportLayoutSelectionEmail} from \"@colijnit/mainapi/build/model/report-layout-selection-email.bo\";\nimport {ReportLayoutSelectionPrint} from \"@colijnit/mainapi/build/model/report-layout-selection-print.bo\";\nimport {PrintOrderConfirmationRequest} from \"@colijnit/mainapi/build/model/print-order-confirmation-request\";\nimport {EmailOrderConfirmationRequest} from \"@colijnit/mainapi/build/model/email-order-confirmation-request\";\nimport {PdfOrderConfirmationRequest} from \"@colijnit/mainapi/build/model/pdf-order-confirmation-request\";\nimport {PrintPurchaseOrderRequest} from \"@colijnit/mainapi/build/model/print-purchase-order-request\";\nimport {EmailPurchaseOrderRequest} from \"@colijnit/mainapi/build/model/email-purchase-order-request\";\nimport {PdfPurchaseOrderRequest} from \"@colijnit/mainapi/build/model/pdf-purchase-order-request\";\nimport {CreateSalesOrderRequest} from \"@colijnit/transactionapi/build/model/create-sales-order-request\";\nimport {CreateCashRegisterOrderRequest} from \"@colijnit/transactionapi/build/model/create-cash-register-order-request\";\nimport {CreatePurchaseOrderRequest} from \"@colijnit/transactionapi/build/model/create-purchase-order-request\";\nimport {CreateServiceOrderRequest} from \"@colijnit/transactionapi/build/model/create-service-order-request\";\nimport {CreateSalesQuotationRequest} from \"@colijnit/transactionapi/build/model/create-sales-quotation-request\";\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\nimport {CreateTransactionRequest} from \"@colijnit/transactionapi/build/model/create-transaction-request\";\nimport {RelationKind} from \"@colijnit/articleapi/build/enum/relation-kind.enum\";\nimport {PurchaseAdviceLine} from \"@colijnit/transactionapi/build/model/purchase-advice-line.bo\";\nimport {PurchaseAdviceFilters} from \"@colijnit/transactionapi/build/model/purchase-advice-filters\";\n\ntype CreateTransactionFn = (request: CreateTransactionRequest) => Promise<boolean>;\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class TransactionService extends PendingReasonService {\n\n private readonly _createTransactionMethods: Map<TransactionKind, CreateTransactionFn> = new Map<TransactionKind, CreateTransactionFn>([\n [TransactionKind.SalesOrder, (request: CreateTransactionRequest) => this.createSalesOrder(request)],\n [TransactionKind.PurchaseOrder, (request: CreateTransactionRequest) => this.createPurchaseOrder(request)]\n ])\n\n private readonly _relationKindFromTransactionKind: Map<TransactionKind, RelationKind> = new Map<TransactionKind, RelationKind>([\n [TransactionKind.SalesOrder, RelationKind.Customer],\n [TransactionKind.PurchaseOrder, RelationKind.Supplier]\n ]);\n\n public getRelationKindFromTransactionKind(): RelationKind {\n if (this._relationKindFromTransactionKind.has(this.transactionKind)) {\n return this._relationKindFromTransactionKind.get(this.transactionKind);\n } else {\n return RelationKind.Customer;\n }\n }\n\n public pendingLineOperationStatus(lineOperationStatuses: LineOperationStatus[]): LineOperationStatus | undefined {\n const status: LineOperationStatus = lineOperationStatuses.find(line => line.pendingReasonType !== PendingReasonType.NONE\n && line.pendingReasonType !== PendingReasonType.NON_CRITICAL_DISCONTINUATION);\n return status;\n }\n\n public async updatePriceTransactionLine(uuid: string, lineUuid: string, price: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLinePrice(uuid, lineUuid, price);\n if (response) {\n return this.handleLineOperationStatuses(response);\n }\n return false;\n }\n\n public async updateReferenceTransactionLine(uuid: string, lineUuid: string, reference: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineReference(uuid, lineUuid, reference);\n if (response) {\n return this.handleLineOperationStatuses(response);\n }\n return false;\n }\n\n public async updateGoodDescriptionTransactionLine(uuid: string, lineUuid: string, goodDescription: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineGoodDescription(uuid, lineUuid, goodDescription);\n if (response) {\n return this.handleLineOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionDefinitive(uuid: string, definitive: boolean): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionDefinitive(uuid, definitive);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderDeliveryAddress(uuid: string, newNawNr: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderDeliveryAddress(uuid, newNawNr);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderInvoiceAddress(uuid: string, newNawNr: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderInvoiceAddress(uuid, newNawNr);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionDeliveryDate(uuid: string, date: Date): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionDeliveryDate(uuid, date);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionDeliveryDateDefinitive(uuid: string, definitive: boolean): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionDeliveryDateDefinitive(uuid, definitive);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionRemark(uuid: string, remark: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionRemark(uuid, remark);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionReference(uuid: string, reference: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionReference(uuid, reference);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionRelationReference(uuid: string, reference: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionRelationReference(uuid, reference);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionDownpaymentAmount(uuid: string, amount: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderToDownPayAmount(uuid, amount);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionDownpaymentPercentage(uuid: string, amount: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderToDownPayPercentage(uuid, amount);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionPreferredDeliveryDate(uuid: string, date: Date): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionPreferredDeliveryDate(uuid, date);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionDeliveryMethod(uuid: string, method: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionDeliveryMethod(uuid, method);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionDeliveryOptions(uuid: string, options: string[]): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionDeliveryOptions(uuid, options);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionPartialDelivery(uuid: string, allowPartial: boolean): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionPartialDelivery(uuid, allowPartial);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionBranch(uuid: string, branch: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionBranch(uuid, branch);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionAdmCoordinator(uuid: string, relation: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionAdmCoordinator(uuid, relation);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionMarketing(uuid: string, code: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionMarketing(uuid, code);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateHeaderTransactionDiscount(uuid: string, type: DiscountType, amount: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeHeaderTransactionDiscount(uuid, type, amount);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public async updateQuantityTransactionLine(uuid: string, lineUuid: string, quantity: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineQuantity(uuid, lineUuid, quantity);\n if (response) {\n return this.handleLineOperationStatuses(response);\n }\n return false;\n }\n\n public async updateDeliveryDateTransactionLine(uuid: string, lineUuid: string, date: Date): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineDeliveryDate(uuid, lineUuid, date);\n if (response) {\n return this.handleLineOperationStatuses(response);\n }\n return false;\n }\n\n public async updatePriceListTransactionLine(uuid: string, lineUuid: string, priceList: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLinePriceList(uuid, lineUuid, priceList);\n if (response) {\n return this.handleLineOperationStatuses(response);\n }\n return false;\n }\n\n public async updateVatTransactionLine(uuid: string, lineUuid: string, id: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineVat(uuid, lineUuid, id);\n if (response) {\n return this.handleLineOperationStatuses(response);\n }\n return false;\n }\n\n public async updateCommissionCodeTransactionLine(uuid: string, lineUuid: string, code: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineCommissionCode(uuid, lineUuid, code);\n if (response) {\n return this.handleLineOperationStatuses(response);\n }\n return false;\n }\n\n public async updateSupplierTransactionLine(uuid: string, lineUuid: string, id: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineSupplier(uuid, lineUuid, id);\n if (response) {\n return this.handleLineOperationStatuses(response);\n }\n return false;\n }\n\n public async updateWarehouseTransactionLine(uuid: string, lineUuid: string, warehouseNumber: number): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineWarehouse(uuid, lineUuid, warehouseNumber);\n if (response) {\n return this.handleLineOperationStatuses(response);\n }\n return false;\n }\n\n public async updateDeliveryMethodTransactionLine(uuid: string, lineUuid: string, method: string): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineDeliveryMethod(uuid, lineUuid, method);\n if (response) {\n return this.handleLineOperationStatuses(response);\n }\n return false;\n }\n\n public async updateDiscountTransactionLine(uuid: string, lineUuid: string, type: DiscountType, discount: number, reason: string = \"\", code: string = \"\"): Promise<boolean> {\n const response: TransactionInfoResponse | boolean = await this.connector.changeTransactionLineLineDiscount(uuid, lineUuid, type, discount, reason, code);\n if (response) {\n return this.handleLineOperationStatuses(response);\n }\n return false;\n }\n\n public async generateCommissionOrders(transId: number, onlyGenerateForDirectSellSuppliers: boolean): Promise<boolean> {\n this.transactionEventService.generateCommissionOrders.next(true);\n const response = await this.connector.generateCommissionOrders(transId, onlyGenerateForDirectSellSuppliers);\n this.transactionEventService.generateCommissionOrders.next(false);\n return response;\n }\n\n public searchTransactions(request: TransactionSearchViewRequest): Promise<TransactionSearchResult> {\n return this.connector.searchTransactions(request);\n }\n\n public async saveRelation(): Promise<boolean> {\n // this._cleanRelationBeforeSave();\n this.initializeTransaction();\n if (!this.relation.relationId) {\n this.relation = await this.relationService.insertRelation(this._relationKindFromTransactionKind.get(this.transactionKind), this.relation);\n } else {\n this.relation = await this.relationService.updateRelation(this._relationKindFromTransactionKind.get(this.transactionKind), this.relation);\n }\n if (!this.currentTransaction.transactionInfo.relation) {\n return await this.addRelationToTransaction(this.relation.relationId);\n }\n return true;\n }\n\n public getSequenceValue(): Promise<number> {\n return this.connector.getSequenceValue(SequenceName.RelationId);\n }\n\n public getRelationPrivacySettings(): Promise<RelationPrivacySetting[]> {\n return this.connector.getRelationPrivacySettings();\n }\n\n public getArticleBoundTextLinesOfArticleLine(articleLineUuid: string): Promise<TransactionLineInfo[]> {\n return this.connector.getArticleBoundTextLinesOfArticleLine(articleLineUuid);\n }\n\n public async createSalesOrder(request: CreateSalesOrderRequest): Promise<boolean> {\n return new Promise<boolean>((resolve: Function) => {\n this.connector.createSalesOrder(request).then((response: TransactionInfoResponse) => {\n this.rememberCurrentTransaction(response);\n resolve(true);\n });\n });\n }\n\n public async createCashRegisterOrder(request: CreateCashRegisterOrderRequest): Promise<boolean> {\n return new Promise<boolean>((resolve: Function) => {\n this.connector.createCashRegisterOrder(request).then((response: TransactionInfoResponse) => {\n this.rememberCurrentTransaction(response);\n resolve(true);\n });\n });\n }\n\n public async createPurchaseOrder(request: CreatePurchaseOrderRequest): Promise<boolean> {\n return new Promise<boolean>((resolve: Function) => {\n this.connector.createPurchaseOrder(request).then((response: TransactionInfoResponse) => {\n this.rememberCurrentTransaction(response);\n resolve(true);\n });\n });\n }\n\n public async createServiceOrder(request: CreateServiceOrderRequest): Promise<boolean> {\n return new Promise<boolean>((resolve: Function) => {\n this.connector.createServiceOrder(request).then((response: TransactionInfoResponse) => {\n this.rememberCurrentTransaction(response);\n resolve(true);\n });\n });\n }\n\n public async createSalesQuotation(request: CreateSalesQuotationRequest): Promise<boolean> {\n return new Promise<boolean>((resolve: Function) => {\n this.connector.createSalesQuotation(request).then((response: TransactionInfoResponse) => {\n this.rememberCurrentTransaction(response);\n resolve(true);\n });\n });\n }\n\n public getTransactionById(transactionId: number): Promise<boolean> {\n return new Promise<boolean>((resolve: Function, reject: Function) => {\n this.connector.getTransactionById(transactionId)\n .then(async (transaction: TransactionInfoResponse) => {\n if (transaction.isSuccess) {\n const lockSuccess: boolean = await this.tryToLockTransaction(transaction.transactionInfo.id, transaction.transactionInfo.version);\n if (lockSuccess) {\n this.rememberCurrentTransaction(transaction);\n this.transactionUpdated.next(transaction);\n }\n resolve(true);\n } else {\n reject(false);\n }\n })\n .catch((reason: ValidationResult) => {\n reject(false);\n });\n });\n }\n\n public async tryToLockTransaction(id: number, version: number): Promise<boolean> {\n const lockResponse: TransactionLockResult = await this.lockTransaction(id, version);\n if (lockResponse && !lockResponse.isLockSuccess) {\n const lockDetails: string = `${this.dictionaryService.get(\"BY\")}: ${lockResponse.lockedBy}\n ${this.dictionaryService.get(\"SINCE\", false)} ${lockResponse.lockedSince.toLocaleString()}`;\n this.dialogService.showError(this.dictionaryService.get(\"TRANSACTION_ALREADY_LOCKED\"), lockDetails);\n return false;\n }\n return true;\n }\n\n public lockTransaction(transId: number, version: number): Promise<TransactionLockResult> {\n return this.connector.lockTransactionById(transId, version);\n }\n\n public commit(): Promise<DataServiceResponseData> {\n return this.connector.commit();\n }\n\n public async saveTransaction(): Promise<TransactionInfoResponse> {\n const response: TransactionInfoResponse = await this.connector.saveTransaction(this.currentTransaction.transactionInfo.uuid)\n if (response && response.isSuccess) {\n this.rememberCurrentTransaction(response);\n }\n return response;\n }\n\n public async addRelationToTransaction(relationId: number): Promise<boolean> {\n await this._checkAndCreateTransaction();\n const response: TransactionInfoResponse = await this.connector.addRelationToTransaction(this.currentTransaction.transactionInfo.uuid, relationId);\n if (response) {\n return this.handleHeaderOperationStatuses(response);\n }\n return false;\n }\n\n public getCommissionCodes(languageCode: string): Promise<CoDomainValue[]> {\n return this.connector.getCommissionCodes(languageCode);\n }\n\n public getInOutCollection(languageCode: string): Promise<CoDomainValue[]> {\n return this.connector.getInOutCollection(languageCode);\n }\n\n public getTurnoverGroups(): Promise<TurnoverGroupImage[]> {\n return this.articleConnector.getTurnoverGroups();\n }\n\n public getTransactionArticleWarehouses(goodId: number): Promise<TransactionArticleWarehouse[]> {\n return this.connector.getTransactionArticleWarehouses(goodId);\n }\n\n public getMarketingCodes(): Promise<Marketing[]> {\n return this.connector.getMarketingCodes();\n }\n\n public getArticles(request: ArticleExtendedRequest): Promise<ArticleLight[]> {\n return this.articleConnector.searchArticles(request);\n }\n\n public getMainArticles(): Promise<MainArticle[]> {\n return this.articleConnector.getMainArticles();\n }\n\n public getDeliveryMethods(): Promise<DeliveryMethod[]> {\n return this.connector.getDeliveryMethods();\n }\n\n public getDeliveryOptions(): Promise<DeliveryOption[]> {\n return this.connector.getDeliveryOptions();\n }\n\n public getSalesPersons(date?: Date): Promise<SalesPerson[]> {\n return this.connector.getSalesPersons(date);\n }\n\n public async addArticle(\n articleNo: string,\n isReturn: boolean = false,\n aboveLineNr: number = 0,\n belowLineNr: number = 0\n ): Promise<boolean> {\n await this._checkAndCreateTransaction();\n const response: TransactionInfoResponse = await this.connector.addTransactionLine(\n this.currentTransaction.transactionInfo.uuid, TransactionLineType.ArticleLine, articleNo, null, null, null, isReturn, aboveLineNr, belowLineNr);\n return this.handleLineOperationStatuses(response);\n }\n\n // public async addArticleToTransaction(transactionUuid: string, articleNo: string, amount: number = 1, warehouseNo: number = 1, commissionCode: string = \"2\", isReturn: boolean = false, aboveLineNr: number = 0, belowLineNr: number = 0): Promise<LineOperationResponse> {\n // await this._checkAndCreateTransaction();\n // return new Promise<LineOperationResponse>((resolve, reject) => {\n // this.connector.addTransactionLine(transactionUuid, TransactionLineType.ArticleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr)\n // .then(async( response: LineOperationResponse) => {\n // resolve(response);\n // }, (error) => {\n // this._prompt.showError(error);\n // reject(error);\n // })\n // .catch((reason: ValidationResult) => {\n // this._prompt.showError(reason.getFullErrorString());\n // resolve(null);\n // });\n // });\n // }\n\n public async addTransactionLine(lineType: TransactionLineType,\n articleNo: string,\n amount: number,\n warehouseNo?: number,\n commissionCode?: string,\n isReturn?: boolean,\n aboveLineNr?: number,\n belowLineNr?: number,\n remember: boolean = true): Promise<TransactionInfoResponse> {\n await this._checkAndCreateTransaction();\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.addTransactionLine(this.currentTransaction.transactionInfo.uuid, lineType, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr)\n .then(async (response: TransactionInfoResponse) => {\n this.rememberCurrentTransaction(response);\n resolve(response);\n }, (error) => {\n reject(error);\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async addTextLine(\n showOnDocuments: number,\n text: string,\n amount: number,\n articleBound: boolean,\n refArticleLineNr: number,\n aboveLineNr?: number,\n belowLineNr?: number,\n remember: boolean = true): Promise<TransactionInfoResponse> {\n await this._checkAndCreateTransaction();\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.addTextLineToTransaction(this.currentTransaction.transactionInfo.uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr)\n .then(async (response: TransactionInfoResponse) => {\n this.rememberCurrentTransaction(response);\n resolve(response);\n }, (error) => {\n reject(error);\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async addTextLineToTransaction(\n transactionUuid: string,\n showOnDocuments: number,\n text: string,\n amount: number,\n articleBound: boolean,\n refArticleLineNr: number,\n aboveLineNr?: number,\n belowLineNr?: number): Promise<TransactionInfoResponse> {\n await this._checkAndCreateTransaction();\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.addTextLineToTransaction(transactionUuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr)\n .then(async (response: TransactionInfoResponse) => {\n resolve(response);\n }, (error) => {\n reject(error);\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public changeLineSequence(\n lineUuid: string,\n aboveLineNr?: number,\n belowLineNr?: number,\n remember: boolean = true): Promise<TransactionInfoResponse> {\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.changeLineSequence(this.currentTransaction.transactionInfo.uuid, lineUuid, aboveLineNr, belowLineNr)\n .then(async (response: TransactionInfoResponse) => {\n this.rememberCurrentTransaction(response);\n resolve(response);\n }, (error) => {\n reject(error);\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async deleteTransactionLine(transactionUuid: string, TransactionLineUuid: string, remember: boolean = true): Promise<TransactionInfoResponse> {\n return new Promise<TransactionInfoResponse>((resolve, reject) => {\n this.connector.deleteTransactionLine(transactionUuid, TransactionLineUuid)\n .then(async (response: TransactionInfoResponse) => {\n if (await this.handleLineOperationStatuses(response)) {\n this.rememberCurrentTransaction(response);\n }\n if (response.isSuccess) {\n resolve(response);\n } else {\n reject(response);\n }\n })\n .catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async changeTransactionLineQuantity(lineUuid: string, newQuantity: number, remember: boolean = true): Promise<TransactionInfoResponse> {\n return new Promise<TransactionInfoResponse>((resolve: Function) => {\n this.connector.changeTransactionLineQuantity(this.currentTransaction.transactionInfo.uuid, lineUuid, newQuantity)\n .then(async (response: TransactionInfoResponse) => {\n if (response.isSuccess) {\n this.rememberCurrentTransaction(response);\n }\n resolve(response);\n }).catch((reason: ValidationResult) => {\n resolve(null);\n });\n });\n }\n\n public async setRelationByUser(username: string, password: string): Promise<boolean> {\n return new Promise<boolean>((resolve: Function) => {\n this.connector.setRelationByUser(this.currentTransaction.transactionInfo.uuid, username, password)\n .then(async (isSuccess: boolean) => {\n resolve(isSuccess);\n }).catch((reason: ValidationResult) => {\n resolve(false);\n });\n });\n }\n\n // public async setRelationByUser(username: string, password: string): Promise<boolean> {\n // const response: boolean = await this.connector.setRelationByUser(this.currentTransaction.uuid, username, password);\n // return response;\n // }\n\n public async getGoodsReceiptStatus(transId: number, lineNr: number): Promise<GoodsReceiptStatusWithHistory> {\n return await this.connector.getGoodsReceiptStatus(transId, lineNr);\n }\n\n public async getGoodsReceiptStatusWithHistory(transId: number, lineNr: number): Promise<GoodsReceiptStatusWithHistory> {\n return await this.connector.getGoodsReceiptStatusWithHistory(transId, lineNr);\n }\n\n public async receiveGoodsForPurchaseOrder(request: ReceiveGoodsForPurchaseOrderRequest): Promise<TransactionInfoResponse> {\n return await this.connector.receiveGoodsForPurchaseOrder(request);\n }\n\n public async receiveGoodsForPurchaseOrderCorrection(request: ReceiveGoodsForPurchaseOrderCorrectionRequest): Promise<TransactionInfoResponse> {\n return await this.connector.receiveGoodsForPurchaseOrderCorrection(request);\n }\n\n public getTextTypes(languageCode: string): Promise<CoDomainValue[]> {\n return this.connector.getTextTypes(languageCode);\n }\n\n public getStandardTexts(languageCode: string): Promise<StandardText[]> {\n return this.connector.getStandardTexts(languageCode);\n }\n\n public getArticleFullObject(goodId: number): Promise<ArticleFullObject> {\n return this.connector.getArticleFullObject(goodId);\n }\n\n public getGoodIdFromArticleNr(sku: string): Promise<number> {\n return this.connector.getGoodIdFromArticleNr(sku);\n }\n\n public getCountry(countryCode: string): Promise<Country> {\n return this.connector.getCountry(countryCode);\n }\n\n public getCashRegisters(branch?: string, group?: number): Promise<CashRegister[]> {\n return this.connector.getCashRegisters(branch, group);\n }\n\n public getPriceLists(): Promise<PriceList[]> {\n return this.connector.getPriceLists();\n }\n\n public getVatLists(): Promise<Vat[]> {\n return this.connector.getVatList();\n }\n\n public getTags(category: number): Promise<Tag[]> {\n return this.connector.getTags(category);\n }\n\n public getOnHoldCodes(): Promise<OnHoldCode[]> {\n return this.connector.getOnHoldCodes();\n }\n\n public getWarehouses(branchNr?: string): Promise<Warehouse[]> {\n return this.connector.getWarehouses(branchNr);\n }\n\n public getHistoricStateValues(): Promise<CodeDescription[]> {\n return this.connector.getHistoricStateValues();\n }\n\n public getCustomerGroups(): Promise<CustomerGroup[]> {\n return this.connector.getCustomerGroups();\n }\n\n public async getPurchasePortalLines(request: GetPurchasePortalLine): Promise<PurchasePortalLine[]> {\n return await this.connector.getPurchasePortalLines(request);\n }\n\n public async purchaseOrderConfirmation(purchaseOrderConfirmation: GetPurchaseOrderConfirmation): Promise<DataServiceResponseData> {\n return await this.connector.purchaseOrderConfirmation(purchaseOrderConfirmation);\n }\n\n public async updatePurchasePortalLines(purchasePortalLine: PurchasePortalLine): Promise<DataServiceResponseData> {\n return await this.connector.updatePurchasePortalLines(purchasePortalLine)\n }\n\n public async lockPurchasePortalLines(transIdPurchase: number, lineId: number): Promise<boolean> {\n return await this.connector.lockPurchasePortalLines(transIdPurchase, lineId);\n }\n\n public async getDeliveryOrderStatus(transId: number, lineId: number): Promise<DeliveryOrderStatus> {\n return await this.connector.getDeliveryOrderStatus(transId, lineId);\n }\n\n public async getAvailableStockGroupedByWLBSByTransIdLineNr(transId: number, lineNr: number): Promise<AvailableStock[]> {\n return await this.connector.getAvailableStockGroupedByWLBSByTransIdLineNr(transId, lineNr);\n }\n\n public async allocateGoodsForSalesOrder(request: AllocateGoodsForSalesOrderRequest): Promise<boolean> {\n return await this.connector.allocateGoodsForSalesOrder(request);\n }\n\n public async allocateGoodsForSalesOrderCorrection(request: AllocateGoodsForSalesOrderCorrectionRequest): Promise<boolean> {\n return await this.connector.allocateGoodsForSalesOrderCorrection(request);\n }\n\n public async getGoodsAllocationStatus(transId: number, lineNr: number): Promise<GoodsAllocationStatus> {\n return await this.connector.getGoodsAllocationStatus(transId, lineNr);\n }\n\n public async getGoodsAllocationStatusWithHistory(transId: number, lineNr: number): Promise<GoodsAllocationStatusWithHistory> {\n return await this.connector.getGoodsAllocationStatusWithHistory(transId, lineNr);\n }\n\n public async getOrderConfirmationEmailLayouts(transactionUUID: string): Promise<ReportLayoutSelectionEmail[]> {\n return await this.connector.getOrderConfirmationEmailLayouts(transactionUUID);\n }\n\n public async getOrderConfirmationPrintLayouts(transactionUUID: string): Promise<ReportLayoutSelectionPrint[]> {\n return await this.connector.getOrderConfirmationPrintLayouts(transactionUUID);\n }\n\n public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {\n return await this.connector.getOrderConfirmationDefaultSendMethod(relationId);\n }\n\n public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID): Promise<string[]> {\n return await this.connector.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);\n }\n\n public async printOrderConfirmation(request: PrintOrderConfirmationRequest): Promise<void> {\n return await this.connector.printOrderConfirmation(request);\n }\n\n public async emailOrderConfirmation(request: EmailOrderConfirmationRequest): Promise<void> {\n return await this.connector.emailOrderConfirmation(request);\n }\n\n public async pdfOrderConfirmation(request: PdfOrderConfirmationRequest): Promise<void> {\n return await this.connector.pdfOrderConfirmation(request);\n }\n\n public async printPurchaseOrder(request: PrintPurchaseOrderRequest): Promise<void> {\n return await this.connector.printPurchaseOrder(request);\n }\n\n public async emailPurchaseOrder(request: EmailPurchaseOrderRequest): Promise<void> {\n return await this.connector.emailPurchaseOrder(request);\n }\n\n public async pdfPurchaseOrder(request: PdfPurchaseOrderRequest): Promise<void> {\n return await this.connector.pdfPurchaseOrder(request);\n }\n\n public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<ReportLayoutSelectionEmail[]> {\n return await this.connector.getPurchaseOrderEmailLayouts(transactionUUID);\n }\n\n public async getPurchaseOrderPrintLayouts(transactionUUID: string): Promise<ReportLayoutSelectionPrint[]> {\n return await this.connector.getPurchaseOrderPrintLayouts(transactionUUID);\n }\n\n public async getPurchaseOrderDefaultSendMethod(relationId: number): Promise<number> {\n return await this.connector.getPurchaseOrderDefaultSendMethod(relationId);\n }\n\n public async generateAndSendPurchaseOrdersForSalesOrder(transactionId: number): Promise<void> {\n return await this.connector.generateAndSendPurchaseOrdersForSalesOrder(transactionId);\n }\n\n public async getPurchaseAdviceLines(filters: PurchaseAdviceFilters, goodId?: number): Promise<PurchaseAdviceLine[]> {\n return await this.connector.getPurchaseAdviceLines(filters, goodId);\n }\n\n public async generateAndSendPurchaseOrders(purchaseAdviceLines: PurchaseAdviceLine[]): Promise<boolean> {\n return await this.connector.generateAndSendPurchaseOrders(purchaseAdviceLines);\n }\n\n// private _cleanRelationBeforeSave(): void {\n // ArrayUtils.RemoveElementsByFilter(this.currentTransaction.transactionInfo.relation.contactOptions, ((item: ContactOption) => {\n // return isNill(item.value);\n // }));\n // }\n\n private async _checkAndCreateTransaction(): Promise<void> {\n if (!this.currentTransaction || !this.currentTransaction.transactionInfo || !this.currentTransaction.transactionInfo.transactionNr) {\n const createMethod: CreateTransactionFn = this._createTransactionMethods.get(this.transactionKind);\n if (createMethod) {\n const request: CreateTransactionRequest = new CreateTransactionRequest();\n // todo fix this\n request.branchNr = \"1\";\n return createMethod.call(this, request);\n } else {\n throwError(\"Failed to create transaction\");\n }\n }\n }\n}\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {TransactionResponseBase} from \"@colijnit/transactionapi/build/model/transaction-response-base.bo\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {CheckoutOverviewRelationEditComponent} from \"./checkout-overview-relation-edit/checkout-overview-relation-edit.component\";\r\nimport {CheckoutOverviewDeliveryEditComponent} from \"./checkout-overview-delivery-edit/checkout-overview-delivery-edit.component\";\r\nimport {StepperStepComponent} from \"../stepper/component/stepper-step.component\";\r\nimport {DialogService} from \"../../service/dialog.service\";\r\nimport {PaymentComponent} from \"../payment/payment.component\";\r\nimport {StepperComponent} from \"../stepper/stepper.component\";\r\nimport {CustomerFullObject} from \"@colijnit/relationapi/build/model/customer-full-object.bo\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {RelationKind} from \"@colijnit/relationapi/build/enum/relation-kind.enum\";\r\n\r\n@Component({\r\n selector: \"co-checkout\",\r\n template: `\r\n <co-stepper #stepper\r\n [finishButtonLabel]=\"'CHECKOUT_FINISH' | localize\"\r\n [showCreate]=\"showCreateTransactionButton\"\r\n (createClicked)=\"handleCreateTransaction($event)\"\r\n >\r\n <co-stepper-step #stepRelation [index]=\"1\" [label]=\"'YOUR_DATA' | localize\" (validateStep)=\"handleRelationValidation()\">\r\n <co-checkout-overview-relation-edit #checkoutRelation *ngIf=\"stepRelation.show\"\r\n [(relation)]=\"service.relation\"\r\n [relationType]=\"relationType\"\r\n [deliveryAddressNawNr]=\"deliveryAddressNawNr\"\r\n [invoiceAddressNawNr]=\"invoiceAddressNawNr\"\r\n (deliveryAddressChange)=\"handleDeliveryAddressChange($event)\"\r\n (invoiceAddressChange)=\"handleInvoiceAddressChange($event)\"\r\n (relationChange)=\"service.relation = $event\"\r\n ></co-checkout-overview-relation-edit>\r\n </co-stepper-step>\r\n <co-stepper-step #stepDelivery [index]=\"2\" [label]=\"'DELIVERY' | localize\" (validateStep)=\"handleDeliveryValidation()\">\r\n <co-checkout-overview-delivery-edit #checkoutDelivery *ngIf=\"stepDelivery.show\"\r\n [transaction]=\"service.currentTransaction\"\r\n ></co-checkout-overview-delivery-edit>\r\n </co-stepper-step>\r\n <co-stepper-step #stepOverview [index]=\"3\" [label]=\"'OVERVIEW_AND_PAYMENT' | localize\">\r\n <co-checkout-overview-payment *ngIf=\"stepOverview.show\"\r\n [relation]=\"service.relation\"\r\n [transaction]=\"service.currentTransaction\"\r\n (changeYourDataClick)=\"stepper.goto(0)\"\r\n (changeDeliveryClick)=\"stepper.goto(1)\"\r\n (payed)=\"handleTransactionFinished($event)\"\r\n ></co-checkout-overview-payment>\r\n </co-stepper-step>\r\n <div class=\"co-checkout-right-panel\">\r\n <div class=\"co-checkout-right-panel-relation\">\r\n <co-avatar [relationId]=\"sellerId\"></co-avatar>\r\n </div>\r\n <co-shopping-cart-preview *ngIf=\"!showCreateTransactionButton\" [showCheckoutButton]=\"false\" [withoutBorder]=\"true\"></co-shopping-cart-preview>\r\n </div>\r\n </co-stepper>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CheckoutComponent implements OnInit {\r\n @ViewChild(\"stepper\")\r\n public stepper: StepperComponent;\r\n\r\n @ViewChild(\"stepRelation\")\r\n public stepRelation: StepperStepComponent;\r\n\r\n @ViewChild(\"stepDelivery\")\r\n public stepDelivery: StepperStepComponent;\r\n\r\n @ViewChild(\"stepOverview\")\r\n public stepOverview: StepperStepComponent;\r\n\r\n @ViewChild(\"stepPay\")\r\n public stepPay: StepperStepComponent;\r\n\r\n @ViewChild(\"checkoutRelation\")\r\n public checkoutRelation: CheckoutOverviewRelationEditComponent;\r\n\r\n @ViewChild(\"checkoutDelivery\")\r\n public checkoutDelivery: CheckoutOverviewDeliveryEditComponent;\r\n\r\n @ViewChild(\"checkoutPayment\")\r\n public checkoutPayment: PaymentComponent;\r\n\r\n @Input()\r\n public sellerId: number;\r\n\r\n @Input()\r\n public transactionType: TransactionKind = TransactionKind.SalesOrder;\r\n\r\n @Input()\r\n public showCreateTransactionButton: boolean = false;\r\n\r\n @Output()\r\n public transactionFinished: EventEmitter<{id: number, fromCheckout: boolean}> = new EventEmitter<{id: number, fromCheckout: boolean}>();\r\n\r\n @HostBinding(\"class.co-checkout\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public get userIsApplicationUser(): boolean {\r\n // TODO: return this.userService.isApplicationUser;\r\n return true;\r\n }\r\n\r\n public transaction: TransactionInfoResponse;\r\n public deliveryAddressNawNr: number = 0;\r\n public invoiceAddressNawNr: number = 0;\r\n public relationType: RelationKind;\r\n\r\n constructor(\r\n public service: TransactionService,\r\n private _dictionary: DictionaryService,\r\n private _dialogService: DialogService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.service.transactionKind = this.transactionType;\r\n this.relationType = this.service.getRelationKindFromTransactionKind();\r\n }\r\n\r\n // ngOnDestroy(): void {\r\n // this._subscriptions.forEach(subscription => subscription.unsubscribe());\r\n // }\r\n\r\n public async handleCreateTransaction(event: MouseEvent): Promise<void> {\r\n let success: boolean = true;\r\n if (this.stepper.activeStep === 0 && await this.handleRelationValidation()) {\r\n success = await this.service.saveRelation();\r\n if (success) {\r\n await this.service.updateHeaderTransactionDefinitive(this.service.currentTransaction.transactionInfo.uuid, true);\r\n }\r\n }\r\n if (!success) {\r\n return;\r\n }\r\n const response: TransactionResponseBase = await this.service.saveTransaction();\r\n if (response && response.isSuccess) {\r\n const id: number = this.service.currentTransaction.transactionInfo.id;\r\n this.service.resetCurrentTransaction();\r\n this.transactionFinished.emit({id: id, fromCheckout: this.showCreateTransactionButton});\r\n }\r\n }\r\n\r\n public async handleRelationValidation(): Promise<boolean> {\r\n if (this.checkoutRelation && this.stepRelation) {\r\n const valid = this.checkoutRelation.submit();\r\n if (valid) {\r\n this.stepRelation.completed = await this.saveRelation();\r\n }\r\n return valid;\r\n }\r\n }\r\n\r\n public async handleDeliveryValidation(): Promise<boolean> {\r\n if (this.checkoutDelivery && this.stepDelivery) {\r\n const valid = this.checkoutDelivery.submit();\r\n if (valid) {\r\n const response: TransactionResponseBase = await this.service.saveTransaction();\r\n if (response && response.isSuccess) {\r\n const lockSuccess: boolean =\r\n await this.service.tryToLockTransaction(this.service.currentTransaction.transactionInfo.id, this.service.currentTransaction.transactionInfo.version);\r\n if (lockSuccess) {\r\n this.stepDelivery.completed = await this.handleSaveDelivery();\r\n }\r\n }\r\n }\r\n return valid;\r\n }\r\n }\r\n\r\n public async saveRelation(): Promise<boolean> {\r\n const success: boolean = await this.service.saveRelation();\r\n if (success) {\r\n if (this.service.currentTransaction.transactionInfo.transactionAddress !== this.deliveryAddressNawNr) {\r\n await this.service.updateHeaderDeliveryAddress(this.service.currentTransaction.transactionInfo.uuid, this.deliveryAddressNawNr);\r\n }\r\n const invoiceAddressNawNr: number = this.invoiceAddressNawNr ? this.invoiceAddressNawNr : this.deliveryAddressNawNr;\r\n if (this.service.currentTransaction.transactionInfo.invoiceAddress !== invoiceAddressNawNr) {\r\n await this.service.updateHeaderInvoiceAddress(this.service.currentTransaction.transactionInfo.uuid, invoiceAddressNawNr);\r\n }\r\n }\r\n return success;\r\n }\r\n\r\n public async handleSaveDelivery(): Promise<boolean> {\r\n return true;\r\n }\r\n\r\n public handleDeliveryAddressChange(nawNr: number): void {\r\n this.deliveryAddressNawNr = nawNr;\r\n }\r\n\r\n public handleInvoiceAddressChange(nawNr: number): void {\r\n this.invoiceAddressNawNr = nawNr;\r\n }\r\n\r\n public handleTransactionFinished(id: number): void {\r\n this.service.currentTransaction = new TransactionInfoResponse();\r\n this.service.relation = new CustomerFullObject();\r\n this.service.articleAmount = 0;\r\n this.transactionFinished.emit({id: id, fromCheckout: this.showCreateTransactionButton});\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {TransactionService} from \"../../../service/transaction.service\";\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\nimport {Icon} from \"../../../enum/icon.enum\";\nimport {CustomerFullObject} from \"@colijnit/relationapi/build/model/customer-full-object.bo\";\nimport {RelationKind} from \"@colijnit/relationapi/build/enum/relation-kind.enum\";\nimport {AddressType} from \"@colijnit/relationapi/build/enum/address-type.enum\";\nimport {RelationAnyType} from \"../../../model/relation-any-type\";\nimport {Address} from \"@colijnit/relationapi/build/model/address.bo\";\nimport {RelationNameKind} from \"@colijnit/relationapi/build/enum/relation-name-kind.enum\";\n\n@Component({\n selector: \"co-checkout-overview-relation-edit\",\n template: `\n <div class=\"relation-edit-content\">\n <co-form>\n <div class=\"checkout-form-wrapper\">\n <div class=\"checkout-label-column\">\n <span>01</span>\n <span class=\"label-description\" [textContent]=\"'PERSONAL_DATA' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-relation-type *ngIf=\"relationType === relationKind.Customer\"\n [relation]=\"relation\"\n ></co-relation-type>\n </div>\n <div class=\"checkout-data-row\" *ngIf=\"relationType === relationKind.Customer\">\n <relation-customer-groups [model]=\"customerGroup\" (modelChange)=\"handleCustomerGroupChange($event)\" required></relation-customer-groups>\n </div>\n <div class=\"checkout-data-row\">\n <co-relation-general [relation]=\"relation\" [relationType]=\"relationType\" (relationChange)=\"updateRelation($event)\"></co-relation-general>\n </div>\n <div class=\"checkout-data-row\">\n <co-relation-address [address]=\"address\"></co-relation-address>\n </div>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-relation-addresses\n [relation]=\"relation\"\n [addresses]=\"relation.addresses\"\n [type]=\"addressType.DeliveryAddress\"\n [selectedNawNr]=\"deliveryAddressNawNr\"\n (selectedNawNrChange)=\"deliveryAddressChange.emit($event)\"\n (addressSaved)=\"handleNewAddress(addressType.DeliveryAddress, $event)\"\n ></co-relation-addresses>\n </div>\n </div>\n <div class=\"checkout-label-column\">\n <span>02</span>\n <span class=\"label-description\" [textContent]=\"'INVOICE_ADDRESS' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-input-checkbox [(model)]=\"service.invoiceAddressSameAsDelivery\" (modelChange)=\"checkSameAddress($event)\" [label]=\"'SAME_AS_DELIVERY' | localize\"></co-input-checkbox>\n </div>\n <div class=\"overview-delivery-invoice-address\" *ngIf=\"!service.invoiceAddressSameAsDelivery\" @showHideInvoiceAddress>\n <div class=\"checkout-data-row\">\n <co-relation-addresses\n [addresses]=\"relation.activeAddresses\"\n [type]=\"addressType.BillingAddress\"\n [selectedNawNr]=\"invoiceAddressNawNr\"\n (selectedNawNrChange)=\"invoiceAddressChange.emit($event)\"\n (addressSaved)=\"handleNewAddress(addressType.BillingAddress, $event)\"\n ></co-relation-addresses>\n </div>\n </div>\n </div>\n <div class=\"checkout-label-column\">\n <span>03</span>\n <span class=\"label-description\" [textContent]=\"'CONTACT_DETAILS' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-relation-contact-details [relation]=\"relation\"></co-relation-contact-details>\n </div>\n </div>\n <div class=\"checkout-label-column\">\n <span>04</span>\n <span class=\"label-description\" [textContent]=\"'PRIVACY_PREFERENCES' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-relation-preferences [relation]=\"relation\"></co-relation-preferences>\n </div>\n </div>\n </div>\n </co-form>\n </div>\n `,\n providers: [\n FormMasterService\n ],\n animations: [\n trigger(\"showHidePrivateRelationFields\", [\n state(\"void\", style({height: 0})),\n state(\"*\", style({height: \"*\"})),\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\n transition(\"* => void\", animate(\"200ms ease-out\"))\n ]),\n trigger(\"showHideCompanyRelationFields\", [\n state(\"void\", style({height: 0})),\n state(\"*\", style({height: \"*\"})),\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\n transition(\"* => void\", animate(\"200ms ease-out\"))\n ]),\n trigger(\"showHideSidebar\", [\n state(\"void\", style({transform: \"translateX(100%)\"})),\n state(\"*\", style({transform: \"translateX(0)\"})),\n transition(\"void <=> *\", animate(\"200ms ease-in-out\"))\n ]),\n trigger(\"showHideInvoiceAddress\", [\n state(\"void\", style({height: 0, opacity: 0})),\n state(\"*\", style({height: \"*\", opacity: 1})),\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\n transition(\"* => void\", animate(\"200ms ease-out\"))\n ])\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class CheckoutOverviewRelationEditComponent implements OnInit {\n public readonly relationKind: typeof RelationKind = RelationKind;\n public readonly icons: typeof Icon = Icon;\n public readonly addressType: typeof AddressType = AddressType;\n\n @Input()\n public set relation(value: RelationAnyType) {\n this._relation = value;\n if (this._relation) {\n if (this._relation instanceof CustomerFullObject) {\n this.customerGroup = this._relation.customerGroup;\n } else {\n this._relation.type = RelationNameKind.Company;\n }\n this.address = this._relation.getFirstAddressOrCreateNew();\n const firstActiveAddress: Address = this._relation.activeAddresses.length > 0 ? this._relation.activeAddresses[0] : undefined;\n this.deliveryAddressNawNr = firstActiveAddress ? firstActiveAddress.nawNr : 0;\n this.invoiceAddressNawNr = firstActiveAddress ? firstActiveAddress.nawNr : 0;\n }\n }\n\n public get relation(): RelationAnyType {\n return this._relation;\n }\n\n @Input()\n public relationType: RelationKind = RelationKind.Customer;\n\n @Input()\n public deliveryAddressNawNr: number;\n\n @Input()\n public invoiceAddressNawNr: number;\n\n @Output()\n public validSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public invalidSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public deliveryAddressChange: EventEmitter<number> = new EventEmitter<number>();\n\n @Output()\n public invoiceAddressChange: EventEmitter<number> = new EventEmitter<number>();\n\n @Output()\n public relationChange: EventEmitter<RelationAnyType> = new EventEmitter<RelationAnyType>();\n\n @HostBinding(\"class.co-checkout-overview-relation-edit\")\n public showClass() {\n return true;\n }\n\n private _relation: RelationAnyType = new CustomerFullObject();\n\n public address: Address;\n public customerGroup: string;\n\n public get applicationUser(): boolean {\n return this.service.applicationUser;\n }\n\n constructor(\n private _formMaster: FormMasterService,\n public service: TransactionService\n ) {\n }\n\n async ngOnInit(): Promise<void> {\n if (this._relation) {\n this.address = this._relation.getFirstAddressOrCreateNew();\n }\n }\n\n public handleCustomerGroupChange(group: string): void {\n this.customerGroup = group;\n if (this._relation instanceof CustomerFullObject) {\n this._relation.customerGroup = this.customerGroup;\n }\n }\n\n public updateRelation(rel: RelationAnyType): void {\n this._relation = rel;\n this.relationChange.emit(this._relation);\n }\n\n public submit(): boolean {\n return this._formMaster.submitSlaves();\n }\n\n public handleNewAddress(type: AddressType, address: Address): void {\n if (!address.nawNr) { // new address\n address.addressType = type;\n address.startDate = new Date();\n address.sequence = this.relation.getNextAddressSequence();\n this.relation.addresses.push(address);\n }\n }\n\n public checkSameAddress(checked: boolean): void {\n this.invoiceAddressNawNr = this.deliveryAddressNawNr;\n this.invoiceAddressChange.next(this.invoiceAddressNawNr);\n }\n\n private async _setCountryNameToAddress(address: Address): Promise<void> {\n if (address.countryId && !address.countryName) {\n const country: Country = await this.service.getCountry(address.countryId);\n address.countryName = country.description;\n }\n }\n\n}\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\nimport {Marketing} from \"@colijnit/transactionapi/build/model/marketing.bo\";\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\nimport {DeliveryOption} from \"@colijnit/transactionapi/build/model/delivery-option.bo\";\nimport {TransactionService} from \"../../../service/transaction.service\";\nimport {TextValueContainer} from \"../../../model/text-value-container\";\nimport {DictionaryService} from \"../../../service/dictionary.service\";\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\nimport {Icon} from \"../../../enum/icon.enum\";\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\nimport {Address} from \"@colijnit/relationapi/build/model/address.bo\";\nimport {GenderType} from \"@colijnit/relationapi/build/enum/gender-type.enum\";\n\n@Component({\n selector: \"co-checkout-overview-delivery-edit\",\n template: `\n <div class=\"delivery-edit-content\">\n <co-form>\n <div class=\"checkout-form-wrapper\">\n <div class=\"checkout-label-column\">\n <span>01</span>\n <span class=\"label-description\" [textContent]=\"'DELIVERY_DATA' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-transaction-header-delivery-method\n [transactionInfo]=\"transaction.transactionInfo\"\n [filterOnWizard]=\"true\"\n (deliveryMethodChange)=\"currentDeliveryMethod = $event\"\n ></co-transaction-header-delivery-method>\n </div>\n <div class=\"checkout-data-row\">\n <co-transaction-header-delivery-date class=\"header-delivery-deliverydate\"\n [transactionInfo]=\"transaction.transactionInfo\"\n ></co-transaction-header-delivery-date>\n <co-transaction-header-preferred-delivery-date class=\"header-delivery-deliverydate\"\n [transactionInfo]=\"transaction.transactionInfo\"\n ></co-transaction-header-preferred-delivery-date>\n </div>\n <div class=\"checkout-data-row\">\n <co-transaction-header-partial-delivery [transactionInfo]=\"transaction.transactionInfo\"></co-transaction-header-partial-delivery>\n </div>\n <div class=\"checkout-data-row\">\n <co-collapsible [headerTitle]=\"'ADD_DELIVERY_OPTION' | localize\" [iconData]=\"iconService.getIcon(icons.TriangleDown)\">\n <div class=\"checkout-data-row\">\n <co-transaction-header-delivery-options\n [transactionInfo]=\"transaction.transactionInfo\"\n [deliveryMethod]=\"currentDeliveryMethod\"\n ></co-transaction-header-delivery-options>\n </div>\n </co-collapsible>\n </div>\n <div class=\"checkout-data-row\">\n <co-collapsible [headerTitle]=\"'ADD_REMARK' | localize\" [iconData]=\"iconService.getIcon(icons.TriangleDown)\">\n <div class=\"checkout-data-row\">\n <co-transaction-header-remarks [transactionInfo]=\"transaction.transactionInfo\"></co-transaction-header-remarks>\n </div>\n </co-collapsible>\n </div>\n <div class=\"checkout-data-row\">\n <co-collapsible [headerTitle]=\"'ADD_REFERENCE' | localize\" [iconData]=\"iconService.getIcon(icons.TriangleDown)\">\n <div class=\"checkout-data-row\">\n <co-transaction-header-reference [transactionInfo]=\"transaction.transactionInfo\"></co-transaction-header-reference>\n </div>\n <div class=\"checkout-data-row\">\n <co-transaction-header-relation-reference [transactionInfo]=\"transaction.transactionInfo\"></co-transaction-header-relation-reference>\n </div>\n </co-collapsible>\n </div>\n<!--\n <div class=\"checkout-data-row\">\n <co-input-date [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'ASSEMBLY_DATE' | localize\"></co-input-date>\n </div>\n-->\n </div>\n <div class=\"checkout-label-column\">\n <span>02</span>\n <span class=\"label-description\" [textContent]=\"'DOWNPAYMENT' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-transaction-header-downpayment-percentage [transactionInfo]=\"transaction.transactionInfo\"></co-transaction-header-downpayment-percentage>\n <co-transaction-header-downpayment-amount [transactionInfo]=\"transaction.transactionInfo\"></co-transaction-header-downpayment-amount>\n </div>\n<!--\n <div class=\"checkout-data-row\">\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'DOWNPAYMENT_BY_BR' | localize\"></co-input-text>\n </div>\n <div class=\"checkout-data-row\">\n <co-input-text [model]=\"'NOG_NIET_GEIMPLEMENTEERD'\" [placeholder]=\"'DOWNPAYMENT_ON_DELIVERY' | localize\"></co-input-text>\n </div>\n-->\n </div>\n <div class=\"checkout-label-column\">\n <span>03</span>\n <span class=\"label-description\" [textContent]=\"'ORDER_DATA' | localize\"></span>\n </div>\n <div class=\"checkout-data-column\">\n <div class=\"checkout-data-row\">\n <co-transaction-header-branch [simple]=\"true\" [transactionInfo]=\"transaction.transactionInfo\"></co-transaction-header-branch>\n <co-transaction-header-administrative-relation [transactionInfo]=\"transaction.transactionInfo\"></co-transaction-header-administrative-relation>\n </div>\n <div class=\"checkout-data-row\">\n <span class=\"label\" [textContent]=\"'MARKETING_CODE' | localize\"></span>\n </div>\n <div class=\"checkout-data-row\">\n <co-transaction-header-marketing [transactionInfo]=\"transaction.transactionInfo\"></co-transaction-header-marketing>\n </div>\n <div class=\"checkout-data-row\">\n <span class=\"label\" [textContent]=\"'ORDER_PARAMETERS' | localize\"></span>\n </div>\n <div class=\"checkout-data-row\">\n <co-transaction-header-definitive [transactionInfo]=\"transaction.transactionInfo\"></co-transaction-header-definitive>\n </div>\n </div>\n </div>\n </co-form>\n </div>\n `,\n providers: [\n FormMasterService\n ],\n animations: [\n trigger(\"showHideInvoiceAddress\", [\n state(\"void\", style({height: 0, opacity: 0})),\n state(\"*\", style({height: \"*\", opacity: 1})),\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\n transition(\"* => void\", animate(\"200ms ease-out\"))\n ])\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class CheckoutOverviewDeliveryEditComponent implements OnInit {\n public readonly icons: typeof Icon = Icon;\n\n // @Input()\n // public deliveryOptionsRequest: SetTransactionDeliveryOptionsRequest;\n\n @Input()\n public transaction: TransactionInfoResponse;\n\n @Output()\n public validSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public invalidSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding(\"class.co-checkout-overview-delivery-edit\")\n public showClass(): boolean {\n return true;\n }\n\n // public deliveryTypes: DeliveryType[] = [\n // {code: '1', description: 'Bezorgen', icon: this.icons.DeliveryTruck, price: 89},\n // {code: '2', description: 'Bezorgen & monteren', icon: this.icons.CalendarDay, price: 119},\n // {code: '3', description: 'Meenemen', icon: this.icons.Truck},\n // ];\n public deliveryOptionList: DeliveryOption[] = [];\n public deliveryOptions: DeliveryOption[] = [];\n public deliveryOptionFields: TextValueContainer = {text: \"description\", value: \"code\"};\n public deliveryMethods: DeliveryMethod[] = [];\n public deliveryMethodFields: TextValueContainer = {text: \"description\", value: \"code\"};\n public deliveryTypeIdx: number = 0;\n\n public currentDeliveryMethod: DeliveryMethod;\n\n public changeLocationPopup: boolean = false;\n public transactionDefinitive: boolean = false;\n\n public newAddress: Address;\n public preferredDateOptions: TextValueContainer[] = [\n {text: \"NOT_AFTER\", value: \">\"},\n {text: \"NOT_BEFORE\", value: \"<\"},\n {text: \"ON_DATE\", value: \"=\"},\n ];\n public addressToEdit: Address;\n public preferredDate: Date = new Date();\n public gender: GenderType;\n public marketing: Marketing[] = [];\n public marketingFields: Object = {text: \"description\", value: \"code\"};\n public marketingCode: string;\n public assemblyCosts: number;\n public deliveryCosts: number;\n\n // TODO: Deze velden nog opnemen in Transaction!!\n public deliveryDateFinal: boolean = false;\n public assemblyDate: Date = new Date();\n public totalAssemblyTime: string = \"\";\n public dropshipment: boolean = false;\n\n public get deliveryDate(): Date {\n if (this.transaction.transactionInfo.deliveryDate === undefined) {\n this.transaction.transactionInfo.deliveryDate = new Date();\n }\n return this.transaction.transactionInfo.deliveryDate;\n }\n\n public set deliveryDate(value: Date) {\n this.transaction.transactionInfo.deliveryDate = value;\n }\n\n public get preferredDeliveryDate(): Date {\n if (this.transaction.transactionInfo.preferredDeliveryDate === undefined) {\n this.transaction.transactionInfo.preferredDeliveryDate = new Date();\n }\n return this.transaction.transactionInfo.preferredDeliveryDate;\n }\n\n public set preferredDeliveryDate(value: Date) {\n this.transaction.transactionInfo.preferredDeliveryDate = value;\n }\n\n constructor(\n private _dictionaryService: DictionaryService,\n private _formMasterService: FormMasterService,\n public service: TransactionService,\n public iconService: IconCacheService\n ) {\n }\n\n public async ngOnInit(): Promise<void> {\n this.deliveryCosts = this.calculateDeliveryCosts();\n this.assemblyCosts = this.calculateAssemblyCosts();\n this.service.getDeliveryMethods().then((methods: DeliveryMethod[]) => {\n this.deliveryMethods = methods.filter(m => m.webshop);\n });\n this.service.getDeliveryOptions().then((options: DeliveryOption[]) => {\n this.deliveryOptionList = options;\n });\n this.service.getMarketingCodes().then((marketingCodes: Marketing[]) => {\n this.marketing = marketingCodes;\n });\n }\n\n public submit(): boolean {\n return this._formMasterService.submitSlaves();\n }\n\n public async handleDeliveryMethodChange(deliveryMethod: DeliveryMethod): Promise<void> {\n this.service.updateHeaderTransactionDeliveryMethod(this.service.currentTransaction.transactionInfo.uuid, deliveryMethod.code).then(() => {\n this.deliveryOptions = this.selectDeliveryOptionsByDeliveryMethod(deliveryMethod);\n });\n // this.transaction.transactionLines.forEach((tl: TransactionLineInfo) => {\n // tl.deliveryMethodCode = deliveryMethod.code;\n // })\n // if (deliveryMethod) {\n // this.deliveryOptions = this.selectDeliveryOptionsByDeliveryMethod(deliveryMethod);\n // }\n }\n\n public setIndexDeliveryType(idx: number): void {\n this.deliveryTypeIdx = idx;\n // this.selectAddress(this.relation.addresses[idx]);\n }\n\n public selectDeliveryOptionsByDeliveryMethod(deliveryMethod: DeliveryMethod): DeliveryOption[] {\n return this.deliveryOptionList.filter(deliveryOption => deliveryMethod.deliveryOptions.indexOf(deliveryOption.code) !== -1);\n }\n\n public selectDeliveryMethodById(deliveryMethodId: string): DeliveryMethod {\n return this.deliveryMethods.find(delivery => delivery.code === deliveryMethodId);\n }\n\n public isDeliveryOptionChecked(deliveryOptionItem: DeliveryOption): boolean {\n return (this.transaction.transactionInfo.deliveryOptions.indexOf(deliveryOptionItem.code, 0) === 0);\n }\n\n public changePreferredDeliveryDate2(preferredDateOption: string): void {\n this.transaction.transactionInfo.preferredDeliveryDate2 = preferredDateOption;\n }\n\n public onMarketingCodeChange(marketingCode: string): void {\n this.transaction.transactionInfo.marketingCode = marketingCode;\n }\n\n public onChangeLocationCancelClick(): void {\n this.changeLocationPopup = false;\n }\n\n public async handleTransactionDefinitive(definitive: boolean): Promise<void> {\n const success: boolean = await this.service.updateHeaderTransactionDefinitive(this.transaction.transactionInfo.uuid, definitive);\n if (!success) {\n this.transactionDefinitive = !definitive;\n }\n }\n\n private calculateDeliveryCosts(): number {\n return 0;\n }\n\n private calculateAssemblyCosts(): number {\n return 0;\n }\n}\n","import {Component, EventEmitter, Input, Output} from \"@angular/core\";\nimport {TransactionService} from \"../../../service/transaction.service\";\nimport {Address} from \"@colijnit/relationapi/build/model/address.bo\";\n\n@Component({\n selector: \"checkout-overview-delivery-address\",\n template: `\n <div>\n <div>\n <label [textContent]=\"label | localize\"\n class=\"checkout-label-h3\"\n ></label>\n </div>\n\n <div (click)=\"onClick()\">\n <div>\n {{ address?.streetName }} {{ address?.houseNo}} {{ address?.houseNoAddition}}\n </div>\n <div>\n {{ address?.postalCode }} {{ address?.city}}\n </div>\n <div>\n {{ address?.countryName }}\n </div>\n </div>\n </div>\n `,\n styleUrls: [\n \"./checkout-overview-delivery-address.component.scss\"\n ]\n})\nexport class CheckoutOverviewDeliveryAddressComponent {\n\n @Input()\n public label: string;\n\n @Input()\n public address: Address;\n\n @Output()\n public editRequest: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n public service: TransactionService\n ) {}\n\n public onClick(): void {\n this.editRequest.emit();\n }\n}\n","import {Component, EventEmitter, OnInit, Output, ViewChild} from \"@angular/core\";\nimport {FormComponent} from \"@colijnit/corecomponents_v12\";\n\n@Component({\n selector: \"checkout-login\",\n template: `\n <h1>{{ \"LOGIN\" | localize}}</h1>\n <div class=\"users\">\n <co-form #loginForm (validSubmit)=\"login()\">\n <div class=\"existing-user\">\n <p><strong>{{ \"EXISTING_CUSTOMERS\" | localize }}</strong></p>\n <co-input-text\n [(model)]=\"userEmailAddress\"\n [placeholder]=\"'EMAIL_ADDRESS' | localize \"\n [type]=\"'email'\"\n required\n ></co-input-text>\n\n <co-input-text\n [(model)]=\"userPassword\"\n [placeholder]=\"'PASSWORD' | localize \"\n [type]=\"'password'\"\n required\n ></co-input-text>\n <div class=\"login-button\">\n <co-button\n [label]=\"'LOGIN' | localize\" (click)=\"submit()\"\n ></co-button>\n </div>\n </div>\n </co-form>\n\n <co-form #accountForm (validSubmit)=\"accountLogin()\">\n <div class=\"new-user\">\n <p class=\"boxedbottom\">\n <strong>{{ \"NEW_AT\" | localize}}{{company}}</strong>\n <br/>{{ \"CREATE_ACCOUNT_IN_2_MIN\" | localize }}\n </p>\n <div class=\"new-user-e-mail\">\n <co-input-text\n [(model)]=\"userNewEmailAddress\"\n [placeholder]=\"'EMAIL_ADDRESS' | localize \"\n [type]=\"'email'\"\n required\n ></co-input-text>\n </div>\n <div class=\"login-button\">\n <co-button\n [label]=\"'CREATE_ACCOUNT' | localize\"\n (click)=\"createAccountSubmit()\"\n ></co-button>\n <co-button\n [label]=\"'CONTINUE_WITHOUT_ACCOUNT' | localize\"\n (click)=\"continueSubmit()\"\n ></co-button>\n </div>\n </div>\n </co-form>\n </div>\n `,\n styleUrls: [\"./checkout-login.component.scss\"]\n})\nexport class CheckoutLoginComponent implements OnInit {\n @ViewChild(\"loginForm\")\n public loginForm: FormComponent;\n\n @ViewChild(\"accountForm\")\n public accountForm: FormComponent;\n\n @Output()\n public createNewAccountSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public continueWithoutSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public loginSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n public userEmailAddress: string = \"\";\n public userNewEmailAddress: string = \"\";\n public userPassword: string = \"\";\n public continueWithoutAccount: boolean = false;\n\n public company: string = \"<bedrijf>\";\n constructor(\n ) { }\n\n ngOnInit(): void {\n }\n\n public login(): void {\n this.loginSubmit.emit();\n }\n\n public submit(): void {\n this.loginForm.submit();\n }\n\n public createAccountSubmit(): void {\n this.accountForm.submit();\n }\n\n public continueSubmit(): void {\n this.continueWithoutAccount = true;\n this.accountForm.submit();\n }\n\n public accountLogin(): void {\n if (this.continueWithoutAccount) {\n this.continueWithoutSubmit.emit();\n } else {\n this.createNewAccountSubmit.emit();\n }\n }\n}\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\n\n@Component({\n selector: \"co-image-display\",\n template: `\n <img class=\"image\" *ngIf=\"!!model\" [src]=\"model\">\n <div class=\"no-image\" *ngIf=\"!model\">\n <div class=\"img\"></div>\n <div class=\"no-image-label\" [textContent]=\"label | localize\"></div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class ImageDisplayComponent {\n // Image data URI string. Meant for direct use in [src] attribute of an <img> tag.\n @Input()\n public model: string;\n\n // The (localized) text to show when there is no image. Defaults to 'NO_IMAGE'.\n @Input()\n public label: string = \"NO_IMAGE\";\n\n @HostBinding('class.co-image-display')\n public showClass() {\n return true;\n }\n}\n","import {Component, HostBinding, Input, OnDestroy} from \"@angular/core\";\nimport {SafeHtml} from \"@angular/platform-browser\";\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\nimport {Icon} from \"../../../enum/icon.enum\";\n\n@Component({\n selector: \"icon\",\n template: \"\",\n styleUrls: [\n \"./icon.component.scss\"\n ]\n})\nexport class IconComponent implements OnDestroy {\n\n @Input()\n public set icon(icon: Icon) {\n this._setSvg(icon);\n }\n\n @HostBinding(\"innerHtml\")\n public svg?: SafeHtml;\n\n constructor(private _iconCacheService: IconCacheService) {\n }\n\n ngOnDestroy(): void {\n this.svg = undefined;\n }\n\n private _setSvg(icon: Icon): void {\n this.svg = this._iconCacheService.getIcon(icon);\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\r\nimport {TransactionConnectorService} from \"../../../service/transaction-connector.service\";\r\nimport {CustomerGroup} from \"@colijnit/transactionapi/build/model/customer-group.bo\";\r\n\r\n@Component({\r\n selector: \"relation-customer-groups\",\r\n template: `\r\n <co-input-combo-box [model]=\"model\"\r\n [readonly]=\"readonly\"\r\n (modelChange)=\"modelChange.emit($event)\"\r\n [collection]=\"customerGroups\"\r\n [fields]=\"fields\"\r\n [placeholder]=\"'CUSTOMER_GROUP' | localize\"\r\n [required]=\"required\"\r\n ></co-input-combo-box>\r\n `,\r\n styleUrls: [\r\n './relation-customer-groups.component.scss'\r\n ]\r\n})\r\nexport class CustomerGroupsComponent implements OnInit {\r\n\r\n @Input()\r\n public readonly: boolean = false;\r\n\r\n @Input()\r\n public required: boolean = false;\r\n\r\n @Input()\r\n public model: string;\r\n\r\n @Output()\r\n public modelChange: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n public customerGroups: CustomerGroup[] = [];\r\n public fields: Object = { text: \"naam\", value: \"groepsnummer\" };\r\n\r\n public constructor(\r\n private _connector: TransactionConnectorService\r\n ) {}\r\n\r\n async ngOnInit(): Promise<void> {\r\n this._connector.getCustomerGroups().then((groups: CustomerGroup[]) => {\r\n this.customerGroups = groups;\r\n });\r\n }\r\n}\r\n","import {Component, Input} from \"@angular/core\";\nimport {StockStatus} from \"@colijnit/transactionapi/build/enum/refcode/stock-status.enum\";\n\n@Component({\n selector: \"stock-status-indicator\",\n template: `\n <div [class]=\"stockClass\">\n <div class=\"square-1\"></div>\n <div class=\"square-2\"></div>\n <div class=\"square-3\"></div>\n </div>\n `,\n styleUrls: [\n \"./stock-status-indicator.component.scss\"\n ]\n})\n// Component that visually shows a stock status with three colored boxes.\nexport class StockStatusIndicatorComponent {\n @Input()\n public model: StockStatus;\n\n public get stockClass(): string {\n return this.model;\n }\n}\n","// A pipe for appending strings to other strings in view templates.\r\nimport {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\n@Pipe({name: \"append\"})\r\nexport class AppendPipe implements PipeTransform {\r\n transform(value: any, append?: any): string {\r\n if (!value && typeof value !== 'number') {\r\n return \"\";\r\n }\r\n\r\n if (!append && typeof append !== 'number') {\r\n return value;\r\n }\r\n\r\n return value + append;\r\n }\r\n}\r\n","// Time size types, as in 'days' or 'weeks' or 'months'.\r\nexport enum TimeSizeType {\r\n Hours = \"hours\",\r\n Days = \"days\",\r\n Weeks = \"weeks\",\r\n Months = \"months\",\r\n Years = \"years\"\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DictionaryService} from \"../service/dictionary.service\";\r\nimport {TimeSizeType} from \"../enum/time-size.type\";\r\nimport {DateUtils} from \"@colijnit/ioneconnector/build/utils/date-utils\";\r\n\r\n@Pipe({name: \"dateDuration\", pure: false})\r\nexport class DateDurationPipe implements PipeTransform {\r\n\r\n constructor(protected _dictionary: DictionaryService) {\r\n }\r\n\r\n // Transforms some date in the future to a duration string, e.g. \"x days\" or \"x weeks\" (from now)\r\n transform(value: Date, timeSize: TimeSizeType = TimeSizeType.Days): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n const deltaDays: number = Math.round(DateUtils.GetDaysFromNow(value));\r\n\r\n if (deltaDays === 0) {\r\n return this._dictionary.get(\"NOW\");\r\n } else if (timeSize === TimeSizeType.Days) {\r\n return this.transformByDeltaDays(deltaDays);\r\n } else if (timeSize === TimeSizeType.Weeks) {\r\n return this.transformByDeltaWeeks(deltaDays);\r\n } else {\r\n return this.transformByDeltaDays(deltaDays);\r\n }\r\n }\r\n\r\n // @returns like \"1 day\" or \"5 days\"\r\n public transformByDeltaDays(deltaDays: number): string {\r\n let daySuffix: string;\r\n if (deltaDays === 1) {\r\n daySuffix = this._dictionary.get(\"DAY\", false);\r\n } else {\r\n daySuffix = this._dictionary.get(\"DAYS\", false);\r\n }\r\n return deltaDays + \" \" + daySuffix;\r\n }\r\n\r\n // @returns like \"1 week\" or \"5 weeks\"\r\n public transformByDeltaWeeks(deltaWeeks: number): string {\r\n let weeksSuffix: string;\r\n if (deltaWeeks === 1) {\r\n weeksSuffix = this._dictionary.get(\"WEEK\", false);\r\n } else {\r\n weeksSuffix = this._dictionary.get(\"WEEKS\", false);\r\n }\r\n return deltaWeeks + \" \" + weeksSuffix;\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DateDurationPipe} from \"./date-duration.pipe\";\r\nimport {DictionaryService} from \"../service/dictionary.service\";\r\nimport {TimeSizeType} from \"../enum/time-size.type\";\r\nimport {DateUtils} from \"@colijnit/ioneconnector/build/utils/date-utils\";\r\n\r\n@Pipe({name: \"deliveryTime\", pure: false})\r\nexport class DeliveryTimePipe extends DateDurationPipe implements PipeTransform {\r\n\r\n constructor(_dictionaryService: DictionaryService) {\r\n super(_dictionaryService);\r\n }\r\n\r\n /**\r\n * Transforms some Date in the future to a duration string such as \"x days\" or \"x months\" (from now).\r\n * Outputs 'directly available' if 0 days diff.\r\n */\r\n transform(value: Date, timeSize: TimeSizeType = TimeSizeType.Days): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n if (typeof value === 'number') {\r\n value = new Date(value);\r\n }\r\n\r\n const deltaDays: number = Math.round(DateUtils.GetDaysFromNow(value));\r\n\r\n if (deltaDays <= 0) {\r\n return this._dictionary.get(\"DELIVERY_DIRECT\");\r\n } else {\r\n return super.transform(value, timeSize);\r\n }\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DictionaryService} from \"../service/dictionary.service\";\r\n\r\n@Pipe({\r\n name: \"localize\"\r\n})\r\n// A pipe for localizing string values in view templates.\r\nexport class LocalizePipe implements PipeTransform {\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention, no-underscore-dangle, id-blacklist, id-match\r\n constructor(private _dictionaryService: DictionaryService) {}\r\n\r\n transform(value: string, upperCaseFirst: boolean = true, replace: string|string[] = []): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n replace = replace ? replace : [];\r\n if (!Array.isArray(replace)) {\r\n replace = [replace];\r\n }\r\n return this._dictionaryService.get(value, upperCaseFirst, ...replace);\r\n }\r\n}\r\n","/**\r\n * A pipe for transforming strings or numbers to currency formatted strings for display as a price text, e.g. the number 1300.82 to \"€ 1,300.82\"\r\n * or the string \"9000\" to \"€ 9000,-\"\r\n */\r\nimport {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {NumberUtils} from \"@colijnit/ioneconnector/build/utils/number-utils\";\r\n\r\n@Pipe({name: \"coCurrency\"})\r\nexport class CoCurrencyPipe implements PipeTransform {\r\n private static readonly _CurrencySymbol: string = \"€\";\r\n private static readonly _WholeNumberedPriceSuffix: string = \",-\";\r\n\r\n transform(value: any, allowZero: boolean = false): string {\r\n if (value === null || value === undefined) {\r\n if (allowZero) {\r\n value = 0;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n if (value === 0 && !allowZero) {\r\n return \"\";\r\n }\r\n let suffix: string = \"\";\r\n const valueAsFloat: number = NumberUtils.ParseFloat(value, 2);\r\n if (NumberUtils.IsNaN(valueAsFloat)) {\r\n return \"\";\r\n }\r\n // append ,- if integer\r\n if (NumberUtils.IsInteger(valueAsFloat)) {\r\n suffix = CoCurrencyPipe._WholeNumberedPriceSuffix;\r\n }\r\n let valueAsString: string = valueAsFloat.toString();\r\n // add extra zero if price has only one decimal, something like '100.2'\r\n if (valueAsString.indexOf(\".\") > -1 && valueAsString.split(\".\")[1].length === 1) {\r\n valueAsString += \"0\";\r\n }\r\n valueAsString = NumberUtils.AddThousandsCommasTo(valueAsString);\r\n // switch '.' and ',' characters (Dutch number view .. hard coded format for now)\r\n valueAsString = valueAsString.replace(\",\", \"#\");\r\n valueAsString = valueAsString.replace(\".\", \",\");\r\n valueAsString = valueAsString.replace(\"#\", \".\");\r\n return CoCurrencyPipe._CurrencySymbol + \" \" + valueAsString + suffix;\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DomSanitizer, SafeStyle} from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: \"safeStyle\"\r\n})\r\nexport class SafeStylePipe implements PipeTransform {\r\n\r\n constructor(private _sanitizer: DomSanitizer) {}\r\n\r\n transform(value: string): SafeStyle | any {\r\n return this._sanitizer.bypassSecurityTrustStyle(value);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {DomSanitizer, SafeStyle} from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: \"safeHtml\"\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private _sanitizer: DomSanitizer) {}\r\n\r\n transform(value: string): SafeStyle | any {\r\n return this._sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AppendPipe} from \"./append.pipe\";\r\nimport {DeliveryTimePipe} from \"./delivery-time.pipe\";\r\nimport {DateDurationPipe} from \"./date-duration.pipe\";\r\nimport {LocalizePipe} from \"./localize.pipe\";\r\nimport {CoCurrencyPipe} from \"./co-currency.pipe\";\r\nimport {SafeStylePipe} from \"./safe-style.pipe\";\r\nimport {SafeHtmlPipe} from \"./safe-html.pipe\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n AppendPipe,\r\n DeliveryTimePipe,\r\n DateDurationPipe,\r\n LocalizePipe,\r\n CoCurrencyPipe,\r\n SafeStylePipe,\r\n SafeHtmlPipe\r\n ],\r\n exports: [\r\n LocalizePipe,\r\n CoCurrencyPipe,\r\n AppendPipe,\r\n DeliveryTimePipe,\r\n SafeStylePipe,\r\n SafeHtmlPipe,\r\n CoCurrencyPipe\r\n ]\r\n})\r\nexport class PipeModule { }\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ConfirmationDialogComponent} from \"./confirmation-dialog.component\";\r\nimport {ButtonModule, CoDialogModule, CollapsibleModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n ButtonModule,\r\n PipeModule,\r\n CollapsibleModule\r\n ],\r\n declarations: [\r\n ConfirmationDialogComponent\r\n ],\r\n exports: [\r\n ConfirmationDialogComponent\r\n ]\r\n})\r\nexport class ConfirmationDialogModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ButtonModule, CoDialogModule, InputCheckboxModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CharacteristicAnswerComponent} from \"./characteristic-answer.component\";\r\nimport {PipeModule} from \"../../../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ButtonModule,\r\n CoDialogModule,\r\n InputCheckboxModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n CharacteristicAnswerComponent\r\n ],\r\n exports: [\r\n CharacteristicAnswerComponent\r\n ]\r\n})\r\nexport class CharacteristicAnswerModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {AppPopupButtonType} from \"../../../enum/app-popup-button-type.enum\";\r\nimport {DialogBaseComponent} from \"../../dialog-base.component\";\r\nimport {Warehouse} from \"@colijnit/transactionapi/build/model/warehouse.bo\";\r\nimport {TransactionService} from \"../../../../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-warehouse\",\r\n template: `\r\n <co-dialog [showCloseIcon]=\"false\" [modal]=\"true\" [headerTemplate]=\"headerTemplate\" [footerTemplate]=\"footerTemplate\">\r\n <div class=\"co-transaction-default-popup-row\" *ngFor=\"let model of viewModels\">\r\n <co-input-checkbox [model]=\"model.checked\" [label]=\"model.text\" (click)=\"handleChecked($event, model.value)\"></co-input-checkbox>\r\n </div>\r\n </co-dialog>\r\n <ng-template #headerTemplate>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"'WAREHOUSE' | localize\"></div>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick()\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class WarehouseComponent extends DialogBaseComponent implements OnInit {\r\n @Output()\r\n public readonly okClick: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-warehouse\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public collection: Warehouse[] = [];\r\n public viewModels: {value: number, text: string, checked: boolean}[] = [];\r\n\r\n private _value: number;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._transactionService.getWarehouses().then((warehouses: Warehouse[]) => {\r\n this.collection = warehouses.slice();\r\n this.collection.forEach((d, index) => {\r\n this.viewModels.push({value: d.warehouseNo, text: d.description, checked: index === 0});\r\n })\r\n })\r\n }\r\n\r\n public handleChecked(event: MouseEvent, choice: number): void {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n this._value = choice;\r\n this.viewModels.forEach(v => {\r\n v.checked = v.value === choice;\r\n })\r\n }\r\n\r\n public handleOkClick(): void {\r\n this.onClose(AppPopupButtonType.Ok, this._value);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {WarehouseComponent} from \"./warehouse.component\";\r\nimport {ButtonModule, CoDialogModule, InputCheckboxModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n InputCheckboxModule,\r\n InputTextModule,\r\n ButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n WarehouseComponent\r\n ],\r\n exports: [\r\n WarehouseComponent\r\n ]\r\n})\r\nexport class WarehouseModule {\r\n}\r\n","// Import the core angular services.\r\nimport {Directive, ElementRef, OnDestroy} from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[lazyRenderMaster]'\r\n})\r\nexport class LazyRenderMasterDirective implements OnDestroy {\r\n\r\n private _mapping: Map<Element, Function>;\r\n private _observer: IntersectionObserver;\r\n\r\n constructor(private _element: ElementRef) {\r\n this._mapping = new Map();\r\n this._observer = new IntersectionObserver(\r\n (entries: IntersectionObserverEntry[]) => {\r\n for (const entry of entries) {\r\n const callback = this._mapping.get(entry.target);\r\n if (callback) {\r\n callback(entry.isIntersecting);\r\n }\r\n }\r\n },\r\n {\r\n // This classifies the \"intersection\" as being a bit outside the\r\n // viewport. The intent here is give the elements a little time to react\r\n // to the change before the element is actually visible to the user.\r\n // root: this._element.nativeElement,\r\n rootMargin: '700px 0px 700px 0px'\r\n }\r\n );\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._mapping.clear();\r\n this._observer.disconnect();\r\n }\r\n\r\n public add(element: HTMLElement, callback: Function): void {\r\n this._mapping.set(element, callback);\r\n this._observer.observe(element);\r\n }\r\n\r\n public remove(element: HTMLElement): void {\r\n this._mapping.delete(element);\r\n this._observer.unobserve(element);\r\n }\r\n}\r\n","import {Directive, ElementRef, OnDestroy, OnInit} from \"@angular/core\";\r\nimport {LazyRenderMasterDirective} from \"./lazy-render-master.directive\";\r\n\r\n@Directive({\r\n selector: '[lazyRender]',\r\n exportAs: 'lazyRender'\r\n})\r\nexport class LazyRenderDirective implements OnDestroy, OnInit {\r\n\r\n public isShowing: boolean;\r\n\r\n private _elementRef: ElementRef;\r\n private _parent: LazyRenderMasterDirective;\r\n\r\n constructor(\r\n parent: LazyRenderMasterDirective,\r\n elementRef: ElementRef\r\n ) {\r\n this._parent = parent;\r\n this._elementRef = elementRef;\r\n this.isShowing = false;\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._parent.remove(this._elementRef.nativeElement);\r\n this._elementRef = undefined;\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._parent.add(\r\n this._elementRef.nativeElement,\r\n (isIntersecting: boolean) => {\r\n this.isShowing = isIntersecting;\r\n }\r\n );\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {ImageDisplayComponent} from \"./image-display/image-display.component\";\nimport {IconComponent} from \"./icon/icon.component\";\nimport {CustomerGroupsComponent} from \"./relation/customer-groups.component\";\nimport {ButtonModule, CoDialogModule, InputCheckboxModule, InputComboBoxModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\nimport {StockStatusIndicatorComponent} from \"./stock-status-indicator/stock-status-indicator.component\";\nimport {ConfirmationDialogModule} from \"../confirmation-dialog/confirmation-dialog.module\";\nimport {PipeModule} from \"../../pipe/pipe.module\";\nimport {CharacteristicAnswerModule} from \"./base/components/characteristic-answer/characteristic-answer.module\";\nimport {WarehouseModule} from \"./base/components/warehouse/warehouse.module\";\nimport {LazyRenderMasterDirective} from \"./directive/lazy-render-master.directive\";\nimport {LazyRenderDirective} from \"./directive/lazy-render.directive\";\n\n@NgModule({\n imports: [\n CommonModule,\n InputComboBoxModule,\n CoDialogModule,\n ButtonModule,\n ConfirmationDialogModule,\n PipeModule,\n InputTextModule,\n InputCheckboxModule,\n CharacteristicAnswerModule,\n WarehouseModule\n ],\n declarations: [\n ImageDisplayComponent,\n IconComponent,\n CustomerGroupsComponent,\n StockStatusIndicatorComponent,\n LazyRenderMasterDirective,\n LazyRenderDirective\n ],\n exports: [\n ImageDisplayComponent,\n IconComponent,\n CustomerGroupsComponent,\n StockStatusIndicatorComponent,\n LazyRenderMasterDirective,\n LazyRenderDirective\n ]\n})\nexport class CoreModule { }\n","import {Directive, EventEmitter, Input, Output} from \"@angular/core\";\r\nimport {NULL_RELATION_OBJECT} from \"@colijnit/relationapi/build/model/nul-relation-object\";\r\nimport {CustomerFullObject} from \"@colijnit/relationapi/build/model/customer-full-object.bo\";\r\nimport {RelationAnyType} from \"@colijnit/relationapi/build/model/relation-any-type\";\r\nimport {RelationKind} from \"@colijnit/relationapi/build/enum/relation-kind.enum\";\r\n\r\n@Directive()\r\nexport abstract class RelationBaseComponent {\r\n @Input()\r\n public set relation(value: RelationAnyType) {\r\n if (value) {\r\n this._relation = value;\r\n this.relationSet();\r\n }\r\n }\r\n\r\n public get relation(): RelationAnyType {\r\n return this._relation;\r\n }\r\n\r\n @Input()\r\n public relationType: RelationKind = RelationKind.Customer;\r\n\r\n @Output()\r\n public relationChange: EventEmitter<RelationAnyType> = new EventEmitter<RelationAnyType>();\r\n\r\n public get relationAsCustomer(): CustomerFullObject {\r\n return this._relation && this._relation as CustomerFullObject;\r\n }\r\n\r\n private _relation: RelationAnyType = NULL_RELATION_OBJECT;\r\n\r\n // overridden by descendant classes\r\n protected relationSet(): void {\r\n\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {RelationBaseComponent} from \"../relation-base.component\";\r\nimport {Address} from \"@colijnit/relationapi/build/model/address.bo\";\r\nimport {BusinessObjectFactory} from \"@colijnit/ioneconnector/build/factory/business-object-factory\";\r\nimport {AddressType} from \"@colijnit/relationapi/build/enum/address-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-relation-address-select\",\r\n template: `\r\n <div class=\"relation-address-content\" #scrollContainer>\r\n <co-relation-address-tile *ngFor=\"let address of collection; let index = index\"\r\n [address]=\"address\"\r\n [selected]=\"index === selectedIdx\"\r\n (click)=\"selectedIdx = index\">\r\n </co-relation-address-tile>\r\n <co-relation-address-tile *ngIf=\"showAdd\" [actAsAddTile]=\"true\" (addAddressClicked)=\"createAddress()\"></co-relation-address-tile>\r\n <div class=\"relation-address-navigate left\" *ngIf=\"showNavigateLeft\" @showHideNavigationButton>\r\n <icon [icon]=\"icons.ArrowPointLeft\"></icon>\r\n </div>\r\n <div class=\"relation-address-navigate right\" *ngIf=\"showNavigateRight\" @showHideNavigationButton>\r\n <icon [icon]=\"icons.ArrowPointRight\"></icon>\r\n </div>\r\n </div>\r\n <div class=\"relation-address-change\">\r\n <icon class=\"relation-address-icon\" [icon]=\"icons.ArrowPointRight\"></icon>\r\n <div [textContent]=\"'Wijzig adres'\" (click)=\"editAddress()\"></div>\r\n </div>\r\n <div class=\"relation-address-select-button-wrapper\">\r\n <co-button [label]=\"'SAVE' | localize\" (click)=\"selectAddress()\"></co-button>\r\n <co-button [label]=\"'CANCEL' | localize\" (click)=\"cancelClick.emit()\"></co-button>\r\n </div>\r\n <co-dialog *ngIf=\"showDialog\">\r\n <co-relation-address\r\n [relation]=\"relation\"\r\n ></co-relation-address>\r\n </co-dialog>\r\n `,\r\n providers: [\r\n FormMasterService\r\n ],\r\n animations: [\r\n trigger(\"showHideNavigationButton\", [\r\n state(\"void\", style({opacity: 0})),\r\n state(\"*\", style({opacity: 1})),\r\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\r\n transition(\"* => void\", animate(\"200ms ease-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelationAddressSelectComponent extends RelationBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild('scrollContainer', { read: ElementRef }) set content(content) {\r\n if (content) {\r\n this.scrollContainer = content;\r\n this._initObserver();\r\n }\r\n }\r\n\r\n @HostBinding(\"class.co-relation-address-select\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @Input()\r\n public collection: Address[] = [];\r\n\r\n @Input()\r\n public showAdd: boolean = true;\r\n\r\n @Output()\r\n public addressAdded: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n @Output()\r\n public addressUpdated: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n @Output()\r\n public addressSelected: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public selectedIdx: number = 0;\r\n\r\n public addressToEdit: Address;\r\n public showDialog: boolean = false;\r\n public scrollContainer: ElementRef;\r\n public observer: IntersectionObserver;\r\n public showNavigateLeft: boolean = true;\r\n public showNavigateRight: boolean = true;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n constructor(\r\n private _formMasterService: FormMasterService\r\n ) {\r\n super();\r\n }\r\n\r\n public selectAddress(): void {\r\n this.addressSelected.next(this.collection[this.selectedIdx]);\r\n }\r\n\r\n public createAddress(): void {\r\n this.addressToEdit = new Address();\r\n this.addressToEdit.addressType = AddressType.DeliveryAddress;\r\n this.showDialog = true;\r\n }\r\n\r\n public saveAddress(address: Address): void {\r\n if (this._formMasterService.submitSlaves()) {\r\n if (address.getId()) {\r\n this.collection[this.selectedIdx] = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, address);\r\n } else {\r\n this.collection.push(address);\r\n }\r\n this.showDialog = false;\r\n }\r\n }\r\n\r\n public editAddress(): void {\r\n const address: Address = this.collection[this.selectedIdx];\r\n if (address) {\r\n this.addressToEdit = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, address);\r\n this.showDialog = true;\r\n }\r\n }\r\n\r\n private _initObserver(): void {\r\n if (this.scrollContainer && this.scrollContainer.nativeElement) {\r\n const intersectionOptions = {\r\n root: null,\r\n rootMargin: '0px',\r\n threshold: 1.0\r\n };\r\n this.observer = new IntersectionObserver(this._intersectionCallback, intersectionOptions);\r\n this.observer.observe(this.scrollContainer.nativeElement);\r\n }\r\n }\r\n\r\n private _intersectionCallback = (entries, observer) => {\r\n const entry = entries[0];\r\n if (entry.intersectionRatio < 1) {\r\n this.showNavigateRight = true;\r\n } else {\r\n this._hideButtons();\r\n }\r\n }\r\n\r\n private _hideButtons(): void {\r\n this.showNavigateLeft = false;\r\n this.showNavigateRight = false;\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {TransactionConnectorService} from \"../../../service/transaction-connector.service\";\nimport {GetPostalCodeRetrievalOutputParams} from \"@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params\";\nimport {DictionaryService} from \"../../../service/dictionary.service\";\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\nimport {RelationBaseComponent} from \"../relation-base.component\";\nimport {Address} from \"@colijnit/relationapi/build/model/address.bo\";\nimport {Country} from \"@colijnit/transactionapi/build/model/country.bo\";\nimport {isNill} from \"@colijnit/ioneconnector/build/utils/function/is-nill.function\";\nimport {StringUtils} from \"@colijnit/ioneconnector/build/utils/string-utils\";\n\n@Component({\n selector: \"co-relation-address\",\n template: `\n <label *ngIf=label [textContent]=\"label | localize\"\n class=\"checkout-label-h3\"\n ></label>\n <div class=\"relation-address-data-row default\">\n <co-input-combo-box [(model)]=\"address.countryId\"\n [collection]=\"countries\"\n [fields]=\"fields\"\n [placeholder]=\"'COUNTRY'| localize\"\n [required]=\"true\"\n ></co-input-combo-box>\n </div>\n <div class=\"relation-address-data-row default\">\n <co-input-text [(model)]=\"address.postalCode\"\n [placeholder]=\"'POSTAL_CODE' | localize\"\n (blur)=\"checkForPostalCodeCheckError()\"\n required\n ></co-input-text>\n <co-input-text class=\"default-width\"\n [(model)]=\"address.houseNo\"\n [placeholder]=\"'HOUSE_NO' | localize\"\n (blur)=\"checkForPostalCodeCheckError()\"\n (modelChange)=\"changeHouseNo()\"\n required\n ></co-input-text>\n <co-input-text [(model)]=\"address.houseNoAddition\"\n [placeholder]=\"'HOUSE_NO_ADDITION' | localize\"\n ></co-input-text>\n </div>\n <div class=\"relation-address-data-row default\">\n <co-input-text [(model)]=\"address.streetName\" [placeholder]=\"'STREET' | localize\" required></co-input-text>\n </div>\n <div class=\"relation-address-data-row default\">\n <co-input-text [(model)]=\"address.city\" [placeholder]=\"'CITY' | localize\" required></co-input-text>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class RelationAddressComponent extends RelationBaseComponent implements OnInit {\n @Input()\n public address: Address = new Address();\n\n @Input()\n public label: string;\n\n @Output()\n public addressChange: EventEmitter<Address> = new EventEmitter<Address>();\n\n @HostBinding(\"class.co-relation-address\")\n public showClass(): boolean {\n return true;\n }\n\n public countries: Country[] = [];\n public fields: Object = {text: \"description\", value: \"code\"};\n\n public postalCodeCheckErrorMessage: string = \"\";\n private _prevPostalCodeForCheck: string = \"\";\n private _prevHouseNoForCheck: number;\n\n public constructor(\n private _dictionary: DictionaryService,\n private _connector: TransactionConnectorService,\n private _formMasterService: FormMasterService\n ) {\n super();\n }\n\n async ngOnInit(): Promise<void> {\n this._connector.getCountries().then((countries: Country[]) => {\n this.countries = countries;\n });\n }\n\n public async checkForPostalCodeCheckError(): Promise<void> {\n if (!this.address.postalCode || isNill(this.address.houseNo)) {\n this.postalCodeCheckErrorMessage = \"\";\n return;\n }\n\n if (this._prevPostalCodeForCheck !== this.address.postalCode || this._prevHouseNoForCheck !== this.address.houseNo) {\n this._prevPostalCodeForCheck = this.address.postalCode;\n this._prevHouseNoForCheck = this.address.houseNo;\n const postalCodeResponse: GetPostalCodeRetrievalOutputParams = await this._connector.getPostalCodeRetrieval((this.address.postalCode ? this.address.postalCode : \"\"),\n StringUtils.ParseString(this.address.houseNo));\n if (postalCodeResponse && postalCodeResponse.isBadAddress) {\n this.postalCodeCheckErrorMessage = this._dictionary.get(\"UNKNOWN_ADDRESS_CHECK_IT\");\n } else {\n this.postalCodeCheckErrorMessage = \"\";\n this.address.streetName = postalCodeResponse.street;\n this.address.city = postalCodeResponse.city;\n }\n }\n }\n\n public changeHouseNo(): void {\n this.address.houseNo = Number(this.address.houseNo);\n }\n\n}\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationAddressComponent} from \"./relation-address.component\";\r\nimport {ButtonModule, FormModule, InputComboBoxModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputComboBoxModule,\r\n InputTextModule,\r\n CoreModule,\r\n FormModule,\r\n ButtonModule,\r\n PipeModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n RelationAddressComponent\r\n ],\r\n exports: [\r\n RelationAddressComponent\r\n ]\r\n})\r\nexport class RelationAddressModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {Address} from \"@colijnit/relationapi/build/model/address.bo\";\r\n\r\n@Component({\r\n selector: \"co-relation-address-tile\",\r\n template: `\r\n <ng-container *ngIf=\"!actAsAddTile\">\r\n <co-tile [selected]=\"selected\" (selectedChange)=\"handleSelectedChange(address)\">\r\n <div class=\"relation-content-wrapper\">\r\n <span class=\"relation-address-type\" [textContent]=\"address.displayType | localize\"></span>\r\n <span class=\"relation-address-name\" [textContent]=\"address.addressName\"></span>\r\n <span class=\"relation-address-address\" [textContent]=\"address.displayAddress\"></span>\r\n <span class=\"relation-address-postal\" [textContent]=\"address.displayPostal\"></span>\r\n <span class=\"relation-address-country\" [textContent]=\"address.displayCountry\"></span>\r\n </div>\r\n <div class=\"relation-address-edit\" (click)=\"handleEditAddressClick($event)\">\r\n <icon class=\"relation-address-edit-icon\" [icon]=\"icons.EditPencil\"></icon>\r\n </div>\r\n </co-tile>\r\n </ng-container>\r\n <ng-container *ngIf=\"actAsAddTile\">\r\n <co-tile (click)=\"addAddressClicked.emit()\">\r\n <div class=\"relation-content-wrapper\">\r\n <icon class=\"relation-address-icon\" [icon]=\"icons.PlusRound\"></icon>\r\n <span [textContent]=\"'ADDRESS_ADD' | localize\"></span>\r\n </div>\r\n </co-tile>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelationAddressTileComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding(\"class.co-relation-address-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @Input()\r\n public address: Address;\r\n\r\n @Input()\r\n public actAsAddTile: boolean = false;\r\n\r\n @Input()\r\n public selected: boolean = false;\r\n\r\n @Output()\r\n public selectedChange: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n @Output()\r\n public addAddressClicked: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public editAddressClicked: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n public handleEditAddressClick(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n event.stopImmediatePropagation();\r\n this.editAddressClicked.next(this.address);\r\n }\r\n\r\n public handleSelectedChange(address: Address): void {\r\n this.selected = true;\r\n this.selectedChange.emit(address);\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-tile\",\r\n template: `\r\n <div class=\"co-tile-wrapper\" (click)=\"selectedChange.emit(selected)\">\r\n <div class=\"co-tile-select-wrapper\">\r\n <co-input-radio-button [model]=\"selected\" [readonly]=\"selected\" (modelChange)=\"selectedChange.emit($event)\"></co-input-radio-button>\r\n </div>\r\n <div class=\"co-tile-content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TileComponent {\r\n\r\n @HostBinding('class.selected')\r\n @Input()\r\n public selected: boolean = false;\r\n\r\n @Output()\r\n public selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding(\"class.co-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {TileComponent} from \"./tile.component\";\r\nimport {InputRadioButtonModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n InputRadioButtonModule\r\n ],\r\n declarations: [\r\n TileComponent\r\n ],\r\n exports: [\r\n TileComponent\r\n ]\r\n})\r\nexport class TileModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationAddressTileComponent} from \"./relation-address-tile.component\";\r\nimport {ButtonModule, CoDialogModule, FormModule, InputRadioButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {RelationAddressModule} from \"../relation-address/relation-address.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TileModule} from \"../../tile/tile.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputRadioButtonModule,\r\n CoreModule,\r\n CoDialogModule,\r\n RelationAddressModule,\r\n ButtonModule,\r\n FormModule,\r\n PipeModule,\r\n TileModule\r\n ],\r\n declarations: [\r\n RelationAddressTileComponent\r\n ],\r\n exports: [\r\n RelationAddressTileComponent\r\n ]\r\n})\r\nexport class RelationAddressTileModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationAddressSelectComponent} from \"./relation-address-select.component\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {ButtonModule, CoDialogModule, FormModule, IconModule, InputRadioButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {RelationAddressModule} from \"../relation-address/relation-address.module\";\r\nimport {RelationAddressTileModule} from \"../relation-address-tile/relation-address-tile.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n InputRadioButtonModule,\r\n IconModule,\r\n CoDialogModule,\r\n RelationAddressModule,\r\n FormModule,\r\n ButtonModule,\r\n RelationAddressTileModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n RelationAddressSelectComponent\r\n ],\r\n exports: [\r\n RelationAddressSelectComponent\r\n ]\r\n})\r\nexport class RelationAddressSelectModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-stepper-step\",\r\n template: `\r\n <ng-container *ngIf=\"show\">\r\n <ng-content></ng-content>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StepperStepComponent {\r\n\r\n @Input()\r\n public index: number = 0;\r\n\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public set completed(value: boolean) {\r\n this._completed = value;\r\n this.onComplete(this._completed);\r\n }\r\n\r\n public get completed(): boolean {\r\n return this._completed;\r\n }\r\n\r\n @HostBinding('class.show')\r\n @Input()\r\n public show: boolean = false;\r\n\r\n @Output()\r\n public validateStep: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-stepper-step\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n private _completed: boolean = false;\r\n\r\n public onComplete = (complete: boolean) => {}\r\n}\r\n","import {Component, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {StepperStepComponent} from \"./component/stepper-step.component\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\n\r\nexport interface steps {\r\n index: number;\r\n description: string;\r\n complete: boolean;\r\n}\r\n\r\n@Component({\r\n selector: \"co-stepper\",\r\n template: `\r\n <ng-container [ngTemplateOutlet]=\"buttonTemplate\"></ng-container>\r\n <div class=\"co-stepper-content\">\r\n <div class=\"stepper-step\" [class.last]=\"index === stepChildren.length - 1\" *ngFor=\"let step of stepChildren; let index = index\"\r\n [class.active]=\"index === activeStep\"\r\n [class.complete]=\"step.completed\"\r\n (click)=\"goto(index)\">\r\n <div class=\"description\" [textContent]=\"step.label\"></div>\r\n <div class=\"index\"></div>\r\n </div>\r\n <icon #deliveryTruck *ngIf=\"activeStep !== lastStep\" class=\"delivery-truck\" [icon]=\"icons.DeliveryTruck\" [style.left.%]=\"truckPosition\"></icon>\r\n </div>\r\n <div class=\"co-stepper-content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n <ng-container [ngTemplateOutlet]=\"buttonTemplate\"></ng-container>\r\n <ng-template #buttonTemplate>\r\n <div class=\"stepper-button-wrapper\">\r\n <co-button [label]=\"'BACK' | localize\" *ngIf=\"canPrevious\" (click)=\"gotoPrevious()\"></co-button>\r\n <co-button [label]=\"'CONTINUE' | localize\" *ngIf=\"canNext\" (click)=\"gotoNext()\"></co-button>\r\n <co-button [label]=\"'CREATE_TRANSACTION' | localize\" *ngIf=\"showCreate\" (click)=\"createClicked.emit($event)\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StepperComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ContentChildren(StepperStepComponent) set content(children) {\r\n this.stepChildren = children.toArray();\r\n if (this.stepChildren) {\r\n setTimeout(() => {\r\n this._setActive(0);\r\n });\r\n }\r\n }\r\n\r\n @ViewChild('deliveryTruck', { read: ElementRef}) set child(child) {\r\n if (child && child.nativeElement) {\r\n this._deliveryTruckClientRect = child.nativeElement.getBoundingClientRect();\r\n }\r\n }\r\n\r\n @Input()\r\n public finishButtonLabel: string;\r\n\r\n @Input()\r\n public showCreate: boolean = false;\r\n\r\n @Output()\r\n public createClicked: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-stepper\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public set stepChildren(value: StepperStepComponent[]) {\r\n this._stepChildren = value;\r\n this._prepareSteps();\r\n }\r\n\r\n public get stepChildren(): StepperStepComponent[] {\r\n return this._stepChildren;\r\n }\r\n\r\n public get canPrevious(): boolean {\r\n return this.activeStep > this.firstStep;\r\n }\r\n\r\n public get canNext(): boolean {\r\n return this.activeStep < this.lastStep;\r\n }\r\n\r\n public get finished(): boolean {\r\n return this.activeStep === this.lastStep;\r\n }\r\n\r\n public set activeStep(value: number) {\r\n this._activeStep = value;\r\n this.truckPosition = (100 / this.stepChildren.length) * (this._activeStep + 1);\r\n }\r\n\r\n public get activeStep(): number {\r\n return this._activeStep;\r\n }\r\n\r\n public firstStep: number = 0;\r\n public lastStep: number;\r\n public truckPosition: number = 0;\r\n\r\n private _stepChildren: StepperStepComponent[];\r\n private _activeStep: number = 0;\r\n private _deliveryTruckClientRect: ClientRect;\r\n\r\n public goto(idx: number): void {\r\n if (idx > this.activeStep) {\r\n this._validateCurrentStep(idx);\r\n } else {\r\n this._setActive(idx);\r\n }\r\n }\r\n\r\n public gotoPrevious(): void {\r\n this._setActive(this.activeStep - 1);\r\n }\r\n\r\n public gotoNext(): void {\r\n this._validateCurrentStep();\r\n }\r\n\r\n private _validateCurrentStep(nextStep?: number): void {\r\n this.stepChildren[this.activeStep].onComplete = (complete: boolean) => {\r\n if (complete) {\r\n this._setActive(nextStep === undefined ? this.activeStep + 1 : nextStep);\r\n }\r\n };\r\n this.stepChildren[this.activeStep].validateStep.next();\r\n }\r\n\r\n private _setActive(idx: number): void {\r\n const prevStep: StepperStepComponent = this.stepChildren[idx - 1];\r\n if (!prevStep || prevStep.completed) {\r\n if (this.stepChildren) {\r\n this.stepChildren.map(s => s.show = false);\r\n this.stepChildren[idx].show = true;\r\n this.activeStep = idx;\r\n }\r\n }\r\n }\r\n\r\n private _prepareSteps(): void {\r\n this.lastStep = this.stepChildren.length - 1;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {StepperComponent} from \"./stepper.component\";\r\nimport {StepperStepComponent} from \"./component/stepper-step.component\";\r\nimport {ButtonModule, IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {CoreModule} from \"../core/core.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ButtonModule,\r\n PipeModule,\r\n IconModule,\r\n CoreModule\r\n ],\r\n declarations: [\r\n StepperComponent,\r\n StepperStepComponent\r\n ],\r\n exports: [\r\n StepperComponent,\r\n StepperStepComponent\r\n ]\r\n})\r\nexport class StepperModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionTotal} from \"@colijnit/transactionapi/build/model/transaction-total.bo\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-totals\",\r\n template: `\r\n <div class=\"transaction-totals-wrapper\">\r\n <span class=\"totals-gross label\" [textContent]=\"'ORDER_GROSS' | localize\"></span>\r\n <span class=\"totals-gross value\" [textContent]=\"transactionTotal?.grossAmount | coCurrency: true\"></span>\r\n <ng-container *ngIf=\"transactionTotal?.totalDiscountAmount\">\r\n <span class=\"totals-discount-amount label\" [textContent]=\"'DISCOUNT_AMOUNT' | localize\"></span>\r\n <span class=\"totals-discount-amount value\" [class.transaction-negative-value]=\"transactionTotal?.totalDiscountAmount < 0\" [textContent]=\"transactionTotal?.totalDiscountAmount | coCurrency: true\"></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"transactionTotal?.transactionDiscountAmount\">\r\n <span class=\"totals-discount label\" [textContent]=\"'TRANSACTION_DISCOUNT' | localize\"></span>\r\n <span class=\"totals-discount value\" [class.transaction-negative-value]=\"transactionTotal?.transactionDiscountAmount < 0\" [textContent]=\"transactionTotal?.transactionDiscountAmount | coCurrency: true\"></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"transactionTotal?.transactionDiscountPercentage\">\r\n <span class=\"totals-discount-percentage label\" [textContent]=\"'TRANSACTION_DISCOUNT_PERC' | localize\"></span>\r\n <span class=\"totals-discount-percentage value\" [class.transaction-negative-value]=\"transactionTotal?.transactionDiscountPercentage < 0\" [textContent]=\"transactionTotal?.transactionDiscountPercentage.toString() | append:' %'\"></span>\r\n </ng-container>\r\n <span class=\"totals-net label\" [textContent]=\"'ORDER_NET'| localize\"></span>\r\n <span class=\"totals-net value\" [textContent]=\"transactionTotal?.netAmount | coCurrency: true\"></span>\r\n <a *ngIf=\"showDiscount\" class=\"add-discount label\" (click)=\"showDiscountDialog = true\" [textContent]=\"'ADD_DISCOUNTS' | localize\"></a>\r\n </div>\r\n <co-dialog-transaction-header-discount class=\"discount-dialog\" *ngIf=\"showDiscountDialog\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionTotal]=\"transactionTotal\"\r\n (close)=\"showDiscountDialog = false\">\r\n </co-dialog-transaction-header-discount>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionTotalsComponent {\r\n @Input()\r\n public transactionInfo: TransactionInfo;\r\n\r\n @Input()\r\n public transactionTotal: TransactionTotal;\r\n\r\n @Input()\r\n public showDiscount: boolean = false;\r\n\r\n @Output()\r\n public discountClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-transaction-totals\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public header: string;\r\n public showDiscountDialog: boolean = false;\r\n\r\n\r\n}\r\n","import {Directive, EventEmitter, Input, Output} from \"@angular/core\";\r\nimport {BusinessObject} from \"@colijnit/ioneconnector/build/model/business-object\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\n\r\n@Directive()\r\nexport abstract class TransactionHeaderFilterPopupBaseComponent<T extends BusinessObject | number | string> {\r\n\r\n @Input()\r\n public autoClose: boolean = false;\r\n\r\n @Input()\r\n public useModel: boolean = true;\r\n\r\n @Input()\r\n public set searchText(value: string) {\r\n if (value !== undefined && value !== null) {\r\n this._searchText = value;\r\n this._doSearch();\r\n }\r\n }\r\n\r\n public get searchText(): string {\r\n return this._searchText;\r\n }\r\n\r\n @Input()\r\n public value: any;\r\n\r\n @Output()\r\n public valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public closeAfterCommit: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public set collection(value: T[]) {\r\n this._collection = value;\r\n this.prepareViewModels();\r\n }\r\n\r\n public get collection(): T[] {\r\n return this._collection;\r\n }\r\n\r\n public get model(): TransactionInfo {\r\n return undefined;\r\n }\r\n\r\n public viewModels: {value: any, propsForLabel: string[], checked: boolean}[] = [];\r\n public viewModelsFiltered: {value: any, propsForLabel: string[], checked: boolean}[] = [];\r\n\r\n protected codeField: string;\r\n protected checkField: string;\r\n protected propsForLabel: string[] = [];\r\n\r\n private _collection: T[] = [];\r\n private _searchText: string;\r\n\r\n public commit(value: any): Promise<boolean> {\r\n return Promise.resolve(true);\r\n }\r\n\r\n public async handleChecked(row: {value: number, text: string, checked: boolean}): Promise<void> {\r\n row.checked = true;\r\n const currentModel = this.viewModels.find(v => v.value === row.value);\r\n if (currentModel) {\r\n currentModel.checked = true;\r\n }\r\n for (let i = 0; i < this.viewModels.length; i++) {\r\n if (this.viewModels[i].value !== row.value) {\r\n this.viewModels[i].checked = false;\r\n }\r\n }\r\n if (this.useModel) {\r\n if (this.autoClose) {\r\n if (await this.commit(row.value)) {\r\n this.closeAfterCommit.emit();\r\n }\r\n } else {\r\n this.commit(row.value);\r\n }\r\n } else {\r\n this.valueChange.emit(row.value);\r\n }\r\n }\r\n\r\n protected prepareViewModels(): void {\r\n this.collection.forEach((d, index) => {\r\n const labels: any[] = this.propsForLabel.map(p => d[p]);\r\n this.viewModels.push(\r\n {\r\n value: d[this.codeField],\r\n propsForLabel: labels,\r\n checked: (this.useModel && this.model && this.checkField) ?\r\n this.model[this.checkField] === d[this.codeField] :\r\n (this.value ? this.value === d[this.codeField] : index === 0)\r\n });\r\n });\r\n this.viewModelsFiltered = this.viewModels.slice();\r\n if (!this.useModel && this.viewModels.length > 0) {\r\n this.valueChange.next(this.value ? this.value : this.viewModels[0].value);\r\n }\r\n }\r\n\r\n private _doSearch(): void {\r\n this.viewModelsFiltered = JSON.parse(JSON.stringify(this.viewModels));\r\n if (this.searchText) {\r\n this.viewModelsFiltered = this.viewModelsFiltered.filter(vmf => {\r\n return vmf.propsForLabel.find(p => p && p.toString().match(new RegExp(this.searchText, 'gi')));\r\n });\r\n // if (!this.searchText) {\r\n // this.viewModelsFiltered = this.viewModels.slice();\r\n // } else {\r\n // this.viewModelsFiltered = JSON.parse(JSON.stringify(this.viewModels));\r\n // for (let i = 0; i < this.viewModelsFiltered.length; i++) {\r\n // const vmf = this.viewModelsFiltered[i];\r\n // for (let j = 0; j < vmf.propsForLabel.length; j++) {\r\n // if (vmf.propsForLabel[j]) {\r\n // vmf.propsForLabel[j] = vmf.propsForLabel[j].replace(new RegExp(this.searchText, 'gi'), `<span class=\"highlight\">${this.searchText}</span>`);\r\n // }\r\n // }\r\n // }\r\n }\r\n }\r\n}\r\n","import {Directive, Input} from \"@angular/core\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\nimport {BusinessObject} from \"@colijnit/ioneconnector/build/model/business-object\";\r\nimport {TransactionTotal} from \"@colijnit/transactionapi/build/model/transaction-total.bo\";\r\nimport {TransactionHeaderFilterPopupBaseComponent} from \"./transaction-header-filter-popup-base.component\";\r\n\r\n@Directive()\r\nexport abstract class TransactionHeaderBaseComponent<T extends BusinessObject | number | string> extends TransactionHeaderFilterPopupBaseComponent<T> {\r\n\r\n @Input()\r\n public set transactionInfo(value: TransactionInfo) {\r\n if (value) {\r\n this._transactionInfo = value;\r\n this.transactionInfoSet();\r\n }\r\n }\r\n\r\n public get transactionInfo(): TransactionInfo {\r\n return this._transactionInfo;\r\n }\r\n\r\n @Input()\r\n public set transactionTotal(value: TransactionTotal) {\r\n if (value) {\r\n this._transactionTotal = value;\r\n this.transactionTotalSet();\r\n }\r\n }\r\n\r\n public get transactionTotal(): TransactionTotal {\r\n return this._transactionTotal;\r\n }\r\n\r\n public get model(): TransactionInfo {\r\n return this._transactionInfo;\r\n }\r\n\r\n public readonly: boolean = false;\r\n private _transactionInfo: TransactionInfo = new TransactionInfo();\r\n private _transactionTotal: TransactionTotal = new TransactionTotal();\r\n\r\n // overridden by descendents\r\n protected transactionInfoSet(): void {\r\n\r\n }\r\n\r\n // overridden by descendents\r\n protected transactionTotalSet(): void {\r\n\r\n }\r\n}\r\n","import {AppPopupButtonType} from \"../enum/app-popup-button-type.enum\";\r\nimport {Directive, EventEmitter, Output} from \"@angular/core\";\r\nimport {TransactionHeaderBaseComponent} from \"./transaction-header-base.component\";\r\n\r\n@Directive()\r\nexport abstract class DialogTransactionHeaderBaseComponent extends TransactionHeaderBaseComponent<any> {\r\n public readonly buttonType: typeof AppPopupButtonType = AppPopupButtonType;\r\n\r\n @Output()\r\n public close: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public value: any;\r\n\r\n onClose(eventType: AppPopupButtonType, output?: any): void {\r\n return;\r\n }\r\n\r\n public handleValueChange(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n public handleOkClick(): void {\r\n this.onClose(AppPopupButtonType.Ok, this.value);\r\n }\r\n\r\n public handleSearch(text: string): void {\r\n this.searchText = text;\r\n }\r\n\r\n public handleClose(type: AppPopupButtonType): void {\r\n this.close.emit();\r\n this.onClose(type);\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogTransactionHeaderBaseComponent} from \"../../../core/base/dialog-transaction-header-base.component\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\nimport {TransactionService} from \"../../../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-dialog-transaction-header-discount\",\r\n template: `\r\n <co-dialog [headerTemplate]=\"dialogHeader\" (closeClick)=\"handleClose(buttonType.Ok)\">\r\n <div class=\"transaction-discount-wrapper co-small-toolbar\">\r\n <div class=\"two-column-grid\">\r\n <co-transaction-header-discount-percentage [transactionInfo]=\"transactionInfo\" [transactionTotal]=\"transactionTotal\"></co-transaction-header-discount-percentage>\r\n <co-transaction-header-discount-amount [transactionInfo]=\"transactionInfo\" [transactionTotal]=\"transactionTotal\"></co-transaction-header-discount-amount>\r\n </div>\r\n <div class=\"two-column-grid\">\r\n <co-transaction-header-discount-transaction-total [transactionInfo]=\"transactionInfo\" [transactionTotal]=\"transactionTotal\"></co-transaction-header-discount-transaction-total>\r\n <div class=\"transaction-line-button custom-width\" (click)=\"redistributeDiscount()\">\r\n <span class=\"co-transaction-overflow-ellipsis transaction-discount\"\r\n [textContent]=\"'REDISTRIBUTE_DISCOUNT' | localize\"></span>\r\n </div>\r\n </div>\r\n <div class=\"transaction-discount-overview\">\r\n <div class=\"transaction-discount-overview-item\">\r\n <div class=\"title\" [textContent]=\"'ORDER_GROSS' | localize\"></div>\r\n <div class=\"value\" [textContent]=\"transactionTotal.grossAmount | coCurrency\"></div>\r\n </div>\r\n <div class=\"transaction-discount-overview-item\">\r\n <div class=\"title\" [textContent]=\"'DISCOUNT' | localize\"></div>\r\n <div class=\"value\" [class.transaction-negative-value]=\"transactionTotal.totalDiscountAmount < 0\" [textContent]=\"transactionTotal.totalDiscountAmount | coCurrency\"></div>\r\n </div>\r\n <div class=\"transaction-discount-overview-item\">\r\n <div class=\"title\" [textContent]=\"'ASSEMBLY_COSTS' | localize\"></div>\r\n <div class=\"value\" [class.transaction-negative-value]=\"transactionTotal.assemblyCosts < 0\" [textContent]=\"transactionTotal.assemblyCosts | coCurrency\"></div>\r\n </div>\r\n <div class=\"transaction-discount-overview-item\">\r\n <div class=\"title\" [textContent]=\"'SURCHARGE_AMOUNT' | localize\"></div>\r\n <div class=\"value\" [class.transaction-negative-value]=\"transactionTotal.totalSurchargeAmount < 0\" [textContent]=\"transactionTotal.totalSurchargeAmount | coCurrency\"></div>\r\n </div>\r\n <div class=\"transaction-discount-overview-item\">\r\n <div class=\"title\" [textContent]=\"'DELIVERY_COSTS' | localize\"></div>\r\n <div class=\"value\" [textContent]=\"'NOT_IMPLEMENTED_YET'\"></div>\r\n </div>\r\n <div class=\"transaction-discount-overview-item total\">\r\n <div class=\"title\" [textContent]=\"'ORDER_NET' | localize\"></div>\r\n <div class=\"value\" [class.transaction-negative-value]=\"transactionTotal.netAmount < 0\" [textContent]=\"transactionTotal.netAmount | coCurrency\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </co-dialog>\r\n <ng-template #dialogHeader>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"'DISCOUNT_PRICE_INFORMATION' | localize\"></div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogTransactionHeaderDiscountComponent extends DialogTransactionHeaderBaseComponent {\r\n\r\n @HostBinding(\"class.co-dialog-transaction-header-discount\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async redistributeDiscount(): Promise<void> {\r\n await this._transactionService.updateHeaderTransactionDiscount(this.transactionInfo.uuid, DiscountType.TransactionDiscountAmount, this.transactionTotal.transactionDiscountAmount);\r\n }\r\n}\r\n","import {Component, HostListener, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-discount-percentage\",\r\n template: `\r\n <span *ngIf=\"(!editMode || readonly) && !defaultEditMode\" [textContent]=\"transactionTotal.transactionDiscountPercentage\"></span>\r\n <co-input-text #input *ngIf=\"editMode || defaultEditMode\"\r\n [type]=\"'number'\"\r\n [placeholder]=\"showLabel ? ('DISCOUNT_PERCENTAGE' | localize) : ''\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionTotal.transactionDiscountPercentage\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderDiscountPercentageComponent extends TransactionHeaderBaseComponent<number> {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (amount) => this.commit(amount);\r\n if (this._editMode) {\r\n this.input.requestFocus();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = true;\r\n\r\n @Input()\r\n public defaultEditMode: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this.input) {\r\n this.input.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n private _editMode: boolean = false;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commit(amount: number): Promise<boolean> {\r\n if (this.transactionTotal && this.transactionTotal.transactionDiscountPercentage !== amount) {\r\n const oldPercentage: number = this.transactionTotal.transactionDiscountPercentage;\r\n const success = await this._transactionService.updateHeaderTransactionDiscount(this.transactionInfo.uuid, DiscountType.TransactionDiscountPercentage, amount);\r\n if (!success) {\r\n this.input.model = amount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionSet(): void {\r\n this.readonly = this.readonly || !this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderDiscountPercentageComponent} from \"./transaction-header-discount-percentage.component\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionHeaderDiscountPercentageComponent\r\n ],\r\n exports: [\r\n TransactionHeaderDiscountPercentageComponent\r\n ]\r\n})\r\nexport class TransactionHeaderDiscountPercentageModule {\r\n}\r\n","import {Component, HostListener, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-discount-amount\",\r\n template: `\r\n <span *ngIf=\"(!editMode || readonly) && !defaultEditMode\" [textContent]=\"transactionTotal.transactionDiscountAmount\"></span>\r\n <co-input-text #input *ngIf=\"editMode || defaultEditMode\"\r\n [type]=\"'number'\"\r\n [placeholder]=\"showLabel ? ('DISCOUNT_AMOUNT' | localize) : ''\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionTotal.transactionDiscountAmount\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderDiscountAmountComponent extends TransactionHeaderBaseComponent<number> {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (amount) => this.commit(amount);\r\n if (this._editMode) {\r\n this.input.requestFocus();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = true;\r\n\r\n @Input()\r\n public defaultEditMode: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this.input) {\r\n this.input.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n private _editMode: boolean = false;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commit(amount: number): Promise<boolean> {\r\n if (this.transactionTotal && this.transactionTotal.transactionDiscountAmount !== amount) {\r\n const oldAmount: number = this.transactionTotal.transactionDiscountAmount;\r\n const success = await this._transactionService.updateHeaderTransactionDiscount(this.transactionInfo.uuid, DiscountType.TransactionDiscountAmount, amount);\r\n if (!success) {\r\n this.input.model = amount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionSet(): void {\r\n this.readonly = this.readonly || !this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionHeaderDiscountAmountComponent} from \"./transaction-header-discount-amount.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionHeaderDiscountAmountComponent\r\n ],\r\n exports: [\r\n TransactionHeaderDiscountAmountComponent\r\n ]\r\n})\r\nexport class TransactionHeaderDiscountAmountModule {\r\n}\r\n","import {Component, HostListener, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-discount-transaction-total\",\r\n template: `\r\n <co-input-text #input *ngIf=\"editMode || defaultEditMode\"\r\n [type]=\"'number'\"\r\n [placeholder]=\"showLabel ? ('TRANSACTION_TOTAL' | localize) : ''\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [(model)]=\"transactionTotalAmount\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderDiscountTransactionTotalComponent extends TransactionHeaderBaseComponent<number> {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (amount) => this.commit(amount);\r\n if (this._editMode) {\r\n this.input.requestFocus();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = true;\r\n\r\n @Input()\r\n public defaultEditMode: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this.input) {\r\n this.input.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n public transactionTotalAmount: number;\r\n\r\n private _editMode: boolean = false;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commit(amount: number): Promise<boolean> {\r\n if (this.transactionTotalAmount !== amount) {\r\n const success = await this._transactionService.updateHeaderTransactionDiscount(this.transactionInfo.uuid, DiscountType.OrderTotal, amount);\r\n if (!success) {\r\n this.input.model = amount;\r\n } else {\r\n this.transactionTotalAmount = undefined;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionSet(): void {\r\n this.readonly = this.readonly || !this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionHeaderDiscountTransactionTotalComponent} from \"./transaction-header-discount-transaction-total.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionHeaderDiscountTransactionTotalComponent\r\n ],\r\n exports: [\r\n TransactionHeaderDiscountTransactionTotalComponent\r\n ]\r\n})\r\nexport class TransactionHeaderDiscountTransactionTotalModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DialogTransactionHeaderDiscountComponent} from \"./dialog-transaction-header-discount.component\";\r\nimport {CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionHeaderDiscountPercentageModule} from \"../../../transaction-header-fields/transaction-header-discount-percentage.module\";\r\nimport {TransactionHeaderDiscountAmountModule} from \"../../../transaction-header-fields/transaction-header-discount-amount.module\";\r\nimport {TransactionHeaderDiscountTransactionTotalModule} from \"../../../transaction-header-fields/transaction-header-discount-transaction-total.module\";\r\nimport {PipeModule} from \"../../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n TransactionHeaderDiscountPercentageModule,\r\n TransactionHeaderDiscountAmountModule,\r\n TransactionHeaderDiscountTransactionTotalModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n DialogTransactionHeaderDiscountComponent\r\n ],\r\n exports: [\r\n DialogTransactionHeaderDiscountComponent\r\n ]\r\n})\r\nexport class DialogTransactionHeaderDiscountModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionTotalsComponent} from \"./transaction-totals.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {DialogTransactionHeaderDiscountModule} from \"../dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n DialogTransactionHeaderDiscountModule\r\n ],\r\n declarations: [\r\n TransactionTotalsComponent\r\n ],\r\n exports: [\r\n TransactionTotalsComponent\r\n ]\r\n})\r\nexport class TransactionTotalsModule {\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionConnectorService} from \"./transaction-connector.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class TransactionImageService {\r\n\r\n private _articleImageCache: Map<string, string> = new Map();\r\n\r\n constructor(private _connector: TransactionConnectorService) {\r\n }\r\n\r\n public async retrieveLineImage(line: TransactionLineInfo): Promise<string> {\r\n return await this.getArticleImageByArticleNumber(line.articleNumber);\r\n }\r\n\r\n public async getArticleImageByArticleNumber(articleNumber: string): Promise<string> {\r\n if (this._articleImageCache.has(articleNumber)) {\r\n return this._articleImageCache.get(articleNumber);\r\n }\r\n const goodId: number = await this._connector.getGoodIdFromArticleNr(articleNumber).catch((error) => {\r\n console.error(error);\r\n return null;\r\n });\r\n const image: string = await this.getArticleImageByGoodId(goodId);\r\n this._articleImageCache.set(articleNumber, image);\r\n return image;\r\n }\r\n\r\n public async getArticleImageByGoodId(goodId: number): Promise<string> {\r\n if (!isNaN(goodId)) {\r\n return this._connector.getSingleImage(goodId, 1, true, true).catch((error) => {\r\n console.error(error);\r\n return \"\";\r\n });\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {DialogService} from \"../../service/dialog.service\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {TransactionImageService} from \"../../service/transaction-image.service\";\r\n\r\n\r\n@Component({\r\n selector: \"co-transaction-line-image-and-description\",\r\n template: `\r\n <div class=\"transaction-line-image\" [class.preview]=\"preview\">\r\n <co-image-display [model]=\"image\"></co-image-display>\r\n </div>\r\n <div class=\"transaction-line-description\" data-action=\"openSidePanel\">\r\n <div class=\"description-wrapper\">\r\n <co-transaction-line-description class=\"transaction-line-description-description\"\r\n [transactionLine]=\"line\"\r\n [defaultEditMode]=\"false\"\r\n [showLabel]=\"false\"\r\n ></co-transaction-line-description>\r\n <div class=\"transaction-line-article-number-wrapper\" *ngIf=\"!popUpView\">\r\n <span *ngIf=\"line.goodDescription && line.articleNumber\">|</span>\r\n <span [textContent]=\"line.articleNumber\"></span>\r\n <co-icon class=\"delete-icon\" [iconData]=\"iconCacheService.getIcon(icons.TrashCanLight)\"\r\n (click)=\"deleteTransactionLineClick()\"></co-icon>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!preview && !popUpView\" class=\"article-text-wrapper\">\r\n <div class=\"article-text\" *ngFor=\"let text of line.articleTestAsArray\">\r\n <span [innerHTML]=\"text | safeHtml\" (dblclick)=\"handleOpenArticleText(text)\"></span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!preview && !popUpView\">\r\n <span [innerHTML]=\"line.configurationReadable\"></span>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineImageAndDescriptionComponent {\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set line(value: TransactionLineInfo) {\r\n this._line = value;\r\n this._loadLineImage()\r\n }\r\n\r\n public get line(): TransactionLineInfo {\r\n return this._line;\r\n }\r\n\r\n @Input()\r\n public popUpView: boolean = false;\r\n\r\n @HostBinding(\"class.co-transaction-line-image-and-description\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @HostBinding(\"class.preview\")\r\n @Input()\r\n public preview: boolean = false;\r\n\r\n @Output()\r\n public openArticleTextClicked: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public handleDeleteLine: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public image: string;\r\n\r\n private _line: TransactionLineInfo;\r\n\r\n constructor(\r\n public service: TransactionService,\r\n public iconCacheService: IconCacheService,\r\n private _dialogService: DialogService,\r\n private _dictionaryService: DictionaryService,\r\n private _imageService: TransactionImageService\r\n ) {}\r\n\r\n public handleOpenArticleText(text: string): void {\r\n this.openArticleTextClicked.next(text);\r\n }\r\n\r\n public async deleteTransactionLineClick(): Promise<void> {\r\n this.handleDeleteLine.next();\r\n }\r\n\r\n private async _loadLineImage(): Promise<void> {\r\n if (this.line && this.line.isArticle) {\r\n this._imageService.retrieveLineImage(this.line).then((image: string) => {\r\n this.image = image;\r\n });\r\n }\r\n }\r\n}\r\n","import {Component, HostListener, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionLineBaseComponent} from \"../core/base/transaction-line-base.component\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-description\",\r\n template: `\r\n <div class=\"co-transaction-default-flex-row\" *ngIf=\"(!editMode || readonly) && !defaultEditMode\">\r\n <div class=\"co-transaction-overflow-ellipsis\" [textContent]=\"transactionLine.goodDescription\"></div>\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.EditPencil)\" *ngIf=\"!readonly && !editMode\" (click)=\"editMode = true\"></co-icon>\r\n </div>\r\n <co-input-text #input *ngIf=\"editMode || defaultEditMode\"\r\n [placeholder]=\"showLabel ? ('GOOD_DESCRIPTION' | localize) : ''\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionLine.goodDescription\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineDescriptionComponent extends TransactionLineBaseComponent<string> {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (description) => this.commit(description);\r\n if (this._editMode) {\r\n this.input.requestFocus();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = true;\r\n\r\n @Input()\r\n public defaultEditMode: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this.input) {\r\n this.input.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n private _editMode: boolean = false;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commit(description: string): Promise<boolean> {\r\n if (this.transactionLine.goodDescription !== description) {\r\n const oldDescription = this.transactionLine.goodDescription;\r\n const success = await this._transactionService.updateGoodDescriptionTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, description);\r\n if (!success) {\r\n this.input.model = oldDescription;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionLineSet(): void {\r\n this.readonly = this.readonly || !this.transactionLine.articleFreeDescription;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {IconModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineDescriptionComponent} from \"./transaction-line-description.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n TransactionLineDescriptionComponent\r\n ],\r\n exports: [\r\n TransactionLineDescriptionComponent\r\n ]\r\n})\r\nexport class TransactionLineDescriptionModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineImageAndDescriptionComponent} from \"./transaction-line-image-and-description.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineDescriptionModule} from \"../transaction-line-fields/transaction-line-description.module\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n TransactionLineDescriptionModule,\r\n CoreModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineImageAndDescriptionComponent\r\n ],\r\n exports: [\r\n TransactionLineImageAndDescriptionComponent\r\n ]\r\n})\r\nexport class TransactionLineImageAndDescriptionModule {\r\n}\r\n","import {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {DictionaryService} from \"../../../service/dictionary.service\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {StandardText} from \"../../../model/standard-text\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-article-text\",\r\n template: `\r\n <co-dialog (closeClick)=\"closeClick.emit($event)\" [headerTemplate]=\"headerTemplate\"\r\n [footerTemplate]=\"footerTemplate\">\r\n <div *ngIf=\"showArticleImageDescription\" class=\"article-image-description-wrapper\">\r\n <co-transaction-line-image-and-description\r\n [line]=\"transactionLine\"\r\n [preview]=\"true\"\r\n [popUpView]=\"true\">\r\n </co-transaction-line-image-and-description>\r\n </div>\r\n\r\n <div class=\"standard-texts-dropdown-wrapper\">\r\n <co-drop-down-list\r\n @showStandardTextsDropdown\r\n *ngIf=\"showDropdown\"\r\n [collection]=\"standardTexts\"\r\n [fields]=\"fields\"\r\n [placeholder]=\"'STANDARD_TEXTS' | localize\"\r\n (modelChange)=\"onSelectStandardText($event)\"\r\n ></co-drop-down-list>\r\n </div>\r\n\r\n <div class=\"article-text-content-wrapper\">\r\n <div class=\"editor-wrapper\">\r\n <co-button class=\"search-button\"\r\n [iconData]=\"searchIcon\"\r\n (onClick)=\"showStandardTextsDropdown()\">\r\n </co-button>\r\n <textarea class=\"article-text\"\r\n [placeholder]=\"textAreaPlaceholder\"\r\n [(ngModel)]=\"transactionAddTextLineRequest.text\"\r\n ></textarea>\r\n </div>\r\n <div class=\"option-wrapper\">\r\n <co-input-listbox\r\n [collection]=\"documents\"\r\n [fields]=\"fieldsDocuments\"\r\n [placeholder]=\"'FOR_DOCUMENTS' | localize\"\r\n [value]=\"transactionAddTextLineRequest.showOnDocuments\"\r\n [showCheckbox]=\"true\"\r\n [fullWidth]=\"true\"\r\n (modelChange)=\"handleDocumentsChange($event)\"\r\n ></co-input-listbox>\r\n </div>\r\n </div>\r\n </co-dialog>\r\n\r\n <ng-template #headerTemplate>\r\n <span class=\"co-dialog-header-title\" [textContent]=\"header\"></span>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-transaction-dialog-footer-button-wrapper\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"onOkClick($event)\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n animations:[\r\n trigger(\"showStandardTextsDropdown\", [\r\n state(\"void\", style({transform: 'translateY(-100%)', opacity: 0})),\r\n state(\"*\", style({transform: 'translateY(0)', opacity: 1})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionArticleTextComponent implements OnInit {\r\n\r\n @Input()\r\n public header: string;\r\n\r\n @Input()\r\n public set transactionLine(value: TransactionLineInfo) {\r\n if (value) {\r\n this._transactionLine = value;\r\n this.transactionAddTextLineRequest.transactionUuid = value.uuid;\r\n this.transactionAddTextLineRequest.text = value.text;\r\n }\r\n }\r\n\r\n public get transactionLine() {\r\n return this._transactionLine;\r\n }\r\n\r\n @Input()\r\n public set articleRef(value: string) {\r\n if (value) {\r\n this._articleRef = value;\r\n }\r\n }\r\n\r\n public get articleRef(): string {\r\n return this._articleRef;\r\n }\r\n\r\n @Input()\r\n public set editText(value: string) {\r\n this.transactionAddTextLineRequest.text = value;\r\n }\r\n\r\n @Input()\r\n public set articleLineNr(value: number) {\r\n if (value) {\r\n this.transactionAddTextLineRequest.refArticleLineNr = value;\r\n }\r\n }\r\n\r\n @Input()\r\n public showArticleImageDescription: boolean = false;\r\n\r\n @Output()\r\n public closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public saveClick: EventEmitter<TransactionAddTextLineRequest> = new EventEmitter<TransactionAddTextLineRequest>();\r\n\r\n @HostBinding(\"class.co-transaction-article-text\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public readonly icon: typeof Icon = Icon;\r\n private _transactionLine: TransactionLineInfo;\r\n public showOverviewDialog: boolean = false;\r\n public standardTexts: StandardText[] = [];\r\n public documents: any[] = [];\r\n public fields: Object = {text: \"description\", value: \"textId\"};\r\n public fieldsDocuments: Object = {text: \"description\", value: \"code\"};\r\n public textAreaPlaceholder: string = this._dictionaryService.get(\"TYPE_OR_SEARCH_TEXT\", true);\r\n public searchIcon = this.iconCacheService.getIcon(this.icon.Magnifier);\r\n public showDropdown: boolean = false;\r\n\r\n public transactionAddTextLineRequest: TransactionAddTextLineRequest = new TransactionAddTextLineRequest();\r\n\r\n private _articleRef: string;\r\n\r\n constructor(\r\n public transactionService: TransactionService,\r\n public iconCacheService: IconCacheService,\r\n private _dictionaryService: DictionaryService,\r\n ) {\r\n }\r\n\r\n async ngOnInit(): Promise<void> {\r\n this.standardTexts = await this.transactionService.getStandardTexts(\"NL\");\r\n this.documents = await this.transactionService.getTextTypes(\"NL\");\r\n }\r\n\r\n public onOkClick(event: MouseEvent): void {\r\n this.saveClick.next(this.transactionAddTextLineRequest);\r\n }\r\n\r\n public onCancelClick(event: MouseEvent): void {\r\n this.cancelClick.next(event);\r\n }\r\n\r\n public onSelectStandardText(value: any): void {\r\n this.transactionAddTextLineRequest.text = (this.standardTexts.find(x => x.textId === value)).text;\r\n }\r\n\r\n public handleDocumentsChange(docs: any): void {\r\n }\r\n\r\n public showStandardTextsDropdown(): void {\r\n this.showDropdown = true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {\r\n TransactionLineImageAndDescriptionModule\r\n} from \"../../transaction-line-image-and-description/transaction-line-image-and-description.module\";\r\nimport {TransactionArticleTextComponent} from \"./transaction-article-text.component\";\r\nimport {\r\n ButtonModule,\r\n CoDialogModule,\r\n DropDownModule,\r\n InputCheckboxModule,\r\n InputListboxModule,\r\n InputSearchModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {FormsModule} from \"@angular/forms\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n FormsModule,\r\n CoDialogModule,\r\n InputCheckboxModule,\r\n InputListboxModule,\r\n DropDownModule,\r\n ButtonModule,\r\n PipeModule,\r\n InputSearchModule,\r\n TransactionLineImageAndDescriptionModule\r\n ],\r\n declarations: [\r\n TransactionArticleTextComponent\r\n ],\r\n exports: [\r\n TransactionArticleTextComponent\r\n ]\r\n})\r\nexport class TransactionArticleTextModule {}\r\n","// The different view modes for search\r\nexport enum SearchViewMode {\r\n FullScreen,\r\n SideBar\r\n}\r\n","// The different view modes for search\r\nexport enum SearchbarViewMode {\r\n Expanded,\r\n Collapsed\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionSearchViewRequest} from \"@colijnit/transactionapi/build/model/transaction-search-view-request\";\r\nimport {TransactionSearchView} from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\nimport {SearchViewMode} from \"../../../enum/search-view-mode.enum\";\r\nimport {SearchbarViewMode} from \"../../../enum/searchbar-view-mode.enum\";\r\nimport {TransactionSearchResult} from \"../../../model/transaction-search-result\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {PagingParameters} from \"@colijnit/ioneconnector/build/model/paging-parameters\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class TransactionSearchService {\r\n\r\n public searchRequest: TransactionSearchViewRequest = new TransactionSearchViewRequest();\r\n public previousSearchRequest: TransactionSearchViewRequest = new TransactionSearchViewRequest();\r\n\r\n public activeSearchViewMode: SearchViewMode = SearchViewMode.FullScreen;\r\n public activeSearchBarViewMode: SearchbarViewMode = SearchbarViewMode.Expanded;\r\n public showFilterSidebar: boolean = false;\r\n\r\n\r\n public transactions: TransactionSearchView[] = [];\r\n public set transactionType(value: string) {\r\n if (this._transactionType !== value) {\r\n this._resetRequest();\r\n this.transactions.length = 0;\r\n }\r\n this._transactionType = value;\r\n }\r\n\r\n public get transactionType(): string {\r\n return this._transactionType;\r\n }\r\n\r\n public labelBasedOnTransactionType: Map<string, string> = new Map<string, string>([\r\n [TransactionKind.SalesOrder, \"SALESORDERS\"],\r\n [TransactionKind.PurchaseOrder, \"PURCHASEORDERS\"],\r\n [TransactionKind.ServiceOrder, \"SERVICEORDERS\"]\r\n ])\r\n\r\n public placeholderBasedOnTransactionType: Map<string, string> = new Map<string, string>([\r\n [TransactionKind.SalesOrder, \"SEARCH_NUMBER_CUSTOMER_OR_DATE\"],\r\n [TransactionKind.PurchaseOrder, \"SEARCH_NUMBER_SUPPLIER_OR_DATE\"],\r\n [TransactionKind.ServiceOrder, \"SEARCH_NUMBER_CUSTOMER_OR_DATE\"]\r\n ])\r\n\r\n public transactionsPerPage: number = 20;\r\n public resultCount: number;\r\n\r\n public get currentPage(): number {\r\n return this._currentPage;\r\n }\r\n\r\n public set currentPage(value: number) {\r\n this._currentPage = value;\r\n this.searchTransactions();\r\n }\r\n\r\n private _currentPage = 1;\r\n private _transactionType: string = TransactionKind.SalesOrder;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n }\r\n\r\n public searchTransactions(): void {\r\n this.searchRequest.transactionKind = this.transactionType;\r\n\r\n if (this.isNewGeneralSearch()) {\r\n this._currentPage = 1;\r\n }\r\n\r\n const lowerBound: number = ((this.currentPage - 1) * this.transactionsPerPage) + 1;\r\n this.searchRequest.paging = new PagingParameters(lowerBound, lowerBound + this.transactionsPerPage - 1, this.transactionsPerPage);\r\n this._transactionService.searchTransactions(this.searchRequest).then((result: TransactionSearchResult) => {\r\n this.transactions = result.transactions ?? [];\r\n this.resultCount = result.count ?? undefined;\r\n });\r\n this.setPreviousSearchRequest();\r\n }\r\n\r\n public getLabelBasedOnTransactionType(): string {\r\n return this.labelBasedOnTransactionType.get(this._transactionType);\r\n }\r\n\r\n public getSearchPlaceholderBasedOnTransactionType(): string {\r\n return this.placeholderBasedOnTransactionType.get(this._transactionType);\r\n }\r\n\r\n public resetFilters(): void {\r\n this.setPreviousSearchRequest();\r\n\r\n this._resetRequest();\r\n this.searchRequest.general = this.previousSearchRequest.general;\r\n this.searchTransactions();\r\n }\r\n\r\n private _resetRequest(): void {\r\n this.searchRequest = new TransactionSearchViewRequest();\r\n }\r\n\r\n public setPreviousSearchRequest(): void {\r\n this.previousSearchRequest = {...this.searchRequest};\r\n }\r\n\r\n public isNewGeneralSearch(): boolean {\r\n return this.previousSearchRequest && this.previousSearchRequest.general !== this.searchRequest.general;\r\n }\r\n\r\n public get fullscreen(): boolean {\r\n return this.activeSearchViewMode === SearchViewMode.FullScreen;\r\n }\r\n\r\n public get collapsed(): boolean {\r\n return this.activeSearchBarViewMode === SearchbarViewMode.Collapsed;\r\n }\r\n\r\n public toggleFilter(): void {\r\n this.showFilterSidebar = !this.showFilterSidebar;\r\n }\r\n\r\n public handleHideFilter(): void {\r\n this.showFilterSidebar = false;\r\n }\r\n\r\n public handleResetFilter(): void {\r\n this.resetFilters();\r\n this.showFilterSidebar = false;\r\n setTimeout(() => {\r\n this.showFilterSidebar = true\r\n }, 10);\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild } from \"@angular/core\";\r\nimport { ColumnAlign } from \"@colijnit/corecomponents_v12\";\r\nimport { Icon } from \"../../../enum/icon.enum\";\r\nimport { SearchViewMode } from \"../../../enum/search-view-mode.enum\";\r\nimport { IconCacheService } from \"../../../service/icon-cache.service\";\r\nimport { TransactionSearchService } from \"../../transaction-search/service/transaction-search.service\";\r\n\r\n@Directive()\r\nexport abstract class TransactionFilterBaseComponent {\r\n public readonly align: typeof ColumnAlign = ColumnAlign;\r\n public readonly icon: typeof Icon = Icon;\r\n public readonly searchViewModes: typeof SearchViewMode = SearchViewMode;\r\n\r\n @ViewChild('filterItems', {read: ElementRef})\r\n public filterItems: ElementRef;\r\n\r\n @ViewChild('orderFilter', {read: ElementRef})\r\n public orderFilter: ElementRef;\r\n\r\n @ViewChild('logisticsFilter', {read: ElementRef})\r\n public logisticsFilter: ElementRef;\r\n\r\n @ViewChild('articleFilter', {read: ElementRef})\r\n public articleFilter: ElementRef;\r\n\r\n @Input()\r\n public activeSearchViewMode: SearchViewMode = SearchViewMode.FullScreen;\r\n\r\n @Output()\r\n public closeButtonClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public resetFilterClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostListener(\"keyup.enter\")\r\n onEnterKey(): void {\r\n this.searchService.searchTransactions();\r\n }\r\n\r\n public filterCategories: string[] = [\r\n 'Order',\r\n 'Logistiek',\r\n 'Artikel'\r\n ]\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n public searchService: TransactionSearchService,\r\n ) {\r\n }\r\n\r\n\r\n public handleCategoryClick(cat: string): void {\r\n if (cat === 'Order') {\r\n this.filterItems.nativeElement.scrollLeft = this.orderFilter.nativeElement.offsetLeft - this.filterItems.nativeElement.offsetLeft;\r\n } else if (cat === 'Logistiek') {\r\n this.filterItems.nativeElement.scrollLeft = this.logisticsFilter.nativeElement.offsetLeft - this.filterItems.nativeElement.offsetLeft;\r\n } else {\r\n this.filterItems.nativeElement.scrollLeft = this.articleFilter.nativeElement.offsetLeft - this.filterItems.nativeElement.offsetLeft;\r\n }\r\n }\r\n\r\n public onCloseButtonClick(): void {\r\n this.closeButtonClick.emit();\r\n }\r\n\r\n public resetFilters(): void {\r\n this.resetFilterClick.emit();\r\n }\r\n}\r\n","import { Component, HostBinding, ViewEncapsulation } from \"@angular/core\";\r\nimport { IconCacheService } from \"../../../../service/icon-cache.service\";\r\nimport { TransactionFilterBaseComponent } from \"../../../core/base/transaction-filter-base.component\";\r\nimport { TransactionSearchService } from \"../../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: 'co-transaction-purchase-order-filter',\r\n template: `\r\n <div class=\"transaction-filter-header-wrapper\">\r\n <div class=\"transaction-filter-header\">\r\n <span [textContent]=\"'Filters'\"></span>\r\n <co-icon class=\"filter-reset-icon clickable\"\r\n [iconData]=\"iconCacheService.getIcon(icon.SyncAlt)\"\r\n (click)=\"resetFilters()\"\r\n ></co-icon>\r\n </div>\r\n <co-icon class=\"clickable\" [iconData]=\"iconCacheService.getIcon(icon.Cancel)\"\r\n (click)=\"onCloseButtonClick()\"></co-icon>\r\n </div>\r\n <div class=\"transaction-filter-categories\">\r\n <co-transaction-filter-categories [categories]=\"filterCategories\"\r\n (categoryClick)=\"handleCategoryClick($event)\"></co-transaction-filter-categories>\r\n </div>\r\n <div #filterItems class=\"transaction-category-filter-wrapper\" data-ride=\"carousel\">\r\n <div #orderFilter class=\"transaction-filter-category-content\">\r\n <co-transaction-purchase-order-filter-content-order></co-transaction-purchase-order-filter-content-order>\r\n </div>\r\n <div #logisticsFilter class=\"transaction-filter-category-content\">\r\n <co-transaction-purchase-order-filter-content-logistics></co-transaction-purchase-order-filter-content-logistics>\r\n </div>\r\n <div #articleFilter class=\"transaction-filter-category-content\">\r\n <co-transaction-purchase-order-filter-content-article></co-transaction-purchase-order-filter-content-article>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionPurchaseOrderFilterComponent extends TransactionFilterBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-purchase-order-filter\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n public searchService: TransactionSearchService,\r\n ) {\r\n super(iconCacheService, searchService)\r\n }\r\n}\r\n","import { Component, HostBinding, ViewEncapsulation } from \"@angular/core\";\r\nimport { IconCacheService } from \"../../../../service/icon-cache.service\";\r\nimport { TransactionFilterBaseComponent } from \"../../../core/base/transaction-filter-base.component\";\r\nimport { TransactionSearchService } from \"../../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: 'co-transaction-sales-order-filter',\r\n template: `\r\n <div class=\"transaction-filter-header-wrapper\">\r\n <div class=\"transaction-filter-header\">\r\n <span [textContent]=\"'Filters'\"></span>\r\n <co-icon class=\"filter-reset-icon clickable\"\r\n [iconData]=\"iconCacheService.getIcon(icon.SyncAlt)\"\r\n (click)=\"resetFilters()\"\r\n ></co-icon>\r\n </div>\r\n <co-icon class=\"clickable\" [iconData]=\"iconCacheService.getIcon(icon.Cancel)\"\r\n (click)=\"onCloseButtonClick()\"></co-icon>\r\n </div>\r\n <div class=\"transaction-filter-categories\">\r\n <co-transaction-filter-categories [categories]=\"filterCategories\"\r\n (categoryClick)=\"handleCategoryClick($event)\"></co-transaction-filter-categories>\r\n </div>\r\n <div #filterItems class=\"transaction-category-filter-wrapper\" data-ride=\"carousel\">\r\n <div #orderFilter class=\"transaction-filter-category-content\">\r\n <co-transaction-sales-order-filter-content-order></co-transaction-sales-order-filter-content-order>\r\n </div>\r\n <div #logisticsFilter class=\"transaction-filter-category-content\">\r\n <co-transaction-sales-order-filter-content-logistics></co-transaction-sales-order-filter-content-logistics>\r\n </div>\r\n <div #articleFilter class=\"transaction-filter-category-content\">\r\n <co-transaction-sales-order-filter-content-article></co-transaction-sales-order-filter-content-article>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSalesOrderFilterComponent extends TransactionFilterBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-sales-order-filter\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n public searchService: TransactionSearchService,\r\n ) {\r\n super(iconCacheService, searchService)\r\n }\r\n}\r\n","import { ContentChildren, Directive, EventEmitter, Input, Output, QueryList } from \"@angular/core\";\r\nimport { ColumnAlign, SimpleGridColumnDirective } from \"@colijnit/corecomponents_v12\";\r\nimport { TransactionSearchView } from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\n\r\n@Directive()\r\nexport abstract class TransactionSearchGridBaseComponent {\r\n public readonly align: typeof ColumnAlign = ColumnAlign;\r\n\r\n @ContentChildren(SimpleGridColumnDirective) set content(columnComponents: QueryList<SimpleGridColumnDirective>) {\r\n this.extraColumns = columnComponents.toArray();\r\n }\r\n\r\n @Input()\r\n public transactions: TransactionSearchView[] = [];\r\n\r\n @Output()\r\n public transactionClick: EventEmitter<TransactionSearchView> = new EventEmitter<TransactionSearchView>();\r\n\r\n public extraColumns: SimpleGridColumnDirective[] = [];\r\n\r\n public onTransactionClick(transaction: any): void {\r\n this.transactionClick.emit(transaction as TransactionSearchView);\r\n }\r\n}\r\n","import { Component, HostBinding, ViewEncapsulation } from \"@angular/core\";\r\nimport { TransactionSearchGridBaseComponent } from \"../../../core/base/transaction-search-grid-base.component\";\r\nimport { TransactionSearchService } from \"../../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-search-purchase-order-grid\",\r\n template: `\r\n <div>\r\n <co-simple-grid\r\n [data]=\"searchService.transactions\"\r\n [extraColumns]=\"extraColumns\"\r\n [dragDropEnabled]=\"true\"\r\n [emitDragDrop]=\"false\"\r\n (selectRow)=\"onTransactionClick($event)\">\r\n <co-simple-grid-column [headerText]=\"'ACTIVE' | localize\"\r\n [order]=\"10\" [textAlign]=\"align.Center\">\r\n <ng-template #template let-row=\"row\">\r\n <co-input-checkbox [model]=\"row.active\" readonly></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'NR' | localize\" [field]=\"'transNr'\"\r\n [order]=\"20\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'NAME' | localize\" [field]=\"'relationName'\"\r\n [order]=\"30\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_NUMBER' | localize\" [field]=\"'relationNr'\"\r\n [order]=\"40\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'BRANCH' | localize\" [field]=\"'brancheName'\"\r\n [order]=\"50\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ADDRESS' | localize\" [field]=\"'adres'\"\r\n [order]=\"70\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'REFERENCE_RELATION' | localize\" [field]=\"'relationReference'\"\r\n [order]=\"80\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PREFERRED_DATE' | localize\"\r\n [order]=\"90\" [textAlign]=\"align.Right\" [resizable]=\"false\">\r\n <ng-template #template let-row=\"row\">\r\n <div [textContent]=\"row.preferredDeliveryDate | date: 'dd MMM yyyy'\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSACTION_DATE' | localize\"\r\n [order]=\"100\" [textAlign]=\"align.Right\" [resizable]=\"false\">\r\n <ng-template #template let-row=\"row\">\r\n <div [textContent]=\"row.transDate | date:'dd MMM yyyy'\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ORDER_DEFINITIVE' | localize\"\r\n [order]=\"105\" [textAlign]=\"align.Center\">\r\n <ng-template #template let-row=\"row\">\r\n <co-input-checkbox [model]=\"row.transactionDefinitive\" readonly></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\"\r\n [order]=\"110\" [textAlign]=\"align.Right\" [resizable]=\"false\">\r\n <ng-template #template let-row=\"row\">\r\n <div [textContent]=\"row.deliveryDate | date:'dd MMM yyyy'\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE_DEFINITIVE' | localize\"\r\n [order]=\"115\" [textAlign]=\"align.Center\">\r\n <ng-template #template let-row=\"row\">\r\n <co-input-checkbox [model]=\"row.deliveryDateDefinitive\" readonly></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSearchPurchaseOrderGridComponent extends TransactionSearchGridBaseComponent{\r\n\r\n @HostBinding(\"class.co-transaction-search-purchase-order-grid\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public searchService: TransactionSearchService\r\n ) {\r\n super()\r\n }\r\n}\r\n","import { Component, HostBinding, ViewEncapsulation } from \"@angular/core\";\r\nimport { TransactionSearchGridBaseComponent } from \"../../../core/base/transaction-search-grid-base.component\";\r\nimport { TransactionSearchService } from \"../../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-search-sales-order-grid\",\r\n template: `\r\n <div>\r\n <co-simple-grid\r\n [data]=\"searchService.transactions\"\r\n [extraColumns]=\"extraColumns\"\r\n [dragDropEnabled]=\"true\"\r\n [emitDragDrop]=\"false\"\r\n (selectRow)=\"onTransactionClick($event)\">\r\n <co-simple-grid-column [headerText]=\"'ACTIVE' | localize\"\r\n [order]=\"10\" [textAlign]=\"align.Center\">\r\n <ng-template #template let-row=\"row\">\r\n <co-input-checkbox [model]=\"row.active\" readonly></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'NR' | localize\" [field]=\"'transNr'\"\r\n [order]=\"20\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'NAME' | localize\" [field]=\"'relationName'\"\r\n [order]=\"30\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_NUMBER' | localize\" [field]=\"'relationNr'\"\r\n [order]=\"40\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'BRANCH' | localize\" [field]=\"'brancheName'\"\r\n [order]=\"50\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ADDRESS' | localize\" [field]=\"'adres'\"\r\n [order]=\"70\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'REFERENCE_RELATION' | localize\" [field]=\"'relationReference'\"\r\n [order]=\"80\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PREFERRED_DATE' | localize\"\r\n [order]=\"90\" [textAlign]=\"align.Right\" [resizable]=\"false\">\r\n <ng-template #template let-row=\"row\">\r\n <div [textContent]=\"row.preferredDeliveryDate | date: 'dd MMM yyyy'\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSACTION_DATE' | localize\"\r\n [order]=\"100\" [textAlign]=\"align.Right\" [resizable]=\"false\">\r\n <ng-template #template let-row=\"row\">\r\n <div [textContent]=\"row.transDate | date:'dd MMM yyyy'\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ORDER_DEFINITIVE' | localize\"\r\n [order]=\"105\" [textAlign]=\"align.Center\">\r\n <ng-template #template let-row=\"row\">\r\n <co-input-checkbox [model]=\"row.transactionDefinitive\" readonly></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\"\r\n [order]=\"110\" [textAlign]=\"align.Right\" [resizable]=\"false\">\r\n <ng-template #template let-row=\"row\">\r\n <div [textContent]=\"row.deliveryDate | date:'dd MMM yyyy'\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE_DEFINITIVE' | localize\"\r\n [order]=\"115\" [textAlign]=\"align.Center\">\r\n <ng-template #template let-row=\"row\">\r\n <co-input-checkbox [model]=\"row.deliveryDateDefinitive\" readonly></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSearchSalesOrderGridComponent extends TransactionSearchGridBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-search-sales-order-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public searchService: TransactionSearchService\r\n ) {\r\n super()\r\n }\r\n}\r\n","import { Directive, EventEmitter, HostBinding, Input, Output } from \"@angular/core\";\r\nimport { TransactionSearchView } from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\nimport { Icon } from \"../../../enum/icon.enum\";\r\nimport { IconCacheService } from \"../../../service/icon-cache.service\";\r\n\r\n@Directive()\r\nexport abstract class TransactionSearchTileBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public transaction: TransactionSearchView;\r\n\r\n @Output()\r\n public transactionClick: EventEmitter<TransactionSearchView> = new EventEmitter<TransactionSearchView>();\r\n\r\n\r\n @HostBinding(\"class.co-transaction-search-tile-content\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n public onTransactionClick(transaction: TransactionSearchView): void {\r\n this.transactionClick.emit(transaction);\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from \"@angular/core\";\r\nimport { TransactionSearchTileBaseComponent } from \"../../../core/base/transaction-search-tile-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-search-purchase-order-tile\",\r\n template: `\r\n <div class=\"transaction-tile-wrapper\" (click)=\"onTransactionClick(transaction)\">\r\n <div class=\"tile\">\r\n <div class=\"tile-header\">\r\n <div class=\"tile-upper-left\">\r\n <div class=\"transaction-tile-avatar\">\r\n <co-avatar [image]=\"transaction.execImage\" [relationId]=\"transaction.handledBy\"></co-avatar>\r\n </div>\r\n </div>\r\n <div class=\"tile-upper-middle\">\r\n <div class=\"header\"><span [textContent]=\"transaction.transNr\"></span></div>\r\n <div class=\"text\"><span [textContent]=\"transaction.brancheName\"></span></div>\r\n </div>\r\n <div class=\"tile-upper-right\">\r\n <div class=\"status-bar-wrapper\" (click)=\"$event.stopPropagation()\">\r\n <co-transaction-statusbar [transaction]=\"transaction\" [transactionKind]=\"transaction.transactionKind\"></co-transaction-statusbar>\r\n </div>\r\n <div class=\"header total-price-vat\"><span [textContent]=\"transaction.totalPriceWithVat | currency:'EUR'\"></span></div>\r\n </div>\r\n </div>\r\n <div class=\"tile-body\">\r\n <div class=\"tile-middle-left\"></div>\r\n <div class=\"tile-middle-middle\">\r\n <div class=\"text\"><span [textContent]=\"transaction.relationName\"></span></div>\r\n <div class=\"text\"><span [textContent]=\"transaction.getAdres()\"></span></div>\r\n </div>\r\n <div class=\"tile-middle-right\"></div>\r\n </div>\r\n <div class=\"tile-footer\">\r\n <div class=\"tile-bottom-left order-info-section\">\r\n <div class=\"label\"><span [textContent]=\"'ORDER_DATE' | localize\"></span></div>\r\n <div class=\"value\">\r\n <span [textContent]=\"transaction.getTransDate() | date:'dd MMM yyyy'\"></span></div>\r\n </div>\r\n <div class=\"tile-bottom-middle order-info-section\">\r\n <div class=\"label\"><span [textContent]=\"'DELIVERY_DATE' | localize\"></span></div>\r\n <div class=\"value\">\r\n <span [textContent]=\"transaction.getDeliveryDate() | date:'dd MMM yyyy'\"></span>\r\n <div *ngIf=\"transaction.getDeliveryDate()\">\r\n <co-icon *ngIf=\"transaction.deliveryDateDefinitive; else indefinite\"\r\n [iconData]=\"this.iconCacheService.getIcon(this.icons.Lock)\" class=\"lock-icon\"></co-icon>\r\n <ng-template #indefinite>\r\n <co-icon [iconData]=\"this.iconCacheService.getIcon(this.icons.Unlock)\" class=\"unlock-icon\"></co-icon>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"tile-bottom-right order-info-section\">\r\n <div class=\"label\"><span [textContent]=\"'ORDER_RULE' | localize\"></span></div>\r\n <div class=\"value\">\r\n <span [textContent]=\"'68/00'\"></span></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSearchPurchaseOrderTileComponent extends TransactionSearchTileBaseComponent {\r\n}\r\n","import { Component, ViewEncapsulation } from \"@angular/core\";\r\nimport { IconCacheService } from \"../../../../service/icon-cache.service\";\r\nimport { TransactionSearchTileBaseComponent } from \"../../../core/base/transaction-search-tile-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-search-sales-order-tile\",\r\n template: `\r\n <div class=\"transaction-tile-wrapper\" (click)=\"onTransactionClick(transaction)\">\r\n <div class=\"tile\">\r\n <div class=\"tile-header\">\r\n <div class=\"tile-upper-left\">\r\n <div class=\"transaction-tile-avatar\">\r\n <co-avatar [image]=\"transaction.execImage\" [relationId]=\"transaction.handledBy\"></co-avatar>\r\n </div>\r\n </div>\r\n <div class=\"tile-upper-middle\">\r\n <div class=\"header\"><span [textContent]=\"transaction.transNr\"></span></div>\r\n <div class=\"text\"><span [textContent]=\"transaction.brancheName\"></span></div>\r\n </div>\r\n <div class=\"tile-upper-right\">\r\n <div class=\"status-bar-wrapper\" (click)=\"$event.stopPropagation()\">\r\n <co-transaction-statusbar [transaction]=\"transaction\" [transactionKind]=\"transaction.transactionKind\"></co-transaction-statusbar>\r\n </div>\r\n <div class=\"header total-price-vat\"><span [textContent]=\"transaction.totalPriceWithVat | currency:'EUR'\"></span></div>\r\n </div>\r\n </div>\r\n <div class=\"tile-body\">\r\n <div class=\"tile-middle-left\"></div>\r\n <div class=\"tile-middle-middle\">\r\n <div class=\"text\"><span [textContent]=\"transaction.relationName\"></span></div>\r\n <div class=\"text\"><span [textContent]=\"transaction.getAdres()\"></span></div>\r\n </div>\r\n <div class=\"tile-middle-right\"></div>\r\n </div>\r\n <div class=\"tile-footer\">\r\n <div class=\"tile-bottom-left order-info-section\">\r\n <div class=\"label\"><span [textContent]=\"'ORDER_DATE' | localize\"></span></div>\r\n <div class=\"value\">\r\n <span [textContent]=\"transaction.getTransDate() | date:'dd MMM yyyy'\"></span></div>\r\n </div>\r\n <div class=\"tile-bottom-middle order-info-section\">\r\n <div class=\"label\"><span [textContent]=\"'DELIVERY_DATE' | localize\"></span></div>\r\n <div class=\"value\">\r\n <span [textContent]=\"transaction.getDeliveryDate() | date:'dd MMM yyyy'\"></span>\r\n <div *ngIf=\"transaction.getDeliveryDate()\">\r\n <co-icon *ngIf=\"transaction.deliveryDateDefinitive; else indefinite\"\r\n [iconData]=\"this.iconCacheService.getIcon(this.icons.Lock)\" class=\"lock-icon\"></co-icon>\r\n <ng-template #indefinite>\r\n <co-icon [iconData]=\"this.iconCacheService.getIcon(this.icons.Unlock)\" class=\"unlock-icon\"></co-icon>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"tile-bottom-right order-info-section\">\r\n <div class=\"label\"><span [textContent]=\"'ORDER_RULE' | localize\"></span></div>\r\n <div class=\"value\">\r\n <span [textContent]=\"'68/00'\"></span></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>`,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSearchSalesOrderTileComponent extends TransactionSearchTileBaseComponent {\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n ) {\r\n super(iconCacheService)\r\n }\r\n\r\n\r\n}\r\n","export enum TransactionTypeCategory {\r\n PurchaseOrderOverview = \"purchaseOrderOverview\",\r\n PurchaseOrderOrderConfirmation = \"purchaseOrderOrderConfirmation\",\r\n PurchaseOrderTransport = \"purchaseOrderTransport\",\r\n PurchaseOrderReceivedGoods = \"purchaseOrderReceivedGoods\",\r\n PurchaseOrderInvoiceCheck = \"purchaseOrderInvoiceCheck\",\r\n PurchaseOrderMenu = \"purchaseOrderMenu\",\r\n SalesOrderOverview = \"salesOrderOverview\",\r\n SalesOrderPurchase = \"salesOrderPurchase\",\r\n SalesOrderAllocation = 'salesOrderAllocation',\r\n SalesOrderLogistics = \"salesOrderLogistics\",\r\n SalesOrderPlanning = \"salesOrderPlanning\",\r\n SalesOrderDeliveryNote = \"salesOrderDeliveryNote\",\r\n SalesOrderInvoice = \"salesOrderInvoice\",\r\n}\r\n","import {AfterViewInit, Directive, Input} from \"@angular/core\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionTotal} from \"@colijnit/transactionapi/build/model/transaction-total.bo\";\r\nimport {LineOperationStatus} from \"@colijnit/transactionapi/build/model/line-operation-status.bo\";\r\nimport {RelationKind} from \"@colijnit/articleapi/build/enum/relation-kind.enum\";\r\nimport {RelationAnyType} from \"@colijnit/relationapi/build/model/relation-any-type\";\r\nimport {NULL_CUSTOMER_FULL_OBJECT} from \"@colijnit/relationapi/build/model/nul-relation-object\";\r\n\r\n@Directive()\r\nexport abstract class TransactionBaseComponent implements AfterViewInit {\r\n public readonly relationKind: typeof RelationKind = RelationKind;\r\n\r\n @Input()\r\n public set transaction(value: TransactionInfoResponse) {\r\n this._transaction = value;\r\n if (this._transaction) {\r\n if (this._transaction.transactionInfo) {\r\n this.transactionInfo = this._transaction.transactionInfo;\r\n this.isService = this._transaction.transactionInfo.transactionKind === TransactionKind.ServiceOrder;\r\n }\r\n if (this._transaction.transactionLines) {\r\n this.transactionLines = this._transaction.transactionLines;\r\n }\r\n if (this._transaction.transactionTotal) {\r\n this.transactionTotal = this._transaction.transactionTotal;\r\n }\r\n if (this._transaction.lineOperationStatuses) {\r\n this.lineOperationStatuses = this._transaction.lineOperationStatuses;\r\n }\r\n if (this._transaction.transactionInfo && this._transaction.transactionInfo.uuid) {\r\n this.transactionSet();\r\n }\r\n }\r\n }\r\n\r\n public get transaction(): TransactionInfoResponse {\r\n return this._transaction;\r\n }\r\n\r\n // @Input()\r\n // public set relationId(value: number) {\r\n // if (value !== undefined) {\r\n // this._relationId = value;\r\n // }\r\n // }\r\n //\r\n // public get relationId(): number {\r\n // return this._relationId;\r\n // }\r\n //\r\n // @Input()\r\n // public relationType: string;\r\n //\r\n @Input()\r\n public set relation(value: RelationAnyType) {\r\n if (value) {\r\n this._relation = value;\r\n this.relationSet();\r\n }\r\n }\r\n\r\n public get relation(): RelationAnyType {\r\n return this._relation;\r\n }\r\n\r\n @Input()\r\n public expanded: boolean = true;\r\n\r\n public isService: boolean = false;\r\n public transactionInfo: TransactionInfo;\r\n public lineOperationStatuses: LineOperationStatus[] = [];\r\n public transactionLines: TransactionLineInfo[] = [];\r\n public transactionTotal: TransactionTotal;\r\n\r\n // private _relationId: number;\r\n private _relation: RelationAnyType = NULL_CUSTOMER_FULL_OBJECT;\r\n // private _relationId: number;\r\n private _transaction: TransactionInfoResponse;\r\n\r\n constructor(\r\n protected readonly service: TransactionService\r\n ) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // this._retrieveRelation();\r\n }\r\n\r\n public transactionSet(): void {\r\n // overridden by descendents\r\n }\r\n\r\n public relationSet(): void {\r\n // overridden by descendents\r\n }\r\n\r\n private async _retrieveRelation(): Promise<void> {\r\n // if (this._relationId && this.relationType) {\r\n // if (this.relationType === RelationKind.Customer) {\r\n // this.service.getCustomerFullObjectByRelationId(this._relationId).then((customer: CustomerFullObject) => {\r\n // this.relation = customer;\r\n // this.relationSet();\r\n // });\r\n // } else {\r\n // this.service.getSupplierFullObjectByRelationId(this._relationId).then((supplier: SupplierFullObject) => {\r\n // this.relation = supplier;\r\n // this.relationSet();\r\n // });\r\n // }\r\n // }\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\nimport {GetPurchaseOrderConfirmation} from \"@colijnit/transactionapi/build/model/get-purchase-order-confirmation\";\r\n\r\n@Component({\r\n selector: \"co-transaction-quick-access-order-confirmation\",\r\n template: `\r\n <co-input-date\r\n [(model)]=\"purchaseOrderConfirmation.confirmationDate\"\r\n [placeholder]=\"'CONFIRMED_DATE' | localize\"\r\n ></co-input-date>\r\n <co-input-text\r\n [(model)]=\"purchaseOrderConfirmation.reference\"\r\n [placeholder]=\"'REFERENCE' | localize\"\r\n ></co-input-text>\r\n <co-input-text\r\n [(model)]=\"purchaseOrderConfirmation.leverbatch\"\r\n [placeholder]=\"'BATCH' | localize\"\r\n ></co-input-text>\r\n <co-input-checkbox (modelChange)=\"confirmFullOrder()\"\r\n ></co-input-checkbox>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionQuickAccessOrderConfirmationComponent extends TransactionBaseComponent {\r\n\r\n public purchaseOrderConfirmation: GetPurchaseOrderConfirmation = new GetPurchaseOrderConfirmation();\r\n\r\n @HostBinding(\"class.co-transaction-quick-access-order-confirmation\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public confirmFullOrder(): void {\r\n if (this.purchaseOrderConfirmation.confirmationDate && this.purchaseOrderConfirmation.reference) {\r\n this.purchaseOrderConfirmation.transId = this.service.currentTransaction.transactionInfo.transactionNr;\r\n this.service.purchaseOrderConfirmation(this.purchaseOrderConfirmation);\r\n }\r\n }\r\n\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {TransactionService} from \"../../../../service/transaction.service\";\r\nimport {Subject, Subscription} from \"rxjs\";\r\nimport {TransactionEventService} from \"../../../../service/transaction-event.service\";\r\nimport {\r\n ReceiveGoodsForPurchaseOrderRequest\r\n} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-request.bo\";\r\nimport {\r\n PurchaseOrderLineReceiptDetails\r\n} from \"@colijnit/transactionapi/build/model/purchase-order-line-receipt-details.bo\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {AvailableStock} from \"@colijnit/transactionapi/build/model/available-stock.bo\";\r\nimport {ExtendedTransactionLineViewModel} from \"../../../../model/extended-transaction-line-view-model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class TransactionReceiveGoodsService {\r\n\r\n public lines: ExtendedTransactionLineViewModel[] = [];\r\n public returnArticleSelected: Subject<AvailableStock> = new Subject<AvailableStock>();\r\n public reloadAvailableStockData: Subject<void> = new Subject();\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private _transactionService: TransactionService,\r\n private _transactionEventService: TransactionEventService,\r\n ) {\r\n this._subscriptions.push(\r\n this._transactionEventService.commitReceivePurchaseOrders.subscribe((value => {\r\n this.handleReceiveSelectedPurchaseOrders(value);\r\n }))\r\n )\r\n }\r\n\r\n public async handleReceiveSelectedPurchaseOrders(value: {date: Date, id: string}): Promise<boolean> {\r\n const selectedLines: ExtendedTransactionLineViewModel[] = this.lines.filter((line) => line.selected && line.quantityToReceive > 0);\r\n\r\n if (selectedLines.length > 0) {\r\n const receivedGoodsRequest: ReceiveGoodsForPurchaseOrderRequest = new ReceiveGoodsForPurchaseOrderRequest();\r\n receivedGoodsRequest.transId = selectedLines[0].transId;\r\n receivedGoodsRequest.receivedDate = value.date;\r\n receivedGoodsRequest.packingSlipNr = value.id;\r\n receivedGoodsRequest.purchaseOrderLineReceiptDetailsDTOS = [];\r\n\r\n selectedLines.forEach((line) => {\r\n const detail: PurchaseOrderLineReceiptDetails = new PurchaseOrderLineReceiptDetails();\r\n detail.lineNr = line.lineNr;\r\n detail.quantityToReceive = line.quantityToReceive;\r\n detail.warehouseNr = line.warehouseNumber;\r\n detail.locationNr = line.locationNr;\r\n receivedGoodsRequest.purchaseOrderLineReceiptDetailsDTOS.push(detail);\r\n });\r\n\r\n const response: TransactionInfoResponse = await this._transactionService.receiveGoodsForPurchaseOrder(receivedGoodsRequest);\r\n if (response) {\r\n this._handleAfterCommitReceivedOrders(selectedLines);\r\n }\r\n return !!response;\r\n }\r\n return false;\r\n }\r\n\r\n private _handleAfterCommitReceivedOrders(selectedLines: ExtendedTransactionLineViewModel[]): void {\r\n selectedLines.forEach((line) => {\r\n line.quantityReceived += line.quantityToReceive;\r\n line.quantityToReceive -= line.quantityToReceive;\r\n this._transactionEventService.transactionLineChanged.next(line);\r\n });\r\n this._transactionEventService.selectAllLines.next(false);\r\n }\r\n}\r\n","import {Component, HostBinding, Input, Output, ViewEncapsulation, EventEmitter, OnInit, OnDestroy} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {\r\n TransactionReceiveGoodsService\r\n} from \"../../transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-quick-access-received-goods\",\r\n template: `\r\n <co-input-date\r\n [placeholder]=\"'CONFIRMED_DATE' | localize\"\r\n [(model)]=\"this.commitDate\"\r\n ></co-input-date>\r\n <co-input-text\r\n [placeholder]=\"'PACKING_SLIP' | localize\"\r\n [(model)]=\"this.commitReferenceId\"\r\n ></co-input-text>\r\n <co-input-checkbox\r\n class=\"checkbox-wrapper\"\r\n [(model)]=\"localCheckboxState\"\r\n (modelChange)=\"handleSelectAllLines($event)\"\r\n ></co-input-checkbox>\r\n <div class=\"buttons\">\r\n <div class=\"button-wrapper receive\" (click)=\"handleCommitEvent({date: this.commitDate, id: this.commitReferenceId})\">\r\n <co-checkmark-overlay [successful]=\"resultSuccessful\" [visible]=\"awaitingResult\"></co-checkmark-overlay>\r\n <co-icon class=\"button-icon\" [iconData]=\"iconService.getIcon(icons.GearSolid)\" [class.hidden]=\"!iconVisible\"></co-icon>\r\n </div>\r\n <div class=\"button-wrapper print\">\r\n <co-icon class=\"button-icon\" [iconData]=\"iconService.getIcon(icons.PrintSolid)\"></co-icon>\r\n <div class=\"dots-wrapper\"><div class=\"dot\"></div><div class=\"dot\"></div><div class=\"dot\"></div></div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionQuickAccessReceivedGoodsComponent extends TransactionBaseComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public commitDate: Date;\r\n\r\n @Input()\r\n public commitReferenceId: string;\r\n\r\n @Input()\r\n public packingSlipId: string;\r\n\r\n public localCheckboxState: boolean = true;\r\n public awaitingResult: boolean = false;\r\n public resultSuccessful: boolean = false;\r\n public iconVisible: boolean = true;\r\n\r\n // Route through event service instead\r\n @Output()\r\n public checkboxValueChanged: EventEmitter<{checkboxValue: boolean, date: Date, id: string}> =\r\n new EventEmitter<{checkboxValue: boolean, date: Date, id: string}>();\r\n\r\n @HostBinding(\"class.co-transaction-quick-access-received-goods\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconService: IconCacheService,\r\n private _transactionService: TransactionService,\r\n private _transactionEventService: TransactionEventService,\r\n private _receiveGoodsService: TransactionReceiveGoodsService\r\n ) {\r\n super(_transactionService);\r\n }\r\n\r\n public ngOnInit(): void {\r\n const timeElapsed: number = Date.now();\r\n this.commitDate = new Date(timeElapsed);\r\n }\r\n\r\n public async handleCommitEvent(value: {date: Date, id: string}): Promise<void> {\r\n this.iconVisible = false;\r\n this.resultSuccessful = false;\r\n this.awaitingResult = true;\r\n this.resultSuccessful = await this._receiveGoodsService.handleReceiveSelectedPurchaseOrders(value);\r\n this.awaitingResult = false;\r\n setTimeout(() => {\r\n this.iconVisible = true\r\n }, 600);\r\n }\r\n\r\n public handleSelectAllLines(value: boolean): void {\r\n this._transactionEventService.selectAllLines.next(value);\r\n }\r\n}\r\n","import {Directive, OnInit} from \"@angular/core\";\r\nimport {ReportLayoutSelectionEmail} from \"@colijnit/mainapi/build/model/report-layout-selection-email.bo\";\r\nimport {ReportLayoutSelectionPrint} from \"@colijnit/mainapi/build/model/report-layout-selection-print.bo\";\r\nimport {CommunicationType} from \"@colijnit/relationapi/build/enum/communication-type.enum\";\r\nimport {ContactOption} from \"@colijnit/relationapi/build/model/contact-option.bo\";\r\nimport {sendMethodsWithIcon} from \"@colijnit/sharedcomponents\";\r\nimport {SendMethodType} from \"@colijnit/mainapi/build/enum/send-method-type.enum\";\r\nimport {ReportingDocumentEmailBaseRequest} from \"@colijnit/mainapi/build/model/reporting-document-email-base-request\";\r\nimport {ReportingDocumentPrintBaseRequest} from \"@colijnit/mainapi/build/model/reporting-document-print-base-request\";\r\nimport {ReportingDocumentPdfBaseRequest} from \"@colijnit/mainapi/build/model/reporting-document-pdf-base-request\";\r\nimport {TransactionBaseComponent} from \"../core/base/transaction-base.component\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\n\r\n@Directive()\r\nexport abstract class TransactionQuickAccessSendMethodBaseComponent extends TransactionBaseComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly sendMethodType: typeof SendMethodType = SendMethodType;\r\n\r\n public emailLayouts: ReportLayoutSelectionEmail[] = [];\r\n public printLayouts: ReportLayoutSelectionPrint[] = [];\r\n public defaultSendMethod: string;\r\n public defaultSendMethodIcon: string;\r\n public emailAddresses: string[] = [];\r\n public showSendMethodDialog: boolean = false;\r\n public sendMethods = sendMethodsWithIcon;\r\n public showLoader: boolean = false;\r\n\r\n protected abstract reportDocumentEmailRequest: ReportingDocumentEmailBaseRequest;\r\n protected abstract reportDocumentPrintRequest: ReportingDocumentPrintBaseRequest;\r\n protected abstract reportDocumentPdfRequest: ReportingDocumentPdfBaseRequest;\r\n\r\n constructor(\r\n protected readonly service: TransactionService\r\n ) {\r\n super(service);\r\n }\r\n\r\n ngOnInit(): void {\r\n this._getDefaultSendMethod();\r\n this._getEmailLayouts();\r\n this._getPrintLayouts();\r\n }\r\n\r\n public transactionSet(): void {\r\n this.reportDocumentEmailRequest.transId = this.transactionInfo.id;\r\n this.reportDocumentPrintRequest.transId = this.transactionInfo.id;\r\n this.reportDocumentPdfRequest.transId = this.transactionInfo.id;\r\n }\r\n\r\n public relationSet(): void {\r\n this.emailAddresses.length = 0;\r\n const emailContactOptions: ContactOption[] = this.relation.contactOptions.filter(co => co.type === CommunicationType.Email);\r\n const defaultEmailContactOption: ContactOption = emailContactOptions.find(co => co.lowestSequence);\r\n this.emailAddresses = emailContactOptions.map(e => e.value);\r\n this.getDefaultEmailAddressList().then((addresses: string[]) => {\r\n if (addresses && addresses.length > 0) {\r\n this.reportDocumentEmailRequest.toAddresses = addresses.join(';');\r\n this.emailAddresses.push(...addresses);\r\n } else {\r\n this.reportDocumentEmailRequest.toAddresses = defaultEmailContactOption ? defaultEmailContactOption.value : '';\r\n }\r\n });\r\n }\r\n\r\n public async handleSendMethodOkClick(method: string): Promise<void> {\r\n this.showSendMethodDialog = false;\r\n await this.handleSend(method);\r\n this._setDefaultMethod(method);\r\n }\r\n\r\n public async handleSend(method: string): Promise<void> {\r\n this.showLoader = true;\r\n switch (method) {\r\n case SendMethodType.Print:\r\n await this.printDocument(this.reportDocumentPrintRequest);\r\n this.showLoader = false;\r\n break;\r\n case SendMethodType.Email:\r\n await this.emailDocument(this.reportDocumentEmailRequest);\r\n this.showLoader = false;\r\n break;\r\n }\r\n }\r\n\r\n protected abstract printDocument(request: ReportingDocumentPrintBaseRequest);\r\n protected abstract emailDocument(request: ReportingDocumentEmailBaseRequest);\r\n protected abstract pdfDocument(request: ReportingDocumentPdfBaseRequest);\r\n protected abstract getEmailLayouts(): Promise<ReportLayoutSelectionEmail[]>;\r\n protected abstract getPrintLayouts(): Promise<ReportLayoutSelectionPrint[]>;\r\n protected abstract getDefaultEmailAddressList(): Promise<string[]>;\r\n protected abstract getDefaultSendMethod(): Promise<number>;\r\n\r\n private _getDefaultSendMethod(): void {\r\n this.getDefaultSendMethod().then((method: number) => {\r\n this._setDefaultMethod(method.toString());\r\n });\r\n }\r\n\r\n private _setDefaultMethod(method: string): void {\r\n const sendMethod = this.sendMethods.find(sm => sm.code === method);\r\n if (sendMethod) {\r\n this.defaultSendMethod = sendMethod.code;\r\n this.defaultSendMethodIcon = sendMethod.icon;\r\n }\r\n }\r\n\r\n private _getEmailLayouts(): void {\r\n this.getEmailLayouts().then((layouts: ReportLayoutSelectionEmail[]) => {\r\n this.emailLayouts = layouts;\r\n if (this.emailLayouts && this.emailLayouts.length > 0) {\r\n const defaultLayout: ReportLayoutSelectionEmail = this.emailLayouts.find(e => e.isDefault);\r\n if (defaultLayout) {\r\n this.reportDocumentEmailRequest.reportId = defaultLayout.reportId;\r\n }\r\n }\r\n });\r\n }\r\n\r\n private _getPrintLayouts(): void {\r\n this.getPrintLayouts().then((layouts: ReportLayoutSelectionPrint[]) => {\r\n this.printLayouts = layouts;\r\n if (this.printLayouts && this.printLayouts.length > 0) {\r\n const defaultLayout: ReportLayoutSelectionPrint = this.printLayouts.find(p => p.isDefault);\r\n if (defaultLayout) {\r\n this.reportDocumentPrintRequest.reportId = defaultLayout.reportId;\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import {Component, HostBinding, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {ReportLayoutSelectionEmail} from \"@colijnit/mainapi/build/model/report-layout-selection-email.bo\";\r\nimport {ReportLayoutSelectionPrint} from \"@colijnit/mainapi/build/model/report-layout-selection-print.bo\";\r\nimport {EmailOrderConfirmationRequest} from \"@colijnit/mainapi/build/model/email-order-confirmation-request\";\r\nimport {PrintOrderConfirmationRequest} from \"@colijnit/mainapi/build/model/print-order-confirmation-request\";\r\nimport {PdfOrderConfirmationRequest} from \"@colijnit/mainapi/build/model/pdf-order-confirmation-request\";\r\nimport {TransactionQuickAccessSendMethodBaseComponent} from \"../transaction-quick-access-send-method-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-quick-access-overview\",\r\n template: `\r\n <co-input-search\r\n [(model)]=\"searchText\"\r\n [placeholder]=\"'SEARCH_ADD_ARTICLE' | localize\"\r\n [centerLabel]=\"true\"\r\n [useLeftIcon]=\"true\"\r\n [useRightIcon]=\"true\"\r\n (search)=\"handleSearch($event)\"\r\n ></co-input-search>\r\n <co-quick-send-button\r\n [defaultMethodIcon]=\"defaultSendMethodIcon\"\r\n [showLoader]=\"showLoader\"\r\n (sendIconClicked)=\"handleSend(defaultSendMethod)\"\r\n (openSendMethodDialog)=\"showSendMethodDialog = true\"\r\n ></co-quick-send-button>\r\n <co-dialog-catalog *ngIf=\"showCatalog\"\r\n [options]=\"catalogOptions\"\r\n [parameters]=\"catalogParameters\"\r\n [showNavigation]=\"true\"\r\n (closeClick)=\"showCatalog = false\"\r\n (articleClicked)=\"handleCatalogArticleClick($event)\"\r\n >\r\n </co-dialog-catalog>\r\n <co-send-method-dialog *ngIf=\"showSendMethodDialog\"\r\n [headerTitle]=\"'Verzendmethode'\"\r\n [defaultSendMethod]=\"defaultSendMethod\"\r\n [visibleMethods]=\"[sendMethodType.Print, sendMethodType.Email]\"\r\n [emailAddresses]=\"emailAddresses\"\r\n [emailLayouts]=\"emailLayouts\"\r\n [printLayouts]=\"printLayouts\"\r\n [isDocSignEnabled]=\"true\"\r\n [(reportingDocumentEmailRequest)]=\"reportDocumentEmailRequest\"\r\n [(reportingDocumentPrintRequest)]=\"reportDocumentPrintRequest\"\r\n [(reportingDocumentPdfRequest)]=\"reportDocumentPdfRequest\"\r\n (closeClick)=\"showSendMethodDialog = false\"\r\n (okClick)=\"handleSendMethodOkClick($event)\"\r\n ></co-send-method-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionQuickAccessOverviewComponent extends TransactionQuickAccessSendMethodBaseComponent implements OnInit {\r\n\r\n @HostBinding(\"class.co-transaction-quick-access-overview\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public reportDocumentEmailRequest: EmailOrderConfirmationRequest = new EmailOrderConfirmationRequest();\r\n public reportDocumentPrintRequest: PrintOrderConfirmationRequest = new PrintOrderConfirmationRequest();\r\n public reportDocumentPdfRequest: PdfOrderConfirmationRequest = new PdfOrderConfirmationRequest();\r\n\r\n public catalogOptions: any = {\r\n searchOnStart: true,\r\n showAddToCart: false,\r\n showLookAtArticleButton: false,\r\n showAddArticleButton: false\r\n };\r\n public catalogParameters: any = {};\r\n public showCatalog: boolean = false;\r\n public searchText: string = \"\";\r\n\r\n constructor(\r\n protected readonly service: TransactionService\r\n ) {\r\n super(service);\r\n }\r\n\r\n public handleSearch(text: string): void {\r\n this.showCatalogDialog();\r\n }\r\n\r\n public handleAddArticle(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.service.addArticle(this.searchText);\r\n }\r\n\r\n public handleSearchCatalog(event: MouseEvent): void {\r\n this.showCatalogDialog();\r\n }\r\n\r\n public async handleCatalogArticleClick(article: ArticleExtended): Promise<void> {\r\n if (await this.service.addArticle(article.articleNumber)) {\r\n this.showCatalog = false;\r\n }\r\n }\r\n\r\n public showCatalogDialog(): void {\r\n this.catalogParameters.general = this.searchText;\r\n this.catalogParameters.publicationCode = 71; // todo: fix this?\r\n this.showCatalog = true;\r\n }\r\n\r\n protected async emailDocument(request: EmailOrderConfirmationRequest) {\r\n await this.service.emailOrderConfirmation(request);\r\n }\r\n\r\n protected getDefaultEmailAddressList(): Promise<string[]> {\r\n return this.service.getDefaultEmailAddressListForOrderConfirmation(this.transactionInfo.uuid);\r\n }\r\n\r\n protected getEmailLayouts(): Promise<ReportLayoutSelectionEmail[]> {\r\n return this.service.getOrderConfirmationEmailLayouts(this.transactionInfo.uuid);\r\n }\r\n\r\n protected getPrintLayouts(): Promise<ReportLayoutSelectionPrint[]> {\r\n return this.service.getOrderConfirmationPrintLayouts(this.transactionInfo.uuid);\r\n }\r\n\r\n protected pdfDocument(request: PdfOrderConfirmationRequest) {\r\n }\r\n\r\n protected async printDocument(request: PrintOrderConfirmationRequest) {\r\n await this.service.printOrderConfirmation(request);\r\n }\r\n\r\n protected async getDefaultSendMethod(): Promise<number> {\r\n return this.service.getOrderConfirmationDefaultSendMethod(this.transactionInfo.relation.relationId);\r\n }\r\n\r\n}\r\n","import {ContentChildren, Directive, EventEmitter, Input, Output, QueryList} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {ColumnAlign, SimpleGridColumnDirective} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionImageService} from \"../../../service/transaction-image.service\";\r\n\r\n@Directive()\r\nexport abstract class TransactionGridBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly align: typeof ColumnAlign = ColumnAlign;\r\n\r\n @ContentChildren(SimpleGridColumnDirective) set content(columnComponents: QueryList<SimpleGridColumnDirective>) {\r\n this.extraColumns = columnComponents.toArray();\r\n }\r\n\r\n @Input()\r\n public transactionId: number;\r\n\r\n @Input()\r\n public set transactionLines(value: TransactionLineInfo[]) {\r\n this._transactionLines = value;\r\n this._getImages();\r\n }\r\n\r\n public get transactionLines(): TransactionLineInfo[] {\r\n return this._transactionLines;\r\n }\r\n\r\n @Output()\r\n public sidePanelClicked: EventEmitter<TransactionLineInfo> = new EventEmitter<TransactionLineInfo>();\r\n\r\n @Output()\r\n public rowVisible: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n public extraColumns: SimpleGridColumnDirective[] = [];\r\n\r\n private _transactionLines: TransactionLineInfo[] = [];\r\n\r\n constructor(\r\n protected imageService: TransactionImageService\r\n ) {\r\n }\r\n\r\n public handleDrop(data: {from: number, to: number}): void {\r\n\r\n }\r\n\r\n public openSidePanel(line: TransactionLineInfo): void {\r\n this.sidePanelClicked.emit(line);\r\n }\r\n\r\n private _getImages(): void {\r\n for (let i = 0; i < this._transactionLines.length; i++) {\r\n if (this._transactionLines[i].articleImageData === undefined || this._transactionLines[i].articleImageData === null) {\r\n this.imageService.retrieveLineImage(this._transactionLines[i]).then((image: string) => {\r\n this._transactionLines[i].articleImageData = image;\r\n });\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionGridBaseComponent} from \"../../core/base/transaction-grid-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-order-confirmation-grid\",\r\n template: `\r\n <co-transaction-base-grid [transactionLines]=\"transactionLines\" (sidePanelClicked)=\"openSidePanel($event)\">\r\n <co-simple-grid-column [width]=\"100\" [field]=\"'location'\" [textAlign]=\"align.Center\" [order]=\"40\">\r\n <ng-template #template let-row = \"row\">\r\n <div class=\"co-transaction-grid-location-icon-wrapper\">\r\n <icon class=\"co-transaction-grid-menu-icon\" [icon]=\"icons.Warehouse\"></icon>\r\n <span [textContent]=\"'98'\"></span>\r\n </div>\r\n <div class=\"co-transaction-grid-location-icon-wrapper\">\r\n <icon class=\"co-transaction-grid-menu-icon\" [icon]=\"icons.MapMarker\"></icon>\r\n <span [textContent]=\"'A01'\"></span>\r\n </div>\r\n <div class=\"co-transaction-grid-location-icon-wrapper\">\r\n <icon class=\"co-transaction-grid-menu-icon\" [icon]=\"icons.Truck\"></icon>\r\n <span [textContent]=\"'Black'\"></span>\r\n </div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'IN_ORDER' | localize\" [field]=\"'inOrder'\" [order]=\"50\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'GROSS_PRICE' | localize\" [field]=\"'grossPrice'\" [order]=\"51\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DISCOUNT' | localize\" [field]=\"'discount'\" [order]=\"52\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'NETTO_PRICE' | localize\" [field]=\"'nettoPrice'\" [order]=\"53\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'CONFIRMED' | localize\" [field]=\"'confirmed'\" [order]=\"54\"></co-simple-grid-column>\r\n <co-simple-grid-column [field]=\"'commitButton'\" [order]=\"55\" [textAlign]=\"align.Center\">\r\n <ng-template #headerTemplate let-row = \"row\">\r\n <co-input-checkbox></co-input-checkbox>\r\n </ng-template>\r\n <ng-template #template let-row = \"row\">\r\n <co-input-checkbox></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\" [field]=\"'deliveryDate'\" [order]=\"56\"></co-simple-grid-column>\r\n </co-transaction-base-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionOrderConfirmationGridComponent extends TransactionGridBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-order-confirmation-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import { Component, HostBinding, ViewEncapsulation } from \"@angular/core\";\r\nimport { TransactionKind } from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport { LineOperationResponse } from \"@colijnit/transactionapi/build/model/line-operation-response.bo\";\r\nimport { TransactionLineInfo } from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport { DialogService } from \"../../../service/dialog.service\";\r\nimport { TransactionImageService } from \"../../../service/transaction-image.service\";\r\nimport { TransactionService } from \"../../../service/transaction.service\";\r\nimport { TransactionGridBaseComponent } from \"../../core/base/transaction-grid-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-lines-grid\",\r\n template: `\r\n <co-transaction-base-grid [transactionLines]=\"transactionLines\" (sidePanelClicked)=\"openSidePanel($event)\">\r\n <co-simple-grid-column [field]=\"'warehouseNumber'\" [width]=\"50\" [order]=\"40\" [textAlign]=\"align.Right\">\r\n <ng-template #headerTemplate>\r\n <icon class=\"transaction-grid-header-icon\" [icon]=\"icons.Warehouse\"></icon>\r\n </ng-template>\r\n <ng-template #template let-row = \"row\">\r\n <div [textContent]=\"row.warehouseNumber\" (click)=\"openWarehouseDialog(row)\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [field]=\"''\" [width]=\"50\" [order]=\"45\" [textAlign]=\"align.Right\">\r\n <ng-template #headerTemplate>\r\n <icon class=\"transaction-grid-header-icon\" [icon]=\"icons.DeliveryTruck\"></icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [field]=\"''\" [width]=\"50\" [order]=\"46\" [textAlign]=\"align.Right\">\r\n <ng-template #headerTemplate>\r\n <icon class=\"transaction-grid-header-icon\" [icon]=\"icons.DeliveryTruck\"></icon>\r\n </ng-template>\r\n <ng-template #template let-row = \"row\">\r\n <div [textContent]=\"row.commissionCode\" (click)=\"openCommissionCodeDialog(row)\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\" [textAlign]=\"align.Right\" [width]=\"75\" [resizable]=\"false\" [order]=\"50\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TO_DELIVER' | localize\" [textAlign]=\"align.Right\" [width]=\"75\" [resizable]=\"false\" [order]=\"60\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STATUS' | localize\" [textAlign]=\"align.Left\" [width]=\"100\" [resizable]=\"false\" [order]=\"70\">\r\n <ng-template #template let-row = \"row\">\r\n <co-transaction-line-statusbar [transaction]=\"row\" [transactionKind]=\"transactionKind\"></co-transaction-line-statusbar>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PRICE' | localize\" [textAlign]=\"align.Right\" [order]=\"80\">\r\n <ng-template #template let-row = \"row\">\r\n <div [textContent]=\"row.price | priceDisplay\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DISCOUNT' | localize\" [textAlign]=\"align.Right\" [width]=\"100\" [resizable]=\"false\" [order]=\"90\">\r\n <ng-template #template let-row = \"row\">\r\n <div class=\"transaction-lines-grid-line-label\" [textContent]=\"row.lineTotalDiscountAmount | priceDisplay\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'SUBTOTAL' | localize\" [textAlign]=\"align.Right\" [width]=\"100\" [resizable]=\"false\" [order]=\"100\">\r\n <ng-template #template let-row = \"row\">\r\n <div class=\"transaction-lines-grid-line-label\" [textContent]=\"row.lineTotalDiscountAmount | priceDisplay\"></div>\r\n <div [textContent]=\"row.netLineTotal | priceDisplay\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\" [textAlign]=\"align.Right\" [width]=\"100\" [resizable]=\"false\" [order]=\"110\">\r\n <ng-template #template let-row = \"row\">\r\n <div [textContent]=\"row.deliveryDate | date:'dd MMM yyyy'\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-transaction-base-grid>\r\n <co-dialog-transaction-line-commission-code *ngIf=\"showDialogCommissionCode\"\r\n [transactionInfo]=\"service.currentTransaction.transactionInfo\"\r\n [transactionLine]=\"currentTransactionLine\"\r\n (close)=\"showDialogCommissionCode = false\"\r\n ></co-dialog-transaction-line-commission-code>\r\n <co-dialog-transaction-line-warehouse *ngIf=\"showDialogWarehouse\"\r\n [transactionInfo]=\"service.currentTransaction.transactionInfo\"\r\n [transactionLine]=\"currentTransactionLine\"\r\n (close)=\"showDialogWarehouse = false\">\r\n </co-dialog-transaction-line-warehouse>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLinesGridComponent extends TransactionGridBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-lines-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public currentTransactionLine: TransactionLineInfo;\r\n public showDialogCommissionCode: boolean = false;\r\n public showDialogWarehouse: boolean = false;\r\n public transactionKind: TransactionKind;\r\n\r\n constructor(\r\n protected imageService: TransactionImageService,\r\n public service: TransactionService,\r\n private _dialogService: DialogService\r\n ) {\r\n super(imageService);\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.transactionKind = this.service.currentTransaction.transactionInfo.transactionKind;\r\n }\r\n\r\n public changeLineAmount(row: TransactionLineInfo, amount: number): void {\r\n this.service.changeTransactionLineQuantity(row.uuid, amount).then((value: LineOperationResponse) => {\r\n if (!value || !value.isSuccess) {\r\n return;\r\n } else {\r\n row.amount = amount;\r\n }\r\n });\r\n }\r\n\r\n public openCommissionCodeDialog(row: TransactionLineInfo): void {\r\n this.currentTransactionLine = row;\r\n this.showDialogCommissionCode = true;\r\n }\r\n\r\n public openWarehouseDialog(row: TransactionLineInfo): void {\r\n this.currentTransactionLine = row;\r\n this.showDialogWarehouse = true;\r\n }\r\n}\r\n","// Direction type for regular straight directions.\r\nexport enum Direction {\r\n Right = \"right\",\r\n Left = \"left\",\r\n Up = \"top\",\r\n Down = \"bottom\",\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { TransactionService } from \"../../service/transaction.service\";\r\nimport { TransactionKind } from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport { Icon } from \"../../enum/icon.enum\";\r\nimport { DictionaryService } from \"../../service/dictionary.service\";\r\nimport { IconCacheService } from \"../../service/icon-cache.service\";\r\nimport { Direction } from \"../../enum/direction.enum\";\r\nimport { TransactionLineInfo } from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {\r\n TransactionAddTextLineRequest\r\n} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-action-buttons\",\r\n template: `\r\n <div class=\"transaction-line-action-buttons-wrapper\">\r\n<!--\r\n <div class=\"menu-button-container\">\r\n <co-button\r\n class=\"action-menu-button circle\"\r\n [iconData]=\"iconCacheService.getIcon(icons.EllipsisLight)\"\r\n (click)=\"handleShowHideClick()\">\r\n </co-button>\r\n </div>\r\n-->\r\n\r\n <div class=\"action-buttons-container\"\r\n *ngIf=\"showActionButtons\"\r\n [ngClass]=\"alignDirection\">\r\n\r\n <co-button\r\n class=\"transaction-line-overview-button circle action-button\"\r\n [class.show]=\"showActionButtonsDelayed\"\r\n [iconData]=\"iconCacheService.getIcon(icons.TextSizeSolid)\"\r\n (click)=\"handleTransactionArticleTextOverview()\"></co-button>\r\n\r\n <co-button\r\n class=\"transaction-line-add-text-button circle action-button\"\r\n [class.show]=\"showActionButtonsDelayed\"\r\n [iconData]=\"iconCacheService.getIcon(icons.TextSolid)\"\r\n (click)=\"handleTransactionArticleText()\"></co-button>\r\n\r\n <co-button\r\n class=\"transaction-line-show-sidebar-button circle action-button\"\r\n [class.show]=\"showActionButtonsDelayed\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ObjectIntersectSolid)\"\r\n (click)=\"handleShowSidePanel()\"></co-button>\r\n </div>\r\n </div>\r\n\r\n <co-transaction-article-text-overview *ngIf=\"showTransactionArticleTextOverview\"\r\n [header]=\"articleTextHeader | localize\"\r\n [transactionLine]=\"transactionLine\"\r\n (saveClick)=\"onSaveTransactionArticleTextOverview($event)\"\r\n (closeClick)=\"closeTransactionArticleTextOverview()\"\r\n (cancelClick)=\"closeTransactionArticleTextOverview()\"\r\n ></co-transaction-article-text-overview>\r\n\r\n <co-transaction-article-text *ngIf=\"showTransactionArticleText\"\r\n [header]=\"articleTextHeader | localize\"\r\n [articleLineNr]=\"transactionLine.lineNr\"\r\n [articleRef]=\"transactionLine.articleNumber\"\r\n [transactionLine]=\"transactionLine\"\r\n [editText]=\"textToEdit\"\r\n (saveClick)=\"saveTransactionArticleLineText($event)\"\r\n (closeClick)=\"closeTransactionArticleText($event)\"\r\n (cancelClick)=\"closeTransactionArticleText($event)\"\r\n ></co-transaction-article-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineActionButtonsComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set transactionLine(value: TransactionLineInfo) {\r\n this._transactionLine = value;\r\n this.readonly = this._transactionLine.hasInvoices;\r\n }\r\n\r\n public get transactionLine(): TransactionLineInfo {\r\n return this._transactionLine;\r\n }\r\n\r\n @Input()\r\n public alignDirection: Direction = Direction.Down;\r\n\r\n @Input()\r\n public set showActionButtons(value: boolean) {\r\n this._showActionButtons = value;\r\n setTimeout(() => {\r\n this.showActionButtonsDelayed = this._showActionButtons;\r\n });\r\n }\r\n\r\n public get showActionButtons(): boolean {\r\n return this._showActionButtons;\r\n }\r\n\r\n @Output()\r\n public waitingForUserAction: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Output()\r\n public sidePanelButtonClicked: EventEmitter<TransactionLineInfo> = new EventEmitter<TransactionLineInfo>();\r\n\r\n @HostBinding(\"class.co-transaction-line-action-buttons\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public showActionButtonsDelayed: boolean = false;\r\n public transactionKind: TransactionKind;\r\n public showTransactionArticleText: boolean = false;\r\n public showTransactionArticleTextOverview: boolean = false;\r\n public articleTextHeader: string;\r\n public textToEdit: string;\r\n public readonly: boolean = false;\r\n\r\n private _transactionLine: TransactionLineInfo;\r\n private _showActionButtons: boolean = false;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _transactionService: TransactionService,\r\n private _dictionaryService: DictionaryService\r\n ) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.transactionKind = this._transactionService.currentTransaction.transactionInfo.transactionKind;\r\n }\r\n\r\n public handleShowHideClick(): void {\r\n this.showActionButtons = !this.showActionButtons;\r\n setTimeout(() => {\r\n this.showActionButtonsDelayed = !this.showActionButtonsDelayed;\r\n }, 1);\r\n }\r\n\r\n public handleTransactionArticleTextOverview(): void {\r\n this.articleTextHeader = this._dictionaryService.get(\"PRODUCT_DESCRIPTION_AND_TEXTS\", true);\r\n this.textToEdit = undefined;\r\n this._showArticleTextOverviewDialog();\r\n this.showActionButtons = false;\r\n this.showActionButtonsDelayed = false;\r\n }\r\n\r\n public handleTransactionArticleText(): void {\r\n this.articleTextHeader = this._dictionaryService.get(\"PRODUCT_DESCRIPTION_AND_TEXTS\", true);\r\n this.textToEdit = undefined;\r\n this.showArticleTextDialog();\r\n this.showActionButtons = false;\r\n this.showActionButtonsDelayed = false;\r\n }\r\n\r\n public handleShowSidePanel(): void {\r\n this.sidePanelButtonClicked.next(this.transactionLine);\r\n this.waitingForUserAction.next(true);\r\n this.showActionButtons = false;\r\n this.showActionButtonsDelayed = false;\r\n }\r\n\r\n public showOverviewButton(): boolean {\r\n return (this.transactionKind === TransactionKind.PurchaseOrder ||\r\n this.transactionKind === TransactionKind.SalesOrder) && !this.readonly;\r\n }\r\n\r\n public showAddTextButton(): boolean {\r\n return (this.transactionKind === TransactionKind.PurchaseOrder ||\r\n this.transactionKind === TransactionKind.SalesOrder) && !this.readonly;\r\n }\r\n\r\n public showSidebarButton(): boolean {\r\n return this.transactionKind === TransactionKind.PurchaseOrder ||\r\n this.transactionKind === TransactionKind.SalesOrder;\r\n }\r\n\r\n public onSaveTransactionArticleTextOverview(request: TransactionAddTextLineRequest) {\r\n this.saveTransactionArticleLineText(request);\r\n this.closeTransactionArticleTextOverview();\r\n }\r\n\r\n public saveTransactionArticleLineText(transactionAddTextLineRequest: TransactionAddTextLineRequest): void {\r\n if (transactionAddTextLineRequest) {\r\n this._transactionService.addTextLine(\r\n transactionAddTextLineRequest.showOnDocuments,\r\n transactionAddTextLineRequest.text,\r\n 0,\r\n true,\r\n transactionAddTextLineRequest.refArticleLineNr).then(() => {\r\n this._hideArticleTextDialog();\r\n });\r\n }\r\n this._hideArticleTextDialog();\r\n }\r\n\r\n public closeTransactionArticleText(event: MouseEvent): void {\r\n this._hideArticleTextDialog();\r\n }\r\n\r\n public closeTransactionArticleTextOverview(): void {\r\n this._hideArticleTextOverviewDialog();\r\n }\r\n\r\n public showArticleTextDialog(): void {\r\n this.showTransactionArticleText = true;\r\n this.waitingForUserAction.next(true);\r\n }\r\n\r\n private _hideArticleTextDialog(): void {\r\n this.showTransactionArticleText = false;\r\n this.waitingForUserAction.next(false);\r\n }\r\n\r\n private _showArticleTextOverviewDialog(): void {\r\n this.showTransactionArticleTextOverview = true;\r\n this.waitingForUserAction.next(true);\r\n }\r\n\r\n private _hideArticleTextOverviewDialog(): void {\r\n this.showTransactionArticleTextOverview = false;\r\n this.waitingForUserAction.next(false);\r\n }\r\n}\r\n","import {Directive, EventEmitter, HostBinding, Input, Output} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {BehaviorSubject} from \"rxjs\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {TransactionTypeCategory} from \"../../../enum/transaction-type-category.enum\";\r\n\r\n@Directive()\r\nexport abstract class TransactionLinesLineBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set line(value: TransactionLineInfo) {\r\n this._line = value;\r\n this.isText = this._line.isText;\r\n this.isArticle = this._line.isArticle;\r\n this.readonly = this._line.hasInvoices;\r\n this.transactionLineSet();\r\n }\r\n\r\n public get line(): TransactionLineInfo {\r\n return this._line;\r\n }\r\n\r\n @Input()\r\n public transactionId: number;\r\n\r\n @Output()\r\n public lineChange: EventEmitter<TransactionLineInfo> = new EventEmitter<TransactionLineInfo>();\r\n\r\n @Output()\r\n public waitingForUserAction: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding(\"class.co-transaction-base-line\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostBinding(\"class.preview\")\r\n @Input()\r\n public preview: boolean = false;\r\n\r\n @HostBinding(\"class.is-selected\")\r\n @Input()\r\n public selected: boolean;\r\n\r\n @HostBinding(\"class.is-text\")\r\n public isText: boolean;\r\n\r\n @HostBinding(\"class.is-article\")\r\n public isArticle: boolean;\r\n\r\n public _line: TransactionLineInfo;\r\n public readonly: boolean = false;\r\n\r\n public lineVisible: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n public activeCategory: TransactionTypeCategory;\r\n\r\n // overridden by descendents\r\n protected transactionLineSet(): void {\r\n\r\n }\r\n}\r\n","import {Component, HostBinding, HostListener, OnInit, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {StockStatus} from \"@colijnit/transactionapi/build/enum/refcode/stock-status.enum\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {DictionaryService} from \"../../../service/dictionary.service\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {TransactionLineActionButtonsComponent} from \"../../transaction-line-action-buttons/transaction-line-action-buttons.component\";\r\nimport {TransactionLinesLineBaseComponent} from \"../../core/base/transaction-lines-line-base.component\";\r\nimport {Vat} from \"@colijnit/transactionapi/build/model/vat\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-overview-line\",\r\n template: `\r\n <co-transaction-base-line [line]=\"line\" [preview]=\"preview\" [selected]=\"selected\">\r\n <ng-container *ngIf=\"line.isArticle\">\r\n <div class=\"transaction-line-wrapper\">\r\n <div *ngIf=!preview class=\"transaction-line-extended-wrapper\">\r\n <div class=\"column1\">\r\n <co-transaction-line-commission-button [transactionLine]=\"line\" [transactionInfo]=\"service.currentTransaction.transactionInfo\"></co-transaction-line-commission-button>\r\n <co-transaction-line-warehouse-button [transactionLine]=\"line\" [transactionInfo]=\"service.currentTransaction.transactionInfo\"></co-transaction-line-warehouse-button>\r\n <co-transaction-line-statusbar [transaction]=\"line\" [transactionKind]=\"transactionKind\"></co-transaction-line-statusbar>\r\n </div>\r\n <div class=\"column2\">\r\n <co-transaction-line-delivery-button [transactionLine]=\"line\" [transactionInfo]=\"service.currentTransaction.transactionInfo\"></co-transaction-line-delivery-button>\r\n <co-transaction-line-delivery-date-button [transactionLine]=\"line\" class=\"two-column\"></co-transaction-line-delivery-date-button>\r\n </div>\r\n </div>\r\n <div class=\"transaction-line-section\">\r\n <div *ngIf=\"!preview\" class=\"transaction-line-button vat-button\" (click)=\"showDialogVat = true\">\r\n <span class=\"co-transaction-overflow-ellipsis\" [textContent]=\"line.vatDescription\"></span>\r\n </div>\r\n <div class=\"transaction-line-totals\">\r\n <co-transaction-line-price class=\"transaction-line-totals-price price\"\r\n [transactionLine]=\"line\"\r\n [showLabel]=\"false\"\r\n [defaultEditMode]=\"false\"\r\n ></co-transaction-line-price>\r\n <div class=\"transaction-line-button custom-width transaction-line-totals-discount\" (click)=\"showDialogDiscount = true\">\r\n <span class=\"co-transaction-overflow-ellipsis\" [class.transaction-negative-value]=\"line.lineTotalDiscountAmount < 0\"\r\n [textContent]=\"(line.lineTotalDiscountAmount | coCurrency) || ('DISCOUNT' | localize)\"></span>\r\n </div>\r\n <div *ngIf=!preview class=\"transaction-line-totals-amount\">\r\n <co-transaction-line-amount class=\"amount-number-picker\" [transactionLine]=\"line\"></co-transaction-line-amount>\r\n </div>\r\n <co-editable-label class=\"transaction-line-totals-total price\"\r\n [model]=\"line.displayNetLineTotal | coCurrency\"\r\n [editModel]=\"line.displayNetLineTotal\"\r\n [readonly]=\"true\"\r\n [commit]=\"!readonly\"\r\n ></co-editable-label>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </co-transaction-base-line>\r\n <co-dialog-transaction-line-vat *ngIf=\"showDialogVat\"\r\n [autoClose]=\"true\"\r\n [transactionInfo]=\"service.currentTransaction.transactionInfo\"\r\n [transactionLine]=\"line\"\r\n (close)=\"showDialogVat = false\">\r\n </co-dialog-transaction-line-vat>\r\n <co-dialog-transaction-line-discount *ngIf=\"showDialogDiscount\"\r\n [transactionInfo]=\"service.currentTransaction.transactionInfo\"\r\n [transactionLine]=\"line\"\r\n (close)=\"showDialogDiscount = false\"\r\n ></co-dialog-transaction-line-discount>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionOverviewLineComponent extends TransactionLinesLineBaseComponent implements OnInit {\r\n\r\n @ViewChild(TransactionLineActionButtonsComponent)\r\n public transactionLineActionButtons: TransactionLineActionButtonsComponent;\r\n\r\n @HostBinding(\"class.co-transaction-overview-line\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @HostListener(\"mouseover\", [\"$event\"])\r\n public handleMouseOver(event: MouseEvent) {\r\n this.mouseOver = true;\r\n }\r\n\r\n @HostListener(\"mouseleave\", [\"$event\"])\r\n public handleMouseLeave(event: MouseEvent) {\r\n this.mouseOver = false;\r\n }\r\n\r\n public stock: StockStatus = StockStatus.Low;\r\n public mouseOver: boolean = false;\r\n public readonly: boolean = false;\r\n public transactionKind: TransactionKind;\r\n public showDialogVat: boolean = false;\r\n public showDialogDiscount: boolean = false;\r\n\r\n constructor(\r\n public service: TransactionService,\r\n public iconCacheService: IconCacheService,\r\n private _dictionaryService: DictionaryService) {\r\n super();\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.transactionKind = this.service.currentTransaction.transactionInfo.transactionKind;\r\n }\r\n\r\n public handleOpenArticleText(text: string): void {\r\n this.transactionLineActionButtons.textToEdit = text;\r\n this.transactionLineActionButtons.showArticleTextDialog();\r\n }\r\n\r\n protected transactionLineSet(): void {\r\n this._loadLineVat();\r\n }\r\n\r\n private async _loadLineVat(): Promise<void> {\r\n if (this.line && this.line.isArticle) {\r\n this.service.getVatLists().then((vatList: Vat[]) => {\r\n const vat: Vat = vatList.find(v => v.vatId === this.line.vatId);\r\n this.line.vatDescription = vat ? (`${vat.percentage}% ${this._dictionaryService.get('VAT2')}`) : \"\";\r\n });\r\n }\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class TransactionOrderDeliveryService {\r\n\r\n public totalQuantityToDeliver: number = 0;\r\n public totalAmountLeftInOrder: number = 0;\r\n\r\n}\r\n","import {ChangeDetectorRef, Component, HostBinding, OnDestroy, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionLinesLineBaseComponent} from \"../../core/base/transaction-lines-line-base.component\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\nimport {DeliveryOrderStatus} from \"@colijnit/transactionapi/build/model/delivery-order-status.bo\";\r\nimport {TransactionOrderDeliveryService} from \"./service/transaction-order-delivery.service\";\r\n\r\n\r\n@Component({\r\n selector: \"co-transaction-order-delivery-line\",\r\n template: `\r\n <co-transaction-base-line [line]=\"line\" [preview]=\"preview\" [checkbox]=\"service.currentTransaction.transactionInfo.allowPartialDelivery\"\r\n [checkboxValue]=\"checkboxSelected\" [hideCheckbox]=\"deliveryOrderStatus?.quantityToDeliver === 0\" [actionButtons]=\"false\" observeVisibility (visible)=\"getDeliveryOrderStatus()\">\r\n <div class=\"transaction-line-buttons-grid\">\r\n <div class=\"row-1\">\r\n <co-transaction-line-warehouse-button [transactionLine]=\"line\" [transactionInfo]=\"service.currentTransaction.transactionInfo\"></co-transaction-line-warehouse-button>\r\n <co-transaction-line-delivery-button [transactionLine]=\"line\" [transactionInfo]=\"service.currentTransaction.transactionInfo\"></co-transaction-line-delivery-button>\r\n </div>\r\n <div class=\"row-2\">\r\n <co-transaction-line-delivery-date-button [transactionLine]=\"line\"></co-transaction-line-delivery-date-button>\r\n <co-transaction-line-statusbar [transaction]=\"line\" [transactionKind]=\"transactionKind\" [transactionTypeCategory]=\"activeCategory\"></co-transaction-line-statusbar>\r\n </div>\r\n </div>\r\n <div class=\"transaction-line-totals-custom-grid\" [class.hidden]=\"!deliveryOrderStatus\">\r\n <co-editable-label class=\"transaction-line-totals-total price\"\r\n [model]=\"(line.price + line.discountAmount) | coCurrency\"\r\n [crossedOut]=\"!!line.discountAmount\"\r\n [editModel]=\"line.displayNetLineTotal\"\r\n [readonly]=\"true\"\r\n ></co-editable-label>\r\n <co-editable-label class=\"transaction-line-totals-total price\"\r\n [model]=\"line.price | coCurrency\"\r\n [readonly]=\"true\"\r\n ></co-editable-label>\r\n <co-editable-label class=\"transaction-line-totals-total price\"\r\n [model]=\"line.amount.toString() + 'x'\"\r\n [readonly]=\"true\"\r\n ></co-editable-label>\r\n <co-editable-label class=\"transaction-line-totals-total price\"\r\n [model]=\"line.displayNetLineTotal * line.amount | coCurrency\"\r\n [readonly]=\"true\"\r\n ></co-editable-label>\r\n <div class=\"transaction-line-totals-amount\" *ngIf=\"deliveryOrderStatus?.quantityToDeliver !== 0 && service.currentTransaction.transactionInfo.allowPartialDelivery\"\r\n [class.fully-delivered]=\"line.quantityDelivered === line.amount\"\r\n [class.partially-delivered]=\"line.quantityDelivered !== line.amount && line.quantityDelivered !== 0\">\r\n <co-input-number-picker class=\"amount-number-picker\"\r\n [(model)]=\"localAmount\"\r\n [min]=\"!service.currentTransaction.transactionInfo.allowPartialDelivery ? line.amount : 1\"\r\n [max]=\"line.amount\"\r\n [readonly]=\"readonly || !service.currentTransaction.transactionInfo.allowPartialDelivery\">\r\n </co-input-number-picker>\r\n </div>\r\n <co-editable-label class=\"transaction-line-totals-total price\" *ngIf=\"deliveryOrderStatus?.quantityToDeliver === 0 || !service.currentTransaction.transactionInfo.allowPartialDelivery\"\r\n [class.fully-delivered]=\"line.quantityDelivered === line.amount\"\r\n [class.partially-delivered]=\"line.quantityDelivered !== line.amount && line.quantityDelivered !== 0\"\r\n [model]=\"deliveryOrderStatus?.quantityToDeliver.toString()\"\r\n [readonly]=\"true\"\r\n ></co-editable-label>\r\n <co-editable-label class=\"transaction-line-totals-total price discount\"\r\n [model]=\"'-' + (line.discountAmount | coCurrency)\"\r\n [readonly]=\"true\"\r\n ></co-editable-label>\r\n </div>\r\n </co-transaction-base-line>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionOrderDeliveryLineComponent extends TransactionLinesLineBaseComponent implements OnInit, OnDestroy {\r\n\r\n public localAmount: number = 1;\r\n public splitDelivery: boolean = false;\r\n public deliveryOrderStatus: DeliveryOrderStatus;\r\n\r\n public checkboxSelected: boolean = false;\r\n public transactionKind: TransactionKind;\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n @HostBinding(\"class.co-transaction-order-delivery-line\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public service: TransactionService,\r\n private _transactionEventService: TransactionEventService,\r\n private _transactionOrderDeliveryService: TransactionOrderDeliveryService\r\n ) { super(); }\r\n\r\n public ngOnInit(): void {\r\n this._subscriptions.push(\r\n this._transactionEventService.selectAllLines.subscribe((value) => {\r\n if (this.deliveryOrderStatus.quantityToDeliver > 0) {\r\n this.checkboxSelected = value\r\n }\r\n }),\r\n this._transactionEventService.allowPartialDeliveryChanged.subscribe(() => this._handleOrderStatusUpdated())\r\n );\r\n this.transactionKind = this.service.currentTransaction.transactionInfo.transactionKind;\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._subscriptions.forEach(s => s.unsubscribe());\r\n this._transactionOrderDeliveryService.totalQuantityToDeliver = 0;\r\n this._transactionOrderDeliveryService.totalAmountLeftInOrder = 0;\r\n }\r\n\r\n public getDeliveryOrderStatus(): void {\r\n if (!this.deliveryOrderStatus) {\r\n this.service.getDeliveryOrderStatus(this.transactionId, this.line.lineNr).then((result: DeliveryOrderStatus) => {\r\n this.deliveryOrderStatus = result;\r\n this._transactionOrderDeliveryService.totalQuantityToDeliver += this.deliveryOrderStatus.quantityToDeliver;\r\n this._transactionOrderDeliveryService.totalAmountLeftInOrder += this.line.amount - this.line.quantityDelivered;\r\n this._handleOrderStatusUpdated();\r\n })\r\n }\r\n }\r\n\r\n public showNumberPicker(): boolean {\r\n return this.service.currentTransaction.transactionInfo.allowPartialDelivery && this.deliveryOrderStatus?.quantityToDeliver !== 0;\r\n }\r\n\r\n private _handleOrderStatusUpdated(): void {\r\n this.checkboxSelected = this.service.currentTransaction.transactionInfo.allowPartialDelivery ?\r\n this.deliveryOrderStatus.quantityToDeliver > 0 : this.deliveryOrderStatus.quantityToDeliver === this.line.amount - this.line.quantityDelivered;\r\n this.localAmount = this.deliveryOrderStatus.quantityToDeliver;\r\n }\r\n}\r\n","import {Component, ElementRef, HostBinding, OnDestroy, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {\r\n TransactionOrderDeliveryService\r\n} from \"../../transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service\";\r\nimport {InputCheckboxComponent} from \"@colijnit/corecomponents_v12\";\r\n\r\n\r\n@Component({\r\n selector: \"co-transaction-quick-access-order-delivery\",\r\n template: `\r\n <div class=\"quick-access-content-wrapper\">\r\n <div class=\"select-all-wrapper\" [class.hidden]=\"!service.currentTransaction.transactionInfo.allowPartialDelivery\">\r\n <co-input-checkbox\r\n [label]=\"'SELECT_ALL_LINES' | localize\"\r\n (modelChange)=\"handleSelectAllLines($event)\"\r\n ></co-input-checkbox>\r\n </div>\r\n <div class=\"send-button-wrapper\" [class.hidden]=\"!allowDelivery\">\r\n<!--\r\n <co-transaction-send-button-dialog></co-transaction-send-button-dialog>\r\n-->\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionQuickAccessOrderDeliveryComponent extends TransactionBaseComponent implements OnDestroy {\r\n @HostBinding(\"class.co-transaction-quick-access-order-delivery\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public allowDelivery: boolean = false;\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n public iconService: IconCacheService,\r\n public service: TransactionService,\r\n private _transactionEventService: TransactionEventService,\r\n private _orderDeliveryService: TransactionOrderDeliveryService\r\n ) {\r\n super(service);\r\n\r\n this._subscriptions.push(\r\n this._transactionEventService.allowPartialDeliveryChanged.subscribe(() => {\r\n this.allowDelivery = this.service.currentTransaction.transactionInfo.allowPartialDelivery ||\r\n this._orderDeliveryService.totalQuantityToDeliver === this._orderDeliveryService.totalAmountLeftInOrder\r\n })\r\n );\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._subscriptions.forEach((subscription: Subscription) => subscription.unsubscribe());\r\n }\r\n\r\n public ngAfterViewInit() {\r\n this.allowDelivery = this.service.currentTransaction.transactionInfo.allowPartialDelivery ||\r\n this._orderDeliveryService.totalQuantityToDeliver === this._orderDeliveryService.totalAmountLeftInOrder;\r\n }\r\n\r\n public handleSelectAllLines(value: boolean): void {\r\n this._transactionEventService.selectAllLines.next(value);\r\n }\r\n}\r\n","import {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\nexport class ExtendedTransactionLineViewModel extends TransactionLineInfo {\r\n public locationNr: string;\r\n public quantityToReceive: number;\r\n public quantityReceived: number;\r\n public quantityToAllocate: number;\r\n public quantityAllocated: number;\r\n public lineNr: number;\r\n public transId: number;\r\n}\r\n","import {Component, HostBinding, OnDestroy, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLinesLineBaseComponent} from \"../../core/base/transaction-lines-line-base.component\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {GoodsReceiptStatus} from \"@colijnit/transactionapi/build/model/goods-receipt-status.bo\";\r\nimport {TransactionReceiveGoodsService} from \"./service/transaction-receive-goods.service\";\r\nimport { ExtendedTransactionLineViewModel } from \"../../../model/extended-transaction-line-view-model\";\r\n\r\n@Component({\r\n selector: \"co-transaction-receive-goods-line\",\r\n template: `\r\n <co-transaction-base-line [line]=\"viewModel\" [preview]=\"preview\" [actionButtons]=\"false\" (click)=\"handleLineClicked($event)\" observeVisibility (visible)=\"handleRowVisible()\">\r\n <div class=\"line-content-wrapper\" data-action=\"openSidePanel\">\r\n <co-transaction-line-warehouse-button [transactionLine]=\"viewModel\" [readonly]=\"viewModel.quantityReceived === viewModel.amount\" [transactionInfo]=\"service.currentTransaction.transactionInfo\"></co-transaction-line-warehouse-button>\r\n <co-transaction-line-warehouse-location-button [readonly]=\"viewModel.quantityReceived === viewModel.amount || !viewModel.isLocationRequired\" [line]=\"viewModel\"></co-transaction-line-warehouse-location-button>\r\n <co-editable-label class=\"transaction-line-totals-total price\"\r\n [model]=\"viewModel.amount.toString() + 'x'\"\r\n [readonly]=\"true\"\r\n ></co-editable-label>\r\n <div class=\"transaction-line-totals-amount\"\r\n [class.fully-delivered]=\"viewModel.quantityReceived === viewModel.amount\"\r\n [class.partially-delivered]=\"viewModel.quantityReceived !== viewModel.amount && viewModel.quantityReceived !== 0\">\r\n <co-input-number-picker class=\"amount-number-picker\"\r\n [(model)]=\"viewModel.quantityToReceive\"\r\n [min]=\"!allowPartialDelivery ? viewModel.amount : 1\"\r\n [max]=\"viewModel.amount - viewModel.quantityReceived\"\r\n [readonly]=\"readonly || !allowPartialDelivery || viewModel.quantityReceived === viewModel.amount\"\r\n (modelChange)=\"changeLineAmount($event)\">\r\n </co-input-number-picker>\r\n </div>\r\n <co-input-checkbox class=\"transaction-line-checkbox\"\r\n [(model)]=\"viewModel.selected\"\r\n [disabled]=\"viewModel.quantityReceived === viewModel.amount || viewModel.quantityToReceive < 0\"\r\n ></co-input-checkbox>\r\n <div class=\"print-button\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.PrintSolid)\"></co-icon>\r\n <span class=\"price\" [textContent]=\"1\"></span>\r\n </div>\r\n </div>\r\n </co-transaction-base-line>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionReceiveGoodsLineComponent extends TransactionLinesLineBaseComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n public allowPartialDelivery: boolean;\r\n public viewModel: ExtendedTransactionLineViewModel = new ExtendedTransactionLineViewModel();\r\n\r\n @HostBinding(\"class.co-transaction-receive-goods-line\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n public service: TransactionService,\r\n private _transactionService: TransactionService,\r\n private _transactionEventService: TransactionEventService,\r\n private _transactionReceiveGoodsService: TransactionReceiveGoodsService\r\n ) {\r\n super();\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.allowPartialDelivery = this.service.currentTransaction.transactionInfo.allowPartialDelivery;\r\n this._initViewModel();\r\n\r\n this._subscriptions.push(\r\n this._transactionEventService.selectAllLines.subscribe((value) => {\r\n this.viewModel.selected = this.viewModel.quantityReceived === this.viewModel.amount || this.viewModel.quantityToReceive < 0 ? false : value;\r\n }),\r\n this._transactionEventService.transactionLineChanged.subscribe((line) => {\r\n if (line.lineNr === this.viewModel.lineNr) {\r\n this.viewModel.quantityToReceive = line.quantityToReceive;\r\n this.viewModel.quantityReceived = line.quantityReceived;\r\n }\r\n })\r\n )\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._subscriptions.forEach(s => s.unsubscribe());\r\n this._transactionReceiveGoodsService.lines = [];\r\n }\r\n\r\n private _initViewModel(): void {\r\n Object.assign(this.viewModel, this.line);\r\n this.viewModel.quantityToReceive = 0;\r\n this.viewModel.quantityReceived = 0;\r\n this.viewModel.lineNr = this.line.lineNr;\r\n this.viewModel.transId = this.transactionId;\r\n }\r\n\r\n public async handleRowVisible(): Promise<void> {\r\n if (this.line.isArticle) {\r\n const goodsReceiptStatus: GoodsReceiptStatus = await this._transactionService.getGoodsReceiptStatus(this.transactionId, this.line.lineNr);\r\n this.viewModel.quantityToReceive = goodsReceiptStatus.quantityToReceive;\r\n this.viewModel.quantityReceived = goodsReceiptStatus.quantityReceived;\r\n this.viewModel.selected = this.viewModel.quantityReceived !== this.viewModel.amount && !this.viewModel.isSerialNrRequired && !this.viewModel.isBatchNrRequired && this.viewModel.quantityToReceive > 0;\r\n this._transactionReceiveGoodsService.lines.push(this.viewModel);\r\n }\r\n }\r\n\r\n public changeLineAmount(amount: number): void {\r\n\r\n }\r\n\r\n public handleLineClicked(mouseClick: PointerEvent): void {\r\n const target: HTMLElement = <HTMLElement>mouseClick.target;\r\n if (target && target.dataset && target.dataset['action'] && target.dataset['action'] === 'openSidePanel') {\r\n this._transactionEventService.openSidePanel.next(this.line);\r\n }\r\n }\r\n}\r\n","import {Component, HostBinding, OnDestroy, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLinesLineBaseComponent} from \"../../core/base/transaction-lines-line-base.component\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-purchase-line\",\r\n template: `\r\n <co-transaction-base-line [line]=\"line\" [preview]=\"preview\" [checkbox]=\"showCheckboxForLine\" [checkboxValue]=\"selected\" (checkboxValueChanged)=\"selected = $event\">\r\n <ng-container *ngIf=\"line.isArticle\">\r\n <div class=\"transaction-line-wrapper\">\r\n <div *ngIf=!preview class=\"transaction-line-extended-wrapper\">\r\n <div class=\"column1\">\r\n <co-transaction-line-commission-button [transactionLine]=\"line\" [transactionInfo]=\"service.currentTransaction.transactionInfo\"></co-transaction-line-commission-button>\r\n <co-transaction-line-warehouse-button [transactionLine]=\"line\" [transactionInfo]=\"service.currentTransaction.transactionInfo\"></co-transaction-line-warehouse-button>\r\n <co-transaction-line-delivery-date-button [transactionLine]=\"line\" class=\"two-column\"></co-transaction-line-delivery-date-button>\r\n </div>\r\n <div class=\"column2\">\r\n <co-transaction-line-delivery-button [transactionLine]=\"line\" [transactionInfo]=\"service.currentTransaction.transactionInfo\"></co-transaction-line-delivery-button>\r\n <co-transaction-line-statusbar [transaction]=\"line\" [transactionKind]=\"service.currentTransaction.transactionInfo.transactionKind\" [transactionTypeCategory]=\"activeCategory\"></co-transaction-line-statusbar>\r\n </div>\r\n <div class=\"column3\">\r\n <co-transaction-line-supplier-button [transactionLine]=\"line\" [transactionInfo]=\"service.currentTransaction.transactionInfo\"></co-transaction-line-supplier-button>\r\n </div>\r\n </div>\r\n <div class=\"transaction-line-totals\">\r\n <co-transaction-line-price class=\"transaction-line-totals-price price\"\r\n [transactionLine]=\"line\"\r\n [showLabel]=\"false\"\r\n [defaultEditMode]=\"false\"\r\n ></co-transaction-line-price>\r\n <div class=\"transaction-line-button custom-width transaction-line-totals-discount\" (click)=\"showDialogDiscount = true\">\r\n <span class=\"co-transaction-overflow-ellipsis\" [class.transaction-negative-value]=\"line.lineTotalDiscountAmount < 0\"\r\n [textContent]=\"(line.lineTotalDiscountAmount | coCurrency) || ('DISCOUNT' | localize)\"></span>\r\n </div>\r\n <div *ngIf=!preview class=\"transaction-line-totals-amount\">\r\n <co-transaction-line-amount class=\"amount-number-picker\" [transactionLine]=\"line\"></co-transaction-line-amount>\r\n </div>\r\n <co-editable-label class=\"transaction-line-totals-total price\"\r\n [model]=\"line.displayNetLineTotal | coCurrency\"\r\n [editModel]=\"line.displayNetLineTotal\"\r\n [readonly]=\"readonly\"\r\n [commit]=\"!readonly\"\r\n ></co-editable-label>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </co-transaction-base-line>\r\n <co-dialog-transaction-line-discount *ngIf=\"showDialogDiscount\"\r\n [transactionInfo]=\"service.currentTransaction.transactionInfo\"\r\n [transactionLine]=\"line\"\r\n (close)=\"showDialogDiscount = false\"\r\n ></co-dialog-transaction-line-discount>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionPurchaseLineComponent extends TransactionLinesLineBaseComponent implements OnInit, OnDestroy {\r\n\r\n @HostBinding(\"class.co-transaction-purchase-line\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public selected: boolean = false;\r\n public showDialogDiscount: boolean = false;\r\n public showCheckboxForLine: boolean = false;\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n constructor(\r\n public service: TransactionService,\r\n public iconCacheService: IconCacheService,\r\n private _transactionEventService: TransactionEventService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._subs.push(\r\n this._transactionEventService.selectAllSalesOrderLinesForPurchase.subscribe((value) => {\r\n this.selected = value;\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subs.forEach(s => s.unsubscribe());\r\n }\r\n\r\n protected transactionLineSet(): void {\r\n this.showCheckboxForLine = this.line.commissionCode === \"0\";\r\n }\r\n\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-quick-access-order-purchase\",\r\n template: `\r\n <div class=\"quick-access-content-wrapper\">\r\n <div class=\"select-all-wrapper\">\r\n <co-input-checkbox\r\n [label]=\"'SELECT_ALL_LINES' | localize\"\r\n (modelChange)=\"handleSelectAllLines($event)\"\r\n ></co-input-checkbox>\r\n </div>\r\n <co-quick-send-button\r\n [showSendMethodIcon]=\"false\"\r\n [showSendMethodDialogIcon]=\"false\"\r\n [showLoader]=\"showLoader\"\r\n (sendIconClicked)=\"handleSend($event)\"\r\n ></co-quick-send-button>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionQuickAccessOrderPurchaseComponent extends TransactionBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding(\"class.co-transaction-quick-access-order-purchase\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showLoader: boolean = false;\r\n\r\n constructor(\r\n protected service: TransactionService,\r\n private _transactionEventService: TransactionEventService\r\n ) {\r\n super(service);\r\n }\r\n\r\n public handleSelectAllLines(value: boolean): void {\r\n this._transactionEventService.selectAllSalesOrderLinesForPurchase.next(value);\r\n }\r\n\r\n public handleSend(event: MouseEvent): void {\r\n this.showLoader = true;\r\n this.service.generateAndSendPurchaseOrdersForSalesOrder(this.transactionInfo.id).then(() => {\r\n this.showLoader = false;\r\n });\r\n }\r\n}\r\n","import {Directive, Input, Output} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {BehaviorSubject} from \"rxjs\";\r\n\r\n@Directive()\r\nexport abstract class TransactionButtonBarButtonBaseComponent {\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public iconName: Icon;\r\n\r\n @Input()\r\n public transactionInfoResponse: TransactionInfoResponse;\r\n\r\n @Input()\r\n public set showLoader(value: boolean) {\r\n this._showLoader = value;\r\n this.showLoaderChange.next(this._showLoader);\r\n }\r\n\r\n public get showLoader(): boolean {\r\n return this._showLoader;\r\n }\r\n\r\n @Input()\r\n public set checked(value: boolean) {\r\n this._checked = value;\r\n this.checkedChange.next(this._checked);\r\n }\r\n\r\n public get checked(): boolean {\r\n return this._checked;\r\n }\r\n\r\n @Output()\r\n public showLoaderChange: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(undefined);\r\n\r\n @Output()\r\n public checkedChange: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(undefined);\r\n\r\n private _showLoader: boolean = false;\r\n private _checked: boolean = false;\r\n}\r\n","import {Component, HostBinding, OnDestroy, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {TransactionButtonBarButtonBaseComponent} from \"./transaction-button-bar-button-base.component\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-sales-purchase-button-bar-button\",\r\n template: `\r\n <co-icon class=\"co-transaction-button-bar-icon\" [iconData]=\"iconCacheService.getIcon(iconName)\"></co-icon>\r\n <span class=\"button-title\" [textContent]=\"title | localize\"></span>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSalesPurchaseButtonBarButtonComponent extends TransactionButtonBarButtonBaseComponent implements OnDestroy {\r\n\r\n @HostBinding('class.co-transaction-sales-purchase-button-bar-button')\r\n public showClass: boolean = true;\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _transactionEventService: TransactionEventService\r\n ) {\r\n super();\r\n this._subs.push(\r\n this._transactionEventService.generateCommissionOrders.subscribe((generating: boolean) => {\r\n this.showLoader = generating;\r\n if (!this.showLoader) {\r\n this.checked = true;\r\n }\r\n })\r\n )\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subs.forEach(s => s.unsubscribe());\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {ExtendedTransactionLineViewModel} from \"../../../../model/extended-transaction-line-view-model\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {TransactionService} from \"../../../../service/transaction.service\";\r\nimport {TransactionEventService} from \"../../../../service/transaction-event.service\";\r\nimport {\r\n AllocateGoodsForSalesOrderRequest\r\n} from \"@colijnit/transactionapi/build/model/allocate-goods-for-sales-order-request\";\r\nimport {\r\n SalesOrderLineAllocationDetails\r\n} from \"@colijnit/transactionapi/build/model/sales-order-line-allocation-details\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class TransactionAllocateGoodsService {\r\n\r\n public lines: ExtendedTransactionLineViewModel[] = [];\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private _transactionService: TransactionService,\r\n private _transactionEventService: TransactionEventService,\r\n ) {\r\n this._subscriptions.push(\r\n this._transactionEventService.commitReceivePurchaseOrders.subscribe(() => {\r\n this.handleAllocateSelectedPurchaseOrders();\r\n })\r\n )\r\n }\r\n\r\n public async handleAllocateSelectedPurchaseOrders(): Promise<boolean> {\r\n const selectedLines: ExtendedTransactionLineViewModel[] = this.lines.filter((line) => line.selected && line.quantityToAllocate > 0);\r\n\r\n if (selectedLines.length > 0) {\r\n const allocateGoodsRequest: AllocateGoodsForSalesOrderRequest = new AllocateGoodsForSalesOrderRequest();\r\n allocateGoodsRequest.transId = selectedLines[0].transId;\r\n allocateGoodsRequest.salesOrderLineAllocationDetailsDTOS = [];\r\n\r\n selectedLines.forEach((line) => {\r\n const detail: SalesOrderLineAllocationDetails = new SalesOrderLineAllocationDetails();\r\n detail.lineNr = line.lineNr;\r\n detail.quantityToAllocate = line.quantityToAllocate;\r\n detail.warehouseNr = line.warehouseNumber;\r\n detail.locationNr = line.locationNr;\r\n allocateGoodsRequest.salesOrderLineAllocationDetailsDTOS.push(detail);\r\n });\r\n\r\n const success: boolean = await this._transactionService.allocateGoodsForSalesOrder(allocateGoodsRequest);\r\n if (success) {\r\n this._handleAfterCommitReceivedOrders(selectedLines);\r\n }\r\n return !!success;\r\n }\r\n return false;\r\n }\r\n\r\n private _handleAfterCommitReceivedOrders(selectedLines: ExtendedTransactionLineViewModel[]): void {\r\n selectedLines.forEach((line) => {\r\n line.quantityAllocated += line.quantityToAllocate;\r\n line.quantityToAllocate -= line.quantityToAllocate;\r\n this._transactionEventService.transactionLineChanged.next(line);\r\n });\r\n this._transactionEventService.selectAllLines.next(false);\r\n }\r\n}\r\n","import {Component, HostBinding, OnDestroy, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLinesLineBaseComponent} from \"../../core/base/transaction-lines-line-base.component\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {ExtendedTransactionLineViewModel} from \"../../../model/extended-transaction-line-view-model\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {GoodsAllocationStatus} from \"@colijnit/transactionapi/build/model/goods-allocation-status.bo\";\r\nimport {TransactionAllocateGoodsService} from \"./service/transaction-allocate-goods.service\";\r\nimport {Subscription} from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"co-transaction-goods-allocation-line\",\r\n template: `\r\n <co-transaction-base-line [line]=\"viewModel\" [preview]=\"preview\" [actionButtons]=\"false\" (click)=\"handleLineClicked($event)\" observeVisibility (visible)=\"handleRowVisible()\">\r\n <div class=\"line-content-wrapper\" data-action=\"openSidePanel\">\r\n <co-transaction-line-warehouse-button [transactionLine]=\"viewModel\" [readonly]=\"viewModel.quantityAllocated === viewModel.amount\" [transactionInfo]=\"service.currentTransaction.transactionInfo\"></co-transaction-line-warehouse-button>\r\n <co-transaction-line-warehouse-location-button [readonly]=\"viewModel.quantityAllocated === viewModel.amount || !viewModel.isLocationRequired\" [line]=\"viewModel\"></co-transaction-line-warehouse-location-button>\r\n <co-editable-label class=\"transaction-line-totals-total price\"\r\n [model]=\"viewModel.amount.toString() + 'x'\"\r\n [readonly]=\"true\"\r\n ></co-editable-label>\r\n <co-transaction-line-statusbar class=\"status-bar-wrapper\" [transaction]=\"line\" [transactionKind]=\"transactionKind\" [transactionTypeCategory]=\"activeCategory\"></co-transaction-line-statusbar>\r\n <div class=\"transaction-line-totals-amount\"\r\n [class.fully-delivered]=\"viewModel.quantityAllocated === viewModel.amount\"\r\n [class.partially-delivered]=\"viewModel.quantityAllocated !== viewModel.amount && viewModel.quantityAllocated !== 0\">\r\n <co-input-number-picker class=\"amount-number-picker\"\r\n [(model)]=\"viewModel.quantityToAllocate\"\r\n [min]=\"1\"\r\n [max]=\"viewModel.amount - viewModel.quantityAllocated\"\r\n [readonly]=\"readonly || viewModel.quantityAllocated === viewModel.amount\"\r\n ></co-input-number-picker>\r\n </div>\r\n <co-input-checkbox class=\"transaction-line-checkbox\"\r\n [(model)]=\"viewModel.selected\"\r\n [disabled]=\"viewModel.quantityAllocated === viewModel.amount\"\r\n ></co-input-checkbox>\r\n </div>\r\n </co-transaction-base-line>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionGoodsAllocationLineComponent extends TransactionLinesLineBaseComponent implements OnInit, OnDestroy {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n public viewModel: ExtendedTransactionLineViewModel = new ExtendedTransactionLineViewModel();\r\n public transactionKind: TransactionKind;\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n @HostBinding(\"class.co-transaction-goods-allocation-line\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n public service: TransactionService,\r\n private _transactionService: TransactionService,\r\n private _transactionEventService: TransactionEventService,\r\n private _transactionAllocateGoodsService: TransactionAllocateGoodsService\r\n ) {\r\n super();\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._initViewModel();\r\n this.transactionKind = this.service.currentTransaction.transactionInfo.transactionKind;\r\n\r\n this._subscriptions.push(\r\n this._transactionEventService.selectAllLines.subscribe((value) => {\r\n this.viewModel.selected = this.viewModel.quantityAllocated === this.viewModel.amount || this.viewModel.quantityToAllocate < 0 ? false : value;\r\n }),\r\n this._transactionEventService.transactionLineChanged.subscribe((line) => {\r\n if (line.lineNr === this.viewModel.lineNr) {\r\n this.viewModel.quantityToAllocate = line.quantityToAllocate;\r\n this.viewModel.quantityAllocated = line.quantityAllocated;\r\n }\r\n })\r\n )\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._subscriptions.forEach(s => s.unsubscribe());\r\n this._transactionAllocateGoodsService.lines = [];\r\n }\r\n\r\n public async handleRowVisible(): Promise<void> {\r\n if (this.line.isArticle) {\r\n const goodsAllocationStatus: GoodsAllocationStatus = await this._transactionService.getGoodsAllocationStatus(this.transactionId, this.line.lineNr);\r\n this.viewModel.quantityToAllocate = goodsAllocationStatus.quantityToAllocate;\r\n this.viewModel.quantityAllocated = goodsAllocationStatus.quantityAllocated;\r\n this.viewModel.selected = this.viewModel.quantityAllocated !== this.viewModel.amount && !this.viewModel.isSerialNrRequired && !this.viewModel.isBatchNrRequired && this.viewModel.quantityToAllocate > 0;\r\n this._transactionAllocateGoodsService.lines.push(this.viewModel);\r\n }\r\n }\r\n\r\n public handleLineClicked(mouseClick: PointerEvent): void {\r\n const target: HTMLElement = <HTMLElement>mouseClick.target;\r\n if (target && target.dataset && target.dataset['action'] && target.dataset['action'] === 'openSidePanel') {\r\n this._transactionEventService.openSidePanel.next(this.line);\r\n }\r\n }\r\n\r\n private _initViewModel(): void {\r\n Object.assign(this.viewModel, this.line);\r\n this.viewModel.quantityToAllocate = 0;\r\n this.viewModel.quantityAllocated = 0;\r\n this.viewModel.lineNr = this.line.lineNr;\r\n this.viewModel.transId = this.transactionId;\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {\r\n TransactionReceiveGoodsService\r\n} from \"../../transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service\";\r\nimport {\r\n TransactionAllocateGoodsService\r\n} from \"../../transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-quick-access-goods-allocation\",\r\n template: `\r\n <div class=\"quick-access-content-wrapper\">\r\n <div class=\"select-all-wrapper\">\r\n <co-input-checkbox\r\n [label]=\"'SELECT_ALL_LINES' | localize\"\r\n (modelChange)=\"handleSelectAllLines($event)\"\r\n ></co-input-checkbox>\r\n </div>\r\n <div class=\"button-wrapper\" (click)=\"handleCommitEvent()\">\r\n <co-checkmark-overlay [successful]=\"resultSuccessful\" [visible]=\"awaitingResult\"></co-checkmark-overlay>\r\n <co-icon class=\"button-icon\" [iconData]=\"iconService.getIcon(icons.GearSolid)\" [class.hidden]=\"!iconVisible\"></co-icon>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionQuickAccessGoodsAllocationComponent extends TransactionBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding(\"class.co-transaction-quick-access-goods-allocation\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public awaitingResult: boolean = false;\r\n public resultSuccessful: boolean = false;\r\n public iconVisible: boolean = true;\r\n\r\n constructor(\r\n public iconService: IconCacheService,\r\n private _transactionService: TransactionService,\r\n private _transactionEventService: TransactionEventService,\r\n private _allocateGoodsService: TransactionAllocateGoodsService\r\n ) {\r\n super(_transactionService);\r\n }\r\n\r\n public handleSelectAllLines(value: boolean): void {\r\n this._transactionEventService.selectAllLines.next(value);\r\n }\r\n\r\n public async handleCommitEvent(): Promise<void> {\r\n this.iconVisible = false;\r\n this.resultSuccessful = false;\r\n this.awaitingResult = true;\r\n this.resultSuccessful = await this._allocateGoodsService.handleAllocateSelectedPurchaseOrders();\r\n this.awaitingResult = false;\r\n setTimeout(() => {\r\n this.iconVisible = true\r\n }, 600);\r\n }\r\n\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionQuickAccessSendMethodBaseComponent} from \"../transaction-quick-access-send-method-base.component\";\r\nimport {PdfOrderConfirmationRequest} from \"@colijnit/mainapi/build/model/pdf-order-confirmation-request\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {ReportLayoutSelectionEmail} from \"@colijnit/mainapi/build/model/report-layout-selection-email.bo\";\r\nimport {ReportLayoutSelectionPrint} from \"@colijnit/mainapi/build/model/report-layout-selection-print.bo\";\r\nimport {EmailPurchaseOrderRequest} from \"@colijnit/mainapi/build/model/email-purchase-order-request\";\r\nimport {PrintPurchaseOrderRequest} from \"@colijnit/mainapi/build/model/print-purchase-order-request\";\r\nimport {PdfPurchaseOrderRequest} from \"@colijnit/mainapi/build/model/pdf-purchase-order-request\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-quick-access-purchase-order-overview\",\r\n template: `\r\n <co-input-search\r\n [(model)]=\"searchText\"\r\n [placeholder]=\"'SEARCH_ADD_ARTICLE' | localize\"\r\n [centerLabel]=\"true\"\r\n [useLeftIcon]=\"true\"\r\n [useRightIcon]=\"true\"\r\n (search)=\"handleSearch($event)\"\r\n ></co-input-search>\r\n <co-quick-send-button\r\n [defaultMethodIcon]=\"defaultSendMethodIcon\"\r\n [showLoader]=\"showLoader\"\r\n (sendIconClicked)=\"handleSend(defaultSendMethod)\"\r\n (openSendMethodDialog)=\"showSendMethodDialog = true\"\r\n ></co-quick-send-button>\r\n <co-dialog-catalog *ngIf=\"showCatalog\"\r\n [options]=\"catalogOptions\"\r\n [parameters]=\"catalogParameters\"\r\n [showNavigation]=\"true\"\r\n (closeClick)=\"showCatalog = false\"\r\n (articleClicked)=\"handleCatalogArticleClick($event)\"\r\n >\r\n </co-dialog-catalog>\r\n <co-send-method-dialog *ngIf=\"showSendMethodDialog\"\r\n [headerTitle]=\"'Verzendmethode'\"\r\n [defaultSendMethod]=\"defaultSendMethod\"\r\n [visibleMethods]=\"[sendMethodType.Print, sendMethodType.Email]\"\r\n [emailAddresses]=\"emailAddresses\"\r\n [emailLayouts]=\"emailLayouts\"\r\n [printLayouts]=\"printLayouts\"\r\n [isDocSignEnabled]=\"true\"\r\n [(reportingDocumentEmailRequest)]=\"reportDocumentEmailRequest\"\r\n [(reportingDocumentPrintRequest)]=\"reportDocumentPrintRequest\"\r\n [(reportingDocumentPdfRequest)]=\"reportDocumentPdfRequest\"\r\n (closeClick)=\"showSendMethodDialog = false\"\r\n (okClick)=\"handleSendMethodOkClick($event)\"\r\n ></co-send-method-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionQuickAccessPurchaseOrderOverviewComponent extends TransactionQuickAccessSendMethodBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-quick-access-purchase-order-overview\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public reportDocumentEmailRequest: EmailPurchaseOrderRequest = new EmailPurchaseOrderRequest();\r\n public reportDocumentPrintRequest: PrintPurchaseOrderRequest = new PrintPurchaseOrderRequest();\r\n public reportDocumentPdfRequest: PdfPurchaseOrderRequest = new PdfPurchaseOrderRequest();\r\n\r\n public catalogOptions: any = {\r\n searchOnStart: true,\r\n showAddToCart: false,\r\n showLookAtArticleButton: false,\r\n showAddArticleButton: false\r\n };\r\n public catalogParameters: any = {};\r\n public showCatalog: boolean = false;\r\n public searchText: string = \"\";\r\n\r\n constructor(\r\n protected readonly service: TransactionService\r\n ) {\r\n super(service);\r\n }\r\n\r\n public handleSearch(text: string): void {\r\n this.showCatalogDialog();\r\n }\r\n\r\n public handleAddArticle(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.service.addArticle(this.searchText);\r\n }\r\n\r\n public handleSearchCatalog(event: MouseEvent): void {\r\n this.showCatalogDialog();\r\n }\r\n\r\n public async handleCatalogArticleClick(article: ArticleExtended): Promise<void> {\r\n if (await this.service.addArticle(article.articleNumber)) {\r\n this.showCatalog = false;\r\n }\r\n }\r\n\r\n public showCatalogDialog(): void {\r\n this.catalogParameters.general = this.searchText;\r\n this.catalogParameters.publicationCode = 71; // todo: fix this?\r\n this.showCatalog = true;\r\n }\r\n\r\n protected async emailDocument(request: EmailPurchaseOrderRequest) {\r\n await this.service.emailPurchaseOrder(request);\r\n }\r\n\r\n protected getDefaultEmailAddressList(): Promise<string[]> {\r\n return Promise.resolve([]);\r\n }\r\n\r\n protected getEmailLayouts(): Promise<ReportLayoutSelectionEmail[]> {\r\n return this.service.getPurchaseOrderEmailLayouts(this.transactionInfo.uuid);\r\n }\r\n\r\n protected getPrintLayouts(): Promise<ReportLayoutSelectionPrint[]> {\r\n return this.service.getPurchaseOrderPrintLayouts(this.transactionInfo.uuid)\r\n }\r\n\r\n protected pdfDocument(request: PdfOrderConfirmationRequest) {\r\n }\r\n\r\n protected async printDocument(request: PrintPurchaseOrderRequest) {\r\n await this.service.printPurchaseOrder(request);\r\n }\r\n\r\n protected async getDefaultSendMethod(): Promise<number> {\r\n return this.service.getPurchaseOrderDefaultSendMethod(this.transactionInfo.relation.relationId);\r\n }\r\n}\r\n","import {Injectable, Type} from \"@angular/core\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionFilterBaseComponent} from \"../component/core/base/transaction-filter-base.component\";\r\nimport {TransactionSearchGridBaseComponent} from \"../component/core/base/transaction-search-grid-base.component\";\r\nimport {TransactionSearchTileBaseComponent} from \"../component/core/base/transaction-search-tile-base.component\";\r\nimport {TransactionPurchaseOrderFilterComponent} from \"../component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component\";\r\nimport {TransactionSalesOrderFilterComponent} from \"../component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component\";\r\nimport {\r\n TransactionSearchPurchaseOrderGridComponent\r\n} from \"../component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component\";\r\nimport {TransactionSearchSalesOrderGridComponent} from \"../component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component\";\r\nimport {\r\n TransactionSearchPurchaseOrderTileComponent\r\n} from \"../component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component\";\r\nimport {TransactionSearchSalesOrderTileComponent} from \"../component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component\";\r\nimport {TransactionBarButton} from \"../model/transaction-bar-button\";\r\nimport {Icon} from \"../enum/icon.enum\";\r\nimport {TransactionTypeCategory} from \"../enum/transaction-type-category.enum\";\r\nimport {\r\n TransactionQuickAccessOrderConfirmationComponent\r\n} from \"../component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component\";\r\nimport {TransactionBaseComponent} from \"../component/core/base/transaction-base.component\";\r\nimport {TransactionQuickAccessReceivedGoodsComponent} from \"../component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component\";\r\nimport {TransactionQuickAccessOverviewComponent} from \"../component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component\";\r\nimport {TransactionGridBaseComponent} from \"../component/core/base/transaction-grid-base.component\";\r\nimport {TransactionOrderConfirmationGridComponent} from \"../component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component\";\r\nimport {TransactionLinesGridComponent} from \"../component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component\";\r\nimport {TransactionLinesLineBaseComponent} from \"../component/core/base/transaction-lines-line-base.component\";\r\nimport {TransactionOverviewLineComponent} from \"../component/transaction-line/transaction-overview-line/transaction-overview-line.component\";\r\nimport {TransactionOrderDeliveryLineComponent} from \"../component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component\";\r\nimport {TransactionQuickAccessOrderDeliveryComponent} from \"../component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component\";\r\nimport {TransactionReceiveGoodsLineComponent} from \"../component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component\";\r\nimport {TransactionPurchaseLineComponent} from \"../component/transaction-line/transaction-purchase-line/transaction-purchase-line.component\";\r\nimport {TransactionQuickAccessOrderPurchaseComponent} from \"../component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component\";\r\nimport {TransactionSalesPurchaseButtonBarButtonComponent} from \"../component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component\";\r\nimport {TransactionGoodsAllocationLineComponent} from \"../component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component\";\r\nimport {TransactionQuickAccessGoodsAllocationComponent} from \"../component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component\";\r\nimport {\r\n TransactionQuickAccessPurchaseOrderOverviewComponent\r\n} from \"../component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class TransactionMappingService {\r\n\r\n private readonly _buttonBarTransaction: Map<TransactionKind, TransactionBarButton[]> = new Map<TransactionKind, TransactionBarButton[]>([\r\n [TransactionKind.PurchaseOrder, [\r\n {title: 'OVERVIEW', icon: Icon.CartShoppingSolid, category: TransactionTypeCategory.PurchaseOrderOverview},\r\n {title: 'CONFIRMATION', icon: Icon.MemoCircleCheckSolid, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation},\r\n {title: 'TRANSPORT', icon: Icon.TruckContainerSolid, category: TransactionTypeCategory.PurchaseOrderTransport},\r\n {title: 'RECEIVED', icon: Icon.CartFlatbedBoxesSolid, category: TransactionTypeCategory.PurchaseOrderReceivedGoods},\r\n {title: 'INVOICE_CHECK', icon: Icon.Tag, category: TransactionTypeCategory.PurchaseOrderInvoiceCheck},\r\n {title: 'MENU', icon: Icon.Tag, category: TransactionTypeCategory.PurchaseOrderMenu}\r\n ]],\r\n [TransactionKind.SalesOrder, [\r\n {title: 'OVERVIEW', icon: Icon.CartShoppingSolid, category: TransactionTypeCategory.SalesOrderOverview},\r\n {title: 'PURCHASE', icon: Icon.PalletBoxesSolid, category: TransactionTypeCategory.SalesOrderPurchase, component: TransactionSalesPurchaseButtonBarButtonComponent},\r\n {title: 'ALLOCATION', icon: Icon.ShelvesSolid, category: TransactionTypeCategory.SalesOrderAllocation},\r\n {title: 'LOGISTICS', icon: Icon.ShelvesSolid, category: TransactionTypeCategory.SalesOrderLogistics},\r\n {title: 'PLANNING', icon: Icon.TruckMovingSolid, category: TransactionTypeCategory.SalesOrderPlanning},\r\n {title: 'DELIVERY_NOTE', icon: Icon.MemoCircleCheckSolid, category: TransactionTypeCategory.SalesOrderDeliveryNote},\r\n {title: 'INVOICE', icon: Icon.CartCheck, category: TransactionTypeCategory.SalesOrderInvoice}\r\n ]],\r\n ]);\r\n\r\n private readonly _quickAccessComponent: Map<{type: TransactionKind, category: TransactionTypeCategory}, Type<TransactionBaseComponent>> =\r\n new Map<{type: TransactionKind; category: TransactionTypeCategory}, Type<TransactionBaseComponent>>([\r\n [{type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOverview}, TransactionQuickAccessPurchaseOrderOverviewComponent],\r\n [{type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation}, TransactionQuickAccessOrderConfirmationComponent],\r\n [{type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderReceivedGoods}, TransactionQuickAccessReceivedGoodsComponent],\r\n [{type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderOverview}, TransactionQuickAccessOverviewComponent],\r\n [{type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderPurchase}, TransactionQuickAccessOrderPurchaseComponent],\r\n [{type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderAllocation}, TransactionQuickAccessGoodsAllocationComponent],\r\n [{type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderDeliveryNote}, TransactionQuickAccessOrderDeliveryComponent]\r\n ]);\r\n\r\n private readonly _transactionGridComponent: Map<{type: TransactionKind, category: TransactionTypeCategory}, Type<TransactionGridBaseComponent>> =\r\n new Map<{type: TransactionKind; category: TransactionTypeCategory}, Type<TransactionGridBaseComponent>>([\r\n [{type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOverview}, TransactionLinesGridComponent],\r\n [{type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation}, TransactionOrderConfirmationGridComponent],\r\n [{type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderOverview}, TransactionLinesGridComponent]\r\n ]);\r\n\r\n private readonly _transactionLineComponent: Map<{type: TransactionKind, category: TransactionTypeCategory}, Type<TransactionLinesLineBaseComponent>> =\r\n new Map<{type: TransactionKind; category: TransactionTypeCategory}, Type<TransactionLinesLineBaseComponent>>([\r\n [{type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderOverview}, TransactionOverviewLineComponent],\r\n [{type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderPurchase}, TransactionPurchaseLineComponent],\r\n [{type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderAllocation}, TransactionGoodsAllocationLineComponent],\r\n [{type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderDeliveryNote}, TransactionOrderDeliveryLineComponent],\r\n [{type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderInvoice}, TransactionOrderDeliveryLineComponent],\r\n [{type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOverview}, TransactionPurchaseLineComponent],\r\n [{type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderReceivedGoods}, TransactionReceiveGoodsLineComponent],\r\n ]);\r\n\r\n private readonly _transactionFilterComponent: Map<{type: TransactionKind}, Type<TransactionFilterBaseComponent>> =\r\n new Map<{type: TransactionKind}, Type<TransactionFilterBaseComponent>>([\r\n [{type: TransactionKind.SalesOrder}, TransactionSalesOrderFilterComponent],\r\n [{type: TransactionKind.PurchaseOrder}, TransactionPurchaseOrderFilterComponent],\r\n ]);\r\n\r\n private readonly _transactionSearchGridComponent: Map<{type: TransactionKind}, Type<TransactionSearchGridBaseComponent>> =\r\n new Map<{type: TransactionKind}, Type<TransactionSearchGridBaseComponent>>([\r\n [{type: TransactionKind.SalesOrder}, TransactionSearchSalesOrderGridComponent],\r\n [{type: TransactionKind.PurchaseOrder}, TransactionSearchPurchaseOrderGridComponent],\r\n ]);\r\n\r\n private readonly _transactionSearchTileComponent: Map<{type: TransactionKind}, Type<TransactionSearchTileBaseComponent>> =\r\n new Map<{type: TransactionKind}, Type<TransactionSearchTileBaseComponent>>([\r\n [{type: TransactionKind.SalesOrder}, TransactionSearchSalesOrderTileComponent],\r\n [{type: TransactionKind.PurchaseOrder}, TransactionSearchPurchaseOrderTileComponent],\r\n ]);\r\n\r\n public getButtonBar(type: TransactionKind): TransactionBarButton[] {\r\n if (this._buttonBarTransaction.has(type)) {\r\n return this._buttonBarTransaction.get(type);\r\n }\r\n return [];\r\n }\r\n\r\n public getQuickAccessComponent(type: TransactionKind, category: TransactionTypeCategory): Type<TransactionBaseComponent> {\r\n const key: {type: TransactionKind, category: TransactionTypeCategory} = {\r\n type: type,\r\n category: category\r\n }\r\n let entry: Type<TransactionBaseComponent>;\r\n this._quickAccessComponent.forEach((v, t, m) => {\r\n if (t.type === key.type && t.category === key.category) {\r\n entry = v;\r\n return;\r\n }\r\n })\r\n return entry;\r\n }\r\n\r\n public getTransactionGridComponent(type: TransactionKind, category: TransactionTypeCategory): Type<TransactionGridBaseComponent> {\r\n const key: {type: TransactionKind, category: TransactionTypeCategory} = {\r\n type: type,\r\n category: category\r\n }\r\n let entry: Type<TransactionGridBaseComponent>;\r\n this._transactionGridComponent.forEach((v, t, m) => {\r\n if (t.type === key.type && t.category === key.category) {\r\n entry = v;\r\n return;\r\n }\r\n })\r\n return entry;\r\n }\r\n\r\n public getTransactionLineComponent(type: TransactionKind, category: TransactionTypeCategory): Type<TransactionLinesLineBaseComponent> {\r\n const key: {type: TransactionKind, category: TransactionTypeCategory} = {\r\n type: type,\r\n category: category\r\n }\r\n let entry: Type<TransactionLinesLineBaseComponent>;\r\n this._transactionLineComponent.forEach((v, t) => {\r\n if (t.type === key.type && t.category === key.category) {\r\n entry = v;\r\n return;\r\n }\r\n })\r\n return entry;\r\n }\r\n\r\n public getTransactionFilterComponent(type: TransactionKind): Type<TransactionFilterBaseComponent> {\r\n const key: {type: TransactionKind} = {\r\n type: type}\r\n let entry: Type<TransactionFilterBaseComponent>;\r\n this._transactionFilterComponent.forEach((v, t, m) => {\r\n if (t.type === key.type) {\r\n entry = v;\r\n return;\r\n }\r\n })\r\n return entry;\r\n }\r\n\r\n public getTransactionSearchGridComponent(type: TransactionKind): Type<TransactionSearchGridBaseComponent> {\r\n const key: {type: TransactionKind} = {\r\n type: type}\r\n let entry: Type<TransactionSearchGridBaseComponent>;\r\n this._transactionSearchGridComponent.forEach((v, t, m) => {\r\n if (t.type === key.type) {\r\n entry = v;\r\n return;\r\n }\r\n })\r\n return entry;\r\n }\r\n\r\n public getTransactionSearchTileComponent(type: TransactionKind): Type<TransactionSearchTileBaseComponent> {\r\n const key: {type: TransactionKind} = {\r\n type: type}\r\n let entry: Type<TransactionSearchTileBaseComponent>;\r\n this._transactionSearchTileComponent.forEach((v, t, m) => {\r\n if (t.type === key.type) {\r\n entry = v;\r\n return;\r\n }\r\n })\r\n return entry;\r\n }\r\n}\r\n","import {\r\n ApplicationRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n Type,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionTypeCategory} from \"../../../enum/transaction-type-category.enum\";\r\nimport {TransactionMappingService} from \"../../../service/transaction-mapping.service\";\r\nimport {TransactionLinesLineBaseComponent} from \"../../core/base/transaction-lines-line-base.component\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {ExtendedTransactionLineViewModel} from \"../../../model/extended-transaction-line-view-model\";\r\n\r\n\r\n@Component({\r\n selector: \"co-transaction-line\",\r\n template: `\r\n <div #transactionLine observeVisibility (visible)=\"lineVisible.next()\"></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineComponent implements OnChanges {\r\n @ViewChild('transactionLine', { read: ElementRef }) set container(content) {\r\n if (content) {\r\n this._transactionLineContainer = content;\r\n this._prepareContent();\r\n }\r\n }\r\n\r\n @Input()\r\n public set transactionType(value: TransactionKind) {\r\n this._transactionType = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get transactionType(): TransactionKind {\r\n return this._transactionType;\r\n }\r\n\r\n @Input()\r\n public set activeCategory(value: TransactionTypeCategory) {\r\n this._activeCategory = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get activeCategory(): TransactionTypeCategory {\r\n return this._activeCategory;\r\n }\r\n\r\n @Input()\r\n public preview: boolean;\r\n\r\n @Input()\r\n public selected: boolean;\r\n\r\n @Input()\r\n public line: TransactionLineInfo | ExtendedTransactionLineViewModel;\r\n\r\n @Input()\r\n public transactionId: number;\r\n\r\n @Output()\r\n public waitingForUserAction: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @Output()\r\n public lineVisible: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-transaction-line\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _transactionLineContainer: ElementRef;\r\n private _transactionType: TransactionKind;\r\n private _activeCategory: TransactionTypeCategory;\r\n private _componentRef: any;\r\n\r\n constructor(\r\n private _mappingService: TransactionMappingService,\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector\r\n ) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this._prepareProps();\r\n }\r\n\r\n private _prepareContent(): void {\r\n if (!this._transactionType || !this._activeCategory || !this._transactionLineContainer) {\r\n return;\r\n }\r\n const componentClass: Type<TransactionLinesLineBaseComponent> = this._mappingService.getTransactionLineComponent(this._transactionType, this._activeCategory);\r\n\r\n if (this._componentRef) {\r\n this._componentRef.destroy();\r\n }\r\n if (!componentClass) {\r\n return;\r\n }\r\n\r\n this._componentRef = this._compFactoryResolver\r\n .resolveComponentFactory(componentClass)\r\n .create(this.injector);\r\n\r\n this.appRef.attachView(this._componentRef.hostView);\r\n\r\n this._prepareProps();\r\n\r\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n this._transactionLineContainer.nativeElement.appendChild(domElem);\r\n this._componentRef.onDestroy(() => {\r\n this.appRef.detachView(this._componentRef.hostView);\r\n });\r\n }\r\n\r\n private _prepareProps(): void {\r\n if (this._componentRef) {\r\n this._componentRef.instance.preview = this.preview;\r\n this._componentRef.instance.selected = this.selected;\r\n this._componentRef.instance.line = this.line;\r\n this._componentRef.instance.transactionId = this.transactionId;\r\n this._componentRef.instance.activeCategory = this.activeCategory;\r\n this._componentRef.instance.waitingForUserAction = this.waitingForUserAction;\r\n this._componentRef.instance.lineVisible = this.lineVisible;\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineComponent} from \"./transaction-line.component\";\r\nimport {ObserveVisibilityModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ObserveVisibilityModule\r\n ],\r\n declarations: [\r\n TransactionLineComponent\r\n ],\r\n exports: [\r\n TransactionLineComponent\r\n ]\r\n})\r\nexport class TransactionLineModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {CdkDrag, CdkDragDrop, CdkDropList, moveItemInArray} from \"@angular/cdk/drag-drop\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionArticleTextComponent} from \"../shared/transaction-article-text/transaction-article-text.component\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\nimport {TransactionTypeCategory} from \"../../enum/transaction-type-category.enum\";\r\nimport {TransactionMappingService} from \"../../service/transaction-mapping.service\";\r\nimport {DialogService} from \"../../service/dialog.service\";\r\nimport {DialogResponseInterface} from \"../../interface/dialog-response.interface\";\r\nimport {AppPopupButtonType} from \"../core/enum/app-popup-button-type.enum\";\r\nimport {TransactionReceiveGoodsService} from \"../transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-lines\",\r\n template: `\r\n <div cdkDropListGroup class=\"drop-list-group\">\r\n <div #dropList cdkDropList cdkDropListOrientation=\"vertical\"\r\n class=\"transaction-lines-drag-drop-list narrow-scrollbar\"\r\n [cdkDropListDisabled]=\"preview || userActionRequired\"\r\n [cdkDropListData]=\"transactionLines\"\r\n [cdkDropListEnterPredicate]=\"handleCanDragDrop\"\r\n (cdkDropListDropped)=\"handleDrop($event)\"\r\n >\r\n <div class=\"draggable-transaction-line\" *ngFor=\"let line of transactionLines; trackBy:trackByFn;\" cdkDrag>\r\n <co-icon *ngIf=\"!preview\" class=\"transaction-line-drag-handle\"\r\n [class.show]=\"line === selectedTransactionLine && transactionLines.length > 1\" cdkDragHandle\r\n [iconData]=\"iconCacheService.getIcon(icons.GripDotsVerticalSolid)\">\r\n </co-icon>\r\n <co-transaction-line\r\n [transactionType]=\"service.currentTransaction.transactionInfo.transactionKind\"\r\n [activeCategory]=\"activeCategory\"\r\n [transactionId]=\"transactionId\"\r\n [preview]=\"preview\"\r\n [line]=\"line\"\r\n [selected]=\"line === selectedTransactionLine\"\r\n (waitingForUserAction)=\"userActionRequired = $event\"\r\n (dblclick)=\"handleTransactionLineDblClick(line)\"\r\n (click)=\"selectedTransactionLine = line\"\r\n ></co-transaction-line>\r\n </div>\r\n </div>\r\n </div>\r\n <co-button *ngIf=\"!preview && transactionLines.length === 0\" class=\"add-text-button circle\"\r\n [iconData]=\"iconCacheService.getIcon(icons.TextSolid)\"\r\n (click)=\"handleTransactionArticleText($event)\"></co-button>\r\n\r\n <co-transaction-article-text *ngIf=\"showTransactionArticleText\"\r\n [header]=\"'PRODUCT_DESCRIPTION_AND_TEXTS' | localize\"\r\n [transactionLine]=\"selectedArticleText\"\r\n [editText]=\"textToEdit\"\r\n (saveClick)=\"saveTransactionArticleLineText($event)\"\r\n (closeClick)=\"closeTransactionArticleText($event)\"\r\n (cancelClick)=\"closeTransactionArticleText($event)\"\r\n ></co-transaction-article-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLinesComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild(TransactionArticleTextComponent)\r\n public transactionArticleText: TransactionArticleTextComponent;\r\n\r\n @Input()\r\n public transactionInfo: TransactionInfo = new TransactionInfo();\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo[] = [];\r\n\r\n @Input()\r\n public transactionId: number;\r\n\r\n @Input()\r\n public preview: boolean = false;\r\n\r\n @Input()\r\n public set activeCategory(value: TransactionTypeCategory) {\r\n this._activeCategory = value;\r\n this._handleCategory();\r\n }\r\n\r\n public get activeCategory(): TransactionTypeCategory {\r\n return this._activeCategory;\r\n }\r\n\r\n @Output()\r\n public saveTransactionLine: EventEmitter<TransactionAddTextLineRequest> = new EventEmitter<TransactionAddTextLineRequest>();\r\n\r\n @HostBinding(\"class.co-transaction-lines\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public showTransactionArticleText: boolean = false;\r\n public selectedArticleText: TransactionLineInfo;\r\n public textToEdit: string;\r\n public userActionRequired: boolean = false;\r\n public selectedTransactionLine: TransactionLineInfo;\r\n public hasComponent: boolean = true;\r\n\r\n private _activeCategory: TransactionTypeCategory = TransactionTypeCategory.SalesOrderOverview;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n public service: TransactionService,\r\n private _mappingService: TransactionMappingService,\r\n private _dialogService: DialogService,\r\n private _receiveGoodsService: TransactionReceiveGoodsService\r\n ) {\r\n }\r\n\r\n public trackByFn(index: number, line: TransactionLineInfo): any {\r\n return line.lineNr;\r\n }\r\n\r\n public handleCanDragDrop(drag: CdkDrag, drop: CdkDropList): boolean {\r\n return drag.data instanceof TransactionLineInfo;\r\n }\r\n\r\n public handleDrop(event: CdkDragDrop<TransactionLineInfo[]>): void {\r\n try {\r\n const from: number = event.previousIndex;\r\n const to: number = event.currentIndex;\r\n if (from === to) {\r\n return;\r\n }\r\n const beingDropped: TransactionLineInfo = this.transactionLines[from];\r\n const target: TransactionLineInfo = this.transactionLines[to];\r\n // set items in correct order\r\n moveItemInArray(this.transactionLines, from, to);\r\n this.service.changeLineSequence(beingDropped.uuid, from > to ? target.lineNr : null, from < to ? target.lineNr : null).catch(() => {\r\n // something went wrong, reset drop\r\n moveItemInArray(this.transactionLines, to, from);\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n public handleTransactionLineDblClick(line: TransactionLineInfo): void {\r\n if (line.isText) {\r\n this.selectedArticleText = line;\r\n this.textToEdit = line.text;\r\n this._showArticleTextDialog();\r\n } else {\r\n this.textToEdit = undefined;\r\n this.selectedArticleText = undefined;\r\n }\r\n }\r\n\r\n public handleTransactionArticleText(event: MouseEvent): void {\r\n this.selectedArticleText = undefined;\r\n this._showArticleTextDialog();\r\n }\r\n\r\n public closeTransactionArticleText(event: MouseEvent): void {\r\n this._hideArticleTextDialog();\r\n }\r\n\r\n public saveTransactionArticleLineText(transactionLine: TransactionAddTextLineRequest): void {\r\n this.saveTransactionLine.next(transactionLine);\r\n this._hideArticleTextDialog();\r\n }\r\n\r\n private _showArticleTextDialog(): void {\r\n this.showTransactionArticleText = true;\r\n }\r\n\r\n private _hideArticleTextDialog(): void {\r\n this.showTransactionArticleText = false;\r\n }\r\n\r\n private async _handleCategory(): Promise<void> {\r\n if (this._activeCategory === TransactionTypeCategory.PurchaseOrderReceivedGoods) {\r\n if (this.transactionLines.find(l => l.isLocationRequired)) {\r\n const response: DialogResponseInterface = await this._dialogService.showWarehouseLocation(this.transactionLines[0].warehouseNumber, false, false, true);\r\n if (response.button === AppPopupButtonType.Ok) {\r\n this._receiveGoodsService.lines.forEach(line => {\r\n if (line.isLocationRequired && !line.isBatchNrRequired && !line.isSerialNrRequired && line.quantityToReceive > 0) {\r\n line.locationNr = response.output\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DragDropModule} from \"@angular/cdk/drag-drop\";\r\nimport {ButtonModule, IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionArticleTextModule} from \"../shared/transaction-article-text/transaction-article-text.module\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionLineModule} from \"../transaction-line/transaction-line/transaction-line.module\";\r\nimport {TransactionLinesComponent} from \"./transaction-lines.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionLineModule,\r\n DragDropModule,\r\n ButtonModule,\r\n TransactionArticleTextModule,\r\n PipeModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n TransactionLinesComponent\r\n ],\r\n exports: [\r\n TransactionLinesComponent\r\n ]\r\n})\r\nexport class TransactionLinesModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-shopping-cart-preview\",\r\n template: `\r\n <div class=\"cart-header\">\r\n <span class=\"cart-header-label\" [textContent]=\"'CART' | localize\"></span>\r\n </div>\r\n <div class=\"cart-lines\">\r\n <co-transaction-lines\r\n [transactionInfo]=\"service.currentTransaction.transactionInfo\"\r\n [transactionLines]=\"service.currentTransaction.transactionLines\"\r\n [preview]=\"true\"\r\n ></co-transaction-lines>\r\n </div>\r\n <div class=\"preview-totals-wrapper\">\r\n <co-transaction-totals\r\n [transactionInfo]=\"service.currentTransaction.transactionInfo\"\r\n [transactionTotal]=\"service.currentTransaction.transactionTotal\"\r\n ></co-transaction-totals>\r\n </div>\r\n <div class=\"cart-buttons\">\r\n <a class=\"button-edit-cart\" [textContent]=\"'EDIT_CART' | localize\"\r\n (click)=\"editCartClick.emit()\"\r\n ></a>\r\n <co-button *ngIf=\"showCheckoutButton\" class=\"button-checkout\" [label]=\"'SHOPPING_CART_CHECKOUT' | localize\"\r\n [disabled]=\"!service.articleAmount\"\r\n (click)=\"checkout.emit()\"></co-button>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ShoppingCartPreviewComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public showCheckoutButton: boolean = true;\r\n\r\n @HostBinding(\"class.borderless\")\r\n @Input()\r\n public withoutBorder: boolean = false;\r\n\r\n @Output()\r\n public checkout: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public editCartClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-shopping-cart-preview\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public service: TransactionService\r\n ) {\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {ButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionTotalsModule} from \"../transaction-totals/transaction-totals.module\";\r\nimport {TransactionLinesModule} from \"../transaction-lines/transaction-lines.module\";\r\nimport {ShoppingCartPreviewComponent} from \"./shopping-cart-preview.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n ButtonModule,\r\n TransactionLinesModule,\r\n TransactionTotalsModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ShoppingCartPreviewComponent\r\n ],\r\n exports: [\r\n ShoppingCartPreviewComponent\r\n ]\r\n})\r\nexport class ShoppingCartPreviewModule {\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {Sharedapi} from \"@colijnit/sharedapi/build/sharedapi\";\r\nimport {DataServiceResponseData} from \"@colijnit/sharedapi/build/model/data-service-response-data\";\r\nimport {CoDocument} from \"@colijnit/sharedapi/build/model/co-document.bo\";\r\nimport {BusinessObjectFactory} from \"@colijnit/ioneconnector/build/factory/business-object-factory\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SharedConnectorService {\r\n public connector: Sharedapi;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n constructor(\r\n private _optionsService: OptionsService\r\n ) {}\r\n\r\n public async connect(): Promise<void> {\r\n this.connector = new Sharedapi(this._optionsService.options);\r\n }\r\n\r\n public selectDocsByTableKey(table: string, key: string): Promise<CoDocument[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.selectDocsByTableKey(table, key).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(CoDocument, result.resultObjects) as unknown as CoDocument[]);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public getDocumentContent(id: number, thumbnail: boolean = true): Promise<string> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.connector.getDocumentContent(id, thumbnail).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(result.resultObject.documentContent);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import {Injectable, OnDestroy} from \"@angular/core\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {SharedConnectorService} from \"./shared-connector.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {CoDocument} from \"@colijnit/sharedapi/build/model/co-document.bo\";\r\nimport {TransactionEventService} from \"./transaction-event.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SharedService implements OnDestroy {\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n constructor(\r\n private _optionsService: OptionsService,\r\n private _connector: SharedConnectorService,\r\n private _transactionEventService: TransactionEventService\r\n ) {\r\n this._subs.push(\r\n this._transactionEventService.connectionInitialized.subscribe((initialized: boolean) => {\r\n if (initialized) {\r\n this._connector.connect();\r\n }\r\n })\r\n )\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subs.forEach(s => s.unsubscribe());\r\n }\r\n\r\n public selectDocsByTableKey(table: string, key: string): Promise<CoDocument[]> {\r\n return this._connector.selectDocsByTableKey(table, key);\r\n }\r\n\r\n public getDocumentContent(docId: number, thumbnail: boolean = true): Promise<string> {\r\n return this._connector.getDocumentContent(docId, thumbnail);\r\n }\r\n}\r\n","import {AfterViewInit, Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {RelationRequest} from \"@colijnit/relationapi/build/model/relation-request\";\r\nimport {SharedService} from \"../../service/shared.service\";\r\nimport {ColorSequenceService} from \"@colijnit/corecomponents_v12\";\r\nimport {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\r\nimport {RelationListObject} from \"@colijnit/relationapi/build/model/relation-list-object.bo\";\r\nimport {RelationService} from \"../../service/relation.service\";\r\n\r\n@Component({\r\n selector: \"co-avatar\",\r\n template: `\r\n <co-image-display [model]=\"imageSrc\" *ngIf=\"imageSrc; else showInitials\"></co-image-display>\r\n <ng-template #showInitials>\r\n <svg viewBox=\"0 0 30 30\">\r\n <text x=\"50%\" y=\"50%\" dominant-baseline=\"central\" text-anchor=\"middle\">{{ initials }}</text>\r\n </svg>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AvatarComponent implements AfterViewInit {\r\n @Input()\r\n public set image(value: CoDocument) {\r\n this._image = value;\r\n this._getImageSrcFromCoDocument();\r\n }\r\n\r\n public get image(): CoDocument {\r\n return this._image;\r\n }\r\n\r\n @Input()\r\n public set relationId(value: number) {\r\n this._relationId = value;\r\n }\r\n\r\n public get relationId(): number {\r\n return this._relationId;\r\n }\r\n\r\n @Input()\r\n public relation: RelationListObject;\r\n\r\n @HostBinding(\"class.co-avatar\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public set initials(value: string) {\r\n this._initials = value;\r\n this._setBackgroundColor();\r\n }\r\n\r\n public get initials(): string {\r\n return this._initials;\r\n }\r\n\r\n public imageSrc: string;\r\n\r\n @HostBinding(\"style.background-color\")\r\n public backgroundColor: string;\r\n\r\n private _initials: string;\r\n private _relationId: number;\r\n private _image: CoDocument;\r\n\r\n constructor(\r\n private _transactionService: TransactionService,\r\n private _sharedService: SharedService,\r\n private _colorSequenceService: ColorSequenceService,\r\n private _relationService: RelationService\r\n ) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._getRelation();\r\n }\r\n\r\n private _getRelation(): void {\r\n if (!isNaN(this._relationId) && !this.image) {\r\n const request: RelationRequest = new RelationRequest();\r\n request.relationId = this._relationId;\r\n this._relationService.getRelationListObjects(request).then((data) => {\r\n if (data && data.length > 0) {\r\n this.relation = data[0];\r\n if (this.relation && this.relation.image && this.relation.image.documentId) {\r\n this._sharedService.getDocumentContent(this.relation.image.documentId)\r\n .then((content: string) => {\r\n this.imageSrc = content;\r\n })\r\n .catch((e) => {\r\n this.imageSrc = \"\";\r\n })\r\n }\r\n this.initials = this.relation.displayInitials;\r\n }\r\n });\r\n }\r\n }\r\n\r\n private _getImageSrcFromCoDocument(): void {\r\n if (this.image) {\r\n this._sharedService.getDocumentContent(this.image.documentId)\r\n .then((content: string) => {\r\n this.image.thumbnailBody = content;\r\n this.imageSrc = this.image.thumbnailBodyAsDataUri;\r\n })\r\n .catch((e) => {\r\n this.imageSrc = \"\";\r\n })\r\n }\r\n }\r\n\r\n private _setBackgroundColor(): void {\r\n if (this.relation) {\r\n this.backgroundColor = this._colorSequenceService.getRandomColor(this.relation.relationId);\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AvatarComponent} from \"./avatar.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule\r\n ],\r\n declarations: [\r\n AvatarComponent\r\n ],\r\n exports: [\r\n AvatarComponent\r\n ]\r\n})\r\nexport class AvatarModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\n\r\n@Component({\r\n selector: \"co-delivery-type-tile\",\r\n template: `\r\n <co-tile [selected]=\"selected\" (selectedChange)=\"selectedChange.emit(method)\">\r\n <div class=\"delivery-type-content-wrapper\">\r\n <div class=\"delivery-type-title\" [textContent]=\"method.description\"></div>\r\n <div class=\"delivery-type-icon\">\r\n <!--\r\n <icon [icon]=\"method.icon\"></icon>\r\n -->\r\n </div>\r\n <div *ngIf=\"method.factor\" class=\"delivery-type-price\" [textContent]=\"method.factor | priceDisplay\"></div>\r\n </div>\r\n </co-tile>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DeliveryTypeTileComponent {\r\n\r\n @Input()\r\n public set selected(value: boolean) {\r\n this._selected = value;\r\n // if (this._selected) {\r\n // this.selectedChange.emit(this.method);\r\n // }\r\n }\r\n\r\n public get selected(): boolean {\r\n return this._selected;\r\n }\r\n\r\n @Input()\r\n public method: DeliveryMethod = new DeliveryMethod();\r\n\r\n @Output()\r\n public selectedChange: EventEmitter<DeliveryMethod> = new EventEmitter<DeliveryMethod>();\r\n\r\n @HostBinding(\"class.co-delivery-type-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n private _selected: boolean = false;\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {DeliveryTypeTileComponent} from \"./delivery-type-tile.component\";\r\nimport {InputRadioButtonModule, PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TileModule} from \"../tile/tile.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n InputRadioButtonModule,\r\n PriceDisplayPipeModule,\r\n TileModule\r\n ],\r\n declarations: [\r\n DeliveryTypeTileComponent\r\n ],\r\n exports: [\r\n DeliveryTypeTileComponent\r\n ]\r\n})\r\nexport class DeliveryTypeTileModule {\r\n\r\n}\r\n","import {PaymentMethod} from \"@colijnit/transactionapi/build/model/payment-method.bo\";\r\n\r\nexport class PaymentViewmodel {\r\n public payment: PaymentMethod;\r\n public image: string;\r\n\r\n constructor(method: PaymentMethod) {\r\n this.payment = method;\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {PaymentMethod} from \"@colijnit/transactionapi/build/model/payment-method.bo\";\r\nimport {CreatePaymentLinkResult} from \"@colijnit/transactionapi/build/model/create-payment-link-result.bo\";\r\nimport {TransactionService} from \"./transaction.service\";\r\nimport {PaymentLinkStatus} from \"@colijnit/transactionapi/build/model/payment-link-status.bo\";\r\nimport {TransactionConnectorAdapterService} from \"./transaction-connector-adapter.service\";\r\nimport {SelectMultipleCacheService} from \"../cache/service/select-multiple-cache.service\";\r\nimport {TransactionDownPaymentInfo} from \"@colijnit/transactionapi/build/model/transaction-down-payment-info.bo\";\r\nimport {PaymentViewmodel} from \"../model/payment.viewmodel\";\r\nimport {SharedService} from \"./shared.service\";\r\nimport {DataServiceResponseData} from \"@colijnit/ioneconnector/build/model/data-service-response-data\";\r\nimport {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class PaymentService {\r\n\r\n constructor(\r\n private _adapterService: TransactionConnectorAdapterService,\r\n private _selectMultipleCacheService: SelectMultipleCacheService,\r\n private _transactionService: TransactionService,\r\n private _sharedService: SharedService\r\n ) {\r\n }\r\n\r\n public async updateHeaderTransactionToDownPay(uuid: string, downPayment: number): Promise<boolean> {\r\n const response: TransactionInfoResponse | boolean = await this._adapterService.changeHeaderTransactionToDownPay(uuid, downPayment)\r\n .catch((error) => {\r\n // todo: do something with the error\r\n return false;\r\n });\r\n if (response) {\r\n const success: boolean = await this._transactionService.handleHeaderOperationStatuses(response);\r\n this._transactionService.rememberCurrentTransaction(response);\r\n return success;\r\n }\r\n return false;\r\n }\r\n\r\n public async registerSalesOrderPayment(\r\n uuid: string, amount: number, currencyId: number, paymentMethod: string, cashRegisterGroupId: number\r\n ): Promise<boolean> {\r\n const response: DataServiceResponseData =\r\n await this._adapterService.registerSalesOrderPayment(uuid, amount, currencyId, paymentMethod, cashRegisterGroupId);\r\n if (response.validationResult.success) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public async createIonePaymentLinkAndQRCode(uuid: string, amount: number, paymentMethodCode: string): Promise<CreatePaymentLinkResult> {\r\n return this._adapterService.createIonePaymentLinkAndQRCode(uuid, amount, paymentMethodCode);\r\n }\r\n\r\n public async getPaymentLinkStatus(paymentLinkUUID: string): Promise<PaymentLinkStatus> {\r\n return this._adapterService.getPaymentLinkStatus(paymentLinkUUID);\r\n }\r\n\r\n public async getDownPaymentInfo(uuid: string): Promise<TransactionDownPaymentInfo> {\r\n return this._adapterService.getDownPaymentInfo(uuid);\r\n }\r\n\r\n public async getPaymentMethods(): Promise<PaymentMethod[]> {\r\n return this._selectMultipleCacheService.requestCache<PaymentMethod>(PaymentMethod, () => {\r\n return this._adapterService.getPaymentMethods()\r\n }).getValue();\r\n }\r\n\r\n public async getPaymentMethodsViewModels(): Promise<PaymentViewmodel[]> {\r\n const result: PaymentViewmodel[] = [];\r\n const methods = await this.getPaymentMethods();\r\n methods.forEach(async (m: PaymentMethod) => {\r\n const paymentViewModel: PaymentViewmodel = new PaymentViewmodel(m);\r\n const imageDocs: CoDocument[] = m.documents.filter(d => d.isImageDocument());\r\n if (imageDocs && imageDocs.length) {\r\n const image: CoDocument = imageDocs[0];\r\n if (image.filePath) {\r\n paymentViewModel.image = image.filePath;\r\n } else {\r\n if (!image.thumbnailBody) {\r\n const content: string = await this._sharedService.getDocumentContent(image.documentId);\r\n image.thumbnailBody = content;\r\n }\r\n paymentViewModel.image = image.thumbnailBodyAsDataUri;\r\n }\r\n }\r\n result.push(paymentViewModel);\r\n });\r\n return result;\r\n }\r\n}\r\n","import {PaymentViewmodel} from \"./payment.viewmodel\";\r\nimport {DownPayment} from \"@colijnit/transactionapi/build/model/down-payment.bo\";\r\n\r\nexport class DownPaymentViewModel {\r\n\r\n public downPayment: DownPayment;\r\n public paymentMethod: PaymentViewmodel;\r\n\r\n constructor(downPayment: DownPayment, paymentMethodViewmodel: PaymentViewmodel) {\r\n this.downPayment = downPayment;\r\n this.paymentMethod = paymentMethodViewmodel;\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {CashRegister} from \"@colijnit/transactionapi/build/model/cash-register\";\r\nimport {PaymentService} from \"../../service/payment.service\";\r\nimport {SharedService} from \"../../service/shared.service\";\r\nimport {PaymentMethod} from \"@colijnit/transactionapi/build/model/payment-method.bo\";\r\nimport {PaymentViewmodel} from \"../../model/payment.viewmodel\";\r\nimport {PaymentLinkStatus} from \"@colijnit/transactionapi/build/model/payment-link-status.bo\";\r\nimport {CreatePaymentLinkResult} from \"@colijnit/transactionapi/build/model/create-payment-link-result.bo\";\r\nimport {TransactionDownPaymentInfo} from \"@colijnit/transactionapi/build/model/transaction-down-payment-info.bo\";\r\nimport {DownPaymentViewModel} from \"../../model/down-payment-view-model\";\r\nimport {DownPayment} from \"@colijnit/transactionapi/build/model/down-payment.bo\";\r\n\r\n@Component({\r\n selector: \"co-payment\",\r\n template: `\r\n <div class=\"payment-wrapper\">\r\n <div class=\"payment-methods-header\">\r\n <span class=\"payment-header-title\" [textContent]=\"'SELECT_A' | localize\"></span>\r\n <span class=\"payment-header-title extra\" [textContent]=\"'FREE' | localize:false\"></span>\r\n <span class=\"payment-header-title\" [textContent]=\"'PAYMENT_METHOD' | localize:false\"></span>\r\n </div>\r\n <div class=\"payment-methods\">\r\n <co-loader class=\"loader\" *ngIf=\"showLoader\"></co-loader>\r\n <ng-container *ngIf=\"!showLoader\">\r\n <co-payment-tile *ngFor=\"let paymentMethod of paymentMethods; let index = index\"\r\n [image]=\"paymentMethod.image\"\r\n [description]=\"paymentMethod.payment.description\"\r\n [selected]=\"paymentMethodIdx === index\"\r\n (selectedChange)=\"paymentMethodSelected(paymentMethod.payment, index)\"\r\n ></co-payment-tile>\r\n </ng-container>\r\n </div>\r\n <div class=\"payment-cash-register-wrapper\" *ngIf=\"showCashRegisters\">\r\n <div class=\"payment-cash-register-header\">\r\n <span class=\"payment-header-title\" [textContent]=\"'SELECT_CASH_REGISTER' | localize\"></span>\r\n </div>\r\n <div class=\"payment-methods\">\r\n <co-payment-tile *ngFor=\"let cashRegister of cashRegisters; let index = index\"\r\n [icon]=\"cashRegister.icon\"\r\n [description]=\"cashRegister.description\"\r\n [selected]=\"cashRegisterIdx === index\"\r\n (selectedChange)=\"cashRegisterSelected(cashRegister, index)\"\r\n ></co-payment-tile>\r\n </div>\r\n </div>\r\n <div class=\"payment-to-pay-wrapper\">\r\n <div class=\"payment-to-pay\">\r\n <div [textContent]=\"'TO_PAY' | localize\"></div>\r\n <div class=\"payment-amount\" [textContent]=\"amountToPay === 0 ? amountToPay : (amountToPay | priceDisplay)\"></div>\r\n </div>\r\n <div class=\"payment-downpayment\" [class.no-display]=\"!downPayments || downPayments.length === 0\">\r\n <co-down-payment [transactionUuid]=\"transactionUuid\" [downPayments]=\"downPayments\" [showLoader]=\"showLoaderDownPayments\"></co-down-payment>\r\n </div>\r\n <div class=\"payment-to-pay-button\" [class.no-downpayments]=\"!downPayments || downPayments.length === 0\">\r\n <co-button [label]=\"'PAY' | localize\" (click)=\"handlePayment()\" [disabled]=\"amountToPay === 0\"></co-button>\r\n </div>\r\n <co-key-pad class=\"payment-to-pay-keypad\"\r\n [showValue]=\"false\"\r\n [emitModelChangeOnEnter]=\"false\"\r\n [model]=\"amountToPay\"\r\n (modelChange)=\"handleKeyPadModelChange($event)\"\r\n (enterClick)=\"handlePayment()\"\r\n ></co-key-pad>\r\n </div>\r\n </div>\r\n <co-dialog *ngIf=\"showPspQrCode\" (closeClick)=\"showPspQrCode = false\">\r\n <co-payment-qr-code\r\n [qrCodeImage]=\"qrCodeImage\"\r\n ></co-payment-qr-code>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PaymentComponent implements OnInit, OnDestroy {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public transactionUuid: string;\r\n\r\n @Input()\r\n public set amount(value: number) {\r\n this._amount = value;\r\n this.amountToPay = this._amount;\r\n }\r\n\r\n public get amount(): number {\r\n return this._amount;\r\n }\r\n\r\n @Input()\r\n public currencyId: number;\r\n\r\n @Output()\r\n public payed: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-payment\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public paymentMethodIdx: number = 0;\r\n public cashRegisterIdx: number = 0;\r\n public paymentMethods: PaymentViewmodel[] = [];\r\n public downPayments: DownPaymentViewModel[] = [];\r\n public cashRegisters: any[] = [];\r\n public showCashRegisters: boolean = false;\r\n public showKeyPad: boolean = false;\r\n public showPspQrCode: boolean = false;\r\n public currentPaymentMethod: PaymentMethod;\r\n public qrCodeImage: string;\r\n public showLoader: boolean = true;\r\n public showLoaderDownPayments: boolean = true;\r\n public amountToPay: number = 0;\r\n\r\n private _amount: number = 0;\r\n private _paymentStatusInterval: any;\r\n private _paymentStatusPollIntervalMs: number = 5000;\r\n private _paymentStatusMaxPollInterval: number = 10;\r\n private _paymentStatusPollIntervalCount: number = 0;\r\n private _paymentResult: CreatePaymentLinkResult;\r\n\r\n constructor(\r\n private _transactionService: TransactionService,\r\n private _sharedService: SharedService,\r\n private _paymentService: PaymentService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._paymentService.updateHeaderTransactionToDownPay(this.transactionUuid, this.amountToPay).then(() => {\r\n this._getPaymentMethods().then(() => {\r\n this.showLoader = false;\r\n this._getDownpaymentInfo();\r\n this._prepareCashRegisters();\r\n });\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._clearInterval();\r\n }\r\n\r\n public paymentMethodSelected(method: PaymentMethod, index: number): void {\r\n this.paymentMethodIdx = index;\r\n this._prepareCashRegisters();\r\n }\r\n\r\n public cashRegisterSelected(cashRegister: CashRegister, index: number): void {\r\n this.cashRegisterIdx = index;\r\n }\r\n\r\n public handlePayment(): void {\r\n const currentPaymentViewModel = this.paymentMethods[this.paymentMethodIdx];\r\n this.currentPaymentMethod = currentPaymentViewModel.payment;\r\n if (this.currentPaymentMethod && this.currentPaymentMethod.externalSourceId) { // psp payment\r\n this._paymentService.createIonePaymentLinkAndQRCode(this.transactionUuid, this.amountToPay, this.currentPaymentMethod.code).then((response: CreatePaymentLinkResult) => {\r\n this._paymentResult = response;\r\n if (this._paymentResult && this._paymentResult.imageBase64) {\r\n this.qrCodeImage = this._dataUriToBase64(this._paymentResult.imageBase64, 'image/png');\r\n this.showPspQrCode = true;\r\n this._paymentStatusPollIntervalCount = 0;\r\n this._waitForPaymentStatus();\r\n }\r\n });\r\n } else {\r\n const currentCashRegister: CashRegister = this.cashRegisters[this.cashRegisterIdx];\r\n this._paymentService.registerSalesOrderPayment(\r\n this.transactionUuid, this.amountToPay, this.currencyId, this.currentPaymentMethod.code, currentCashRegister.group).then(async () => {\r\n this.showKeyPad = false;\r\n await this._getDownpaymentInfo();\r\n if (this.amountToPay === 0) {\r\n this.payed.emit();\r\n }\r\n });\r\n }\r\n }\r\n\r\n public handleKeyPadModelChange(model: number): void {\r\n this.amountToPay = model;\r\n }\r\n\r\n private _getDownpaymentInfo(): Promise<void> {\r\n this.downPayments.length = 0;\r\n return new Promise((resolve: Function) => {\r\n this._paymentService.getDownPaymentInfo(this.transactionUuid).then((info: TransactionDownPaymentInfo) => {\r\n this.amountToPay = (info.toDownPayAmount ? info.toDownPayAmount : 0) - (info.payedDownAmount ? info.payedDownAmount : 0);\r\n if (info.downPayments) {\r\n info.downPayments.forEach((dp: DownPayment) => {\r\n const paymentMethod: PaymentViewmodel = this.paymentMethods.find(pm => pm.payment.code === dp.paymentMethodCode);\r\n this.downPayments.push(new DownPaymentViewModel(dp, paymentMethod));\r\n });\r\n }\r\n this.showLoaderDownPayments = false;\r\n resolve();\r\n });\r\n });\r\n }\r\n\r\n private _dataUriToBase64(uri: string, mimeType: string): string {\r\n return uri ? \"data:\" + mimeType + \";base64,\" + uri : \"\";\r\n }\r\n\r\n private _waitForPaymentStatus(): void {\r\n if (this._paymentResult && this._paymentResult.paymentLinkUUID) {\r\n this._paymentStatusInterval = setInterval(async () => {\r\n if (this._paymentStatusPollIntervalCount >= this._paymentStatusMaxPollInterval) {\r\n this._clearInterval();\r\n } else {\r\n const status: PaymentLinkStatus = await this._paymentService.getPaymentLinkStatus(this._paymentResult.paymentLinkUUID);\r\n if (status.payedDate) {\r\n this._clearInterval();\r\n this.showPspQrCode = false;\r\n await this._getDownpaymentInfo();\r\n if (this.amountToPay === 0) {\r\n this.payed.emit();\r\n }\r\n }\r\n this._paymentStatusPollIntervalCount++;\r\n }\r\n }, this._paymentStatusPollIntervalMs);\r\n } else {\r\n this._clearInterval();\r\n }\r\n }\r\n\r\n private _clearInterval(): void {\r\n clearInterval(this._paymentStatusInterval);\r\n this._paymentStatusInterval = undefined;\r\n }\r\n\r\n /**\r\n *\r\n * @private\r\n */\r\n private _prepareCashRegisters(): void {\r\n const paymentMethod: PaymentMethod = this.paymentMethods[this.paymentMethodIdx].payment;\r\n if (paymentMethod && !paymentMethod.externalSourceId) {\r\n this.cashRegisters.length = 0;\r\n paymentMethod.posGroups.forEach(crg => {\r\n this._getCashRegisters(undefined, crg.id);\r\n });\r\n this.showCashRegisters = true;\r\n } else {\r\n this.showCashRegisters = false;\r\n }\r\n }\r\n\r\n private _getCashRegisters(branch?: string, group?: number): void {\r\n this._transactionService.getCashRegisters(branch, group).then((cashRegisters: CashRegister[]) => {\r\n this.cashRegisters.push(...cashRegisters);\r\n });\r\n }\r\n\r\n private _getPaymentMethods(): Promise<void> {\r\n return new Promise((resolve: Function) => {\r\n this.paymentMethods.length = 0;\r\n this._paymentService.getPaymentMethodsViewModels().then((methods: PaymentViewmodel[]) => {\r\n this.paymentMethods = methods.slice();\r\n resolve();\r\n });\r\n });\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-payment-tile\",\r\n template: `\r\n <co-tile [selected]=\"selected\" (selectedChange)=\"selectedChange.emit($event)\">\r\n <div class=\"payment-tile-wrapper\">\r\n <icon *ngIf=\"icon\" class=\"payment-tile-icon\" [icon]=\"icon\"></icon>\r\n <img *ngIf=\"image\" class=\"payment-tile-image\" [src]=\"image\"/>\r\n <span class=\"payment-tile-description\" [textContent]=\"description | localize\"></span>\r\n </div>\r\n </co-tile>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PaymentTileComponent {\r\n\r\n @Input()\r\n public selected: boolean = false;\r\n\r\n @Input()\r\n public icon: Icon;\r\n\r\n @Input()\r\n public image: string;\r\n\r\n @Input()\r\n public description: string;\r\n\r\n @Output()\r\n public selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding(\"class.co-payment-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PaymentTileComponent} from \"./payment-tile.component\";\r\nimport {TileModule} from \"../tile/tile.module\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TileModule,\r\n CoreModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n PaymentTileComponent\r\n ],\r\n exports: [\r\n PaymentTileComponent\r\n ]\r\n})\r\nexport class PaymentTileModule {\r\n\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-payment-qr-code\",\r\n template: `\r\n <div class=\"payment-qr-code-wrapper\">\r\n <co-loader *ngIf=\"!qrCodeImage\"></co-loader>\r\n <img *ngIf=\"qrCodeImage\" [src]=\"qrCodeImage\"/>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PaymentQrCodeComponent {\r\n\r\n // private _uri = \"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\";\r\n\r\n @Input()\r\n public qrCodeImage: string;\r\n\r\n @HostBinding(\"class.co-payment-qr-code\")\r\n public showClass() {\r\n return true;\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-loader\",\r\n template: `\r\n <div class=\"transaction-loader\">\r\n <svg width=\"38\" height=\"38\" viewBox=\"0 0 38 38\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <defs>\r\n <linearGradient x1=\"8.042%\" y1=\"0%\" x2=\"65.682%\" y2=\"23.865%\" id=\"a\">\r\n <stop stop-color=\"#000\" stop-opacity=\"0\" offset=\"0%\"/>\r\n <stop stop-color=\"#000\" stop-opacity=\".631\" offset=\"63.146%\"/>\r\n <stop stop-color=\"#000\" offset=\"100%\"/>\r\n </linearGradient>\r\n </defs>\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <g transform=\"translate(1 1)\">\r\n <path d=\"M36 18c0-9.94-8.06-18-18-18\" id=\"Oval-2\" stroke=\"url(#a)\" stroke-width=\"2\">\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"rotate\"\r\n from=\"0 18 18\"\r\n to=\"360 18 18\"\r\n dur=\"0.9s\"\r\n repeatCount=\"indefinite\"/>\r\n </path>\r\n <circle fill=\"#000\" cx=\"36\" cy=\"18\" r=\"1\">\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"rotate\"\r\n from=\"0 18 18\"\r\n to=\"360 18 18\"\r\n dur=\"0.9s\"\r\n repeatCount=\"indefinite\"/>\r\n </circle>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LoaderComponent {\r\n\r\n @HostBinding(\"class.co-loader\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {LoaderComponent} from \"./loader.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n LoaderComponent\r\n ],\r\n exports: [\r\n LoaderComponent\r\n ]\r\n})\r\nexport class LoaderModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PaymentQrCodeComponent} from \"./payment-qr-code.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {LoaderModule} from \"../loader/loader.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n LoaderModule\r\n ],\r\n declarations: [\r\n PaymentQrCodeComponent\r\n ],\r\n exports: [\r\n PaymentQrCodeComponent\r\n ]\r\n})\r\nexport class PaymentQrCodeModule {\r\n}\r\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionDownPaymentInfo} from \"@colijnit/transactionapi/build/model/transaction-down-payment-info.bo\";\r\nimport {DownPaymentViewModel} from \"../../model/down-payment-view-model\";\r\nimport {DownPayment} from \"@colijnit/transactionapi/build/model/down-payment.bo\";\r\nimport {PaymentViewmodel} from \"../../model/payment.viewmodel\";\r\nimport {PaymentService} from \"../../service/payment.service\";\r\n\r\n@Component({\r\n selector: \"co-down-payment\",\r\n template: `\r\n <co-loader class=\"loader\" *ngIf=\"showLoader\"></co-loader>\r\n <div class=\"down-payment-payments-title\" [textContent]=\"'PAYMENTS_MADE' | localize\" *ngIf=\"downPayments && downPayments.length > 0\"></div>\r\n <div class=\"down-payment-payments-wrapper\">\r\n <div class=\"down-payment-payments\" *ngFor=\"let payment of downPayments\">\r\n <co-payment-tile\r\n [image]=\"payment.paymentMethod.image\"\r\n [description]=\"payment.paymentMethod.payment.description\"\r\n ></co-payment-tile>\r\n <div class=\"down-payment-amount-wrapper\">\r\n <div class=\"down-payment-amount\" [textContent]=\"payment.downPayment.downPaymentAmount | coCurrency\"></div>\r\n <div class=\"down-payment-date\" [textContent]=\"payment.downPayment.date | date:'d MMMM yyyy'\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DownPaymentComponent implements OnInit {\r\n\r\n @Input()\r\n public transactionUuid: string;\r\n\r\n @Input()\r\n public downPayments: DownPaymentViewModel[];\r\n\r\n @Input()\r\n public showLoader: boolean = true;\r\n\r\n @HostBinding(\"class.co-down-payment\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public paymentMethods: PaymentViewmodel[] = [];\r\n\r\n constructor(private _paymentService: PaymentService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._prepareData();\r\n }\r\n\r\n private _getDownpaymentInfo(): void {\r\n this.downPayments.length = 0;\r\n this._paymentService.getDownPaymentInfo(this.transactionUuid).then((info: TransactionDownPaymentInfo) => {\r\n if (info.downPayments) {\r\n info.downPayments.forEach((dp: DownPayment) => {\r\n const paymentMethod: PaymentViewmodel = this.paymentMethods.find(pm => pm.payment.code === dp.paymentMethodCode);\r\n this.downPayments.push(new DownPaymentViewModel(dp, paymentMethod));\r\n });\r\n }\r\n });\r\n }\r\n\r\n private _prepareData(): void {\r\n if (!this.downPayments) {\r\n this.downPayments = [];\r\n this.showLoader = true;\r\n this.paymentMethods.length = 0;\r\n this._paymentService.getPaymentMethodsViewModels().then((methods: PaymentViewmodel[]) => {\r\n this.paymentMethods = methods.slice();\r\n this._getDownpaymentInfo();\r\n this.showLoader = false;\r\n });\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DownPaymentComponent} from \"./down-payment.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {PaymentTileModule} from \"../payment-tile/payment-tile.module\";\r\nimport {LoaderModule} from \"../loader/loader.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n PaymentTileModule,\r\n LoaderModule\r\n ],\r\n declarations: [\r\n DownPaymentComponent\r\n ],\r\n exports: [\r\n DownPaymentComponent\r\n ]\r\n})\r\nexport class DownPaymentModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PaymentComponent} from \"./payment.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {PaymentTileModule} from \"../payment-tile/payment-tile.module\";\r\nimport {ButtonModule, CoDialogModule, PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\nimport {KeyPadModule} from \"@colijnit/sharedcomponents\";\r\nimport {PaymentQrCodeModule} from \"../payment-qr-code/payment-qr-code.module\";\r\nimport {DownPaymentModule} from \"../down-payment/down-payment.module\";\r\nimport {LoaderModule} from \"../loader/loader.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n PaymentTileModule,\r\n PriceDisplayPipeModule,\r\n KeyPadModule,\r\n CoDialogModule,\r\n ButtonModule,\r\n PaymentQrCodeModule,\r\n DownPaymentModule,\r\n LoaderModule\r\n ],\r\n declarations: [\r\n PaymentComponent\r\n ],\r\n exports: [\r\n PaymentComponent\r\n ]\r\n})\r\nexport class PaymentModule {\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {NULL_RELATION_OBJECT} from \"@colijnit/relationapi/build/model/nul-relation-object\";\r\nimport {RelationNameKind} from \"@colijnit/relationapi/build/enum/relation-name-kind.enum\";\r\nimport {RelationAnyType} from \"../../../model/relation-any-type\";\r\n\r\n@Component({\r\n selector: \"co-relation-type\",\r\n template: `\r\n <div class=\"default-data-row\">\r\n <co-input-radio-button class=\"default-width\"\r\n [readonly]=\"readonly\"\r\n [label]=\"'PRIVATE_PERSON' | localize\"\r\n [model]=\"relation.type === relType.Private\"\r\n (modelChange)=\"handleChangeRelationType(relType.Private)\"\r\n ></co-input-radio-button>\r\n <co-input-radio-button class=\"default-width\"\r\n [readonly]=\"readonly\"\r\n [label]=\"'COMPANY' | localize\"\r\n [model]=\"relation.type === relType.Company\"\r\n (modelChange)=\"handleChangeRelationType(relType.Company)\"\r\n ></co-input-radio-button>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelationTypeComponent {\r\n public readonly relType: typeof RelationNameKind = RelationNameKind;\r\n\r\n @Input()\r\n public readonly: boolean = false;\r\n\r\n @Input()\r\n public relation: RelationAnyType = NULL_RELATION_OBJECT;\r\n\r\n @Output()\r\n public relationChange: EventEmitter<RelationAnyType> = new EventEmitter<RelationAnyType>();\r\n\r\n @HostBinding(\"class.co-relation-type\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public handleChangeRelationType(type: RelationNameKind): void {\r\n this.relation.type = type;\r\n this.relationChange.emit(this.relation);\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationTypeComponent} from \"./relation-type.component\";\r\nimport {InputRadioButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputRadioButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n RelationTypeComponent\r\n ],\r\n exports: [\r\n RelationTypeComponent\r\n ]\r\n})\r\nexport class RelationTypeModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {RelationRequest} from \"@colijnit/relationapi/build/model/relation-request\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {RelationBaseComponent} from \"../relation-base.component\";\r\nimport {ValidationResult} from \"@colijnit/ioneconnector/build/model/validation-result\";\r\nimport {DialogService} from \"../../../service/dialog.service\";\r\nimport {DictionaryService} from \"../../../service/dictionary.service\";\r\nimport {RelationNameKind} from \"@colijnit/relationapi/build/enum/relation-name-kind.enum\";\r\nimport {GenderType} from \"@colijnit/relationapi/build/enum/gender-type.enum\";\r\nimport {RelationListObject} from \"@colijnit/relationapi/build/model/relation-list-object.bo\";\r\nimport {FunctionUtils} from \"@colijnit/ioneconnector/build/utils/function-utils\";\r\nimport {ObjectUtils} from \"@colijnit/ioneconnector/build/utils/object-utils\";\r\nimport {RelationService} from \"../../../service/relation.service\";\r\nimport {RelationKind} from \"@colijnit/relationapi/build/enum/relation-kind.enum\";\r\n\r\n@Component({\r\n selector: \"co-relation-general\",\r\n template: `\r\n <div *ngIf=\"relation.type === relType.Private\" class=\"collapseable\" @showHidePrivateRelationFields>\r\n <div class=\"default-data-row\">\r\n <co-input-text\r\n class=\"checkout-first-name\"\r\n [readonly]=\"readonly\"\r\n [(model)]=\"relation.firstName\"\r\n [placeholder]=\"'FIRST_NAME' | localize\"\r\n (modelChange)=\"firstNameChange($event)\"\r\n (blur)=\"checkVisibilitySuggestions()\"\r\n [required]=\"true\"\r\n ></co-input-text>\r\n <co-input-text\r\n class=\"checkout-prefix-name default-width\"\r\n [readonly]=\"readonly\"\r\n [(model)]=\"relation.prefix\"\r\n [placeholder]=\"'PREFIX' | localize\"\r\n ></co-input-text>\r\n <co-input-text\r\n class=\"checkout-last-name\"\r\n [readonly]=\"readonly\"\r\n [(model)]=\"relation.familyName\"\r\n [placeholder]=\"'LAST_NAME' | localize\"\r\n (modelChange)=\"familyNameChange($event)\"\r\n (blur)=\"checkVisibilitySuggestions()\"\r\n [required]=\"true\"></co-input-text>\r\n </div>\r\n <div class=\"default-data-row\">\r\n <co-input-radio-button class=\"default-width\"\r\n [readonly]=\"readonly\"\r\n [label]=\"'MALE' | localize\"\r\n [model]=\"relation.gender === genderType.Male\"\r\n (modelChange)=\"changeGenderType(genderType.Male)\"\r\n ></co-input-radio-button>\r\n <co-input-radio-button class=\"default-width\"\r\n [readonly]=\"readonly\"\r\n [label]=\"'FEMALE' | localize \"\r\n [model]=\"relation.gender === genderType.Female\"\r\n (modelChange)=\"changeGenderType(genderType.Female)\"\r\n ></co-input-radio-button>\r\n <co-input-radio-button class=\"default-width\"\r\n [readonly]=\"readonly\"\r\n [label]=\"'UNKNOWN' | localize\"\r\n [model]=\"relation.gender === genderType.Unspecified\"\r\n (modelChange)=\"changeGenderType(genderType.Unspecified)\"\r\n ></co-input-radio-button>\r\n </div>\r\n<!--\r\n <div class=\"default-data-row\">\r\n <co-input-date [readonly]=\"readonly\" [placeholder]=\"'DATE_OF_BIRTH' | localize \" [(model)]=\"dateOfBirth\"></co-input-date>\r\n </div>\r\n-->\r\n </div>\r\n <div *ngIf=\"relation?.type === relType.Company\" class=\"default-data-row collapseable\" @showHideCompanyRelationFields>\r\n <co-input-text [readonly]=\"readonly\" [(model)]=\"relation.familyName\" [placeholder]=\"'COMPANY_NAME' | localize\" [required]=\"true\"></co-input-text>\r\n </div>\r\n\r\n <div class=\"suggestions-sidebar\" *ngIf=\"showSuggestionsSidebar\" @showHideSidebar>\r\n <div class=\"relation-sidebar-header\">\r\n <label class=\"checkout-label-h3\" [textContent]=\"'SUGGESTIONS' | localize\"></label>\r\n </div>\r\n <co-relation-suggestions-list\r\n [suggestions]=\"relationSuggestions\"\r\n (suggestionSelected)=\"onRelationSuggestionClick($event)\"\r\n ></co-relation-suggestions-list>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHidePrivateRelationFields\", [\r\n state(\"void\", style({height: 0})),\r\n state(\"*\", style({height: \"*\"})),\r\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\r\n transition(\"* => void\", animate(\"200ms ease-out\"))\r\n ]),\r\n trigger(\"showHideCompanyRelationFields\", [\r\n state(\"void\", style({height: 0})),\r\n state(\"*\", style({height: \"*\"})),\r\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\r\n transition(\"* => void\", animate(\"200ms ease-out\"))\r\n ]),\r\n trigger(\"showHideSidebar\", [\r\n state(\"void\", style({transform: \"translateX(100%)\"})),\r\n state(\"*\", style({transform: \"translateX(0)\"})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelationGeneralComponent extends RelationBaseComponent {\r\n public readonly relationKind: typeof RelationKind = RelationKind;\r\n public readonly relType: typeof RelationNameKind = RelationNameKind;\r\n public readonly genderType: typeof GenderType = GenderType;\r\n\r\n @Input()\r\n public readonly: boolean = false;\r\n\r\n @HostBinding(\"class.co-relation-general\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public relationSuggestions: RelationListObject[] = [];\r\n public showSuggestionsSidebar: boolean = false;\r\n public dateOfBirth: Date; // todo: this needs to be on the relation object\r\n\r\n constructor(\r\n private _service: TransactionService,\r\n private _dictionaryService: DictionaryService,\r\n private _dialogService: DialogService,\r\n private _relationService: RelationService\r\n ) {\r\n super();\r\n }\r\n\r\n public firstNameChange(firstName: string): void {\r\n if (this.relation) {\r\n this.relation.firstName = firstName;\r\n this.relationChange.emit(this.relation);\r\n }\r\n this._relationNameChangeHandler.call(this);\r\n }\r\n\r\n public familyNameChange(familyName: string): void {\r\n if (this.relation) {\r\n this.relation.familyName = familyName;\r\n this.relationChange.emit(this.relation);\r\n }\r\n this._relationNameChangeHandler.call(this);\r\n }\r\n\r\n public changeGenderType(value: GenderType): void {\r\n this.relation.gender = value;\r\n this.relationChange.emit(this.relation);\r\n }\r\n\r\n public checkVisibilitySuggestions(): void {\r\n if (this.relation.firstName && this.relation.familyName) {\r\n this.hideSidebar();\r\n }\r\n }\r\n\r\n public showSidebar(): void {\r\n if (!this.readonly) {\r\n this.showSuggestionsSidebar = true;\r\n }\r\n }\r\n\r\n // Hide sidebar with a little timeout to prevent missing the click\r\n public hideSidebar(): void {\r\n setTimeout(() => {\r\n this.showSuggestionsSidebar = false;\r\n }, 200);\r\n }\r\n\r\n public async onRelationSuggestionClick(relationSuggested: RelationListObject): Promise<void> {\r\n if (relationSuggested) {\r\n const lockResult: ValidationResult = await this._relationService.lockRelation(relationSuggested.relationType, parseInt(relationSuggested.relationNr, 0));\r\n if (!lockResult.success) {\r\n this._dialogService.showError(this._dictionaryService.get(\"RELATION_ALREADY_LOCKED\"), lockResult.messages[0].message);\r\n } else {\r\n this.hideSidebar();\r\n this.relation = await this._relationService.getRelation(relationSuggested.relationType, parseInt(relationSuggested.relationNr));\r\n this.relationChange.next(this.relation);\r\n }\r\n }\r\n }\r\n\r\n protected relationSet(): void {\r\n super.relationSet();\r\n if (!this.relation.type) {\r\n this.relation.type = RelationNameKind.Private;\r\n this.relation.gender = GenderType.Unspecified;\r\n }\r\n }\r\n\r\n // fetches relation suggestions\r\n private _relationNameChangeHandler: Function = FunctionUtils.Throttle(() => {\r\n return this._relationNameChangedHandlerFn();\r\n // eslint-disable-next-line no-magic-numbers\r\n }, 600);\r\n\r\n // load suggestions\r\n private async _relationNameChangedHandlerFn(): Promise<any> {\r\n const firstName: string = ObjectUtils.ValueOrDefault(this.relation.firstName);\r\n const secondName: string = ObjectUtils.ValueOrDefault(this.relation.familyName);\r\n\r\n if (!firstName && !secondName) {\r\n this.relationSuggestions = [];\r\n this.hideSidebar();\r\n return;\r\n }\r\n\r\n const relationRequest: RelationRequest = new RelationRequest();\r\n relationRequest.relationType = this._service.getRelationKindFromTransactionKind();\r\n if (firstName) {\r\n relationRequest.firstName = firstName;\r\n }\r\n\r\n if (secondName) {\r\n relationRequest.familyName = secondName;\r\n }\r\n\r\n this._relationService.getRelationListObjects(relationRequest).then((relations: RelationListObject[]) => {\r\n this.relationSuggestions = relations;\r\n if (relations && relations.length > 0) {\r\n this.showSidebar();\r\n } else {\r\n this.hideSidebar();\r\n }\r\n });\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {RelationListObject} from \"@colijnit/relationapi/build/model/relation-list-object.bo\";\r\n\r\n@Component({\r\n selector: \"co-relation-suggestions-list\",\r\n template: `\r\n <div class=\"flex-column items-wrapper\">\r\n <co-relation-suggestions-list-item *ngFor=\"let suggestion of suggestions\" [suggestion]=\"suggestion\"\r\n (selectionSelected)=\"suggestionSelected.emit($event)\"></co-relation-suggestions-list-item>\r\n <span *ngIf=\"suggestions?.length === 0\" class=\"no-results\" localize=\"NO_RESULTS_FOUND\"></span>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelationSuggestionsListComponent {\r\n @Input()\r\n public suggestions: RelationListObject[] = [];\r\n\r\n // Emits the clicked relation list object.\r\n @Output()\r\n public suggestionSelected: EventEmitter<RelationListObject> = new EventEmitter<RelationListObject>();\r\n\r\n @HostBinding(\"class.co-relation-suggestions-list\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {RelationListObject} from \"@colijnit/relationapi/build/model/relation-list-object.bo\";\r\n\r\n@Component({\r\n selector: \"co-relation-suggestions-list-item\",\r\n template: `\r\n <div class=\"name medium-big-font\" *ngIf=\"suggestion.displayName as displayName\" [textContent]=\"displayName\"></div>\r\n <div class=\"email\" *ngIf=\"suggestion.email\" [textContent]=\"suggestion.email\"></div>\r\n <div class=\"address\" *ngIf=\"suggestion.displayAddress as address\" [textContent]=\"address\"></div>\r\n <div class=\"phone\" *ngIf=\"suggestion.tel1\" [textContent]=\"suggestion.tel1\"></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelationSuggestionsListItemComponent {\r\n @Input()\r\n public suggestion: RelationListObject;\r\n\r\n @Output()\r\n public selectionSelected: EventEmitter<RelationListObject> = new EventEmitter<RelationListObject>();\r\n\r\n @HostBinding(\"class.co-relation-suggestions-list-item\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.selectionSelected.next(this.suggestion);\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationSuggestionsListItemComponent} from \"./relation-suggestions-list-item.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n RelationSuggestionsListItemComponent\r\n ],\r\n exports: [\r\n RelationSuggestionsListItemComponent\r\n ]\r\n})\r\nexport class RelationSuggestionsListItemModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationSuggestionsListComponent} from \"./relation-suggestions-list.component\";\r\nimport {RelationSuggestionsListItemModule} from \"../relation-suggestions-list-item/relation-suggestions-list-item.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RelationSuggestionsListItemModule\r\n ],\r\n declarations: [\r\n RelationSuggestionsListComponent\r\n ],\r\n exports: [\r\n RelationSuggestionsListComponent\r\n ]\r\n})\r\nexport class RelationSuggestionsListModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationGeneralComponent} from \"./relation-general.component\";\r\nimport {InputDatePickerModule, InputRadioButtonModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {RelationSuggestionsListModule} from \"../relation-suggestions-list/relation-suggestions-list.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule,\r\n InputRadioButtonModule,\r\n InputDatePickerModule,\r\n RelationSuggestionsListModule\r\n ],\r\n declarations: [\r\n RelationGeneralComponent\r\n ],\r\n exports: [\r\n RelationGeneralComponent\r\n ]\r\n})\r\nexport class RelationGeneralModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {RelationBaseComponent} from \"../relation-base.component\";\r\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\r\nimport {Address} from \"@colijnit/relationapi/build/model/address.bo\";\r\nimport {AddressType} from \"@colijnit/relationapi/build/enum/address-type.enum\";\r\nimport {BusinessObjectFactory} from \"@colijnit/ioneconnector/build/factory/business-object-factory\";\r\n\r\n@Component({\r\n selector: \"co-relation-addresses\",\r\n template: `\r\n <div class=\"default-data-row\">\r\n <co-carousel *ngIf=\"addresses && addresses.length > 1\">\r\n <co-relation-address-tile #carouselItem *ngFor=\"let address of addresses | filter:'isActive':true; let index = index\"\r\n [address]=\"address\"\r\n [selected]=\"selectedNawNr === address.nawNr\"\r\n (editAddressClicked)=\"editAddress($event)\"\r\n (selectedChange)=\"changeAddress($event)\"\r\n ></co-relation-address-tile>\r\n </co-carousel>\r\n </div>\r\n <div class=\"default-data-row\" *ngIf=\"!readonly\">\r\n <div class=\"relation-address-new\">\r\n <icon class=\"relation-address-icon\" [icon]=\"icons.ArrowPointRight\"></icon>\r\n <div [textContent]=\"'ADDRESS_ADD' | localize\" (click)=\"showNewAddressDialog()\"></div>\r\n </div>\r\n </div>\r\n <co-dialog class=\"dialog-relation-addresses-create-address\" *ngIf=\"showEditAddressDialog\"\r\n [footerTemplate]=\"templateFooter\"\r\n [headerTemplate]=\"templateHeader\"\r\n (closeClick)=\"showEditAddressDialog = false\"\r\n >\r\n <co-form>\r\n <co-relation-address\r\n [relation]=\"relation\"\r\n [(address)]=\"addressToEdit\"\r\n ></co-relation-address>\r\n </co-form>\r\n <ng-template #templateHeader>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"'NEW_ADDRESS' | localize\"></div>\r\n </ng-template>\r\n <ng-template #templateFooter>\r\n <div class=\"co-dialog-footer-button-wrapper\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"submitForm()\"></co-button>\r\n </div>\r\n </ng-template>\r\n </co-dialog>\r\n `,\r\n providers: [\r\n FormMasterService\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelationAddressesComponent extends RelationBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public readonly: boolean = false;\r\n\r\n @Input()\r\n public addresses: Address[] = [];\r\n\r\n @Input()\r\n public showOnlyActive: boolean = true;\r\n\r\n @Input()\r\n public type: AddressType = AddressType.DeliveryAddress;\r\n\r\n @Input()\r\n public selectedNawNr: number = 0;\r\n\r\n @Output()\r\n public selectedNawNrChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @Output()\r\n public addressSaved: EventEmitter<Address> = new EventEmitter<Address>();\r\n\r\n @HostBinding(\"class.co-relation-addresses\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showEditAddressDialog: boolean = false;\r\n public addressToEdit: Address;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n constructor(\r\n private _formMasterService: FormMasterService\r\n ) {\r\n super();\r\n }\r\n\r\n public submitForm(): void {\r\n if (this._formMasterService.submitSlaves()) {\r\n this.saveAddress(this.addressToEdit);\r\n }\r\n }\r\n\r\n public saveAddress(address: Address): void {\r\n this.addressSaved.next(address);\r\n this.showEditAddressDialog = false;\r\n }\r\n\r\n public showNewAddressDialog(): void {\r\n this.addressToEdit = new Address();\r\n this.showEditAddressDialog = true;\r\n }\r\n\r\n public changeAddress(address: Address): void {\r\n if (address && !this.readonly) {\r\n this.selectedNawNr = address.nawNr;\r\n this.selectedNawNrChange.emit(this.selectedNawNr);\r\n }\r\n }\r\n\r\n public editAddress(addr: Address): void {\r\n if (!this.readonly) {\r\n this.addressToEdit = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, addr);\r\n this.showEditAddressDialog = true;\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationAddressesComponent} from \"./relation-addresses.component\";\r\nimport {ButtonModule, Carousel3dModule, CarouselModule, CoDialogModule, FilterPipeModule, FormModule} from \"@colijnit/corecomponents_v12\";\r\nimport {RelationAddressTileModule} from \"../relation-address-tile/relation-address-tile.module\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {RelationAddressModule} from \"../relation-address/relation-address.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n Carousel3dModule,\r\n RelationAddressTileModule,\r\n CoreModule,\r\n PipeModule,\r\n CoDialogModule,\r\n RelationAddressModule,\r\n FormModule,\r\n ButtonModule,\r\n CarouselModule,\r\n FilterPipeModule\r\n ],\r\n declarations: [\r\n RelationAddressesComponent\r\n ],\r\n exports: [\r\n RelationAddressesComponent\r\n ]\r\n})\r\nexport class RelationAddressesModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {ContactOption} from \"@colijnit/relationapi/build/model/contact-option.bo\";\r\nimport {RelationBaseComponent} from \"../relation-base.component\";\r\nimport {CommunicationType} from \"@colijnit/relationapi/build/enum/communication-type.enum\";\r\nimport {isNill} from \"@colijnit/ioneconnector/build/utils/function/is-nill.function\";\r\n\r\n@Component({\r\n selector: \"co-relation-contact-details\",\r\n template: `\r\n <div class=\"default-data-row\">\r\n <co-input-text [readonly]=\"readonly\" [(model)]=\"phoneNumber.value\" [placeholder]=\"'PHONE_NO' | localize \" [required]=\"true\"></co-input-text>\r\n </div>\r\n <div class=\"default-data-row\">\r\n <co-input-text [readonly]=\"readonly\" [(model)]=\"emailAddress.value\" [placeholder]=\"'EMAIL_ADDRESS' | localize \" [type]=\"'email'\" [required]=\"true\"></co-input-text>\r\n </div>\r\n <div class=\"default-data-row\">\r\n <co-input-checkbox [readonly]=\"readonly\" [label]=\"'INVITE_TO_ACCOUNT' | localize\" [(model)]=\"inviteToAccount\"></co-input-checkbox>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelationContactDetailsComponent extends RelationBaseComponent {\r\n\r\n @Input()\r\n public readonly: boolean = false;\r\n\r\n @HostBinding(\"class.co-relation-contact-details\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public emailAddress: ContactOption = new ContactOption();\r\n public phoneNumber: ContactOption = new ContactOption();\r\n public inviteToAccount: boolean = false;\r\n\r\n public preparePrimaryEmail(): void {\r\n if (this.relation) {\r\n this.emailAddress = this.relation.getLowestSequenceOfContactOptionsWithType(CommunicationType.Email);\r\n if (isNill(this.emailAddress)) {\r\n this.emailAddress = new ContactOption();\r\n this.emailAddress.type = CommunicationType.Email;\r\n this.emailAddress.sequence = 0;\r\n this.relation.addContactOption(this.emailAddress);\r\n }\r\n }\r\n }\r\n\r\n public preparePrimaryPhone(): void {\r\n if (this.relation) {\r\n this.phoneNumber = this.relation.getLowestSequenceOfContactOptionsWithType(CommunicationType.Telephone);\r\n if (isNill(this.phoneNumber)) {\r\n this.phoneNumber = new ContactOption();\r\n this.phoneNumber.type = CommunicationType.Telephone;\r\n this.phoneNumber.sequence = 0;\r\n this.relation.addContactOption(this.phoneNumber);\r\n }\r\n }\r\n }\r\n\r\n protected relationSet() {\r\n this.preparePrimaryEmail();\r\n this.preparePrimaryPhone();\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationContactDetailsComponent} from \"./relation-contact-details.component\";\r\nimport {InputCheckboxModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule,\r\n InputCheckboxModule\r\n ],\r\n declarations: [\r\n RelationContactDetailsComponent\r\n ],\r\n exports: [\r\n RelationContactDetailsComponent\r\n ]\r\n})\r\nexport class RelationContactDetailsModule {\r\n}\r\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {RelationPrivacySetting} from \"@colijnit/relationapi/build/model/relation-privacy-setting.bo\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {RelationBaseComponent} from \"../relation-base.component\";\r\nimport {BusinessObjectUtils} from \"@colijnit/ioneconnector/build/utils/business-object-utils\";\r\n\r\n@Component({\r\n selector: \"co-relation-preferences\",\r\n template: `\r\n <div class=\"two-column-grid\">\r\n <ng-container *ngFor=\"let privacySetting of privacySettings\">\r\n <co-input-checkbox class=\"first-column\"\r\n [readonly]=\"readonly\"\r\n [label]=\"privacySetting.description\"\r\n [model]=\"isShared(privacySetting)\"\r\n (modelChange)=\"changePrivacySetting(privacySetting, $event)\"\r\n ></co-input-checkbox>\r\n <span class=\"second-column\" [textContent]=\"privacySetting.explanation\"></span>\r\n </ng-container>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RelationPreferencesComponent extends RelationBaseComponent implements OnInit {\r\n\r\n @Input()\r\n public readonly: boolean = false;\r\n\r\n @HostBinding(\"class.co-relation-preferences\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public privacySettings: RelationPrivacySetting[];\r\n\r\n constructor(private _service: TransactionService) {\r\n super();\r\n }\r\n\r\n async ngOnInit(): Promise<void> {\r\n await this._loadPrivacySettings();\r\n }\r\n\r\n public isShared(relationPrivacySetting: RelationPrivacySetting): boolean {\r\n const ownSetting: RelationPrivacySetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());\r\n if (ownSetting) {\r\n return ownSetting.allowToShare;\r\n }\r\n return false;\r\n }\r\n\r\n public changePrivacySetting(relationPrivacySetting: RelationPrivacySetting, value: boolean): void {\r\n const ownSetting: RelationPrivacySetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());\r\n if (ownSetting) {\r\n ownSetting.allowToShare = value;\r\n } else {\r\n this.relationAsCustomer.relationPrivacySettings.push(relationPrivacySetting);\r\n }\r\n }\r\n\r\n private async _loadPrivacySettings(): Promise<void> {\r\n this.privacySettings = await this._service.getRelationPrivacySettings();\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {RelationPreferencesComponent} from \"./relation-preferences.component\";\r\nimport {InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputCheckboxModule\r\n ],\r\n declarations: [\r\n RelationPreferencesComponent\r\n ],\r\n exports: [\r\n RelationPreferencesComponent\r\n ]\r\n})\r\nexport class RelationPreferencesModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Address} from \"@colijnit/relationapi/build/model/address.bo\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {RelationAnyType} from \"../../../model/relation-any-type\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-checkout-overview-payment\",\r\n template: `\r\n <div class=\"checkout-overview-section\">\r\n <span class=\"overview-section-title\" [textContent]=\"'YOUR_DATA' | localize\"></span>\r\n <div class=\"two-column-grid\">\r\n <div class=\"overview-address\">\r\n <span class=\"overview-address-title\" [textContent]=\"'DELIVERY_ADDRESS' | localize\"></span>\r\n <span [textContent]=\"relation.displayName\"></span>\r\n <span [textContent]=\"deliveryAddress.displayAddress\"></span>\r\n <span [textContent]=\"deliveryAddress.displayPostal\"></span>\r\n </div>\r\n <div class=\"overview-address\">\r\n <span class=\"overview-address-title\" [textContent]=\"'INVOICE_ADDRESS' | localize\"></span>\r\n <span [textContent]=\"relation.displayName\"></span>\r\n <span [textContent]=\"invoiceAddress.displayAddress\"></span>\r\n <span [textContent]=\"invoiceAddress.displayPostal\"></span>\r\n </div>\r\n </div>\r\n <div class=\"overview-address\">\r\n <span class=\"overview-address-title\" [textContent]=\"'CONTACT_DETAILS' | localize\"></span>\r\n <span [textContent]=\"relation.primaryEmail\"></span>\r\n <span [textContent]=\"relation.primaryPhoneNumber\"></span>\r\n </div>\r\n <div class=\"overview-section-change-link\">\r\n <icon class=\"overview-section-change-icon\" [icon]=\"icons.ArrowPointRight\"></icon>\r\n <div [textContent]=\"'CHANGE_DATA' | localize\" (click)=\"changeYourDataClick.emit()\"></div>\r\n </div>\r\n </div>\r\n <div class=\"checkout-overview-section\">\r\n <span class=\"overview-section-title\" [textContent]=\"'DELIVERY' | localize\"></span>\r\n <div class=\"overview-address\">\r\n <div class=\"overview-row\">\r\n <span [textContent]=\"'EXPECTED_DELIVERY_DATE' | localize | append:':'\"></span><span [textContent]=\"transaction.transactionInfo.deliveryDate | date:'dd MMM yyyy'\"></span>\r\n </div>\r\n <div class=\"overview-row\">\r\n <span [textContent]=\"'DELIVERY_METHOD' | localize | append:':'\"></span><span [textContent]=\"transaction.transactionInfo.deliveryMethod\"></span>\r\n </div>\r\n </div>\r\n <div class=\"overview-section-change-link\">\r\n <icon class=\"overview-section-change-icon\" [icon]=\"icons.ArrowPointRight\"></icon>\r\n <div [textContent]=\"'CHANGE_DATA' | localize\" (click)=\"changeDeliveryClick.emit()\"></div>\r\n </div>\r\n </div>\r\n <co-payment\r\n [transactionUuid]=\"transaction.transactionInfo.uuid\"\r\n [amount]=\"transaction.transactionInfo.toDownPayAmount || transaction.transactionTotal.netAmount\"\r\n [currencyId]=\"transaction.transactionInfo.currencyId\"\r\n (payed)=\"handlePayed()\"\r\n ></co-payment>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CheckoutOverviewPaymentComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public transaction: TransactionInfoResponse;\r\n\r\n @Input()\r\n public relation: RelationAnyType;\r\n\r\n @Output()\r\n public changeYourDataClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public changeDeliveryClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public payed: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @HostBinding(\"class.co-checkout-overview-payment\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public deliveryAddress: Address = new Address();\r\n public invoiceAddress: Address = new Address();\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.relation) {\r\n const delAddress: Address = this.relation.addresses.find(a => a.nawNr === this.transaction.transactionInfo.transactionAddress);\r\n if (delAddress) {\r\n this.deliveryAddress = delAddress;\r\n }\r\n const invAddress: Address = this.relation.addresses.find(a => a.nawNr === this.transaction.transactionInfo.invoiceAddress);\r\n if (invAddress) {\r\n this.invoiceAddress = invAddress;\r\n }\r\n }\r\n }\r\n\r\n public handlePayed(): void {\r\n const id: number = this._transactionService.currentTransaction.transactionInfo.id;\r\n this.payed.emit(id);\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {DialogService} from \"../../../service/dialog.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-delivery\",\r\n template: `\r\n <co-transaction-header-block\r\n [headerBlockTemplate]=\"headerBlock\"\r\n [firstBlockTemplate]=\"firstBlock\"\r\n [secondBlockTemplate]=\"secondBlock\"\r\n [thirdBlockTemplate]=\"thirdBlock\"\r\n [hasDetails]=\"true\"\r\n (headerClick)=\"showDialog = true\"\r\n >\r\n </co-transaction-header-block>\r\n <ng-template #headerBlock>\r\n <div class=\"header-delivery-method\" (click)=\"showTheDeliveryMethodDialog($event)\">\r\n <co-icon class=\"header-delivery-truck-icon\" [iconData]=\"iconService.getIcon(icons.TruckFastSolid)\"></co-icon>\r\n <span [textContent]=\"deliveryMethod?.description\"></span>\r\n </div>\r\n <co-icon class=\"planning-request-button\" [class.co-transaction-check]=\"transactionInfo.deliveryDateDefinitive\"\r\n [iconData]=\"iconService.getIcon(icons.CalendarDayRegular)\"></co-icon>\r\n </ng-template>\r\n <ng-template #firstBlock>\r\n <div class=\"header-delivery-deliverydate-label co-transaction-label\" [textContent]=\"'DELIVERY_DATE' | localize\"></div>\r\n <div class=\"header-delivery-deliverydate-wrapper\" [class.closed]=\"transactionInfo.deliveryDateDefinitive\">\r\n <co-transaction-header-delivery-date class=\"header-delivery-deliverydate\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [defaultEditMode]=\"false\"\r\n [showLabel]=\"false\"\r\n ></co-transaction-header-delivery-date>\r\n <co-icon *ngIf=\"transactionInfo.deliveryDateDefinitive\" [iconData]=\"iconService.getIcon(icons.LockKeyholeSolid)\"\r\n (click)=\"changeDeliveryDateDefinitive($event, false)\"></co-icon>\r\n <co-icon *ngIf=\"!transactionInfo.deliveryDateDefinitive\" [iconData]=\"iconService.getIcon(icons.LockKeyholeOpenSolid)\"\r\n (click)=\"changeDeliveryDateDefinitive($event, true)\"></co-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template #secondBlock>\r\n <div class=\"header-delivery-preferred-deliverydate-label co-transaction-label\" [textContent]=\"'PREFERRED_DATE' | localize\"></div>\r\n <co-transaction-header-preferred-delivery-date class=\"header-delivery-deliverydate\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [defaultEditMode]=\"false\"\r\n [showLabel]=\"false\"\r\n ></co-transaction-header-preferred-delivery-date>\r\n </ng-template>\r\n <ng-template #thirdBlock>\r\n <co-transaction-header-partial-delivery class=\"co-transaction-label\" [transactionInfo]=\"transactionInfo\"></co-transaction-header-partial-delivery>\r\n </ng-template>\r\n <co-dialog *ngIf=\"showDialog\" [headerTemplate]=\"headerTemplate\" (closeClick)=\"showDialog = false\">\r\n <ng-template #headerTemplate>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"'DELIVERY_INFORMATION' | localize\"></div>\r\n <co-transaction-header-block class=\"in-dialog\"\r\n [headerBlockTemplate]=\"headerBlock\"\r\n [firstBlockTemplate]=\"firstBlock\"\r\n [secondBlockTemplate]=\"secondBlock\"\r\n [thirdBlockTemplate]=\"thirdBlock\"\r\n >\r\n </co-transaction-header-block>\r\n </ng-template>\r\n <div class=\"co-transaction-header-delivery-wrapper\">\r\n <co-transaction-header-delivery-options\r\n [transactionInfo]=\"transactionInfo\"\r\n [deliveryMethod]=\"deliveryMethod\"\r\n ></co-transaction-header-delivery-options>\r\n <co-transaction-header-remarks [transactionInfo]=\"transactionInfo\"></co-transaction-header-remarks>\r\n <co-transaction-header-reference [transactionInfo]=\"transactionInfo\"></co-transaction-header-reference>\r\n <co-transaction-header-relation-reference [transactionInfo]=\"transactionInfo\"></co-transaction-header-relation-reference>\r\n </div>\r\n </co-dialog>\r\n <co-dialog-transaction-header-delivery-method *ngIf=\"showDeliveryMethodDialog\"\r\n [autoClose]=\"true\"\r\n [transactionInfo]=\"transactionInfo\" (close)=\"showDeliveryMethodDialog = false\">\r\n </co-dialog-transaction-header-delivery-method>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderDeliveryComponent extends TransactionBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding(\"class.co-transaction-header-delivery\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public deliveryMethod: DeliveryMethod = new DeliveryMethod();\r\n public deliveryMethods: DeliveryMethod[] = [];\r\n public showDialog: boolean = false;\r\n public showDeliveryMethodDialog: boolean = false;\r\n\r\n constructor(\r\n public iconService: IconCacheService,\r\n protected service: TransactionService,\r\n private _dialogService: DialogService\r\n ) {\r\n super(service);\r\n }\r\n\r\n public showTheDeliveryMethodDialog(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.showDeliveryMethodDialog = true;\r\n }\r\n\r\n public transactionSet(): void {\r\n this.service.getDeliveryMethods().then((methods: DeliveryMethod[]) => {\r\n this.deliveryMethods = methods;\r\n const dm = this.deliveryMethods.find(m => m.code === this.transactionInfo.deliveryMethod);\r\n if (dm) {\r\n this.deliveryMethod = dm;\r\n }\r\n });\r\n }\r\n\r\n public changeDeliveryDateDefinitive(event: MouseEvent, definitive: boolean): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.service.updateHeaderTransactionDeliveryDateDefinitive(this.transactionInfo.uuid, definitive);\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, TemplateRef, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-block\",\r\n template: `\r\n <div #wrapper class=\"transaction-header-block-wrapper\" (click)=\"headerClick.emit($event)\">\r\n <div class=\"transaction-header-block-header\">\r\n <ng-container [ngTemplateOutlet]=\"headerBlockTemplate\"></ng-container>\r\n <div class=\"transaction-header-extended-dots\" *ngIf=\"hasDetails\" [textContent]=\"!hasDetails ? '' : '...'\" (click)=\"headerClick.emit($event)\"></div>\r\n </div>\r\n <div class=\"transaction-header-block-content\">\r\n <div class=\"transaction-header-block-content-first\" *ngIf=\"firstBlockTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"firstBlockTemplate\"></ng-container>\r\n </div>\r\n <div class=\"transaction-header-block-divider\" *ngIf=\"secondBlockTemplate || thirdBlockTemplate\"></div>\r\n <div class=\"transaction-header-block-content-second\" *ngIf=\"secondBlockTemplate || thirdBlockTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"secondBlockTemplate\"></ng-container>\r\n </div>\r\n <div class=\"transaction-header-block-divider\" *ngIf=\"thirdBlockTemplate\"></div>\r\n <div class=\"transaction-header-block-content-third\" *ngIf=\"thirdBlockTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"thirdBlockTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderBlockComponent {\r\n @Input()\r\n public headerBlockTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public firstBlockTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public secondBlockTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public thirdBlockTemplate: TemplateRef<any>;\r\n\r\n @Input()\r\n public hasDetails: boolean = false;\r\n\r\n @Output()\r\n public headerClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-transaction-header-block\")\r\n public showClass() {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderBlockComponent} from \"./transaction-header-block.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n TransactionHeaderBlockComponent\r\n ],\r\n exports: [\r\n TransactionHeaderBlockComponent\r\n ]\r\n})\r\nexport class TransactionHeaderBlockModule {\r\n}\r\n","import {Component, HostListener, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputDatePickerComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-delivery-date\",\r\n template: `\r\n <span *ngIf=\"(!editMode || readonly) && !defaultEditMode\" [textContent]=\"transactionInfo.deliveryDate | date:'dd MMM yyyy'\"></span>\r\n <co-input-date #input *ngIf=\"editMode || defaultEditMode\"\r\n [placeholder]=\"showLabel ? ('DELIVERY_DATE' | localize) : ''\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionInfo.deliveryDate\"\r\n (modelChange)=\"commitDeliveryDate($event)\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-date>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderDeliveryDateComponent extends TransactionHeaderBaseComponent<string> {\r\n @ViewChild('input', { read: InputDatePickerComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (date) => this.commitDeliveryDate(date);\r\n if (this._editMode) {\r\n this.input.requestFocus();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = true;\r\n\r\n @Input()\r\n public defaultEditMode: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this.input) {\r\n this.input.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n public input: InputDatePickerComponent;\r\n\r\n private _editMode: boolean = false;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitDeliveryDate(date: Date): Promise<boolean> {\r\n if (this.transactionInfo.deliveryDate !== date) {\r\n const oldDate = this.transactionInfo.deliveryDate;\r\n const success = await this._transactionService.updateHeaderTransactionDeliveryDate(this.transactionInfo.uuid, date);\r\n if (!success) {\r\n this.input.model = oldDate;\r\n } else {\r\n this.editMode = false;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {InputDatePickerModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionHeaderDeliveryDateComponent} from \"./transaction-header-delivery-date.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputDatePickerModule\r\n ],\r\n declarations: [\r\n TransactionHeaderDeliveryDateComponent\r\n ],\r\n exports: [\r\n TransactionHeaderDeliveryDateComponent\r\n ]\r\n})\r\nexport class TransactionHeaderDeliveryDateModule {\r\n}\r\n","import {Component, HostListener, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextareaComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-remarks\",\r\n template: `\r\n <span *ngIf=\"(!editMode || readonly) && !defaultEditMode\" [textContent]=\"transactionInfo.remark\"></span>\r\n <co-input-textarea #input *ngIf=\"editMode || defaultEditMode\"\r\n [placeholder]=\"showLabel ? ('REMARKS' | localize) : ''\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionInfo.remark\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-textarea>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderRemarksComponent extends TransactionHeaderBaseComponent<any> {\r\n @ViewChild('input', { read: InputTextareaComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (remark) => this.commitRemarks(remark);\r\n if (this._editMode) {\r\n this.input.doFocus();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = true;\r\n\r\n @Input()\r\n public defaultEditMode: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this.input) {\r\n this.input.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n public input: InputTextareaComponent;\r\n\r\n private _editMode: boolean = false;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitRemarks(remark: string): Promise<boolean> {\r\n if (this.transactionInfo.remark !== remark) {\r\n const oldRemark: string = this.transactionInfo.remark;\r\n const success = await this._transactionService.updateHeaderTransactionRemark(this.transactionInfo.uuid, remark);\r\n if (!success) {\r\n this.input.model = oldRemark;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionHeaderRemarksComponent} from \"./transaction-header-remarks.component\";\r\nimport {InputTextareaModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputTextareaModule\r\n ],\r\n declarations: [\r\n TransactionHeaderRemarksComponent\r\n ],\r\n exports: [\r\n TransactionHeaderRemarksComponent\r\n ]\r\n})\r\nexport class TransactionHeaderRemarksModule {\r\n}\r\n","import {Component, HostListener, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-reference\",\r\n template: `\r\n <span *ngIf=\"(!editMode || readonly) && !defaultEditMode\" [textContent]=\"transactionInfo.ownReference\"></span>\r\n <co-input-text #input *ngIf=\"editMode || defaultEditMode\"\r\n [placeholder]=\"showLabel ? ('REFERENCE' | localize) : ''\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionInfo.ownReference\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderReferenceComponent extends TransactionHeaderBaseComponent<any> {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (ref) => this.commitReference(ref);\r\n if (this._editMode) {\r\n this.input.requestFocus();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = true;\r\n\r\n @Input()\r\n public defaultEditMode: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this.input) {\r\n this.input.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n private _editMode: boolean = false;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitReference(ref: string): Promise<boolean> {\r\n if (this.transactionInfo.ownReference !== ref) {\r\n const oldReference: string = this.transactionInfo.ownReference;\r\n const success = await this._transactionService.updateHeaderTransactionReference(this.transactionInfo.uuid, ref);\r\n if (!success) {\r\n this.input.model = ref;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionSet(): void {\r\n this.readonly = this.readonly || !this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionHeaderReferenceComponent} from \"./transaction-header-reference.component\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputTextModule\r\n ],\r\n declarations: [\r\n TransactionHeaderReferenceComponent\r\n ],\r\n exports: [\r\n TransactionHeaderReferenceComponent\r\n ]\r\n})\r\nexport class TransactionHeaderReferenceModule {\r\n}\r\n","import {Component, HostListener, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-relation-reference\",\r\n template: `\r\n <span *ngIf=\"(!editMode || readonly) && !defaultEditMode\" [textContent]=\"transactionInfo.relationReference\"></span>\r\n <co-input-text #input *ngIf=\"editMode || defaultEditMode\"\r\n [placeholder]=\"showLabel ? ('REFERENCE_RELATION' | localize) : ''\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionInfo.relationReference\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderRelationReferenceComponent extends TransactionHeaderBaseComponent<any> {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (ref) => this.commitReference(ref);\r\n if (this._editMode) {\r\n this.input.requestFocus();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = true;\r\n\r\n @Input()\r\n public defaultEditMode: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this.input) {\r\n this.input.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n private _editMode: boolean = false;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitReference(ref: string): Promise<boolean> {\r\n if (this.transactionInfo.relationReference !== ref) {\r\n const oldReference: string = this.transactionInfo.relationReference;\r\n const success = await this._transactionService.updateHeaderTransactionRelationReference(this.transactionInfo.uuid, ref);\r\n if (!success) {\r\n this.input.model = ref;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionSet(): void {\r\n this.readonly = this.readonly || !this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionHeaderRelationReferenceComponent} from \"./transaction-header-relation-reference.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputTextModule\r\n ],\r\n declarations: [\r\n TransactionHeaderRelationReferenceComponent\r\n ],\r\n exports: [\r\n TransactionHeaderRelationReferenceComponent\r\n ]\r\n})\r\nexport class TransactionHeaderRelationReferenceModule {\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-delivery-method\",\r\n template: `\r\n <ng-container *ngIf=\"showAsCarousel\">\r\n <co-carousel>\r\n <co-delivery-type-tile #carouselItem *ngFor=\"let method of collection; let index = index\"\r\n [method]=\"method\"\r\n [selected]=\"selectedIdx === index\"\r\n (selectedChange)=\"setDeliveryType($event)\"\r\n ></co-delivery-type-tile>\r\n </co-carousel>\r\n </ng-container>\r\n <ng-container *ngIf=\"!showAsCarousel\">\r\n <co-transaction-line-checkbox-list\r\n [collection]=\"viewModelsFiltered\"\r\n [readonly]=\"readonly\"\r\n (checked)=\"handleChecked($event)\"\r\n ></co-transaction-line-checkbox-list>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderDeliveryMethodComponent extends TransactionHeaderBaseComponent<DeliveryMethod> implements OnInit {\r\n\r\n @Input()\r\n public showAsCarousel: boolean = true;\r\n\r\n @Input()\r\n public filterOnWizard: boolean = false;\r\n\r\n @Output()\r\n public deliveryMethodChange: EventEmitter<DeliveryMethod> = new EventEmitter<DeliveryMethod>();\r\n\r\n public selectedIdx: number = 0;\r\n\r\n protected codeField: string = 'code';\r\n protected checkField: string = 'deliveryMethod';\r\n protected propsForLabel: string[] = ['code', 'description'];\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._transactionService.getDeliveryMethods().then((methods: DeliveryMethod[]) => {\r\n this.collection = methods.slice();\r\n if (this.filterOnWizard) {\r\n this.collection = methods.filter(m => m.wizard);\r\n }\r\n if (this.transactionInfo.deliveryMethod) {\r\n this.selectedIdx = this.collection.findIndex(d => d.code === this.transactionInfo.deliveryMethod);\r\n }\r\n });\r\n }\r\n\r\n public async commit(method: string): Promise<boolean> {\r\n if (this.transactionInfo.deliveryMethod !== method) {\r\n const oldMethod: string = this.transactionInfo.deliveryMethod;\r\n return await this._transactionService.updateHeaderTransactionDeliveryMethod(this.transactionInfo.uuid, method);\r\n }\r\n return true;\r\n }\r\n\r\n public async setIndexDeliveryType(idx: number): Promise<void> {\r\n const method: DeliveryMethod = this.collection[idx];\r\n if (method) {\r\n const success: boolean = await this.commit(method.code);\r\n if (success) {\r\n this.selectedIdx = idx;\r\n this.deliveryMethodChange.emit(method);\r\n }\r\n }\r\n }\r\n\r\n public async setDeliveryType(method: DeliveryMethod): Promise<void> {\r\n const idx = this.collection.findIndex(d => d.code === method.code);\r\n if (method) {\r\n const success: boolean = await this.commit(method.code);\r\n if (success) {\r\n this.selectedIdx = idx;\r\n this.deliveryMethodChange.emit(method);\r\n }\r\n }\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {AfterViewChecked, Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-checkbox-list\",\r\n template: `\r\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" class=\"virtual-scroll-container co-small-toolbar\">\r\n <div *cdkVirtualFor=\"let row of collection\" #scrollingItem class=\"virtual-scroll-item\" (click)=\"handleChecked($event, row)\">\r\n <div class=\"checkbox-wrapper\">\r\n <co-input-checkbox\r\n [model]=\"row.checked\"\r\n [readonly]=\"readonly\"\r\n (modelChange)=\"handleCheckboxChecked($event, row)\"\r\n ></co-input-checkbox>\r\n </div>\r\n <div class=\"label-wrapper\">\r\n <span *ngFor=\"let label of row.propsForLabel; let index = index\" [innerHTML]=\"label\" [class.first]=\"index === 0\" class=\"label\"></span>\r\n </div>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineCheckboxListComponent implements AfterViewChecked {\r\n @ViewChild('scrollingItem')\r\n public scrollingItem: ElementRef;\r\n\r\n @Input()\r\n public collection: any[] = [];\r\n\r\n @Input()\r\n public readonly: boolean = false;\r\n\r\n @Output()\r\n public checked: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @HostBinding(\"class.co-transaction-line-checkbox-list\")\r\n public showClass: boolean = true;\r\n\r\n public itemHeight = 1000;\r\n\r\n public ngAfterViewChecked(): void {\r\n if (this.scrollingItem && this.itemHeight === 1000) {\r\n this.itemHeight = this.scrollingItem.nativeElement.offsetHeight;\r\n }\r\n }\r\n\r\n public handleCheckboxChecked(checked: boolean, row: { value: string, text: string, checked: boolean }): void {\r\n this.checked.emit(row);\r\n }\r\n\r\n public handleChecked(event: MouseEvent, row: { value: string, text: string, checked: boolean }): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.checked.emit(row);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineCheckboxListComponent} from \"./transaction-line-checkbox-list.component\";\r\nimport {InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {ScrollingModule} from \"@angular/cdk/scrolling\";\r\nimport {CoreModule} from \"../core/core.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputCheckboxModule,\r\n ScrollingModule,\r\n CoreModule\r\n ],\r\n declarations: [\r\n TransactionLineCheckboxListComponent\r\n ],\r\n exports: [\r\n TransactionLineCheckboxListComponent\r\n ]\r\n})\r\nexport class TransactionLineCheckboxModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionHeaderDeliveryMethodComponent} from \"./transaction-header-delivery-method.component\";\r\nimport {Carousel3dModule, CarouselModule, InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {DeliveryTypeTileModule} from \"../delivery-type-tile/delivery-type-tile.module\";\r\nimport {TransactionLineCheckboxModule} from \"../transaction-line-checkbox-list/transaction-line-checkbox-list.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n Carousel3dModule,\r\n DeliveryTypeTileModule,\r\n InputCheckboxModule,\r\n TransactionLineCheckboxModule,\r\n CarouselModule\r\n ],\r\n declarations: [\r\n TransactionHeaderDeliveryMethodComponent\r\n ],\r\n exports: [\r\n TransactionHeaderDeliveryMethodComponent\r\n ]\r\n})\r\nexport class TransactionHeaderDeliveryMethodModule {\r\n}\r\n","import {Component, HostListener, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputDatePickerComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-preferred-delivery-date\",\r\n template: `\r\n <span *ngIf=\"(!editMode || readonly) && !defaultEditMode\" [textContent]=\"(transactionInfo.preferredDeliveryDate | date:'dd MMM yyyy') || '...'\"></span>\r\n <co-input-date #input *ngIf=\"editMode || defaultEditMode\"\r\n [placeholder]=\"showLabel ? ('PREFERRED_DATE' | localize) : ''\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionInfo.preferredDeliveryDate\"\r\n (modelChange)=\"commitPreferredDeliveryDate($event)\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-date>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderPreferredDeliveryDateComponent extends TransactionHeaderBaseComponent<any> {\r\n @ViewChild('input', { read: InputDatePickerComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (date) => this.commitPreferredDeliveryDate(date);\r\n if (this._editMode) {\r\n this.input.requestFocus();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = true;\r\n\r\n @Input()\r\n public defaultEditMode: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this.input) {\r\n this.input.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n public input: InputDatePickerComponent;\r\n\r\n private _editMode: boolean = false;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitPreferredDeliveryDate(date: Date): Promise<boolean> {\r\n if (this.transactionInfo.preferredDeliveryDate !== date) {\r\n const oldDate = this.transactionInfo.preferredDeliveryDate;\r\n const success = await this._transactionService.updateHeaderTransactionPreferredDeliveryDate(this.transactionInfo.uuid, date);\r\n if (!success) {\r\n this.input.model = oldDate;\r\n } else {\r\n this.editMode = false;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {InputDatePickerModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionHeaderPreferredDeliveryDateComponent} from \"./transaction-header-preferred-delivery-date.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputDatePickerModule\r\n ],\r\n declarations: [\r\n TransactionHeaderPreferredDeliveryDateComponent\r\n ],\r\n exports: [\r\n TransactionHeaderPreferredDeliveryDateComponent\r\n ]\r\n})\r\nexport class TransactionHeaderPreferredDeliveryDateModule {\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogTransactionHeaderBaseComponent} from \"../../../core/base/dialog-transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-dialog-transaction-header-delivery-method\",\r\n template: `\r\n <co-dialog [headerTemplate]=\"dialogHeader\" [footerTemplate]=\"footerTemplate\" [showCloseIcon]=\"useModel\" (closeClick)=\"handleClose(buttonType.Ok)\">\r\n <co-transaction-header-delivery-method\r\n [autoClose]=\"autoClose\"\r\n [showAsCarousel]=\"false\"\r\n [useModel]=\"useModel\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [searchText]=\"searchText\"\r\n (closeAfterCommit)=\"handleClose(buttonType.Ok)\"\r\n (valueChange)=\"handleValueChange($event)\"></co-transaction-header-delivery-method>\r\n </co-dialog>\r\n <ng-template #dialogHeader>\r\n <co-dialog-header-search [title]=\"'DELIVERY_METHOD'\" (search)=\"handleSearch($event)\"></co-dialog-header-search>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\" *ngIf=\"!useModel\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick()\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogTransactionHeaderDeliveryMethodComponent extends DialogTransactionHeaderBaseComponent {\r\n\r\n @HostBinding(\"class.co-dialog-transaction-header-delivery-method\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-dialog-header-search\",\r\n template: `\r\n <div class=\"dialog-header-search-wrapper\">\r\n <div class=\"co-dialog-header-title\" [textContent]=\"title | localize\"></div>\r\n <co-input-search [placeholder]=\"searchPlaceholder | localize\" [centerLabel]=\"true\" (modelChange)=\"handleSearch($event)\"></co-input-search>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogHeaderSearchComponent {\r\n\r\n @Input()\r\n public set title(value: string) {\r\n this._title = value;\r\n this.searchPlaceholder = `SEARCH_${this._title}`;\r\n }\r\n\r\n public get title(): string {\r\n return this._title;\r\n }\r\n\r\n @Output()\r\n public search: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-dialog-header-search\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public searchPlaceholder: string;\r\n\r\n private _title: string;\r\n\r\n public handleSearch(text: string): void {\r\n this.search.emit(text);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DialogHeaderSearchComponent} from \"./dialog-header-search.component\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {InputSearchModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputSearchModule\r\n ],\r\n declarations: [\r\n DialogHeaderSearchComponent\r\n ],\r\n exports: [\r\n DialogHeaderSearchComponent\r\n ]\r\n})\r\nexport class DialogHeaderSearchModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DialogTransactionHeaderDeliveryMethodComponent} from \"./dialog-transaction-header-delivery-method.component\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionHeaderDeliveryMethodModule} from \"../../../transaction-header-fields/transaction-header-delivery-method.module\";\r\nimport {DialogHeaderSearchModule} from \"../../dialog-header-search/dialog-header-search.module\";\r\nimport {PipeModule} from \"../../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n TransactionHeaderDeliveryMethodModule,\r\n DialogHeaderSearchModule,\r\n ButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n DialogTransactionHeaderDeliveryMethodComponent\r\n ],\r\n exports: [\r\n DialogTransactionHeaderDeliveryMethodComponent\r\n ]\r\n})\r\nexport class DialogTransactionHeaderDeliveryMethodModule {\r\n}\r\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionHeaderBaseComponent} from \"../../core/base/transaction-header-base.component\";\r\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\nimport {DeliveryOption} from \"@colijnit/transactionapi/build/model/delivery-option.bo\";\r\nimport {TextValueContainer} from \"../../../model/text-value-container\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-delivery-options\",\r\n template: `\r\n <co-input-listbox\r\n [customCssClass]=\"'co-small-toolbar'\"\r\n [placeholder]=\"'DELIVERY_OPTIONS' | localize\"\r\n [readonly]=\"readonly\"\r\n [collection]=\"deliveryOptionsFromMethod\"\r\n [fields]=\"deliveryOptionFields\"\r\n [showCheckbox]=\"true\"\r\n (modelChange)=\"commitDeliveryOptions($event)\"\r\n ></co-input-listbox>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderDeliveryOptionsComponent extends TransactionHeaderBaseComponent<any> implements OnInit {\r\n @Input()\r\n public set deliveryMethod(value: DeliveryMethod) {\r\n if (value) {\r\n this._deliveryMethod = value;\r\n this._getDeliveryOptionsForMethod();\r\n }\r\n }\r\n\r\n public get deliveryMethod(): DeliveryMethod {\r\n return this._deliveryMethod;\r\n }\r\n\r\n @HostBinding(\"class.co-transaction-header-delivery-options\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public deliveryOptionsFromMethod: DeliveryOption[] = [];\r\n public deliveryOptions: DeliveryOption[] = [];\r\n public deliveryOptionFields: TextValueContainer = {text: \"description\", value: \"code\"};\r\n\r\n private _deliveryMethod: DeliveryMethod;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._transactionService.getDeliveryOptions().then((options: DeliveryOption[]) => {\r\n this.deliveryOptions = options;\r\n this._getDeliveryOptionsForMethod();\r\n });\r\n }\r\n\r\n public async commitDeliveryOptions(options: string[]): Promise<boolean> {\r\n if (this.transactionInfo.deliveryOptions !== options) {\r\n const oldOptions: string[] = this.transactionInfo.deliveryOptions;\r\n return await this._transactionService.updateHeaderTransactionDeliveryOptions(this.transactionInfo.uuid, options);\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n\r\n private _getDeliveryOptionsForMethod(): void {\r\n if (this.deliveryMethod) {\r\n this.deliveryOptionsFromMethod =\r\n this.deliveryOptions.filter(deliveryOption => this.deliveryMethod.deliveryOptions.indexOf(deliveryOption.code) !== -1);\r\n }\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderDeliveryOptionsComponent} from \"./transaction-header-delivery-options.component\";\r\nimport {InputListboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputListboxModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionHeaderDeliveryOptionsComponent\r\n ],\r\n exports: [\r\n TransactionHeaderDeliveryOptionsComponent\r\n ]\r\n})\r\nexport class TransactionHeaderDeliveryOptionsModule {\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\nimport {TransactionEventService} from \"../../service/transaction-event.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-partial-delivery\",\r\n template: `\r\n <co-input-checkbox\r\n [readonly]=\"readonly\"\r\n [label]=\"'PART_DELIVERY' | localize\"\r\n [model]=\"transactionInfo.allowPartialDelivery\"\r\n (modelChange)=\"commitPartialDelivery($event)\">\r\n </co-input-checkbox>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderPartialDeliveryComponent extends TransactionHeaderBaseComponent<any> {\r\n\r\n @HostBinding(\"class.co-transaction-header-partial-delivery\")\r\n public showClass: boolean = true;\r\n\r\n constructor(\r\n private _transactionService: TransactionService,\r\n private _eventService: TransactionEventService\r\n ) {\r\n super();\r\n }\r\n\r\n public async commitPartialDelivery(allow: boolean): Promise<boolean> {\r\n if (this.transactionInfo.allowPartialDelivery !== allow) {\r\n const oldPartial: boolean = this.transactionInfo.allowPartialDelivery;\r\n const success: boolean = await this._transactionService.updateHeaderTransactionPartialDelivery(this.transactionInfo.uuid, allow);\r\n if (!success) {\r\n this.transactionInfo.allowPartialDelivery = oldPartial;\r\n return success;\r\n } else {\r\n this._eventService.allowPartialDeliveryChanged.next(allow);\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionHeaderPartialDeliveryComponent} from \"./transaction-header-partial-delivery.component\";\r\nimport {InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionHeaderPartialDeliveryComponent\r\n ],\r\n exports: [\r\n TransactionHeaderPartialDeliveryComponent\r\n ]\r\n})\r\nexport class TransactionHeaderPartialDeliveryModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderDeliveryComponent} from \"./transaction-header-delivery.component\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionHeaderBlockModule} from \"../../core/base/components/transaction-header-block/transaction-header-block.module\";\r\nimport {CoDialogModule, IconModule, InputCheckboxModule, InputDatePickerModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TransactionHeaderDeliveryDateModule} from \"../../transaction-header-fields/transaction-header-delivery-date.module\";\r\nimport {TransactionHeaderRemarksModule} from \"../../transaction-header-fields/transaction-header-remarks.module\";\r\nimport {TransactionHeaderReferenceModule} from \"../../transaction-header-fields/transaction-header-reference.module\";\r\nimport {TransactionHeaderRelationReferenceModule} from \"../../transaction-header-fields/transaction-header-relation-reference.module\";\r\nimport {TransactionHeaderDeliveryMethodModule} from \"../../transaction-header-fields/transaction-header-delivery-method.module\";\r\nimport {TransactionHeaderPreferredDeliveryDateModule} from \"../../transaction-header-fields/transaction-header-preferred-delivery-date.module\";\r\nimport {DialogTransactionHeaderDeliveryMethodModule} from \"../../dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module\";\r\nimport {TransactionHeaderDeliveryOptionsModule} from \"../../transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module\";\r\nimport {TransactionHeaderPartialDeliveryModule} from \"../../transaction-header-fields/transaction-header-partial-delivery.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionHeaderBlockModule,\r\n InputCheckboxModule,\r\n IconModule,\r\n PipeModule,\r\n InputDatePickerModule,\r\n TransactionHeaderDeliveryDateModule,\r\n CoDialogModule,\r\n TransactionHeaderDeliveryOptionsModule,\r\n TransactionHeaderRemarksModule,\r\n TransactionHeaderReferenceModule,\r\n TransactionHeaderRelationReferenceModule,\r\n TransactionHeaderDeliveryMethodModule,\r\n TransactionHeaderPreferredDeliveryDateModule,\r\n DialogTransactionHeaderDeliveryMethodModule,\r\n TransactionHeaderPartialDeliveryModule\r\n ],\r\n declarations: [\r\n TransactionHeaderDeliveryComponent\r\n ],\r\n exports: [\r\n TransactionHeaderDeliveryComponent\r\n ]\r\n})\r\nexport class TransactionHeaderDeliveryModule {}\r\n","import {Component, HostListener, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-downpayment-percentage\",\r\n template: `\r\n <span *ngIf=\"(!editMode || readonly) && !defaultEditMode\" [textContent]=\"transactionInfo.toDownPayPercentage | append: '%'\"></span>\r\n <co-input-text #input *ngIf=\"editMode || defaultEditMode\"\r\n [type]=\"'number'\"\r\n [placeholder]=\"showLabel ? ('DOWNPAYMENT_PERCENTAGE' | localize) : ''\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionInfo.toDownPayPercentage\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderDownpaymentPercentageComponent extends TransactionHeaderBaseComponent<any> {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (amount) => this.commitDownpaymentPercentage(amount);\r\n if (this._editMode) {\r\n this.input.requestFocus();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = true;\r\n\r\n @Input()\r\n public defaultEditMode: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this.input) {\r\n this.input.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n private _editMode: boolean = false;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitDownpaymentPercentage(amount: number): Promise<boolean> {\r\n if (this.transactionInfo && this.transactionInfo.toDownPayPercentage !== amount) {\r\n const oldDownPayPercentage: number = this.transactionInfo.toDownPayPercentage;\r\n const success = await this._transactionService.updateHeaderTransactionDownpaymentPercentage(this.transactionInfo.uuid, amount);\r\n if (!success) {\r\n this.input.model = amount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionSet(): void {\r\n this.readonly = this.readonly || !this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionHeaderDownpaymentPercentageComponent} from \"./transaction-header-downpayment-percentage.component\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputTextModule\r\n ],\r\n declarations: [\r\n TransactionHeaderDownpaymentPercentageComponent\r\n ],\r\n exports: [\r\n TransactionHeaderDownpaymentPercentageComponent\r\n ]\r\n})\r\nexport class TransactionHeaderDownpaymentPercentageModule {\r\n}\r\n","import {Component, HostListener, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-downpayment-amount\",\r\n template: `\r\n <span *ngIf=\"(!editMode || readonly) && !defaultEditMode\" [textContent]=\"(transactionInfo.toDownPayAmount | coCurrency) || '...'\"></span>\r\n <co-input-text #input *ngIf=\"editMode || defaultEditMode\"\r\n [type]=\"'number'\"\r\n [placeholder]=\"showLabel ? ('DOWNPAYMENT' | localize) : ''\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionInfo.toDownPayAmount\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderDownpaymentAmountComponent extends TransactionHeaderBaseComponent<any> {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (amount) => this.commitDownpaymentAmount(amount);\r\n if (this._editMode) {\r\n this.input.requestFocus();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = true;\r\n\r\n @Input()\r\n public defaultEditMode: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this.input) {\r\n this.input.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n private _editMode: boolean = false;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitDownpaymentAmount(amount: number): Promise<boolean> {\r\n if (this.transactionInfo && this.transactionInfo.toDownPayAmount !== amount) {\r\n const oldDownPayPercentage: number = this.transactionInfo.toDownPayAmount;\r\n const success = await this._transactionService.updateHeaderTransactionDownpaymentAmount(this.transactionInfo.uuid, amount);\r\n if (!success) {\r\n this.input.model = amount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionSet(): void {\r\n this.readonly = this.readonly || !this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionHeaderDownpaymentAmountComponent} from \"./transaction-header-downpayment-amount.component\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputTextModule\r\n ],\r\n declarations: [\r\n TransactionHeaderDownpaymentAmountComponent\r\n ],\r\n exports: [\r\n TransactionHeaderDownpaymentAmountComponent\r\n ]\r\n})\r\nexport class TransactionHeaderDownpaymentAmountModule {\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-definitive\",\r\n template: `\r\n <co-input-checkbox\r\n [readonly]=\"readonly\"\r\n [label]=\"'ORDER_DEFINITIVE' | localize\"\r\n [model]=\"transactionInfo.transactionDefinitive\"\r\n (modelChange)=\"commitTransactionDefinitive($event)\">\r\n </co-input-checkbox>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderDefinitiveComponent extends TransactionHeaderBaseComponent<any> {\r\n\r\n @HostBinding(\"class.co-transaction-header-definitive\")\r\n public showClass: boolean = true;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commitTransactionDefinitive(definitive: boolean): Promise<boolean> {\r\n if (this.transactionInfo.transactionDefinitive !== definitive) {\r\n const oldDefinitive: boolean = this.transactionInfo.transactionDefinitive;\r\n const success: boolean = await this._transactionService.updateHeaderTransactionDefinitive(this.transactionInfo.uuid, definitive);\r\n if (!success) {\r\n this.transactionInfo.transactionDefinitive = oldDefinitive;\r\n return success;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionHeaderDefinitiveComponent} from \"./transaction-header-definitive.component\";\r\nimport {InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionHeaderDefinitiveComponent\r\n ],\r\n exports: [\r\n TransactionHeaderDefinitiveComponent\r\n ]\r\n})\r\nexport class TransactionHeaderDefinitiveModule {\r\n}\r\n","import {Component, Input, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\nimport {BranchLov} from \"@colijnit/relationapi/build/model/branch-lov.bo\";\r\nimport {RelationSmallObject} from \"@colijnit/relationapi/build/model/relation-small-object.bo\";\r\nimport {RelationService} from \"../../service/relation.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-branch\",\r\n template: `\r\n <ng-container *ngIf=\"simple\">\r\n <co-drop-down-list\r\n [readonly]=\"readonly\"\r\n [placeholder]=\"'BRANCH' | localize\"\r\n [allowFiltering]=\"true\"\r\n [filterType]=\"'Contains'\"\r\n [collection]=\"collection\"\r\n [fields]=\"fields\"\r\n [model]=\"branchModel\"\r\n (modelChange)=\"commit($event)\">\r\n </co-drop-down-list>\r\n </ng-container>\r\n <ng-container *ngIf=\"!simple\">\r\n <co-transaction-line-checkbox-list\r\n [collection]=\"viewModelsFiltered\"\r\n [readonly]=\"readonly\"\r\n (checked)=\"handleChecked($event)\"\r\n ></co-transaction-line-checkbox-list>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderBranchComponent extends TransactionHeaderBaseComponent<BranchLov> implements OnInit {\r\n\r\n @Input()\r\n public simple: boolean = false;\r\n\r\n public fields: Object = {text: \"description\", value: \"relationId\"};\r\n public branchModel: number;\r\n\r\n constructor(\r\n private _transactionService: TransactionService,\r\n private _relationService: RelationService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public async commit(branch: number | RelationSmallObject): Promise<boolean> {\r\n if (branch === undefined || branch === null) {\r\n return;\r\n }\r\n const branchId: number = branch instanceof RelationSmallObject ? branch.relationId : branch;\r\n if (!this.transactionInfo.branch || this.transactionInfo.branch.relationId !== branchId) {\r\n const oldBranch: number = this.transactionInfo.branch ? this.transactionInfo.branch.relationId : 0;\r\n const success: boolean = await this._transactionService.updateHeaderTransactionBranch(this.transactionInfo.uuid, branchId);\r\n if (!success) {\r\n // if (this.transactionInfo.branch) {\r\n // this.transactionInfo.branch = branch;\r\n // }\r\n return success;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || this.transactionInfo.deliveryDateDefinitive;\r\n this._relationService.getBranches().then((branches: BranchLov[]) => {\r\n this.collection = branches;\r\n this.branchModel = this.transactionInfo.branch.relationId;\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionHeaderBranchComponent} from \"./transaction-header-branch.component\";\r\nimport {DropDownModule, InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineCheckboxModule} from \"../transaction-line-checkbox-list/transaction-line-checkbox-list.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n DropDownModule,\r\n InputCheckboxModule,\r\n TransactionLineCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionHeaderBranchComponent\r\n ],\r\n exports: [\r\n TransactionHeaderBranchComponent\r\n ]\r\n})\r\nexport class TransactionHeaderBranchModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {RelationRequest} from \"@colijnit/relationapi/build/model/relation-request\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\nimport {RelationListObject} from \"@colijnit/relationapi/build/model/relation-list-object.bo\";\r\nimport {RelationKind} from \"@colijnit/relationapi/build/enum/relation-kind.enum\";\r\nimport {RelationService} from \"../../service/relation.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-administrative-relation\",\r\n template: `\r\n <co-drop-down-list\r\n [readonly]=\"readonly\"\r\n [placeholder]=\"'ADMINISTRATIVE_MANAGER' | localize\"\r\n [allowFiltering]=\"true\"\r\n [filterType]=\"'Contains'\"\r\n [collection]=\"collection\"\r\n [fields]=\"fields\"\r\n [model]=\"transactionInfo.admCoordinator\"\r\n (modelChange)=\"commitTransactionAdministrative($event)\">\r\n </co-drop-down-list>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderAdministrativeRelationComponent extends TransactionHeaderBaseComponent<RelationListObject> implements OnInit {\r\n\r\n public fields: Object = {text: \"displayName\", value: \"relationId\"};\r\n\r\n constructor(\r\n private _transactionService: TransactionService,\r\n private _relationService: RelationService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n const request: RelationRequest = new RelationRequest();\r\n request.relationType = RelationKind.Personnel;\r\n this._relationService.getRelationListObjects(request).then((relationListObjects) => {\r\n this.collection = relationListObjects;\r\n })\r\n }\r\n\r\n public async commitTransactionAdministrative(relations: number[]): Promise<boolean> {\r\n const relation: number = relations.length > 0 ? relations[0] : null;\r\n if (this.transactionInfo.admCoordinator !== relation) {\r\n const oldAdm: number = this.transactionInfo.admCoordinator;\r\n const success: boolean = await this._transactionService.updateHeaderTransactionAdmCoordinator(this.transactionInfo.uuid, relation);\r\n if (!success) {\r\n this.transactionInfo.admCoordinator = relation;\r\n return success;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionHeaderAdministrativeRelationComponent} from \"./transaction-header-administrative-relation.component\";\r\nimport {DropDownModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n DropDownModule\r\n ],\r\n declarations: [\r\n TransactionHeaderAdministrativeRelationComponent\r\n ],\r\n exports: [\r\n TransactionHeaderAdministrativeRelationComponent\r\n ]\r\n})\r\nexport class TransactionHeaderAdministrativeRelationModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {Marketing} from \"@colijnit/transactionapi/build/model/marketing.bo\";\r\nimport {TransactionHeaderBaseComponent} from \"../core/base/transaction-header-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-marketing\",\r\n template: `\r\n <co-transaction-line-checkbox-list\r\n [collection]=\"viewModelsFiltered\"\r\n [readonly]=\"readonly\"\r\n (checked)=\"handleChecked($event)\"\r\n ></co-transaction-line-checkbox-list>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderMarketingComponent extends TransactionHeaderBaseComponent<Marketing> implements OnInit {\r\n\r\n protected codeField: string = 'code';\r\n protected checkField: string = 'marketingCode';\r\n protected propsForLabel: string[] = ['code', 'description'];\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._transactionService.getMarketingCodes().then((marketingCodes) => {\r\n this.collection = marketingCodes;\r\n })\r\n }\r\n\r\n public async commit(code: string): Promise<boolean> {\r\n if (this.transactionInfo.marketingCode !== code) {\r\n const oldCode: string = this.transactionInfo.marketingCode;\r\n const success: boolean = await this._transactionService.updateHeaderTransactionMarketing(this.transactionInfo.uuid, code);\r\n if (!success) {\r\n this.transactionInfo.marketingCode = code;\r\n return success;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || this.transactionInfo.deliveryDateDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionHeaderMarketingComponent} from \"./transaction-header-marketing.component\";\r\nimport {InputCheckboxModule, InputListboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineCheckboxModule} from \"../transaction-line-checkbox-list/transaction-line-checkbox-list.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputListboxModule,\r\n InputCheckboxModule,\r\n TransactionLineCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionHeaderMarketingComponent\r\n ],\r\n exports: [\r\n TransactionHeaderMarketingComponent\r\n ]\r\n})\r\nexport class TransactionHeaderMarketingModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {\r\n ButtonModule,\r\n Carousel3dModule,\r\n CoDialogModule,\r\n CoDialogPromptModule,\r\n CoGridModule,\r\n CollapsibleModule,\r\n CoRichTextEditorModule,\r\n CoSidebarModule,\r\n DropDownModule,\r\n FormModule,\r\n IconModule,\r\n InputCheckboxModule,\r\n InputComboBoxModule,\r\n InputDatePickerModule,\r\n InputListboxModule,\r\n InputNumberPickerModule,\r\n InputRadioButtonModule,\r\n InputTextareaModule,\r\n InputTextModule,\r\n MultiSelectListModule,\r\n PopupModule,\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {FlexModule} from \"@angular/flex-layout\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {CheckoutOverviewRelationEditComponent} from \"./checkout-overview-relation-edit/checkout-overview-relation-edit.component\";\r\nimport {CheckoutOverviewDeliveryEditComponent} from \"./checkout-overview-delivery-edit/checkout-overview-delivery-edit.component\";\r\nimport {CheckoutOverviewDeliveryAddressComponent} from \"./checkout-overview-delivery-address/checkout-overview-delivery-address.component\";\r\nimport {CheckoutLoginComponent} from \"./checkout-login/checkout-login.component\";\r\nimport {OptionsService} from \"../../service/options.service\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CheckoutComponent} from \"./checkout.component\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport {RelationAddressSelectModule} from \"../relation/relation-address-select/relation-address-select.module\";\r\nimport {RelationAddressModule} from \"../relation/relation-address/relation-address.module\";\r\nimport {RelationAddressTileModule} from \"../relation/relation-address-tile/relation-address-tile.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {StepperModule} from \"../stepper/stepper.module\";\r\nimport {ShoppingCartPreviewModule} from \"../shopping-cart-preview/shopping-cart-preview.module\";\r\nimport {AvatarModule} from \"../avatar/avatar.module\";\r\nimport {DeliveryTypeTileModule} from \"../delivery-type-tile/delivery-type-tile.module\";\r\nimport {PaymentModule} from \"../payment/payment.module\";\r\nimport {RelationTypeModule} from \"../relation/relation-type/relation-type.module\";\r\nimport {RelationGeneralModule} from \"../relation/relation-general/relation-general.module\";\r\nimport {RelationAddressesModule} from \"../relation/relation-addresses/relation-addresses.module\";\r\nimport {RelationContactDetailsModule} from \"../relation/relation-contact-details/relation-contact-details.module\";\r\nimport {RelationPreferencesModule} from \"../relation/relation-preferences/relation-preferences.module\";\r\nimport {CheckoutOverviewPaymentComponent} from \"./checkout-overview-payment/checkout-overview-payment.component\";\r\nimport {TransactionHeaderDeliveryModule} from \"../transaction-header/transaction-header-delivery/transaction-header-delivery.module\";\r\nimport {TransactionHeaderPreferredDeliveryDateModule} from \"../transaction-header-fields/transaction-header-preferred-delivery-date.module\";\r\nimport {TransactionHeaderPartialDeliveryModule} from \"../transaction-header-fields/transaction-header-partial-delivery.module\";\r\nimport {TransactionHeaderDeliveryDateModule} from \"../transaction-header-fields/transaction-header-delivery-date.module\";\r\nimport {TransactionHeaderDeliveryMethodModule} from \"../transaction-header-fields/transaction-header-delivery-method.module\";\r\nimport {TransactionHeaderRemarksModule} from \"../transaction-header-fields/transaction-header-remarks.module\";\r\nimport {TransactionHeaderReferenceModule} from \"../transaction-header-fields/transaction-header-reference.module\";\r\nimport {TransactionHeaderRelationReferenceModule} from \"../transaction-header-fields/transaction-header-relation-reference.module\";\r\nimport {TransactionHeaderDownpaymentPercentageModule} from \"../transaction-header-fields/transaction-header-downpayment-percentage.module\";\r\nimport {TransactionHeaderDownpaymentAmountModule} from \"../transaction-header-fields/transaction-header-downpayment-amount.module\";\r\nimport {TransactionHeaderDefinitiveModule} from \"../transaction-header-fields/transaction-header-definitive.module\";\r\nimport {TransactionHeaderBranchModule} from \"../transaction-header-fields/transaction-header-branch.module\";\r\nimport {TransactionHeaderAdministrativeRelationModule} from \"../transaction-header-fields/transaction-header-administrative-relation.module\";\r\nimport {TransactionHeaderMarketingModule} from \"../transaction-header-fields/transaction-header-marketing.module\";\r\nimport {TransactionHeaderDeliveryOptionsModule} from \"../transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CoreModule,\r\n CommonModule,\r\n IconModule,\r\n InputTextModule,\r\n InputCheckboxModule,\r\n InputRadioButtonModule,\r\n FormModule,\r\n InputComboBoxModule,\r\n InputDatePickerModule,\r\n InputNumberPickerModule,\r\n CoDialogModule,\r\n CoDialogPromptModule,\r\n ButtonModule,\r\n FlexModule,\r\n MultiSelectListModule,\r\n DropDownModule,\r\n PopupModule.forRoot(),\r\n CoSidebarModule,\r\n CoGridModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n RelationAddressModule,\r\n RelationAddressSelectModule,\r\n RelationAddressTileModule,\r\n CoRichTextEditorModule,\r\n Carousel3dModule,\r\n InputTextareaModule,\r\n InputListboxModule,\r\n PipeModule,\r\n StepperModule,\r\n ShoppingCartPreviewModule,\r\n AvatarModule,\r\n DeliveryTypeTileModule,\r\n CollapsibleModule,\r\n PaymentModule,\r\n RelationTypeModule,\r\n RelationGeneralModule,\r\n RelationAddressesModule,\r\n RelationContactDetailsModule,\r\n RelationPreferencesModule,\r\n TransactionHeaderDeliveryModule,\r\n TransactionHeaderPreferredDeliveryDateModule,\r\n TransactionHeaderDeliveryDateModule,\r\n TransactionHeaderDeliveryMethodModule,\r\n TransactionHeaderPartialDeliveryModule,\r\n TransactionHeaderDeliveryOptionsModule,\r\n TransactionHeaderRemarksModule,\r\n TransactionHeaderReferenceModule,\r\n TransactionHeaderRelationReferenceModule,\r\n TransactionHeaderDownpaymentPercentageModule,\r\n TransactionHeaderDownpaymentAmountModule,\r\n TransactionHeaderDefinitiveModule,\r\n TransactionHeaderBranchModule,\r\n TransactionHeaderAdministrativeRelationModule,\r\n TransactionHeaderMarketingModule\r\n ],\r\n declarations: [\r\n CheckoutOverviewRelationEditComponent,\r\n CheckoutOverviewDeliveryEditComponent,\r\n CheckoutOverviewDeliveryAddressComponent,\r\n CheckoutOverviewPaymentComponent,\r\n CheckoutLoginComponent,\r\n CheckoutComponent,\r\n ],\r\n providers: [\r\n DictionaryService,\r\n OptionsService\r\n ],\r\n entryComponents: [\r\n CheckoutComponent\r\n ],\r\n exports: [CheckoutComponent],\r\n bootstrap: [CheckoutComponent]\r\n})\r\nexport class CheckoutModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, OnDestroy, Output, ViewEncapsulation} from \"@angular/core\";\nimport {DictionaryService} from \"../../service/dictionary.service\";\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\nimport {TransactionService} from \"../../service/transaction.service\";\nimport {Subscription} from \"rxjs\";\nimport {RelationAnyType} from \"../../model/relation-any-type\";\nimport {CustomerFullObject} from \"@colijnit/relationapi/build/model/customer-full-object.bo\";\n\n@Component({\n selector: \"co-shopping-cart\",\n template: `\n <div class=\"cart-header\">\n <span class=\"cart-header-label\" [textContent]=\"'SHOPPING_CART_OVERVIEW' | localize | append:'(' + service.articleAmount + ')'\"></span>\n </div>\n <div class=\"shopping-cart-transaction-wrapper\">\n <co-transaction\n [showHeader]=\"false\"\n [showQuickAccess]=\"false\"\n [showButtonBar]=\"false\"\n [relation]=\"relation\"\n [transaction]=\"transaction\"\n ></co-transaction>\n </div>\n <div class=\"cart-buttons\">\n <a class=\"button-resume\" [textContent]=\"'SHOPPING_CART_RESUME' | localize\"\n (click)=\"closeCart.emit()\"\n ></a>\n <co-button class=\"button-checkout\" [label]=\"'SHOPPING_CART_CHECKOUT' | localize\"\n [disabled]=\"service.articleAmount === 0\"\n (click)=\"checkout.emit()\"></co-button>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class ShoppingCartComponent implements OnDestroy {\n\n @Output()\n public closeCart: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public checkout: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding(\"class.co-shopping-cart\")\n public showClass(): boolean {\n return true;\n }\n\n public transaction: TransactionInfoResponse = new TransactionInfoResponse();\n public relation: RelationAnyType = new CustomerFullObject();\n private _subs: Subscription[] = [];\n\n constructor(\n public service: TransactionService,\n private _dictionary: DictionaryService\n ) {\n this._subs.push(\n this.service.transactionUpdated.subscribe((transaction: TransactionInfoResponse) => {\n if (transaction) {\n this.transaction = transaction;\n }\n }),\n this.service.relationUpdated.subscribe((relation: RelationAnyType) => {\n if (relation) {\n this.relation = relation;\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n this._subs.forEach(s => s.unsubscribe());\n }\n}\n","// The different view modes for content, e.g. list, grid, ..\r\nexport enum ContentViewMode {\r\n List,\r\n Grid,\r\n GridExpanded,\r\n MasterDetail,\r\n Timeline,\r\n Tiles,\r\n}\r\n","import {Directive} from \"@angular/core\";\r\n\r\n@Directive()\r\nexport abstract class DynamicBaseComponent {\r\n\r\n onClose(): void {}\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionTypeCategory} from \"../../enum/transaction-type-category.enum\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionEventService} from \"../../service/transaction-event.service\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {DynamicBaseComponent} from \"../core/base/dynamic-base-component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-side-panel\",\r\n template: `\r\n <div class=\"transaction-line-side-panel-wrapper\" *ngIf=\"show\" @showHideSidePanel>\r\n <icon (click)=\"handleCancelClick()\" [icon]=\"icons.Cancel\" class=\"close-button\"></icon>\r\n <div class=\"transaction-line-side-panel-header\">\r\n <div class=\"transaction-line-side-panel-header-item\">\r\n <span class=\"side-panel-header-label\" [textContent]=\"'ARTICLE_NR'| localize\"></span>\r\n <span class=\"side-panel-header-field\" [textContent]=\"transactionLine.articleNumber\"></span>\r\n </div>\r\n <div class=\"side-panel-header-divider\"></div>\r\n <div class=\"transaction-line-side-panel-header-item\">\r\n <span class=\"side-panel-header-label\" [textContent]=\"'DESCRIPTION'| localize\"></span>\r\n <span class=\"side-panel-header-field\" [textContent]=\"transactionLine.goodDescription\"></span>\r\n </div>\r\n <div class=\"side-panel-header-divider\"></div>\r\n <div class=\"transaction-line-side-panel-header-item\">\r\n <span class=\"side-panel-header-label\" [textContent]=\"'AMOUNT'| localize\"></span>\r\n <span class=\"side-panel-header-field\" [textContent]=\"transactionLine.amount\"></span>\r\n </div>\r\n <div class=\"side-panel-header-divider\"></div>\r\n <div class=\"transaction-line-side-panel-header-item hidden\">\r\n <span class=\"side-panel-header-label\"\r\n [textContent]=\"activeCategory === categories.PurchaseOrderReceivedGoods ? ('OPEN' | localize) : ('PRICE' | localize)\"></span>\r\n <span class=\"side-panel-header-field\"\r\n [textContent]=\"activeCategory === categories.PurchaseOrderReceivedGoods ? quantityToReceive : (transactionLine.price | priceDisplay)\"></span>\r\n </div>\r\n </div>\r\n <div class=\"transaction-line-side-panel-nav-bar\">\r\n <co-transaction-button-bar\r\n [selectedCategory]=\"activeCategory\"\r\n [transactionType]=\"transactionInfo.transactionKind\"\r\n (buttonClicked)=\"activeCategory = $event.category\"\r\n ></co-transaction-button-bar>\r\n </div>\r\n <div class=\"transaction-line-side-panel-content\">\r\n <ng-container [ngSwitch]=\"transactionInfo.transactionKind\">\r\n <ng-container *ngSwitchCase=\"transactionTypes.PurchaseOrder\">\r\n <co-transaction-line-side-panel-purchase\r\n [transactionLine]=\"transactionLine\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [category]=\"activeCategory\"\r\n (quantityToReceiveChange)=\"quantityToReceive = $event\"\r\n ></co-transaction-line-side-panel-purchase>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"transactionTypes.SalesOrder\">\r\n <co-transaction-line-side-panel-sales\r\n [transactionLine]=\"transactionLine\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [category]=\"activeCategory\"\r\n ></co-transaction-line-side-panel-sales>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <co-transaction-line-side-panel-purchase\r\n [transactionLine]=\"transactionLine\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [category]=\"activeCategory\"\r\n ></co-transaction-line-side-panel-purchase>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHideSidePanel\", [\r\n state(\"void\", style({transform: 'translateX(100%)'})),\r\n state(\"*\", style({transform: 'translateX(0)'})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSidePanelComponent extends DynamicBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly categories: typeof TransactionTypeCategory = TransactionTypeCategory;\r\n public readonly transactionTypes: typeof TransactionKind = TransactionKind;\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo;\r\n\r\n @Input()\r\n public transactionInfo: TransactionInfo;\r\n\r\n @Input()\r\n public activeCategory: TransactionTypeCategory;\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-transaction-line-side-panel\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public show: boolean = true;\r\n\r\n public quantityToReceive: number;\r\n\r\n constructor(\r\n public iconService: IconCacheService,\r\n private _service: TransactionService,\r\n private _transactionEventService: TransactionEventService\r\n ) {\r\n super();\r\n }\r\n\r\n public handleCancelClick(): void {\r\n this.show = false;\r\n setTimeout(() => {\r\n this.onClose();\r\n }, 200);\r\n }\r\n}\r\n","import {ApplicationRef, Component, HostBinding, Input, OnDestroy, QueryList, ViewChildren, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {ContentViewMode} from \"../../enum/content-view-mode.enum\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionBarButton} from \"../../model/transaction-bar-button\";\r\nimport {TransactionTypeCategory} from \"../../enum/transaction-type-category.enum\";\r\nimport {DynamicComponentService} from \"../../service/dynamic-component.service\";\r\nimport {TransactionLineSidePanelComponent} from \"../transaction-line-side-panel/transaction-line-side-panel.component\";\r\nimport {RelationAnyType} from \"../../model/relation-any-type\";\r\nimport {CustomerFullObject} from \"@colijnit/relationapi/build/model/customer-full-object.bo\";\r\nimport {TransactionEventService} from \"../../service/transaction-event.service\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction\",\r\n template: `\r\n <co-transaction-header *ngIf=\"showHeader\" [transaction]=\"transaction\" [relation]=\"relation\"></co-transaction-header>\r\n\r\n <div class=\"transaction-lines-header\">\r\n <co-transaction-quick-access *ngIf=\"showQuickAccess\" class=\"transaction-lines-header-item\"\r\n [relation]=\"relation\"\r\n [transaction]=\"transaction\"\r\n [activeCategory]=\"activeCategory\"\r\n ></co-transaction-quick-access>\r\n\r\n <co-transaction-button-bar *ngIf=\"showButtonBar\" class=\"transaction-lines-header-item\"\r\n [transactionType]=\"transaction.transactionInfo.transactionKind\"\r\n [selectedCategory]=\"activeCategory\"\r\n (buttonClicked)=\"handleButtonBarButtonClicked($event)\"\r\n ></co-transaction-button-bar>\r\n\r\n <co-view-mode-buttons class=\"transaction-lines-header-item\"\r\n [showViewModes]=\"[viewModes.List, viewModes.Grid, viewModes.Tiles]\" (viewModeChange)=\"activeViewMode = $event\"></co-view-mode-buttons>\r\n </div>\r\n\r\n <div class=\"transaction-tiles-wrapper\" *ngIf=\"activeViewMode === viewModes.Tiles\">\r\n <co-transaction-tile\r\n *ngFor=\"let transaction of transaction.transactionLines\"\r\n [transactionLine]=\"transaction\"\r\n [activeCategory]=\"activeCategory\"\r\n (showSidePanelClicked)=\"handleShowSidePanel($event)\"\r\n ></co-transaction-tile>\r\n </div>\r\n <div class=\"transaction-lines-wrapper\" *ngIf=\"activeViewMode === viewModes.List\">\r\n <co-transaction-lines\r\n [transactionInfo]=\"transaction.transactionInfo\"\r\n [transactionLines]=\"transaction.transactionLines\"\r\n [transactionId]=\"transactionId\"\r\n [activeCategory]=\"activeCategory\"\r\n (saveTransactionLine)=\"saveTransactionLine($event)\"\r\n ></co-transaction-lines>\r\n </div>\r\n <div class=\"transaction-lines-grid-wrapper\" *ngIf=\"activeViewMode === viewModes.Grid\">\r\n <co-transaction-grid\r\n [transactionLines]=\"transaction.transactionLines\"\r\n [transactionId]=\"transactionId\"\r\n [transactionType]=\"transaction.transactionInfo.transactionKind\"\r\n [activeCategory]=\"activeCategory\"\r\n (sidePanelClicked)=\"handleShowSidePanel($event)\"\r\n ></co-transaction-grid>\r\n <!--\r\n <co-transaction-order-confirmation-grid\r\n *ngIf=\"activeCategory === 1\"\r\n [transactionLines]=\"transaction.transactionLines\"\r\n (sidePanelClicked)=\"handleShowSidePanel($event)\"\r\n ></co-transaction-order-confirmation-grid>\r\n -->\r\n </div>\r\n <div class=\"transaction-footer-wrapper\">\r\n <co-transaction-totals\r\n [transactionInfo]=\"transaction.transactionInfo\"\r\n [transactionTotal]=\"transaction.transactionTotal\"\r\n [showDiscount]=\"true\"\r\n ></co-transaction-totals>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionComponent implements OnDestroy {\r\n public readonly viewModes: typeof ContentViewMode = ContentViewMode;\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChildren(TransactionLineSidePanelComponent)\r\n public sidePanelComponents: QueryList<TransactionLineSidePanelComponent>;\r\n\r\n @Input()\r\n public relation: RelationAnyType = new CustomerFullObject();\r\n\r\n @Input()\r\n public set transaction(value: TransactionInfoResponse) {\r\n if (value) {\r\n this._transaction = value;\r\n if (this._transaction) {\r\n this.activeCategory = this._transaction.transactionInfo.transactionKind === TransactionKind.PurchaseOrder ?\r\n TransactionTypeCategory.PurchaseOrderOverview :\r\n TransactionTypeCategory.SalesOrderOverview;\r\n }\r\n }\r\n }\r\n\r\n public get transaction(): TransactionInfoResponse {\r\n return this._transaction;\r\n }\r\n\r\n @Input()\r\n public set transactionId(value: number) {\r\n if (value) {\r\n this._transactionId = value;\r\n this._service.getTransactionById(value).catch(() => {});\r\n }\r\n }\r\n\r\n public get transactionId(): number {\r\n return this._transactionId;\r\n }\r\n\r\n @Input()\r\n public showHeader: boolean = true;\r\n\r\n @HostBinding('class.show-quick-access')\r\n @Input()\r\n public showQuickAccess: boolean = true;\r\n\r\n @HostBinding('class.show-button-bar')\r\n @Input()\r\n public showButtonBar: boolean = true;\r\n\r\n @HostBinding(\"class.co-transaction\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public activeViewMode: ContentViewMode = ContentViewMode.List;\r\n public activeCategory: TransactionTypeCategory;\r\n public sidePanelTransactionLine: TransactionLineInfo;\r\n public sidePanelOpen: boolean = false;\r\n\r\n private _subs: Subscription[] = [];\r\n private _transaction: TransactionInfoResponse = new TransactionInfoResponse();\r\n private _transactionId: number;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _service: TransactionService,\r\n private _appRef: ApplicationRef,\r\n private _dynamicComponentService: DynamicComponentService,\r\n private _transactionEventService: TransactionEventService\r\n ) {\r\n this._subs.push(\r\n this._service.transactionUpdated.subscribe((transaction: TransactionInfoResponse) => {\r\n if (transaction) {\r\n this.transaction = transaction;\r\n }\r\n }),\r\n this._service.relationUpdated.subscribe((relation: RelationAnyType) => {\r\n if (relation) {\r\n this.relation = relation;\r\n }\r\n }),\r\n this._transactionEventService.openSidePanel.subscribe((line) => this.handleShowSidePanel(line))\r\n )\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._subs.forEach(s => s.unsubscribe());\r\n }\r\n\r\n public saveTransactionLine(transactionAddTextLineRequest: TransactionAddTextLineRequest): void {\r\n if (transactionAddTextLineRequest.transactionUuid) { //update\r\n\r\n } else { // new transactionLine (transactionArticleText)\r\n this._service.addTextLine(\r\n transactionAddTextLineRequest.showOnDocuments,\r\n transactionAddTextLineRequest.text,\r\n 0,\r\n transactionAddTextLineRequest.articleBound,\r\n 0,\r\n 0,\r\n 0);\r\n }\r\n }\r\n\r\n public handleButtonBarButtonClicked(button: TransactionBarButton): void {\r\n this.activeCategory = button.category;\r\n }\r\n\r\n public handleShowSidePanel(line: TransactionLineInfo): void {\r\n const sidePanelComponent: TransactionLineSidePanelComponent =\r\n this._dynamicComponentService.getComponentRefs()\r\n .find((ref) => ref.instance instanceof TransactionLineSidePanelComponent)?.instance;\r\n\r\n if (sidePanelComponent) {\r\n sidePanelComponent.handleCancelClick();\r\n }\r\n\r\n this.sidePanelTransactionLine = line;\r\n this._dynamicComponentService.createComponent(TransactionLineSidePanelComponent,\r\n {\r\n transactionInfo: this.transaction.transactionInfo,\r\n transactionLine: this.sidePanelTransactionLine,\r\n activeCategory: this.activeCategory\r\n }\r\n )\r\n }\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {CustomerFullObject} from \"@colijnit/relationapi/build/model/customer-full-object.bo\";\r\nimport {RelationAnyType} from \"../../../model/relation-any-type\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header\",\r\n template: `\r\n <div class=\"transaction-header-wrapper\">\r\n <co-carousel>\r\n <co-transaction-header-relation #carouselItem [relation]=\"relation\"></co-transaction-header-relation>\r\n <div class=\"transaction-header-divider\">&nbsp;</div>\r\n <co-transaction-header-order #carouselItem [transaction]=\"transaction\"></co-transaction-header-order>\r\n <div class=\"transaction-header-divider\" *ngIf=\"!isPurchaseOrder\">&nbsp;</div>\r\n <co-transaction-header-payment *ngIf=\"!isPurchaseOrder\" #carouselItem [transaction]=\"transaction\"></co-transaction-header-payment>\r\n <div class=\"transaction-header-divider\">&nbsp;</div>\r\n <co-transaction-header-delivery #carouselItem [transaction]=\"transaction\"></co-transaction-header-delivery>\r\n </co-carousel>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public relation: RelationAnyType = new CustomerFullObject();\r\n\r\n @Input()\r\n public set transaction(value: TransactionInfoResponse) {\r\n if (value) {\r\n this._transaction = value;\r\n this.isPurchaseOrder = this._transaction.transactionInfo.transactionKind === TransactionKind.PurchaseOrder;\r\n }\r\n }\r\n\r\n public get transaction(): TransactionInfoResponse {\r\n return this._transaction;\r\n }\r\n\r\n @HostBinding(\"class.co-transaction-header\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public isPurchaseOrder: boolean = true;\r\n\r\n private _transaction: TransactionInfoResponse = new TransactionInfoResponse();\r\n}\r\n","import {Component, ElementRef, HostBinding, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {DictionaryService} from \"../../../service/dictionary.service\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {CustomerFullObject} from \"@colijnit/relationapi/build/model/customer-full-object.bo\";\r\nimport {ValidationResult} from \"@colijnit/ioneconnector/build/model/validation-result\";\r\nimport {DialogService} from \"../../../service/dialog.service\";\r\nimport {AddressType} from \"@colijnit/relationapi/build/enum/address-type.enum\";\r\nimport {RelationAnyType} from \"../../../model/relation-any-type\";\r\nimport {RelationKind} from \"@colijnit/relationapi/build/enum/relation-kind.enum\";\r\nimport {RelationService} from \"../../../service/relation.service\";\r\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\r\nimport {Address} from \"@colijnit/relationapi/build/model/address.bo\";\r\nimport {BusinessObjectFactory} from \"@colijnit/ioneconnector/build/factory/business-object-factory\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-relation\",\r\n template: `\r\n <co-transaction-header-block\r\n [headerBlockTemplate]=\"headerBlock\"\r\n [firstBlockTemplate]=\"firstBlock\"\r\n [secondBlockTemplate]=\"secondBlock\"\r\n [hasDetails]=\"true\"\r\n (headerClick)=\"handleShowDialog()\"\r\n >\r\n </co-transaction-header-block>\r\n <ng-template #headerBlock>\r\n <div class=\"header-block-label\" [textContent]=\"relation.displayName\"></div>\r\n </ng-template>\r\n <ng-template #firstBlock>\r\n <div class=\"header-relation-address\" [textContent]=\"relation.displayFirstAddress\"></div>\r\n <div class=\"header-relation-postal\" [textContent]=\"relation.displayFirstPostal\"></div>\r\n </ng-template>\r\n <ng-template #secondBlock>\r\n <div class=\"header-relation-email\" [textContent]=\"relation.primaryEmail\"></div>\r\n <div class=\"header-relation-phone\" [textContent]=\"relation.primaryPhoneOrMobileNumber\"></div>\r\n </ng-template>\r\n <co-dialog class=\"transaction-header-relation-dialog\" [customCssClass]=\"'co-small-toolbar'\" *ngIf=\"showDialog\"\r\n [headerTemplate]=\"dialogHeader\" [footerTemplate]=\"dialogFooter\" (closeClick)=\"showDialog = false\">\r\n <ng-template #dialogHeader>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"'CLIENT_INFORMATION' | localize\"></div>\r\n <co-transaction-header-block\r\n [headerBlockTemplate]=\"headerBlock\"\r\n [firstBlockTemplate]=\"firstBlock\"\r\n [secondBlockTemplate]=\"secondBlock\"\r\n ></co-transaction-header-block>\r\n <co-transaction-filter-categories [categories]=\"categories\" (categoryClick)=\"handleNavigationClick($event)\"></co-transaction-filter-categories>\r\n </ng-template>\r\n <co-form>\r\n <div #navigationItems class=\"header-relation-navigation-wrapper\">\r\n <div #mainItems class=\"header-relation-navigation-content\">\r\n <div class=\"header-relation-section\">\r\n <div class=\"header-relation-section-label\" [textContent]=\"'PERSONAL_DATA' | localize\"></div>\r\n <co-relation-type\r\n [readonly]=\"readonly\"\r\n [relation]=\"relation\"\r\n ></co-relation-type>\r\n <ng-container *ngIf=\"relationType === relationKind.Customer\">\r\n <relation-customer-groups [readonly]=\"readonly\" [model]=\"customerGroup\" (modelChange)=\"handleChangeCustomGroup($event)\" required></relation-customer-groups>\r\n </ng-container>\r\n <co-relation-general [readonly]=\"readonly\" [(relation)]=\"relation\"></co-relation-general>\r\n </div>\r\n <div class=\"header-relation-section\">\r\n <div class=\"header-relation-section-label\" [textContent]=\"'ADDRESSES' | localize\"></div>\r\n <co-relation-addresses\r\n [readonly]=\"readonly\"\r\n [addresses]=\"relation.activeAddresses\"\r\n [type]=\"addressType.DeliveryAddress\"\r\n [selectedNawNr]=\"deliveryAddressNawNr\"\r\n (addressSaved)=\"saveAddress(addressType.DeliveryAddress, $event)\"\r\n (selectedNawNrChange)=\"setIndexDeliveryAddress($event)\"\r\n ></co-relation-addresses>\r\n <div class=\"header-relation-section-label\" [textContent]=\"'INVOICE_ADDRESS' | localize\"></div>\r\n <co-input-checkbox [readonly]=\"readonly\" [(model)]=\"invoiceAddressSameAsDeliveryAddress\" (modelChange)=\"checkSameAddress($event)\" [label]=\"'SAME_AS_DELIVERY' | localize\"></co-input-checkbox>\r\n <div class=\"overview-delivery-invoice-address\" *ngIf=\"!invoiceAddressSameAsDeliveryAddress\" @showHideInvoiceAddress>\r\n <co-relation-addresses\r\n [readonly]=\"readonly\"\r\n [addresses]=\"relation.activeAddresses\"\r\n [type]=\"addressType.BillingAddress\"\r\n [selectedNawNr]=\"invoiceAddressNawNr\"\r\n (addressSaved)=\"saveAddress(addressType.BillingAddress, $event)\"\r\n (selectedNawNrChange)=\"setIndexInvoiceAddress($event)\"\r\n ></co-relation-addresses>\r\n </div>\r\n </div>\r\n <div class=\"header-relation-section\">\r\n <div class=\"header-relation-section-label\" [textContent]=\"'CONTACT_DETAILS' | localize\"></div>\r\n <co-relation-contact-details [readonly]=\"readonly\" [relation]=\"relation\"></co-relation-contact-details>\r\n </div>\r\n </div>\r\n <div #preferenceItems class=\"header-relation-navigation-content\">\r\n <co-relation-preferences [readonly]=\"readonly\" [relation]=\"relation\"></co-relation-preferences>\r\n </div>\r\n </div>\r\n </co-form>\r\n <ng-template #dialogFooter>\r\n <div class=\"co-dialog-footer-button-wrapper\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick()\"></co-button>\r\n </div>\r\n </ng-template>\r\n </co-dialog>\r\n `,\r\n providers: [\r\n FormMasterService\r\n ],\r\n animations: [\r\n trigger(\"showHideInvoiceAddress\", [\r\n state(\"void\", style({height: 0, opacity: 0})),\r\n state(\"*\", style({height: \"*\", opacity: 1})),\r\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\r\n transition(\"* => void\", animate(\"200ms ease-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderRelationComponent extends TransactionBaseComponent {\r\n public readonly addressType: typeof AddressType = AddressType;\r\n\r\n @ViewChild('navigationItems', {read: ElementRef})\r\n public navigationItems: ElementRef;\r\n\r\n @ViewChild('mainItems', {read: ElementRef})\r\n public mainItems: ElementRef;\r\n\r\n @ViewChild('preferenceItems', {read: ElementRef})\r\n public preferenceItems: ElementRef;\r\n\r\n @HostBinding(\"class.co-transaction-header-relation\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public deliveryAddressNawNr: number = 0;\r\n public invoiceAddressNawNr: number = 0;\r\n public invoiceAddressSameAsDeliveryAddress: boolean = true;\r\n public showDialog: boolean = false;\r\n public categories: string[] = [this._dictionary.get('CLIENT_DATA'), this._dictionary.get('PRIVACY_PREFERENCES')];\r\n public customerGroup: string;\r\n public relationType: RelationKind = RelationKind.Customer;\r\n public readonly: boolean = false;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n constructor(\r\n protected readonly service: TransactionService,\r\n private _dictionary: DictionaryService,\r\n private _dialogService: DialogService,\r\n private _relationService: RelationService,\r\n private _formMasterService: FormMasterService\r\n ) {\r\n super(service);\r\n }\r\n\r\n public relationSet(): void {\r\n this.relationType = this.relation.relationType;\r\n if (this.relationType === RelationKind.Customer) {\r\n this.customerGroup = (this.relation as CustomerFullObject).customerGroup;\r\n }\r\n }\r\n\r\n public setIndexDeliveryAddress(nawNr: number): void {\r\n const address: Address = this.relation.addresses.find(a => a.nawNr === nawNr);\r\n if (address) {\r\n // address.searchAddress = true;\r\n this.deliveryAddressNawNr = nawNr;\r\n }\r\n }\r\n\r\n public setIndexInvoiceAddress(nawNr: number): void {\r\n const address: Address = this.relation.addresses.find(a => a.nawNr === nawNr);\r\n if (address) {\r\n // address.searchAddress = true;\r\n this.invoiceAddressNawNr = nawNr;\r\n }\r\n }\r\n\r\n public checkSameAddress(checked: boolean): void {\r\n if (checked) {\r\n // this.editAddressType = AddressType.DeliveryAddress;\r\n // this.selectAddress(this.deliveryAddress);\r\n }\r\n }\r\n\r\n public handleNavigationClick(nav: string): void {\r\n if (nav === this._dictionary.get('CLIENT_DATA')) {\r\n this.navigationItems.nativeElement.scrollLeft = this.mainItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else {\r\n this.navigationItems.nativeElement.scrollLeft = this.preferenceItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n }\r\n }\r\n\r\n public handleChangeCustomGroup(group: string): void {\r\n this.customerGroup = group;\r\n if (this.relationType === RelationKind.Customer) {\r\n (this.relation as CustomerFullObject).customerGroup = this.customerGroup;\r\n }\r\n }\r\n\r\n public async handleShowDialog(): Promise<void> {\r\n const lockResult: ValidationResult = await this._relationService.lockRelation(this.relation.relationType, parseInt(this.relation.relationNumber, 0));\r\n if (!lockResult.success) {\r\n const question = await this._dialogService.showYesNo(\"LOCKED\", lockResult.messages[0].message);\r\n if (question) {\r\n this.readonly = true;\r\n this.showDialog = true;\r\n }\r\n } else {\r\n this.readonly = false;\r\n this.showDialog = true;\r\n }\r\n }\r\n\r\n public handleOkClick(): void {\r\n if (this._formMasterService.submitSlaves()) {\r\n this._relationService.updateRelation(this.relation.relationType, this.relation).then(async () => {\r\n if (await this._relationService.commit()) {\r\n this.showDialog = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n public saveAddress(type: AddressType, address: Address): void {\r\n if (!address.nawNr) { // new address\r\n address.addressType = type;\r\n address.startDate = new Date();\r\n address.sequence = this.relation.getNextAddressSequence();\r\n this.relation.addresses.push(address);\r\n } else {\r\n const idx: number = this.relation.addresses.findIndex(a => a.nawNr === address.nawNr);\r\n if (idx > -1) {\r\n this.relation.addresses[idx] = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, address);\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'co-transaction-filter-categories',\r\n template: `\r\n <div class=\"transaction-filter-categories-wrapper\">\r\n <div class=\"transaction-filter-category\" *ngFor=\"let category of categories\" [class.active]=\"category === activeCategory\"\r\n [textContent]=\"category\"\r\n (click)=\"handleCategoryClick(category)\"\r\n ></div>\r\n </div>\r\n `\r\n})\r\nexport class TransactionFilterCategoriesComponent {\r\n\r\n @Input()\r\n public set categories(value: string[]) {\r\n if (value && value.length > 0) {\r\n this._categories = value;\r\n this.activeCategory = this._categories[0];\r\n }\r\n }\r\n\r\n public get categories(): string[] {\r\n return this._categories;\r\n }\r\n\r\n @Output()\r\n public categoryClick: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-transaction-filter-categories\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public activeCategory: string;\r\n\r\n private _categories: string[] = [];\r\n\r\n public handleCategoryClick(category: string): void {\r\n this.activeCategory = category;\r\n this.categoryClick.emit(category);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionFilterCategoriesComponent} from \"./transaction-filter-categories.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n TransactionFilterCategoriesComponent\r\n ],\r\n exports: [\r\n TransactionFilterCategoriesComponent\r\n ]\r\n})\r\nexport class TransactionFilterCategoriesModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderRelationComponent} from \"./transaction-header-relation.component\";\r\nimport {TransactionHeaderBlockModule} from \"../../core/base/components/transaction-header-block/transaction-header-block.module\";\r\nimport {CheckoutModule} from \"../../checkout/checkout.module\";\r\nimport {RelationTypeModule} from \"../../relation/relation-type/relation-type.module\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {RelationGeneralModule} from \"../../relation/relation-general/relation-general.module\";\r\nimport {RelationAddressModule} from \"../../relation/relation-address/relation-address.module\";\r\nimport {RelationAddressesModule} from \"../../relation/relation-addresses/relation-addresses.module\";\r\nimport {ButtonModule, CoDialogModule, FormModule, InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {RelationContactDetailsModule} from \"../../relation/relation-contact-details/relation-contact-details.module\";\r\nimport {RelationPreferencesModule} from \"../../relation/relation-preferences/relation-preferences.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TransactionFilterCategoriesModule} from \"../../transaction-search/transaction-filter-categories/transaction-filter-categories.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionHeaderBlockModule,\r\n CheckoutModule,\r\n RelationTypeModule,\r\n CoreModule,\r\n RelationGeneralModule,\r\n RelationAddressModule,\r\n RelationAddressesModule,\r\n InputCheckboxModule,\r\n RelationContactDetailsModule,\r\n RelationPreferencesModule,\r\n PipeModule,\r\n CoDialogModule,\r\n TransactionFilterCategoriesModule,\r\n ButtonModule,\r\n FormModule\r\n ],\r\n declarations: [\r\n TransactionHeaderRelationComponent\r\n ],\r\n exports: [\r\n TransactionHeaderRelationComponent\r\n ]\r\n})\r\nexport class TransactionHeaderRelationModule {}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-order\",\r\n template: `\r\n <co-transaction-header-block\r\n [headerBlockTemplate]=\"headerBlock\"\r\n [firstBlockTemplate]=\"firstBlock\"\r\n [secondBlockTemplate]=\"secondBlock\"\r\n [thirdBlockTemplate]=\"thirdBlock\"\r\n >\r\n </co-transaction-header-block>\r\n <ng-template #headerBlock>\r\n <div class=\"header-block-label\" [textContent]=\"transactionInfo.branch?.familyName\"></div>\r\n <div class=\"header-discount\" (click)=\"handleShowDiscountDialog($event)\">\r\n <co-icon class=\"header-discount-icon\" [iconData]=\"iconService.getIcon(icons.PercentSolid)\"></co-icon>\r\n <span class=\"co-transaction-overflow-ellipsis transaction-discount\" [class.transaction-negative-value]=\"transactionTotal.totalDiscountAmount < 0\"\r\n [textContent]=\"(transactionTotal.totalDiscountAmount | coCurrency) || ('DISCOUNT' | localize)\"></span>\r\n </div>\r\n </ng-template>\r\n <ng-template #firstBlock>\r\n <span class=\"header-order-total-label co-transaction-label\" [textContent]=\"'ORDER_TOTAL' | localize\"></span>\r\n <div class=\"header-order-total\" [textContent]=\"transactionTotal.netAmount | priceDisplay\"></div>\r\n </ng-template>\r\n <ng-template #secondBlock>\r\n <div class=\"header-order-definitive\">\r\n <co-transaction-header-definitive [transactionInfo]=\"transactionInfo\"></co-transaction-header-definitive>\r\n </div>\r\n </ng-template>\r\n <ng-template #thirdBlock>\r\n <span class=\"header-order-line-amount-label co-transaction-label\" [textContent]=\"'ORDER_LINES' | localize\"></span>\r\n <div class=\"header-order-line-amount\" [textContent]=\"transactionLines.length\"></div>\r\n </ng-template>\r\n <co-dialog-transaction-header-discount class=\"discount-dialog\" *ngIf=\"showDiscountDialog\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionTotal]=\"transactionTotal\"\r\n (close)=\"showDiscountDialog = false\">\r\n </co-dialog-transaction-header-discount>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderOrderComponent extends TransactionBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding('class.co-transaction-header-order')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public showDiscountDialog: boolean = false;\r\n\r\n constructor(\r\n public iconService: IconCacheService,\r\n protected readonly service: TransactionService\r\n ) {\r\n super(service);\r\n }\r\n\r\n public handleShowDiscountDialog(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.showDiscountDialog = true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderOrderComponent} from \"./transaction-header-order.component\";\r\nimport {TransactionHeaderBlockModule} from \"../../core/base/components/transaction-header-block/transaction-header-block.module\";\r\nimport {IconModule, InputCheckboxModule, PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {DialogTransactionHeaderDiscountModule} from \"../../dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module\";\r\nimport {TransactionHeaderDefinitiveModule} from \"../../transaction-header-fields/transaction-header-definitive.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionHeaderBlockModule,\r\n InputCheckboxModule,\r\n PipeModule,\r\n PriceDisplayPipeModule,\r\n DialogTransactionHeaderDiscountModule,\r\n TransactionHeaderDefinitiveModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n TransactionHeaderOrderComponent\r\n ],\r\n exports: [\r\n TransactionHeaderOrderComponent\r\n ]\r\n})\r\nexport class TransactionHeaderOrderModule {}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionDownPaymentInfo} from \"@colijnit/transactionapi/build/model/transaction-down-payment-info.bo\";\r\nimport {PaymentService} from \"../../../service/payment.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-header-payment\",\r\n template: `\r\n <co-transaction-header-block\r\n [headerBlockTemplate]=\"headerBlock\"\r\n [firstBlockTemplate]=\"firstBlock\"\r\n [secondBlockTemplate]=\"secondBlock\"\r\n [hasDetails]=\"true\"\r\n (headerClick)=\"showDialog = true\"\r\n >\r\n </co-transaction-header-block>\r\n <ng-template #headerBlock>\r\n <div class=\"header-block-label\" [textContent]=\"'BALANCE' | localize\"></div>\r\n <div class=\"header-block-balance\" *ngIf=\"transactionInfo.transactionKind !== transactionKind.PurchaseOrder\" (click)=\"openPayment($event)\">\r\n <co-icon class=\"payment-icon\" [iconData]=\"iconService.getIcon(icons.CreditCardSolid)\"></co-icon>\r\n <div class=\"payment-payed-wrapper\">\r\n <span class=\"payment-to-pay\" [textContent]=\"(toPay | priceDisplay) || 0\"></span>\r\n <span class=\"payment-divider\" [textContent]=\"'/'\"></span>\r\n <span class=\"payment-paid\" [class.success]=\"paid >= toPay\" [textContent]=\"(paid | priceDisplay) || 0\"></span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #firstBlock>\r\n <div class=\"header-downpayment-label co-transaction-label\" [textContent]=\"'DOWNPAYMENT_PERCENTAGE' | localize\"></div>\r\n <co-transaction-header-downpayment-percentage class=\"transaction-header-downpayment\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [defaultEditMode]=\"false\"\r\n [showLabel]=\"false\"\r\n ></co-transaction-header-downpayment-percentage>\r\n </ng-template>\r\n <ng-template #secondBlock>\r\n <div class=\"header-downpayment-label co-transaction-label\" [textContent]=\"'DOWNPAYMENT_AMOUNT' | localize\"></div>\r\n <co-transaction-header-downpayment-amount class=\"transaction-header-downpayment\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [defaultEditMode]=\"false\"\r\n [showLabel]=\"false\"\r\n ></co-transaction-header-downpayment-amount>\r\n </ng-template>\r\n <co-dialog class=\"transaction-header-payment-dialog\" [headerTemplate]=\"headerTemplate\" *ngIf=\"showDialog\" (closeClick)=\"showDialog = false\">\r\n <ng-template #headerTemplate>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"'PAYMENT_INFORMATION' | localize\"></div>\r\n <co-transaction-header-block\r\n [headerBlockTemplate]=\"headerBlock\"\r\n [firstBlockTemplate]=\"firstBlock\"\r\n [secondBlockTemplate]=\"secondBlock\"\r\n >\r\n </co-transaction-header-block>\r\n </ng-template>\r\n <div class=\"payment-dialog-section\">\r\n <span [textContent]=\"'NOG_NIET_GEIMPLEMENTEERD'\"></span>\r\n </div>\r\n <div class=\"payment-dialog-section\">\r\n <span [textContent]=\"'NOG_NIET_GEIMPLEMENTEERD'\"></span>\r\n </div>\r\n </co-dialog>\r\n <co-dialog class=\"payment-dialog\" [customCssClass]=\"'co-small-toolbar'\" *ngIf=\"showPaymentDialog\"\r\n [modal]=\"true\"\r\n (closeClick)=\"showPaymentDialog = false\"\r\n >\r\n <co-payment\r\n [transactionUuid]=\"transactionInfo.uuid\"\r\n [amount]=\"transactionTotal.netAmount\"\r\n [currencyId]=\"transactionInfo.currencyId\"\r\n ></co-payment>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHeaderPaymentComponent extends TransactionBaseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly transactionKind: typeof TransactionKind = TransactionKind;\r\n\r\n @HostBinding(\"class.co-transaction-header-payment\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showDialog: boolean = false;\r\n public showPaymentDialog: boolean = false;\r\n public paid: number = 0;\r\n public toPay: number = 0;\r\n\r\n constructor(\r\n public iconService: IconCacheService,\r\n protected readonly service: TransactionService,\r\n private _paymentService: PaymentService\r\n ) {\r\n super(service);\r\n }\r\n\r\n public openPayment(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.showPaymentDialog = true;\r\n }\r\n\r\n public transactionSet(): void {\r\n this._getDownpaymentInfo();\r\n }\r\n\r\n private _getDownpaymentInfo(): void {\r\n this._paymentService.getDownPaymentInfo(this.transactionInfo.uuid).then((info: TransactionDownPaymentInfo) => {\r\n if (info) {\r\n this.toPay = info.toDownPayAmount;\r\n this.paid = info.payedDownAmount;\r\n }\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderPaymentComponent} from \"./transaction-header-payment.component\";\r\nimport {TransactionHeaderBlockModule} from \"../../core/base/components/transaction-header-block/transaction-header-block.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {CoDialogModule, IconModule, PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PaymentModule} from \"../../payment/payment.module\";\r\nimport {TransactionHeaderDownpaymentPercentageModule} from \"../../transaction-header-fields/transaction-header-downpayment-percentage.module\";\r\nimport {TransactionHeaderDownpaymentAmountModule} from \"../../transaction-header-fields/transaction-header-downpayment-amount.module\";\r\nimport {DialogTransactionHeaderDiscountModule} from \"../../dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionHeaderBlockModule,\r\n PipeModule,\r\n PriceDisplayPipeModule,\r\n CoDialogModule,\r\n PaymentModule,\r\n IconModule,\r\n TransactionHeaderDownpaymentPercentageModule,\r\n TransactionHeaderDownpaymentAmountModule,\r\n DialogTransactionHeaderDiscountModule\r\n ],\r\n declarations: [\r\n TransactionHeaderPaymentComponent\r\n ],\r\n exports: [\r\n TransactionHeaderPaymentComponent\r\n ]\r\n})\r\nexport class TransactionHeaderPaymentModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionHeaderComponent} from \"./transaction-header.component\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionHeaderRelationModule} from \"../transaction-header-relation/transaction-header-relation.module\";\r\nimport {TransactionHeaderDeliveryModule} from \"../transaction-header-delivery/transaction-header-delivery.module\";\r\nimport {TransactionHeaderOrderModule} from \"../transaction-header-order/transaction-header-order.module\";\r\nimport {TransactionHeaderPaymentModule} from \"../transaction-header-payment/transaction-header-payment.module\";\r\nimport {CarouselModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionHeaderRelationModule,\r\n TransactionHeaderDeliveryModule,\r\n TransactionHeaderOrderModule,\r\n TransactionHeaderPaymentModule,\r\n CarouselModule\r\n ],\r\n declarations: [\r\n TransactionHeaderComponent\r\n ],\r\n exports: [\r\n TransactionHeaderComponent\r\n ]\r\n})\r\nexport class TransactionHeaderModule {}\r\n","import {Component, HostBinding, Input, OnDestroy, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {StatusbarData} from \"@colijnit/sharedcomponents\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {TransactionTypeCategory} from \"../../enum/transaction-type-category.enum\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {TransactionEventService} from \"../../service/transaction-event.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-statusbar\",\r\n template: `\r\n <co-statusbar [statusbarData]=\"statusbarData\" [focusedStatusIndex]=\"focusedStatusIndex\"></co-statusbar>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineStatusbarComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public set transaction(value: TransactionLineInfo) {\r\n this._transaction = value;\r\n this._total = value.amount;\r\n }\r\n\r\n public get transaction(): TransactionLineInfo {\r\n return this._transaction;\r\n }\r\n\r\n @Input()\r\n public transactionKind: TransactionKind;\r\n\r\n @Input()\r\n public transactionTypeCategory: TransactionTypeCategory;\r\n\r\n @HostBinding(\"class.co-transaction-line-statusbar\")\r\n public showClass: boolean = true;\r\n\r\n constructor(\r\n protected _dictionary: DictionaryService,\r\n private _transactionEventService: TransactionEventService\r\n ) { }\r\n\r\n private _transaction: TransactionLineInfo;\r\n private _total: number;\r\n private _subscriptions: Subscription[] = [];\r\n\r\n public statusbarData: StatusbarData[];\r\n public focusedStatusIndex: number;\r\n\r\n public ngOnInit(): void {\r\n this.setStatusbarData();\r\n\r\n this._subscriptions.push(\r\n this._transactionEventService.transactionLineChanged.subscribe((line) => {\r\n if (line.lineNr === this.transaction.lineNr) {\r\n this.transaction.quantityAllocatedFromStock = line.quantityAllocated;\r\n this.setStatusbarData();\r\n }\r\n })\r\n );\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._subscriptions.forEach((subscription: Subscription) => subscription.unsubscribe());\r\n }\r\n\r\n public setStatusbarData(){\r\n if (this.transactionKind === TransactionKind.PurchaseOrder){\r\n this.setStatusbarDataForPurchaseOrder();\r\n } else {\r\n this.setStatusbardataForSalesOrder();\r\n }\r\n this.setFocusedStatusBlock();\r\n }\r\n\r\n public setStatusbardataForSalesOrder(){\r\n const transaction = this._transaction;\r\n\r\n this.statusbarData = [\r\n this.getStatusbarLine(\"TO_ORDER\", transaction.amount), //Te bestellen\r\n this.getStatusbarLine(\"ALLOCATED\", transaction.quantityAllocatedFromStock), //Toegewezen\r\n this.getStatusbarLine(\"PLANNING_REQUESTED\", transaction.quantityPlanningRequested), //Voorkeur aangevraagd\r\n this.getStatusbarLine(\"PLANNING_PREFERRED_DATE_ENTERED\", transaction.quantityPlanningPreferredDateEntered), //Voorkeur aangevraagd\r\n this.getStatusbarLine(\"TO_BE_PICKED\", transaction.quantityToBePicked), //Te picken\r\n this.getStatusbarLine(\"PICKED\", transaction.quantityPicked), //Gepickt\r\n this.getStatusbarLine(\"PLANNED\", transaction.quantityPlanningFinal), //Gepland\r\n this.getStatusbarLine(\"DELIVERED\", transaction.quantityDelivered), //Geleverd\r\n this.getStatusbarLine(\"INVOICED\", transaction.quantityInvoiced), //Gefactureerd\r\n ];\r\n }\r\n\r\n public setStatusbarDataForPurchaseOrder(){\r\n const transaction = this._transaction;\r\n\r\n this.statusbarData = [\r\n this.getStatusbarLine(\"IN_ORDER\",transaction.amount), //In bestelling\r\n this.getStatusbarLine(\"CONFIRMED\", transaction.quantityPurchaseConfirmed), //bevestigd\r\n this.getStatusbarLine(\"TRANSPORT_NOTIFICATION\", transaction.quantityTransportNotification), //Transport notificatie\r\n //this.getStatusbarLine(),// Vooraangemeld todo: als BE gereed is\r\n this.getStatusbarLine(\"ITEM_ACCEPTED\", transaction.quantityItemAccepted),// Binnengemeld\r\n //this.getStatusbarLine(),// Factuurcheck todo: als BE gereed is\r\n ];\r\n }\r\n\r\n public getStatusbarLine(label, property): StatusbarData {\r\n return { label: this._dictionary.get(label), percentage: this.calculatePercentage(property, this._total), count: property};\r\n }\r\n\r\n public calculatePercentage(amount: number, totalAmount: number): number {\r\n if (amount === 0 || totalAmount === 0){\r\n return 0;\r\n }\r\n return Math.floor((amount / totalAmount) * 100);\r\n }\r\n\r\n private setFocusedStatusBlock() {\r\n switch (this.transactionTypeCategory) {\r\n case TransactionTypeCategory.SalesOrderPurchase:\r\n this.focusedStatusIndex = 0;\r\n break;\r\n case TransactionTypeCategory.SalesOrderAllocation:\r\n this.focusedStatusIndex = 1;\r\n break;\r\n case TransactionTypeCategory.SalesOrderDeliveryNote:\r\n this.focusedStatusIndex = 7;\r\n break;\r\n case TransactionTypeCategory.SalesOrderInvoice:\r\n this.focusedStatusIndex = 8;\r\n break;\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { StatusbarModule } from \"@colijnit/sharedcomponents\";\r\nimport {TransactionLineStatusbarComponent} from \"./transaction-line-statusbar.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n StatusbarModule\r\n ],\r\n declarations: [\r\n TransactionLineStatusbarComponent\r\n ],\r\n exports: [\r\n TransactionLineStatusbarComponent\r\n ]\r\n})\r\nexport class TransactionLineStatusbarModule {\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionGridBaseComponent} from \"../../core/base/transaction-grid-base.component\";\r\nimport {ColumnAlign} from \"@colijnit/corecomponents_v12\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-base-grid\",\r\n template: `\r\n <co-simple-grid [data]=\"transactionLines\"\r\n [extraColumns]=\"extraColumns\"\r\n [dragDropEnabled]=\"true\"\r\n [emitDragDrop]=\"true\"\r\n (onDrop)=\"handleDrop($event)\"\r\n (rowVisible)=\"rowVisible.next($event)\">\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [width]=\"300\" [order]=\"10\">\r\n <ng-template #template let-row = \"row\">\r\n <div class=\"transaction-grid-article-description\" [textContent]=\"row.goodDescription\"></div>\r\n <div class=\"transaction-grid-article-text\" [textContent]=\"row.articleBoundConcatenatedText\"></div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [width]=\"150\" [order]=\"20\">\r\n <ng-template #template let-row = \"row\">\r\n <co-image-display class=\"transaction-grid-article-image\" [model]=\"row.articleImageData\"></co-image-display>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [field]=\"'articleNumber'\" [width]=\"70\" [order]=\"30\" [textAlign]=\"align.Center\">\r\n <ng-template #headerTemplate>\r\n <icon class=\"transaction-grid-header-icon\" [icon]=\"icon.BarcodeSolid\"></icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"''\" [width]=\"40\" [field]=\"'sideMenuButton'\" [order]=\"400\">\r\n <ng-template #template let-row = \"row\">\r\n <co-transaction-line-action-buttons *ngIf=\"row.isArticle\" class=\"transaction-line-action-buttons\"\r\n [transactionLine]=\"row\"\r\n (sidePanelButtonClicked)=\"openSidePanel(row)\"\r\n ></co-transaction-line-action-buttons>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionBaseGridComponent extends TransactionGridBaseComponent {\r\n public readonly align: typeof ColumnAlign = ColumnAlign;\r\n public readonly icon: typeof Icon = Icon;\r\n\r\n @HostBinding('class.co-transaction-base-grid')\r\n public showClass: boolean = true;\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-side-panel-default\",\r\n template: `\r\n <co-collapsible\r\n [iconData]=\"iconService.getIcon(icons.TriangleUp)\"\r\n [headerTitle]=\"'PRICING' | localize\"\r\n [expandButtonLast]=\"true\"\r\n [expanded]=\"true\"\r\n >\r\n <div class=\"collapsible-content-wrapper\">\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'NET_LINE_TOTAL' | localize\" [model]=\"transactionLine.netLineTotal\" [readonly]=\"true\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-quantity class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-quantity>\r\n <co-transaction-line-price class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-price>\r\n </div>\r\n </div>\r\n </co-collapsible>\r\n <co-collapsible\r\n [iconData]=\"iconService.getIcon(icons.TriangleUp)\"\r\n [headerTitle]=\"'LOGISTICS_AND_PLANNING' | localize\"\r\n [expandButtonLast]=\"true\"\r\n [expanded]=\"true\"\r\n >\r\n <div class=\"collapsible-content-wrapper\">\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'ASSEMBLY_TIME' | localize\" [readonly]=\"readonly\"></co-input-text>\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'ASSEMBLY_COSTS' | localize\" [type]=\"'number'\" [model]=\"transactionLine.assemblyCost\" [readonly]=\"readonly\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'MODIFICATION_TIME' | localize\" [readonly]=\"readonly\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-supplier class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-supplier>\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'ARTICLE_NR_SUPPLIER' | localize\" [model]=\"transactionLine.articleNumber\" [readonly]=\"readonly\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'IN_OUT_COLLECTION' | localize\" [readonly]=\"readonly\"></co-input-text>\r\n </div>\r\n </div>\r\n </co-collapsible>\r\n\r\n <co-collapsible\r\n [iconData]=\"iconService.getIcon(icons.TriangleUp)\"\r\n [headerTitle]=\"'OTHER' | localize\"\r\n [expandButtonLast]=\"true\"\r\n [expanded]=\"true\"\r\n >\r\n <div class=\"collapsible-content-wrapper\">\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-description class=\"side-panel-input\"\r\n [transactionLine]=\"transactionLine\"></co-transaction-line-description>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-transaction-line-reference class=\"side-panel-input\" [transactionLine]=\"transactionLine\"></co-transaction-line-reference>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'ORDER_RULESET' | localize\" [readonly]=\"readonly\"></co-input-text>\r\n </div>\r\n <div class=\"side-panel-input-row\">\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'LAST_EDITED_DATE' | localize\" [readonly]=\"readonly\"></co-input-text>\r\n <co-input-text class=\"side-panel-input\" [placeholder]=\"'LAST_EDITED_USER' | localize\" [readonly]=\"readonly\"></co-input-text>\r\n </div>\r\n <co-input-text [placeholder]=\"'FABRICATION_COST' | localize\" [readonly]=\"readonly\"></co-input-text>\r\n <co-input-text [placeholder]=\"'TRANSPORT_COST' | localize\" [readonly]=\"readonly\"></co-input-text>\r\n <co-input-text [placeholder]=\"'FABRICATION_COST_LINE_TOTAL' | localize\" [readonly]=\"readonly\"></co-input-text>\r\n <co-input-text [placeholder]=\"'TRANSPORT_COST_LINE_TOTAL' | localize\" [readonly]=\"readonly\"></co-input-text>\r\n <co-input-text [placeholder]=\"'CUSTOMER' | localize\" [readonly]=\"readonly\"></co-input-text>\r\n </div>\r\n </co-collapsible>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSidePanelDefaultComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set transactionLine(value: TransactionLineInfo) {\r\n this._transactionLine = value;\r\n this.readonly = this._transactionLine.hasInvoices;\r\n }\r\n\r\n public get transactionLine(): TransactionLineInfo {\r\n return this._transactionLine;\r\n }\r\n\r\n @Input()\r\n public transactionInfo: TransactionInfo;\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-transaction-line-side-panel-default\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public data = [];\r\n public readonly: boolean = false;\r\n\r\n private _transactionLine: TransactionLineInfo;\r\n\r\n constructor(\r\n public iconService: IconCacheService,\r\n private _transactionService: TransactionService\r\n ) {\r\n }\r\n\r\n public handleCancelClick(event: MouseEvent): void {\r\n this.cancelClick.next(event);\r\n }\r\n}\r\n","import {Component, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionLineBaseComponent} from \"../core/base/transaction-line-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-quantity\",\r\n template: `\r\n <co-input-number-picker [label]=\"'AMOUNT' | localize\" [(model)]=\"transactionLine.amount\" [readonly]=\"readonly\"></co-input-number-picker>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineQuantityComponent extends TransactionLineBaseComponent<number> {\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commit(quantity: number): Promise<boolean> {\r\n if (this.transactionLine.amount !== quantity) {\r\n const oldAmount = this.transactionLine.amount;\r\n const success = await this._transactionService.updateQuantityTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, quantity);\r\n if (!success) {\r\n this.transactionLine.amount = oldAmount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineQuantityComponent} from \"./transaction-line-quantity.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {InputNumberPickerModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputNumberPickerModule\r\n ],\r\n declarations: [\r\n TransactionLineQuantityComponent\r\n ],\r\n exports: [\r\n TransactionLineQuantityComponent\r\n ]\r\n})\r\nexport class TransactionLineQuantityModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\nimport {TransactionLineBaseComponent} from \"../core/base/transaction-line-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-line-discount\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'DISCOUNT_PERCENTAGE' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionLine.lineDiscount\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineLineDiscountComponent extends TransactionLineBaseComponent<number> {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (discount) => this.commit(discount);\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commit(discount: number): Promise<boolean> {\r\n if (this.transactionLine.lineDiscount !== discount) {\r\n const oldDiscount = this.transactionLine.lineDiscount;\r\n const success = await this._transactionService.updateDiscountTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, DiscountType.TransactionLineDiscountPercentage, discount);\r\n if (!success) {\r\n this.input.model = oldDiscount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineLineDiscountComponent} from \"./transaction-line-line-discount.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineLineDiscountComponent\r\n ],\r\n exports: [\r\n TransactionLineLineDiscountComponent\r\n ]\r\n})\r\nexport class TransactionLineLineDiscountModule {\r\n}\r\n","import {Directive, EventEmitter, Input, Output} from \"@angular/core\";\r\nimport {BusinessObject} from \"@colijnit/ioneconnector/build/model/business-object\";\r\nimport {TransactionLineBaseComponent} from \"./transaction-line-base.component\";\r\n\r\n@Directive()\r\nexport abstract class TransactionFilterPopupBaseComponent<T extends BusinessObject | number | string> extends TransactionLineBaseComponent<T> {\r\n\r\n @Input()\r\n public autoClose: boolean = false;\r\n\r\n @Input()\r\n public useModel: boolean = true;\r\n\r\n @Input()\r\n public set searchText(value: string) {\r\n if (value !== undefined && value !== null) {\r\n this._searchText = value;\r\n this._doSearch();\r\n }\r\n }\r\n\r\n public get searchText(): string {\r\n return this._searchText;\r\n }\r\n\r\n @Input()\r\n public value: any;\r\n\r\n @Output()\r\n public valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public closeAfterCommit: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public set collection(value: T[]) {\r\n this._collection = value;\r\n this.prepareViewModels();\r\n }\r\n\r\n public get collection(): T[] {\r\n return this._collection;\r\n }\r\n\r\n public viewModels: {value: any, propsForLabel: string[], checked: boolean}[] = [];\r\n public viewModelsFiltered: {value: any, propsForLabel: string[], checked: boolean}[] = [];\r\n\r\n protected codeField: string;\r\n protected checkField: string;\r\n protected propsForLabel: string[] = [];\r\n\r\n private _collection: T[] = [];\r\n private _searchText: string;\r\n\r\n public commit(value: any): Promise<boolean> {\r\n return Promise.resolve(true);\r\n }\r\n\r\n public async handleChecked(row: {value: number, text: string, checked: boolean}): Promise<void> {\r\n row.checked = true;\r\n const currentModel = this.viewModels.find(v => v.value === row.value);\r\n if (currentModel) {\r\n currentModel.checked = true;\r\n }\r\n for (let i = 0; i < this.viewModels.length; i++) {\r\n if (this.viewModels[i].value !== row.value) {\r\n this.viewModels[i].checked = false;\r\n }\r\n }\r\n if (this.useModel) {\r\n if (this.autoClose) {\r\n if (await this.commit(row.value)) {\r\n this.closeAfterCommit.emit();\r\n }\r\n } else {\r\n this.commit(row.value);\r\n }\r\n } else {\r\n this.valueChange.emit(row.value);\r\n }\r\n }\r\n\r\n protected prepareViewModels(): void {\r\n this.collection.forEach((d, index) => {\r\n const labels: any[] = this.propsForLabel.map(p => d[p]);\r\n this.viewModels.push(\r\n {\r\n value: d[this.codeField],\r\n propsForLabel: labels,\r\n checked: (this.useModel && this.model && this.checkField) ?\r\n this.model[this.checkField] === d[this.codeField] :\r\n (this.value ? this.value === d[this.codeField] : index === 0)\r\n });\r\n });\r\n this.viewModelsFiltered = this.viewModels.slice();\r\n if (!this.useModel && this.viewModels.length > 0) {\r\n this.valueChange.next(this.value ? this.value : this.viewModels[0].value);\r\n }\r\n }\r\n\r\n private _doSearch(): void {\r\n this.viewModelsFiltered = JSON.parse(JSON.stringify(this.viewModels));\r\n if (this.searchText) {\r\n this.viewModelsFiltered = this.viewModelsFiltered.filter(vmf => {\r\n return vmf.propsForLabel.find(p => p && p.toString().match(new RegExp(this.searchText, 'gi')));\r\n });\r\n // if (!this.searchText) {\r\n // this.viewModelsFiltered = this.viewModels.slice();\r\n // } else {\r\n // this.viewModelsFiltered = JSON.parse(JSON.stringify(this.viewModels));\r\n // for (let i = 0; i < this.viewModelsFiltered.length; i++) {\r\n // const vmf = this.viewModelsFiltered[i];\r\n // for (let j = 0; j < vmf.propsForLabel.length; j++) {\r\n // if (vmf.propsForLabel[j]) {\r\n // vmf.propsForLabel[j] = vmf.propsForLabel[j].replace(new RegExp(this.searchText, 'gi'), `<span class=\"highlight\">${this.searchText}</span>`);\r\n // }\r\n // }\r\n // }\r\n }\r\n }\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {Vat} from \"@colijnit/transactionapi/build/model/vat\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionFilterPopupBaseComponent} from \"../core/base/transaction-filter-popup-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-vat\",\r\n template: `\r\n <co-transaction-line-checkbox-list\r\n [collection]=\"viewModelsFiltered\"\r\n [readonly]=\"readonly\"\r\n (checked)=\"handleChecked($event)\"\r\n ></co-transaction-line-checkbox-list>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineVatComponent extends TransactionFilterPopupBaseComponent<Vat> implements OnInit {\r\n\r\n protected codeField: string = 'vatId';\r\n protected checkField: string = 'vatId';\r\n protected propsForLabel: string[] = ['vatCode', 'description'];\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.viewModels.length = 0;\r\n this._transactionService.getVatLists().then((vatList: Vat[]) => {\r\n this.collection = vatList.slice();\r\n })\r\n }\r\n\r\n public async commit(id: number): Promise<boolean> {\r\n if (this.transactionLine.vatId !== id) {\r\n const oldId = this.transactionLine.vatId;\r\n const success = await this._transactionService.updateVatTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, id);\r\n if (!success) {\r\n this.transactionLine.vatId = oldId;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineVatComponent} from \"./transaction-line-vat.component\";\r\nimport {InputCheckboxModule, InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {ScrollingModule} from \"@angular/cdk/scrolling\";\r\nimport {TransactionLineCheckboxModule} from \"../transaction-line-checkbox-list/transaction-line-checkbox-list.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputComboBoxModule,\r\n InputCheckboxModule,\r\n ScrollingModule,\r\n TransactionLineCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionLineVatComponent\r\n ],\r\n exports: [\r\n TransactionLineVatComponent\r\n ]\r\n})\r\nexport class TransactionLineVatModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {PriceList} from \"@colijnit/transactionapi/build/model/price-list\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionFilterPopupBaseComponent} from \"../core/base/transaction-filter-popup-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-price-list\",\r\n template: `\r\n <co-transaction-line-checkbox-list\r\n [collection]=\"viewModelsFiltered\"\r\n [readonly]=\"readonly\"\r\n (checked)=\"handleChecked($event)\"\r\n ></co-transaction-line-checkbox-list>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLinePriceListComponent extends TransactionFilterPopupBaseComponent<PriceList> implements OnInit {\r\n\r\n protected codeField: string = 'code';\r\n protected checkField: string = 'priceListCode';\r\n protected propsForLabel: string[] = ['code', 'description'];\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.viewModels.length = 0;\r\n this._transactionService.getPriceLists().then((list: PriceList[]) => {\r\n this.collection = list.slice();\r\n })\r\n }\r\n\r\n public async commit(priceList: string): Promise<boolean> {\r\n if (this.transactionLine.priceListCode !== priceList) {\r\n const oldPriceList = this.transactionLine.priceListCode;\r\n const success = await this._transactionService.updatePriceListTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, priceList);\r\n if (!success) {\r\n this.transactionLine.priceListCode = oldPriceList;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionLineSet(): void {\r\n this.readonly = this.readonly || !this.transactionInfo.transactionDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLinePriceListComponent} from \"./transaction-line-price-list.component\";\r\nimport {InputCheckboxModule, InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineCheckboxModule} from \"../transaction-line-checkbox-list/transaction-line-checkbox-list.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputComboBoxModule,\r\n InputCheckboxModule,\r\n TransactionLineCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionLinePriceListComponent\r\n ],\r\n exports: [\r\n TransactionLinePriceListComponent\r\n ]\r\n})\r\nexport class TransactionLinePriceListModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\nimport {TransactionFilterPopupBaseComponent} from \"../core/base/transaction-filter-popup-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-delivery-method\",\r\n template: `\r\n <co-transaction-line-checkbox-list\r\n [collection]=\"viewModelsFiltered\"\r\n [readonly]=\"readonly\"\r\n (checked)=\"handleChecked($event)\"\r\n ></co-transaction-line-checkbox-list>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineDeliveryMethodComponent extends TransactionFilterPopupBaseComponent<DeliveryMethod> implements OnInit {\r\n\r\n protected codeField: string = 'code';\r\n protected checkField: string = 'deliveryMethodCode';\r\n protected propsForLabel: string[] = ['code', 'description'];\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.viewModels.length = 0;\r\n this._transactionService.getDeliveryMethods().then((methods: DeliveryMethod[]) => {\r\n this.collection = methods.slice();\r\n })\r\n }\r\n\r\n public async commit(method: string): Promise<boolean> {\r\n if (this.transactionLine.deliveryMethodCode !== method) {\r\n const oldMethod = this.transactionLine.deliveryMethodCode;\r\n const success = await this._transactionService.updateDeliveryMethodTransactionLine(\r\n this.transactionInfo.uuid, this.transactionLine.uuid, method);\r\n if (!success) {\r\n this.transactionLine.deliveryMethodCode = oldMethod;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || !this.transactionInfo.transactionDefinitive;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineDeliveryMethodComponent} from \"./transaction-line-delivery-method.component\";\r\nimport {InputCheckboxModule, InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineCheckboxModule} from \"../transaction-line-checkbox-list/transaction-line-checkbox-list.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputComboBoxModule,\r\n InputCheckboxModule,\r\n TransactionLineCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionLineDeliveryMethodComponent\r\n ],\r\n exports: [\r\n TransactionLineDeliveryMethodComponent\r\n ]\r\n})\r\nexport class TransactionLineDeliveryMethodModule {\r\n}\r\n","import {Component, HostListener, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionLineBaseComponent} from \"../core/base/transaction-line-base.component\";\r\nimport {InputDatePickerComponent} from \"@colijnit/corecomponents_v12\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-delivery-date\",\r\n template: `\r\n <span *ngIf=\"(!editMode || readonly) && !defaultEditMode\" [textContent]=\"transactionLine.deliveryDate | date:'dd MMM yyyy'\"></span>\r\n <co-input-date #input *ngIf=\"editMode || defaultEditMode\"\r\n [placeholder]=\"showLabel ? ('DELIVERY_DATE' | localize) : ''\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionLine.deliveryDate\"\r\n (modelChange)=\"commit($event)\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-date>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineDeliveryDateComponent extends TransactionLineBaseComponent<number> {\r\n @ViewChild('input', { read: InputDatePickerComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (date) => this.commit(date);\r\n if (this._editMode) {\r\n this.input.requestFocus();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = true;\r\n\r\n @Input()\r\n public defaultEditMode: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this.input) {\r\n this.input.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n public input: InputDatePickerComponent;\r\n\r\n private _editMode: boolean = false;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commit(date: Date): Promise<boolean> {\r\n if (this.transactionLine.deliveryDate !== date) {\r\n const oldDate = this.transactionLine.deliveryDate;\r\n const success = await this._transactionService.updateDeliveryDateTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, date);\r\n if (!success) {\r\n this.transactionLine.deliveryDate = oldDate;\r\n } else {\r\n this.editMode = false;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || (this.transactionInfo.deliveryDateDefinitive || !this.transactionInfo.allowPartialDelivery);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineDeliveryDateComponent} from \"./transaction-line-delivery-date.component\";\r\nimport {InputDatePickerModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputDatePickerModule\r\n ],\r\n declarations: [\r\n TransactionLineDeliveryDateComponent\r\n ],\r\n exports: [\r\n TransactionLineDeliveryDateComponent\r\n ]\r\n})\r\nexport class TransactionLineDeliveryDateModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionLineBaseComponent} from \"../core/base/transaction-line-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-reference\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'REFERENCE' | localize\"\r\n [type]=\"'text'\"\r\n [readonly]=\"readonly\"\r\n [showSaveCancel]=\"true\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineReferenceComponent extends TransactionLineBaseComponent<string> {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (reference) => this.commit(reference);\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commit(reference: string): Promise<boolean> {\r\n if (this.transactionLine.reference !== reference) {\r\n const oldRef = this.transactionLine.reference;\r\n const success = await this._transactionService.updateReferenceTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, reference);\r\n if (!success) {\r\n this.input.model = oldRef;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineReferenceComponent} from \"./transaction-line-reference.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineReferenceComponent\r\n ],\r\n exports: [\r\n TransactionLineReferenceComponent\r\n ]\r\n})\r\nexport class TransactionLineReferenceModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {CoDomainValue} from \"@colijnit/mainapi/build/model/co-domain-value.bo\";\r\nimport {TransactionFilterPopupBaseComponent} from \"../core/base/transaction-filter-popup-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-commission-code\",\r\n template: `\r\n <co-transaction-line-checkbox-list\r\n [collection]=\"viewModelsFiltered\"\r\n [readonly]=\"readonly\"\r\n (checked)=\"handleChecked($event)\"\r\n ></co-transaction-line-checkbox-list>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineCommissionCodeComponent extends TransactionFilterPopupBaseComponent<CoDomainValue> implements OnInit {\r\n\r\n protected codeField: string = 'code';\r\n protected checkField: string = 'commissionCode';\r\n protected propsForLabel: string[] = ['code', 'description'];\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.viewModels.length = 0;\r\n this._transactionService.getCommissionCodes(\"NL\").then((codes: CoDomainValue[]) => {\r\n this.collection = codes.slice();\r\n })\r\n }\r\n\r\n public async commit(code: string): Promise<boolean> {\r\n if (this.transactionLine.commissionCode !== code) {\r\n const oldCode = this.transactionLine.commissionCode;\r\n const success = await this._transactionService.updateCommissionCodeTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, code);\r\n if (!success) {\r\n // this.transactionLine.commissionCode = code;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionLineSet(): void {\r\n this.readonly = this.readonly || !this.transactionLine.articleFreeCommissionCode;\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || this.transactionInfo.transactionDefinitive;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineCommissionCodeComponent} from \"./transaction-line-commission-code.component\";\r\nimport {InputCheckboxModule, InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineCheckboxModule} from \"../transaction-line-checkbox-list/transaction-line-checkbox-list.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputComboBoxModule,\r\n InputCheckboxModule,\r\n TransactionLineCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionLineCommissionCodeComponent\r\n ],\r\n exports: [\r\n TransactionLineCommissionCodeComponent\r\n ]\r\n})\r\nexport class TransactionLineCommissionCodeModule {\r\n}\r\n","import {Component, Input, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {Warehouse} from \"@colijnit/transactionapi/build/model/warehouse.bo\";\r\nimport {TransactionFilterPopupBaseComponent} from \"../core/base/transaction-filter-popup-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-warehouse\",\r\n template: `\r\n <co-transaction-line-checkbox-list\r\n [collection]=\"viewModelsFiltered\"\r\n [readonly]=\"readonly\"\r\n (checked)=\"handleChecked($event)\"\r\n ></co-transaction-line-checkbox-list>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineWarehouseComponent extends TransactionFilterPopupBaseComponent<Warehouse> implements OnInit {\r\n\r\n @Input()\r\n public branch: string;\r\n\r\n protected codeField: string = 'warehouseNo';\r\n protected checkField: string = 'warehouseNumber';\r\n protected propsForLabel: string[] = ['warehouseNo', 'description'];\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.viewModels.length = 0;\r\n this._transactionService.getWarehouses(this.branch).then((warehouses: Warehouse[]) => {\r\n this.collection = warehouses.slice();\r\n })\r\n }\r\n\r\n public async commit(warehouse: number): Promise<boolean> {\r\n if (this.transactionLine.warehouseNumber !== warehouse) {\r\n const oldWarehouse = this.transactionLine.warehouseNumber;\r\n const success = await this._transactionService.updateWarehouseTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, warehouse);\r\n if (!success) {\r\n this.transactionLine.warehouseNumber = warehouse;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputCheckboxModule, InputComboBoxModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineWarehouseComponent} from \"./transaction-line-warehouse.component\";\r\nimport {TransactionLineCheckboxModule} from \"../transaction-line-checkbox-list/transaction-line-checkbox-list.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule,\r\n InputComboBoxModule,\r\n InputCheckboxModule,\r\n TransactionLineCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionLineWarehouseComponent\r\n ],\r\n exports: [\r\n TransactionLineWarehouseComponent\r\n ]\r\n})\r\nexport class TransactionLineWarehouseModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\nimport {TransactionLineBaseComponent} from \"../core/base/transaction-line-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-discount-amount\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'DISCOUNT_AMOUNT' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionLine.discountAmount\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineDiscountAmountComponent extends TransactionLineBaseComponent<number> {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (discount) => this.commit(discount);\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commit(discount: number): Promise<boolean> {\r\n if (this.transactionLine.discountAmount !== discount) {\r\n const oldDiscount = this.transactionLine.discountAmount;\r\n const success = await this._transactionService.updateDiscountTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, DiscountType.TransactionLineDiscountAmount, discount);\r\n if (!success) {\r\n this.input.model = oldDiscount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineDiscountAmountComponent} from \"./transaction-line-discount-amount.component\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputTextModule\r\n ],\r\n declarations: [\r\n TransactionLineDiscountAmountComponent\r\n ],\r\n exports: [\r\n TransactionLineDiscountAmountComponent\r\n ]\r\n})\r\nexport class TransactionLineDiscountAmountModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\nimport {TransactionLineBaseComponent} from \"../core/base/transaction-line-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-quantum-discount\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'QUANTUM_DISCOUNT' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionLine.quantumDiscount\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineQuantumDiscountComponent extends TransactionLineBaseComponent<number> {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (discount) => this.commit(discount);\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commit(discount: number): Promise<boolean> {\r\n if (this.transactionLine.quantumDiscount !== discount) {\r\n const oldDiscount = this.transactionLine.quantumDiscount;\r\n const success = await this._transactionService.updateDiscountTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, DiscountType.TransactionLineQuantumDiscountPercentage, discount);\r\n if (!success) {\r\n this.input.model = oldDiscount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineQuantumDiscountComponent} from \"./transaction-line-quantum-discount.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineQuantumDiscountComponent\r\n ],\r\n exports: [\r\n TransactionLineQuantumDiscountComponent\r\n ]\r\n})\r\nexport class TransactionLineQuantumDiscountModule {\r\n}\r\n","import {Component, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DiscountType} from \"@colijnit/transactionapi/build/enum/discount-type.enum\";\r\nimport {TransactionLineBaseComponent} from \"../core/base/transaction-line-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-special-discount\",\r\n template: `\r\n <co-input-text #input\r\n [placeholder]=\"'SPECIAL_DISCOUNT' | localize\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionLine.specialDiscount\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSpecialDiscountComponent extends TransactionLineBaseComponent<number> {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (discount) => this.commit(discount);\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commit(discount: number): Promise<boolean> {\r\n if (this.transactionLine.specialDiscount !== discount) {\r\n const oldDiscount = this.transactionLine.specialDiscount;\r\n const success = await this._transactionService.updateDiscountTransactionLine(\r\n this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, DiscountType.TransactionLineSpecialDiscountPercentage, discount);\r\n if (!success) {\r\n this.input.model = oldDiscount;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineSpecialDiscountComponent} from \"./transaction-line-special-discount.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineSpecialDiscountComponent\r\n ],\r\n exports: [\r\n TransactionLineSpecialDiscountComponent\r\n ]\r\n})\r\nexport class TransactionLineSpecialDiscountModule {\r\n}\r\n","import {Component, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionFilterPopupBaseComponent} from \"../core/base/transaction-filter-popup-base.component\";\r\nimport {RelationListObject} from \"@colijnit/relationapi/build/model/relation-list-object.bo\";\r\nimport {RelationRequest} from \"@colijnit/relationapi/build/model/relation-request\";\r\nimport {RelationKind} from \"@colijnit/articleapi/build/enum/relation-kind.enum\";\r\nimport {RelationService} from \"../../service/relation.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-supplier\",\r\n template: `\r\n <co-transaction-line-checkbox-list\r\n [collection]=\"viewModelsFiltered\"\r\n [readonly]=\"readonly\"\r\n (checked)=\"handleChecked($event)\"\r\n ></co-transaction-line-checkbox-list>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSupplierComponent extends TransactionFilterPopupBaseComponent<RelationListObject> implements OnInit {\r\n\r\n protected codeField: string = 'relationId';\r\n protected checkField: string = 'supplierId';\r\n protected propsForLabel: string[] = ['relationNr', 'displayName'];\r\n\r\n constructor(\r\n private _transactionService: TransactionService,\r\n private _relationService: RelationService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n const request: RelationRequest = new RelationRequest();\r\n request.relationType = RelationKind.Supplier;\r\n this._relationService.getRelationListObjects(request).then((relationListObjects: RelationListObject[]) => {\r\n this.collection = relationListObjects;\r\n })\r\n }\r\n\r\n public async commit(id: number): Promise<boolean> {\r\n if (this.transactionLine.supplierId !== id) {\r\n const oldId = this.transactionLine.supplierId;\r\n const success = await this._transactionService.updateSupplierTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, id);\r\n if (!success) {\r\n this.transactionLine.supplierId = oldId;\r\n }\r\n return success;\r\n }\r\n }\r\n\r\n protected transactionLineSet(): void {\r\n this.readonly = this.readonly || !this.transactionLine.articleFreeSupplier;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {InputComboBoxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineSupplierComponent} from \"./transaction-line-supplier.component\";\r\nimport {TransactionLineCheckboxModule} from \"../transaction-line-checkbox-list/transaction-line-checkbox-list.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n InputComboBoxModule,\r\n TransactionLineCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionLineSupplierComponent\r\n ],\r\n exports: [\r\n TransactionLineSupplierComponent\r\n ]\r\n})\r\nexport class TransactionLineSupplierModule {\r\n}\r\n","import {Component, HostBinding, HostListener, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineBaseComponent} from \"../../core/base/transaction-line-base.component\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-price\",\r\n template: `\r\n <span *ngIf=\"(!editMode || readonly) && !defaultEditMode\" [textContent]=\"transactionLine.price | coCurrency\"></span>\r\n <co-input-text #input *ngIf=\"editMode || defaultEditMode\"\r\n [noStyle]=\"true\"\r\n [hideArrowButtons]=\"true\"\r\n [placeholder]=\"showLabel ? ('PRICE' | localize) : ''\"\r\n [type]=\"'number'\"\r\n [showSaveCancel]=\"!readonly\"\r\n [readonly]=\"readonly\"\r\n [model]=\"transactionLine.price\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLinePriceComponent extends TransactionLineBaseComponent<number> {\r\n @ViewChild('input', { read: InputTextComponent }) set child(content) {\r\n if (content) {\r\n this.input = content;\r\n this.input.commit = (price) => this.commit(price);\r\n if (this._editMode) {\r\n this.input.requestFocus();\r\n setTimeout(() => {\r\n this.input.input.select();\r\n })\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = true;\r\n\r\n @Input()\r\n public defaultEditMode: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this.input) {\r\n this.input.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @HostBinding(\"class.co-transaction-line-price\")\r\n public showClass: boolean = true;\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n public input: InputTextComponent;\r\n\r\n private _editMode: boolean = false;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n super();\r\n }\r\n\r\n public async commit(price: number): Promise<boolean> {\r\n if (this.transactionLine.price !== price) {\r\n const oldPrice = this.transactionLine.price;\r\n const success = await this._transactionService.updatePriceTransactionLine(this._transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, price);\r\n if (!success) {\r\n this.input.model = oldPrice;\r\n }\r\n return success;\r\n }\r\n return true;\r\n }\r\n\r\n protected transactionLineSet(): void {\r\n this.readonly = this.readonly || !this.transactionLine.articleFreePrice;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLinePriceComponent} from \"./transaction-line-price.component\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLinePriceComponent\r\n ],\r\n exports: [\r\n TransactionLinePriceComponent\r\n ]\r\n})\r\nexport class TransactionLinePriceModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineSidePanelDefaultComponent} from \"./transaction-line-side-panel-default.component\";\r\nimport {ButtonModule, CollapsibleModule, InputComboBoxModule, InputDatePickerModule, InputNumberPickerModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineQuantityModule} from \"../transaction-line-fields/transaction-line-quantity.module\";\r\nimport {TransactionLineLineDiscountModule} from \"../transaction-line-fields/transaction-line-line-discount.module\";\r\nimport {TransactionLineVatModule} from \"../transaction-line-fields/transaction-line-vat.module\";\r\nimport {TransactionLinePriceListModule} from \"../transaction-line-fields/transaction-line-price-list.module\";\r\nimport {TransactionLineDeliveryMethodModule} from \"../transaction-line-fields/transaction-line-delivery-method.module\";\r\nimport {TransactionLineDeliveryDateModule} from \"../transaction-line-fields/transaction-line-delivery-date.module\";\r\nimport {TransactionLineReferenceModule} from \"../transaction-line-fields/transaction-line-reference.module\";\r\nimport {TransactionLineCommissionCodeModule} from \"../transaction-line-fields/transaction-line-commission-code.module\";\r\nimport {TransactionLineWarehouseModule} from \"../transaction-line-fields/transaction-line-warehouse.module\";\r\nimport {TransactionLineDiscountAmountModule} from \"../transaction-line-fields/transaction-line-discount-amount.module\";\r\nimport {TransactionLineQuantumDiscountModule} from \"../transaction-line-fields/transaction-line-quantum-discount.module\";\r\nimport {TransactionLineSpecialDiscountModule} from \"../transaction-line-fields/transaction-line-special-discount.module\";\r\nimport {TransactionLineSupplierModule} from \"../transaction-line-fields/transaction-line-supplier.module\";\r\nimport {TransactionLineDescriptionModule} from \"../transaction-line-fields/transaction-line-description.module\";\r\nimport {TransactionLinePriceModule} from \"../transaction-line-fields/transaction-line-price/transaction-line-price.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n ButtonModule,\r\n CollapsibleModule,\r\n InputTextModule,\r\n InputComboBoxModule,\r\n InputDatePickerModule,\r\n InputNumberPickerModule,\r\n TransactionLinePriceListModule,\r\n TransactionLineVatModule,\r\n TransactionLineQuantityModule,\r\n TransactionLineLineDiscountModule,\r\n TransactionLineDeliveryMethodModule,\r\n TransactionLineDeliveryDateModule,\r\n TransactionLineReferenceModule,\r\n TransactionLineCommissionCodeModule,\r\n TransactionLineWarehouseModule,\r\n TransactionLineDiscountAmountModule,\r\n TransactionLineQuantumDiscountModule,\r\n TransactionLineSpecialDiscountModule,\r\n TransactionLineSupplierModule,\r\n TransactionLineDescriptionModule,\r\n TransactionLinePriceModule\r\n ],\r\n declarations: [\r\n TransactionLineSidePanelDefaultComponent\r\n ],\r\n exports: [\r\n TransactionLineSidePanelDefaultComponent\r\n ]\r\n})\r\nexport class TransactionLineSidePanelDefaultModule {\r\n}\r\n","export enum StatusType {\r\n Unknown = \"UNKNOWN\",\r\n BG = \"RECEIVED\",\r\n BT = \"ORDERED\",\r\n}\r\n","import {\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n Output,\r\n QueryList,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {SimpleGridColumnDirective} from \"@colijnit/corecomponents_v12\";\r\nimport {StatusType} from \"../../../enum/status-type.enum\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-history-grid\",\r\n template: `\r\n <div class=\"history-grid-wrapper\">\r\n <div class=\"delete-button-wrapper\">\r\n <co-grid-toolbar-button\r\n (buttonClick)=\"handleDeleteClick()\"\r\n [iconData]=\"iconsService.getIcon(icons.TrashBin)\"\r\n [disabled]=\"!selectedRow\"\r\n ></co-grid-toolbar-button>\r\n </div>\r\n <co-simple-grid [data]=\"collection\" [extraColumns]=\"extraColumns\" (selectRow)=\"handleSelectRow($event)\">\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\" [order]=\"20\" [width]=\"100\">\r\n <ng-template #template let-row=\"row\">\r\n <div class=\"row-container\">\r\n <span class=\"row\" [textContent]=\"row.date | date\"></span>\r\n <span class=\"correction\" *ngFor=\"let correction of row.corrections\" [textContent]=\"correction.date | date\"></span>\r\n </div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [order]=\"30\" [width]=\"70\">\r\n <ng-template #template let-row=\"row\">\r\n <div class=\"row-container\">\r\n <span class=\"row\" [textContent]=\"row.quantity\"></span>\r\n <span class=\"correction\" *ngFor=\"let correction of row.corrections\" [textContent]=\"correction.quantity\"></span>\r\n </div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n\r\n <co-simple-grid-column [headerText]=\"'REFERENCE' | localize\" [order]=\"50\">\r\n <ng-template #template let-row=\"row\">\r\n <div class=\"row-container\">\r\n <span class=\"row\" [textContent]=\"row.reference\"></span>\r\n <span class=\"correction\" *ngFor=\"let correction of row.corrections\" [textContent]=\"correction.reference\"></span>\r\n </div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [order]=\"70\">\r\n <ng-template #template let-row=\"row\">\r\n <div class=\"row-container\">\r\n <span class=\"row\" [textContent]=\"row.username\"></span>\r\n <span class=\"correction\" *ngFor=\"let correction of row.corrections\" [textContent]=\"correction.username\"></span>\r\n </div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHistoryGridComponent {\r\n public readonly statusType: typeof StatusType = StatusType;\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ContentChildren(SimpleGridColumnDirective) set content(columnComponents: QueryList<SimpleGridColumnDirective>) {\r\n this.extraColumns = columnComponents.toArray();\r\n }\r\n\r\n @Input()\r\n public collection: any;\r\n\r\n @Output()\r\n public deleteSelectedRow: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @HostBinding(\"class.co-transaction-history-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public extraColumns: SimpleGridColumnDirective[] = [];\r\n public selectedRow: any;\r\n\r\n constructor(\r\n public iconsService: IconCacheService\r\n ) {}\r\n\r\n public handleSelectRow(row: any): void {\r\n this.selectedRow = row;\r\n }\r\n\r\n public handleDeleteClick(): void {\r\n this.deleteSelectedRow.next(this.selectedRow);\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, ElementRef, HostBinding, Input, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {StatusType} from \"../../enum/status-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-history-grid-status\",\r\n template: `\r\n <div class=\"transaction-status-indication\">\r\n <div #statusIndicator class=\"status-color-circle\"></div>\r\n <span class=\"status-text\" [textContent]=\"type[statusType] | localize\"></span>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionHistoryGridStatusComponent implements AfterViewInit {\r\n public readonly type: typeof StatusType = StatusType;\r\n\r\n @Input()\r\n public statusType: StatusType;\r\n\r\n @Input()\r\n public subType: string;\r\n\r\n @ViewChild(\"statusIndicator\", {read: ElementRef})\r\n public statusIndicator: ElementRef;\r\n\r\n @HostBinding(\"class.co-transaction-history-grid-status\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n private _getStatusIndicatorColor(): string {\r\n switch (this.type[this.statusType]) {\r\n case StatusType.Unknown:\r\n return '#dce4ea';\r\n case StatusType.BG:\r\n if (this.subType && this.subType === 'correction') {\r\n return '#f19826';\r\n } else {\r\n return '#48d521';\r\n }\r\n case StatusType.BT:\r\n return '#f19826';\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.statusIndicator) {\r\n this.statusIndicator.nativeElement.style.background = this._getStatusIndicatorColor();\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionHistoryGridStatusComponent} from \"./transaction-history-grid-status.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionHistoryGridStatusComponent\r\n ],\r\n exports: [\r\n TransactionHistoryGridStatusComponent\r\n ]\r\n})\r\nexport class TransactionHistoryGridStatusModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionHistoryGridComponent} from \"./transaction-history-grid.component\";\r\nimport {GridToolbarButtonModule, SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TransactionHistoryGridStatusModule} from \"../../transaction-history-grid-status/transaction-history-grid-status.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n SimpleGridModule,\r\n PipeModule,\r\n TransactionHistoryGridStatusModule,\r\n GridToolbarButtonModule\r\n ],\r\n declarations: [\r\n TransactionHistoryGridComponent\r\n ],\r\n exports: [\r\n TransactionHistoryGridComponent\r\n ]\r\n})\r\nexport class TransactionHistoryGridModule {\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {\r\n ReceiveGoodsForPurchaseOrderCorrectionRequest\r\n} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-correction-request.bo\";\r\nimport {\r\n PurchaseOrderLineReceiptCorrectionDetails\r\n} from \"@colijnit/transactionapi/build/model/purchase-order-line-receipt-correction-details.bo\";\r\nimport {LogisticalStateDetail} from \"@colijnit/transactionapi/build/model/logistical-state-detail.bo\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-receiving-goods-history\",\r\n template: `\r\n <co-transaction-history-grid\r\n [collection]=\"goodsReceiptHistory\"\r\n (deleteSelectedRow)=\"handleDeleteSelectedRow($event)\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [order]=\"40\">\r\n <ng-template #template let-row=\"row\">\r\n <div class=\"row-container\">\r\n <span class=\"row\" [textContent]=\"row.warehouseNumber\"></span>\r\n <span class=\"correction\" *ngFor=\"let correction of row.corrections\" [textContent]=\"correction.warehouseNumber\"></span>\r\n </div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [order]=\"60\">\r\n <ng-template #template let-row=\"row\">\r\n <div class=\"row-container\">\r\n <span class=\"row\" [textContent]=\"row.locationNumber\"></span>\r\n <span class=\"correction\" *ngFor=\"let correction of row.corrections\" [textContent]=\"correction.locationNumber\"></span>\r\n </div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-transaction-history-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionReceivingGoodsHistoryComponent {\r\n\r\n @Input()\r\n set goodsReceiptHistory(value: LogisticalStateDetail[]) {\r\n if (value) {\r\n this._goodsReceiptHistory = value.reverse();\r\n }\r\n }\r\n\r\n @Input()\r\n public transactionInfo: TransactionInfo;\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo;\r\n\r\n @Output()\r\n public reloadReceivingGoodsHistory: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n get goodsReceiptHistory(): LogisticalStateDetail[] {\r\n return this._goodsReceiptHistory;\r\n }\r\n\r\n @HostBinding(\"class.co-transaction-receiving-goods-history\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n private _goodsReceiptHistory: LogisticalStateDetail[];\r\n\r\n constructor(\r\n private _service: TransactionService\r\n ) { }\r\n\r\n public handleDeleteSelectedRow(row: LogisticalStateDetail): void {\r\n if (row && row.type !== 'correction') {\r\n const request: ReceiveGoodsForPurchaseOrderCorrectionRequest = new ReceiveGoodsForPurchaseOrderCorrectionRequest();\r\n const correctionDetails: PurchaseOrderLineReceiptCorrectionDetails = new PurchaseOrderLineReceiptCorrectionDetails();\r\n request.allowedToRemovePickedAllocations = false;\r\n request.transId = this.transactionInfo.id;\r\n request.purchaseOrderLineReceiptCorrectionDetailsDTOS = [correctionDetails];\r\n correctionDetails.lineNr = this.transactionLine.lineNr;\r\n correctionDetails.quantityToCorrect = row.quantity;\r\n correctionDetails.documentId = row.documentId;\r\n correctionDetails.documentLineNr = row.lineNumber;\r\n this._service.receiveGoodsForPurchaseOrderCorrection(request).then(() => {\r\n this.reloadReceivingGoodsHistory.next();\r\n });\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule, DatePipe} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionHistoryGridModule} from \"../transaction-grid/transaction-history-grid/transaction-history-grid.module\";\r\nimport {TransactionReceivingGoodsHistoryComponent} from \"./transaction-receiving-goods-history.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n TransactionHistoryGridModule\r\n ],\r\n declarations: [\r\n TransactionReceivingGoodsHistoryComponent\r\n ],\r\n exports: [\r\n TransactionReceivingGoodsHistoryComponent\r\n ],\r\n providers: [\r\n DatePipe\r\n ]\r\n})\r\nexport class TransactionReceivingGoodsHistoryModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionBarButton} from \"../../model/transaction-bar-button\";\r\nimport {TransactionMappingService} from \"../../service/transaction-mapping.service\";\r\nimport {TransactionTypeCategory} from \"../../enum/transaction-type-category.enum\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-button-bar\",\r\n template: `\r\n <div class=\"button-bar-wrapper\">\r\n <co-transaction-button-bar-button *ngFor=\"let button of buttons; let index = index\"\r\n [transactionInfoResponse]=\"transactionInfoResponse\"\r\n [component]=\"button.component\"\r\n [class.selected]=\"selectedCategory === button.category\"\r\n [title]=\"button.title\"\r\n [iconName]=\"button.icon\"\r\n (click)=\"selectCategory(index)\"\r\n ></co-transaction-button-bar-button>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionButtonBarComponent {\r\n @Input()\r\n public set transactionType(value: TransactionKind) {\r\n this._transactionType = value;\r\n this.buttons = this._mappingService.getButtonBar(this._transactionType);\r\n if (this.buttons && this.buttons.length > 0 && !this.selectedCategory) {\r\n this.selectCategory(0);\r\n }\r\n }\r\n\r\n public get transactionType(): TransactionKind {\r\n return this._transactionType;\r\n }\r\n\r\n @Input()\r\n public transactionInfoResponse: TransactionInfoResponse;\r\n\r\n @Input()\r\n public selectedCategory: TransactionTypeCategory;\r\n\r\n @Output()\r\n public buttonClicked: EventEmitter<TransactionBarButton> = new EventEmitter<TransactionBarButton>();\r\n\r\n @HostBinding(\"class.co-transaction-button-bar\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public buttons: TransactionBarButton[] = [];\r\n\r\n private _transactionType: TransactionKind = TransactionKind.SalesOrder;\r\n\r\n constructor(private _mappingService: TransactionMappingService) {\r\n }\r\n\r\n public selectCategory(idx: number): void {\r\n this.selectedCategory = this.buttons[idx].category;\r\n this.buttonClicked.next(this.buttons[idx]);\r\n }\r\n}\r\n","import {ApplicationRef, Component, ComponentFactoryResolver, ElementRef, EmbeddedViewRef, HostBinding, Injector, Input, OnInit, Type, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {TransactionButtonBarButtonBaseComponent} from \"./transaction-button-bar-button-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-button-bar-button\",\r\n template: `\r\n <co-loader *ngIf=\"showLoader\"></co-loader>\r\n <div class=\"button-wrapper\" #buttonWrapper>\r\n <co-animated-checkbox [checked]=\"checked\"></co-animated-checkbox>\r\n <ng-container *ngIf=\"!useComponent\">\r\n <co-icon class=\"co-transaction-button-bar-icon\" [iconData]=\"iconCacheService.getIcon(iconName)\"></co-icon>\r\n <span class=\"button-title\" [textContent]=\"title | localize\"></span>\r\n </ng-container>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionButtonBarButtonComponent extends TransactionButtonBarButtonBaseComponent implements OnInit {\r\n @ViewChild(\"buttonWrapper\", { read: ElementRef }) set child(content) {\r\n this.buttonWrapper = content;\r\n this._checkAndCreateComponent();\r\n }\r\n\r\n @Input()\r\n public component: Type<TransactionButtonBarButtonBaseComponent>;\r\n\r\n @HostBinding('class.co-transaction-button-bar-button')\r\n public showClass: boolean = true;\r\n\r\n @HostBinding('class.show-loader')\r\n public get isLoaderShowing(): boolean {\r\n return this.showLoader;\r\n }\r\n\r\n public useComponent: boolean = false;\r\n public buttonWrapper: ElementRef;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._checkAndCreateComponent();\r\n }\r\n\r\n private _checkAndCreateComponent(): void {\r\n if (this.component && this.buttonWrapper && this.buttonWrapper.nativeElement) {\r\n this.useComponent = true;\r\n const componentRef: any = this._compFactoryResolver.resolveComponentFactory(this.component).create(this.injector);\r\n componentRef.instance.transactionInfoResponse = this.transactionInfoResponse;\r\n componentRef.instance.iconName = this.iconName;\r\n componentRef.instance.title = this.title;\r\n componentRef.instance.showLoader = this.showLoader;\r\n componentRef.instance.checked = this.checked;\r\n\r\n componentRef.instance.showLoaderChange.subscribe((value: boolean) => this.showLoader = value);\r\n componentRef.instance.checkedChange.subscribe((value: boolean) => this.checked = value);\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n this.buttonWrapper.nativeElement.appendChild(domElem);\r\n componentRef.onDestroy(() => {\r\n this.appRef.detachView(componentRef.hostView);\r\n });\r\n }\r\n }\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-animated-checkbox\",\r\n template: `\r\n <div class=\"checkbox\">\r\n <div class=\"checkmark\" [class.show]=\"checked\"></div>\r\n </div>\r\n <div class=\"label\" *ngIf=\"label\" [textContent]=\"label | localize\"></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AnimatedCheckboxComponent {\r\n\r\n @Input()\r\n public checked: boolean = false;\r\n\r\n @Input()\r\n public label: string;\r\n\r\n @HostBinding(\"class.co-animated-checkbox\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {AnimatedCheckboxComponent} from \"./animated-checkbox.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n AnimatedCheckboxComponent\r\n ],\r\n exports: [\r\n AnimatedCheckboxComponent\r\n ]\r\n})\r\nexport class AnimatedCheckboxModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionButtonBarComponent} from \"./transaction-button-bar.component\";\r\nimport {TransactionButtonBarButtonComponent} from \"./transaction-button-bar-button/transaction-button-bar-button.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionSalesPurchaseButtonBarButtonComponent} from \"./transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component\";\r\nimport {LoaderModule} from \"../loader/loader.module\";\r\nimport {AnimatedCheckboxModule} from \"../animated-checkbox/animated-checkbox.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n IconModule,\r\n PipeModule,\r\n LoaderModule,\r\n AnimatedCheckboxModule,\r\n ],\r\n declarations: [\r\n TransactionButtonBarComponent,\r\n TransactionButtonBarButtonComponent,\r\n TransactionSalesPurchaseButtonBarButtonComponent\r\n ],\r\n exports: [\r\n TransactionButtonBarComponent,\r\n TransactionButtonBarButtonComponent,\r\n TransactionSalesPurchaseButtonBarButtonComponent\r\n ]\r\n})\r\nexport class TransactionButtonBarModule {\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {GetPurchasePortalLine} from \"@colijnit/transactionapi/build/model/get-purchase-portal-line\";\r\nimport {PurchasePortalFilters} from \"@colijnit/transactionapi/build/model/purchase-portal-filters.bo\";\r\nimport {DocDeliveryBatch} from \"@colijnit/transactionapi/build/model/doc-delivery-batch.bo\";\r\nimport {PurchasePortalLine} from \"@colijnit/transactionapi/build/model/purchase-portal-line.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-confirmation-history\",\r\n template: `\r\n <div class=\"history-grid-wrapper\">\r\n <co-simple-grid (selectRow)=\"selectedLineDocBatchArray($event)\"\r\n *ngIf=\"transactionService.purchasePortalLine[0]\"\r\n [data]=\"filteredDocBatchArray\"\r\n [showToolbar]=\"true\"\r\n [rowsPerPage]=\"20\"\r\n [showDelete]=\"true\"\r\n (deleteRow)=\"deleteDocBatch($event)\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.docDate | date:'dd MMM yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'docAmount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PRICE' | localize\" [field]=\"'confirmedPrice'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.docDateOrg | date:'dd MMM yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'REFERENCE' | localize\" [field]=\"'reference'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_BATCH' | localize\" [field]=\"'deliveryBatch'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'HISTORICAL' | localize\" [field]=\"'historical'\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionConfirmationHistoryComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo;\r\n\r\n @Input()\r\n public transactionId: number;\r\n\r\n @Input()\r\n public transactionInfoNr: number;\r\n\r\n @Input()\r\n public set isDocBatchSaved(data: boolean) {\r\n if (data === true) {\r\n this.getPurchasePortalLines();\r\n this.docBatchApplied.emit(false);\r\n }\r\n }\r\n\r\n public get isDocBatchSaved() {\r\n return false\r\n }\r\n\r\n @Output()\r\n public lineSelected: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public docBatchApplied: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n public getPurchasePortalLine: GetPurchasePortalLine = new GetPurchasePortalLine();\r\n public purchasePortalFilter: PurchasePortalFilters = new PurchasePortalFilters();\r\n public filteredDocBatchArray: DocDeliveryBatch[] = [];\r\n\r\n @HostBinding(\"class.co-transaction-confirmation-history\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n public transactionService: TransactionService,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.getPurchasePortalLines();\r\n this.lockPurchasePortalLine();\r\n }\r\n\r\n public async getPurchasePortalLines(): Promise<void> {\r\n this.purchasePortalFilter.purchaseOrderNo = this.transactionInfoNr.toString();\r\n this.purchasePortalFilter.lineId = this.transactionLines.lineNr.toString();\r\n this.getPurchasePortalLine.transIdPurchase = this.transactionId;\r\n this.getPurchasePortalLine.filterObject = this.purchasePortalFilter;\r\n\r\n this.transactionService.getPurchasePortalLines(this.getPurchasePortalLine).then((result: PurchasePortalLine[]) => {\r\n this.transactionService.purchasePortalLine = result;\r\n this.transactionService.purchasePortalLine.forEach((element) => {\r\n this.filteredDocBatchArray = element.docBatchArray.filter(value => value.historical === 'G');\r\n })\r\n });\r\n }\r\n\r\n public async lockPurchasePortalLine(): Promise<void> {\r\n await this.transactionService.lockPurchasePortalLines(this.transactionId , this.transactionLines.lineNr);\r\n }\r\n\r\n public async deleteDocBatch(event): Promise<void> {\r\n event.deleteLine = \"T\";\r\n this.transactionService.purchasePortalLine[0].docKind = \"IB\";\r\n await this.transactionService.updatePurchasePortalLines(this.transactionService.purchasePortalLine[0]);\r\n await this.getPurchasePortalLines();\r\n }\r\n\r\n public selectedLineDocBatchArray(event): void {\r\n this.lineSelected.emit(event);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionConfirmationHistoryComponent} from \"./transaction-confirmation-history.component\";\r\nimport {\r\n ButtonModule,\r\n CollapsibleModule,\r\n IconModule,\r\n InputDateRangePickerModule, InputNumberPickerModule,\r\n InputTextModule,\r\n SimpleGridModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionHistoryGridModule} from \"../transaction-grid/transaction-history-grid/transaction-history-grid.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n TransactionHistoryGridModule,\r\n CollapsibleModule,\r\n IconModule,\r\n InputTextModule,\r\n InputDateRangePickerModule,\r\n InputNumberPickerModule,\r\n ButtonModule\r\n ],\r\n declarations: [\r\n TransactionConfirmationHistoryComponent\r\n ],\r\n exports: [\r\n TransactionConfirmationHistoryComponent\r\n ]\r\n})\r\nexport class TransactionConfirmationHistoryModule {\r\n}\r\n","import {\r\n Component, EventEmitter,\r\n HostBinding,\r\n Input, Output,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {DocDeliveryBatch} from \"@colijnit/transactionapi/build/model/doc-delivery-batch.bo\";\r\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\r\n\r\n@Component({\r\n selector: \"co-transaction-confirmation-details\",\r\n template: `\r\n <div class=\"confirmation-details-wrapper\">\r\n <co-form>\r\n <div class=\"details-header\">\r\n <span class=\"header-left-text\" [textContent]=\"'ORDER_CONFIRMATIONS' | localize\"></span>\r\n <co-icon class=\"header-left-text\" [iconData]=\"iconCacheService.getIcon(icons.PlusRound)\"\r\n (click)=\"addButtonClicked()\"></co-icon>\r\n <div class=\"details-header-right\">\r\n <span class=\"header-right-text\" [textContent]=\"'REQUESTED_DELIVERY' | localize\"></span>\r\n <span class=\"header-right-text-colon\" [textContent]=\"': '\"></span>\r\n <span class=\"header-right-text\" [textContent]=\"transactionLines.deliveryDate | date:'dd-MM-YYYY'\"></span>\r\n </div>\r\n </div>\r\n <div class=\"header-inform-user\" *ngIf=\"isEditing\">\r\n <span class=\"header-inform-user editting\" [textContent]=\"'EDITING_DATA_ROW' | localize\"></span>\r\n </div>\r\n <div *ngIf=\"showAddOrder\" class=\"columns-wrapper\">\r\n <div class=\"details-column\">\r\n <co-input-text class=\"details-input\"\r\n [(model)]=\"newDocBatchArray.docAmount\"\r\n [placeholder]=\"'AMOUNT' | localize\"\r\n required\r\n >\r\n </co-input-text>\r\n <co-input-date class=\"details-input\"\r\n [(model)]=\"newDocBatchArray.docDate\"\r\n required\r\n >\r\n </co-input-date>\r\n <co-input-text class=\"details-input\"\r\n [(model)]=\"newDocBatchArray.confirmedPrice\"\r\n [placeholder]=\"'CONFIRMED_PRICE' | localize\"\r\n required\r\n >\r\n </co-input-text>\r\n </div>\r\n\r\n <div class=\"divider-wrapper\">\r\n <div class=\"divider\"></div>\r\n </div>\r\n\r\n <div class=\"details-column\">\r\n <co-input-text class=\"details-input\"\r\n [(model)]=\"newDocBatchArray.reference\"\r\n [placeholder]=\"'REFERENCE' | localize\">\r\n </co-input-text>\r\n\r\n <co-input-text class=\"details-input\"\r\n [(model)]=\"newDocBatchArray.deliveryBatch\"\r\n [placeholder]=\"'DELIVERY_BATCH' | localize\">\r\n </co-input-text>\r\n </div>\r\n </div>\r\n </co-form>\r\n\r\n <div *ngIf=\"showAddOrder\" class=\"save-cancel-wrapper\">\r\n <co-default-ok-cancel-buttons (okClick)=\"handleOkClick()\" (cancelClick)=\"handleCancelClick()\"></co-default-ok-cancel-buttons>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n FormMasterService\r\n ],\r\n})\r\nexport class TransactionConfirmationDetailsComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo;\r\n\r\n @Input()\r\n public transactionInfoNr: number;\r\n\r\n @HostBinding(\"class.co-transaction-confirmation-details\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public showAddOrder: boolean = false;\r\n\r\n @Input()\r\n public newDocBatchArray: DocDeliveryBatch = new DocDeliveryBatch();\r\n\r\n @Input()\r\n public set isEditing(value: boolean) {\r\n this.isEditMode = value;\r\n console.log(this.isEditMode);\r\n console.log(this.isEditing);\r\n }\r\n\r\n public get isEditing(): boolean {\r\n return this.isEditMode;\r\n }\r\n\r\n @Output()\r\n public docBatchSaved: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n public isEditMode: boolean = false;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n public transactionService: TransactionService,\r\n ) {\r\n }\r\n\r\n public addButtonClicked(): void {\r\n this.showAddOrder = !this.showAddOrder;\r\n }\r\n\r\n public async handleOkClick(): Promise<void> {\r\n if (this.newDocBatchArray.docAmount && this.newDocBatchArray.confirmedPrice) {\r\n this.newDocBatchArray.deleteLine = \"F\";\r\n this.newDocBatchArray.historical = \"G\";\r\n if (!this.newDocBatchArray.docDateOrg) {\r\n this.newDocBatchArray.docDateOrg = this.newDocBatchArray.docDate;\r\n this.transactionService.purchasePortalLine[0].docBatchArray.push(this.newDocBatchArray);\r\n }\r\n this.transactionService.purchasePortalLine[0].docKind = \"IB\";\r\n await this.transactionService.updatePurchasePortalLines(this.transactionService.purchasePortalLine[0]);\r\n this.docBatchSaved.emit(true);\r\n this.newDocBatchArray = new DocDeliveryBatch();\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n public handleCancelClick(): void {\r\n this.newDocBatchArray = new DocDeliveryBatch();\r\n this.isEditing = false;\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {ButtonComponent} from \"@colijnit/corecomponents_v12\";\r\n\r\n@Component({\r\n selector: \"co-default-ok-cancel-buttons\",\r\n template: `\r\n <co-button *ngIf=\"!hideOk\" [label]=\"okLabel\" [disabled]=\"okDisabled\" class=\"ok\" #okButton (click)=\"onOkClick($event)\"></co-button>\r\n <co-button *ngIf=\"!hideCancel\" label=\"CANCEL\" (click)=\"cancelClick.emit($event)\"></co-button>\r\n <ng-content></ng-content>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DefaultOkCancelButtonsComponent {\r\n @ViewChild(\"okButton\")\r\n public okButtonComp: ButtonComponent;\r\n\r\n @Input()\r\n public okDisabled: boolean;\r\n\r\n @Input()\r\n public hideCancel: boolean = false;\r\n\r\n @Input()\r\n public hideOk: boolean = false;\r\n\r\n @Input()\r\n public okLabel: string = \"OK\";\r\n\r\n // only emits when ok button was not disabled when it was clicked\r\n @Output()\r\n public okClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding('class.co-default-ok-cancel-buttons')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public onOkClick(event: MouseEvent): void {\r\n if (this.okButtonComp && !this.okButtonComp.disabled) {\r\n this.okClick.emit(event);\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DefaultOkCancelButtonsComponent} from \"./default-ok-cancel-buttons.component\";\r\nimport {ButtonModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ButtonModule\r\n ],\r\n declarations: [\r\n DefaultOkCancelButtonsComponent\r\n ],\r\n exports: [\r\n DefaultOkCancelButtonsComponent\r\n ]\r\n})\r\nexport class DefaultOkCancelButtonsModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionConfirmationDetailsComponent} from \"./transaction-confirmation-details.component\";\r\nimport {\r\n FormModule,\r\n IconModule,\r\n InputDatePickerModule,\r\n InputDateRangePickerModule, InputNumberPickerModule,\r\n InputTextModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {\r\n DefaultOkCancelButtonsModule\r\n} from \"../core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n InputTextModule,\r\n InputDateRangePickerModule,\r\n IconModule,\r\n FormModule,\r\n DefaultOkCancelButtonsModule,\r\n InputDatePickerModule,\r\n InputNumberPickerModule,\r\n ],\r\n declarations: [\r\n TransactionConfirmationDetailsComponent,\r\n TransactionConfirmationDetailsComponent\r\n ],\r\n exports: [\r\n TransactionConfirmationDetailsComponent,\r\n TransactionConfirmationDetailsComponent\r\n ]\r\n})\r\nexport class TransactionConfirmationDetailsModule {\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {GoodsReceiptStatusWithHistory} from \"@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionTypeCategory} from \"../../enum/transaction-type-category.enum\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionEventService} from \"../../service/transaction-event.service\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\nimport {DocDeliveryBatch} from \"@colijnit/transactionapi/build/model/doc-delivery-batch.bo\";\r\nimport {ExtendedTransactionLineViewModel} from \"../../model/extended-transaction-line-view-model\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-side-panel-purchase\",\r\n template: `\r\n <ng-container [ngSwitch]=\"category\">\r\n <ng-container *ngSwitchCase=\"categories.PurchaseOrderOrderConfirmation\">\r\n <co-transaction-confirmation-details\r\n [transactionInfoNr]=\"transactionInfo.transactionNr\"\r\n [transactionLines]=\"transactionLine\"\r\n [newDocBatchArray]=\"selectedLineDocBatchArray\"\r\n [isEditing]=\"editingMode\"\r\n (docBatchSaved)=\"docBatchSaved($event)\"\r\n ></co-transaction-confirmation-details>\r\n <co-transaction-confirmation-history\r\n [transactionLines]=\"transactionLine\"\r\n [transactionInfoNr]=\"transactionInfo.transactionNr\"\r\n [transactionId]=\"transactionInfo.id\"\r\n (lineSelected)=\"fillInputOnClick($event)\"\r\n [isDocBatchSaved]=\"isDocBatchSaved\"\r\n (docBatchApplied)=\"docBatchSaved($event)\"\r\n ></co-transaction-confirmation-history>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"categories.PurchaseOrderReceivedGoods\">\r\n <co-transaction-side-panel-edit-request-details\r\n [category]=\"categories.PurchaseOrderReceivedGoods\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n [amountLeftToReceive]=\"goodsReceiptStatus.quantityToReceive\"\r\n (reloadReceivingGoodsHistory)=\"getGoodsReceiptStatusWithHistory()\"\r\n ></co-transaction-side-panel-edit-request-details>\r\n <co-transaction-receiving-goods-history\r\n *ngIf=\"transactionLine.amount >= 0\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n [goodsReceiptHistory]=\"goodsReceiptStatus.goodsReceiptHistory\"\r\n (reloadReceivingGoodsHistory)=\"getGoodsReceiptStatusWithHistory()\"\r\n ></co-transaction-receiving-goods-history>\r\n <co-transaction-available-stock-grid\r\n *ngIf=\"transactionLine.amount < 0\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n ></co-transaction-available-stock-grid>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <co-transaction-line-side-panel-default\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n ></co-transaction-line-side-panel-default>\r\n </ng-container>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSidePanelPurchaseComponent {\r\n public readonly categories: typeof TransactionTypeCategory = TransactionTypeCategory;\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo;\r\n\r\n @Input()\r\n public set transactionInfo(value: TransactionInfo) {\r\n this._transactionInfo = value;\r\n }\r\n\r\n public get transactionInfo(): TransactionInfo {\r\n return this._transactionInfo;\r\n }\r\n\r\n @Input()\r\n public category: TransactionTypeCategory;\r\n\r\n @Output()\r\n public quantityToReceiveChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @HostBinding(\"class.co-transaction-line-side-panel-purchase\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public goodsReceiptStatus: GoodsReceiptStatusWithHistory = new GoodsReceiptStatusWithHistory();\r\n public selectedLineDocBatchArray: DocDeliveryBatch = new DocDeliveryBatch();\r\n public isDocBatchSaved: boolean = false;\r\n public editingMode: boolean = false;\r\n\r\n private _transactionInfo: TransactionInfo = new TransactionInfo()\r\n\r\n constructor(\r\n private _service: TransactionService,\r\n private _transactionEventService: TransactionEventService\r\n ) {}\r\n\r\n public async getGoodsReceiptStatusWithHistory(): Promise<void> {\r\n this._service.getGoodsReceiptStatusWithHistory(this._transactionInfo.id, this.transactionLine.lineNr)\r\n .then((result: GoodsReceiptStatusWithHistory) => {\r\n this.goodsReceiptStatus = result;\r\n const tempViewModel: ExtendedTransactionLineViewModel = Object.assign(new ExtendedTransactionLineViewModel(), this.transactionLine);\r\n tempViewModel.quantityReceived = result.quantityReceived;\r\n tempViewModel.quantityToReceive = result.quantityToReceive;\r\n this._transactionEventService.transactionLineChanged.next(tempViewModel);\r\n this.quantityToReceiveChange.next(result.quantityToReceive);\r\n });\r\n }\r\n\r\n public fillInputOnClick(data) {\r\n this.selectedLineDocBatchArray = data;\r\n this.editingMode = true;\r\n }\r\n\r\n public docBatchSaved(data) {\r\n this.isDocBatchSaved = data;\r\n }\r\n}\r\n","import {Component, HostBinding, Input, OnDestroy, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {\r\n TransactionReceiveGoodsService\r\n} from \"../../transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {AvailableStock} from \"@colijnit/transactionapi/build/model/available-stock.bo\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-available-stock-grid\",\r\n template: `\r\n <div class=\"history-grid-wrapper\">\r\n <co-simple-grid [data]=\"collection\" (selectRow)=\"handleSelectRow($event)\">\r\n <co-simple-grid-column [headerText]=\"'ARTICLE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.articleNumber\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.warehouseNumber\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.locationNumber\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n\r\n <co-simple-grid-column [headerText]=\"'BATCH' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.batchNumber\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n\r\n <co-simple-grid-column [headerText]=\"'SERIAL_NUMBER' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.serialNumber\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.availableQuantity\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionAvailableStockGridComponent implements OnInit, OnDestroy {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public transactionInfo: TransactionInfo;\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo;\r\n\r\n @HostBinding(\"class.co-transaction-available-stock-grid\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public selectedStock: AvailableStock;\r\n public collection: AvailableStock[];\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n public iconsService: IconCacheService,\r\n private _transactionService: TransactionService,\r\n private _transactionReceiveGoodsService: TransactionReceiveGoodsService\r\n ) { }\r\n\r\n public ngOnInit(): void {\r\n this._subscriptions.push(\r\n this._transactionReceiveGoodsService.reloadAvailableStockData.subscribe(() => this._getAvailableStock())\r\n );\r\n\r\n this._getAvailableStock();\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._subscriptions.forEach((subscription: Subscription) => subscription.unsubscribe());\r\n }\r\n\r\n public handleSelectRow(availableStock: AvailableStock): void {\r\n this.selectedStock = availableStock;\r\n this._transactionReceiveGoodsService.returnArticleSelected.next(availableStock);\r\n }\r\n\r\n public handleDeleteClick(): void {\r\n\r\n }\r\n\r\n private async _getAvailableStock(): Promise<void> {\r\n this.collection = await this._transactionService.getAvailableStockGroupedByWLBSByTransIdLineNr(this.transactionInfo.id, this.transactionLine.lineNr);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionAvailableStockGridComponent} from \"./transaction-available-stock-grid.component\";\r\nimport {GridToolbarButtonModule, SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SimpleGridModule,\r\n GridToolbarButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionAvailableStockGridComponent\r\n ],\r\n exports: [\r\n TransactionAvailableStockGridComponent\r\n ]\r\n})\r\nexport class TransactionAvailableStockGridModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionTypeCategory} from \"../../enum/transaction-type-category.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\n\r\n\r\n@Component({\r\n selector: \"co-transaction-side-panel-edit-request-details\",\r\n template: `\r\n <div class=\"edit-request-details-wrapper\">\r\n <ng-container [ngSwitch]=\"category\">\r\n <ng-container *ngSwitchCase=\"categories.SalesOrderAllocation\">\r\n <co-allocation-request\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n [amountLeftToAllocate]=\"amountLeftToAllocate\"\r\n (reloadAllocationGoodsHistory)=\"reloadAllocationGoodsHistory.next()\"\r\n ></co-allocation-request>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"categories.PurchaseOrderReceivedGoods\">\r\n <co-receive-goods-request\r\n [transactionLine]=\"transactionLine\"\r\n [amountLeftToReceive]=\"amountLeftToReceive\"\r\n (reloadReceivingGoodsHistory)=\"reloadReceivingGoodsHistory.next()\"\r\n ></co-receive-goods-request>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSidePanelEditRequestDetailsComponent {\r\n public readonly categories: typeof TransactionTypeCategory = TransactionTypeCategory;\r\n\r\n @Input()\r\n public category: TransactionTypeCategory;\r\n\r\n @Input()\r\n public transactionInfo: TransactionInfo;\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo;\r\n\r\n @Input()\r\n public amountLeftToReceive: number;\r\n\r\n @Input()\r\n public amountLeftToAllocate: number;\r\n\r\n @Output()\r\n public reloadReceivingGoodsHistory: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public reloadAllocationGoodsHistory: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-transaction-side-panel-edit-request-details\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {\r\n AllocateGoodsForSalesOrderRequest\r\n} from \"@colijnit/transactionapi/build/model/allocate-goods-for-sales-order-request\";\r\nimport {\r\n SalesOrderLineAllocationDetails\r\n} from \"@colijnit/transactionapi/build/model/sales-order-line-allocation-details\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {DialogService} from \"../../../service/dialog.service\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-allocation-request\",\r\n template: `\r\n <co-form>\r\n <div class=\"details-header\" [textContent]=\"'ALLOCATE_DETAILS' | localize | uppercase\"></div>\r\n <div class=\"columns-wrapper\">\r\n <div class=\"details-column\">\r\n <co-input-text class=\"details-input\"\r\n [max]=\"amountLeftToAllocate\"\r\n [(model)]=\"allocationDetails.serialNr ? 1 : allocationDetails.quantityToAllocate\"\r\n [disabled]=\"!!allocationDetails.serialNr || allocationDetails.quantityToAllocate === 0\"\r\n [readonly]=\"!!allocationDetails.serialNr || allocationDetails.quantityToAllocate === 0 || readonly\"\r\n [required]=\"true\"\r\n [type]=\"'number'\"\r\n [min]=\"1\"\r\n [placeholder]=\"'AMOUNT' | localize\"></co-input-text>\r\n <co-input-text class=\"details-input\" [(model)]=\"allocationDetails.warehouseNr\"\r\n [type]=\"'number'\"\r\n [hideArrowButtons]=\"true\"\r\n [readonly]=\"transactionLine.warehouseNumber !== undefined || readonly\"\r\n [disabled]=\"transactionLine.warehouseNumber !== undefined\"\r\n [required]=\"transactionLine.isWarehouseRequired\"\r\n [placeholder]=\"'WAREHOUSE' | localize\"></co-input-text>\r\n <div class=\"location-wrapper clickable\" (click)=\"openWarehouseLocationDialog()\">\r\n <span *ngIf=\"!allocationDetails.locationNr && transactionLine.isLocationRequired\" class=\"required\" [textContent]=\"'*'\"></span>\r\n <co-icon *ngIf=\"allocationDetails.locationNr\" [iconData]=\"iconCacheService.getIcon(icons.ShelvesLight)\"></co-icon>\r\n <div [textContent]=\"allocationDetails.locationNr ? allocationDetails.locationNr : ('LOCATION' | localize)\"></div>\r\n </div>\r\n </div>\r\n <div class=\"divider-wrapper\">\r\n <div class=\"divider\"></div>\r\n </div>\r\n <div class=\"details-column\">\r\n <co-input-text *ngIf=\"transactionLine.isBatchNrRequired\" class=\"details-input\" [(model)]=\"allocationDetails.batchNr\"\r\n [type]=\"'number'\"\r\n [hideArrowButtons]=\"true\"\r\n [readonly]=\"readonly\"\r\n [required]=\"transactionLine.isBatchNrRequired\"\r\n [placeholder]=\"'BATCH_NUMBER' | localize\"></co-input-text>\r\n <co-input-text *ngIf=\"transactionLine.isSerialNrRequired\" class=\"details-input\" [(model)]=\"allocationDetails.serialNr\"\r\n [type]=\"'number'\"\r\n [hideArrowButtons]=\"true\"\r\n [readonly]=\"readonly\"\r\n [required]=\"transactionLine.isSerialNrRequired\"\r\n [placeholder]=\"'SERIAL_NUMBER' | localize\"></co-input-text>\r\n </div>\r\n </div>\r\n </co-form>\r\n\r\n <div class=\"commit-button-wrapper\">\r\n <div class=\"commit-button\" [class.clickable]=\"amountLeftToAllocate > 0\" *ngIf=\"!readonly\" (click)=\"handleSaveDetailsEdit()\" [class.disabled]=\"saveButtonDisabled || amountLeftToAllocate === 0\">\r\n <span class=\"commit-text\" [textContent]=\"'ALLOCATE' | localize\"></span>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AllocationRequestComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set amountLeftToAllocate(value: number) {\r\n this._amountLeftToAllocate = value;\r\n this.allocationDetails.quantityToAllocate = value;\r\n }\r\n\r\n @Input()\r\n public set transactionLine(value: TransactionLineInfo) {\r\n this._transactionLine = value;\r\n this.readonly = this._transactionLine.hasInvoices;\r\n this.allocationDetails.warehouseNr = value.warehouseNumber;\r\n this.allocationDetails.lineNr = value.lineNr;\r\n }\r\n\r\n public get amountLeftToAllocate(): number {\r\n return this._amountLeftToAllocate;\r\n }\r\n\r\n public get transactionLine(): TransactionLineInfo {\r\n return this._transactionLine;\r\n }\r\n\r\n @Input()\r\n public transactionInfo: TransactionInfo;\r\n\r\n @Output()\r\n public reloadAllocationGoodsHistory: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n public allocationRequest: AllocateGoodsForSalesOrderRequest = new AllocateGoodsForSalesOrderRequest();\r\n public allocationDetails: SalesOrderLineAllocationDetails = new SalesOrderLineAllocationDetails();\r\n\r\n public readonly: boolean = false;\r\n public saveButtonDisabled: boolean = false;\r\n\r\n private _transactionLine: TransactionLineInfo;\r\n private _amountLeftToAllocate: number;\r\n private _subscriptions: Subscription[] = [];\r\n\r\n @HostBinding(\"class.co-transaction-allocate-goods-details\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _formMaster: FormMasterService,\r\n private _service: TransactionService,\r\n private _dialogService: DialogService,\r\n ) {\r\n this.allocationRequest.salesOrderLineAllocationDetailsDTOS = [this.allocationDetails];\r\n }\r\n\r\n public submit(): boolean {\r\n return this._formMaster.submitSlaves();\r\n }\r\n\r\n public handleSaveDetailsEdit(): void {\r\n const valid = this.submit();\r\n if (valid) {\r\n this.saveButtonDisabled = true;\r\n const request: AllocateGoodsForSalesOrderRequest = this.allocationRequest;\r\n request.transId = this.transactionInfo.id;\r\n this._service.allocateGoodsForSalesOrder(request).then((success) => {\r\n if (success) {\r\n this.allocationDetails.locationNr = undefined;\r\n this.reloadAllocationGoodsHistory.next();\r\n } else {\r\n this.saveButtonDisabled = false;\r\n }\r\n }).catch((e) => {\r\n this.saveButtonDisabled = false;\r\n });\r\n }\r\n }\r\n\r\n public openWarehouseLocationDialog(): void {\r\n if (this.amountLeftToAllocate > 0) {\r\n this._dialogService.showWarehouseLocation(this.allocationDetails.warehouseNr, true, true, true, this.transactionLine)\r\n .then(() => this.allocationDetails.locationNr = (<any>this.transactionLine).locationNr);\r\n }\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {ArticleConnectorService} from \"./article-connector.service\";\r\nimport {SelectMultipleCacheService} from \"../cache/service/select-multiple-cache.service\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ArticleService {\r\n\r\n constructor(\r\n private _articleConnectorService: ArticleConnectorService,\r\n private _selectMultipleCacheService: SelectMultipleCacheService,\r\n ) {}\r\n\r\n public async getWarehouseLocations(warehouseNr: number): Promise<any> {\r\n // @ts-ignore\r\n return this._selectMultipleCacheService.requestCache<StockLocation>(StockLocation, () => {\r\n return this._articleConnectorService.getWarehouseLocations(warehouseNr);\r\n }).getValue();\r\n }\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {\r\n PurchaseOrderLineReceiptDetails\r\n} from \"@colijnit/transactionapi/build/model/purchase-order-line-receipt-details.bo\";\r\nimport {\r\n ReceiveGoodsForPurchaseOrderRequest\r\n} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-request.bo\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {FormMasterService} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {ArticleService} from \"../../../service/article.service\";\r\nimport {DialogService} from \"../../../service/dialog.service\";\r\nimport {\r\n TransactionReceiveGoodsService\r\n} from \"../../transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service\";\r\nimport {AvailableStock} from \"@colijnit/transactionapi/build/model/available-stock.bo\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionTypeCategory} from \"../../../enum/transaction-type-category.enum\";\r\n\r\n@Component({\r\n selector: \"co-receive-goods-request\",\r\n template: `\r\n <co-form>\r\n <div class=\"header-wrapper\">\r\n <div class=\"details-header\" [textContent]=\"returnStockMode() ? ('RETURN_DETAILS' | localize | uppercase) : ('RECEIPT_DETAILS' | localize | uppercase)\"></div>\r\n <co-transaction-line-statusbar class=\"status-bar-wrapper\" [transaction]=\"transactionLine\" [transactionKind]=\"transactionKind.SalesOrder\" [transactionTypeCategory]=\"transactionTypeCategory.PurchaseOrderReceivedGoods\"></co-transaction-line-statusbar>\r\n </div>\r\n <div class=\"columns-wrapper\">\r\n <div class=\"details-column\">\r\n <div class=\"transaction-line-totals-amount\">\r\n <co-input-number-picker class=\"amount-number-picker\"\r\n [max]=\"returnStockMode() ? returnMaxToReceive : amountLeftToReceive\"\r\n [(model)]=\"receiptDetails.serialNr ? 1 : receiptDetails.quantityToReceive\"\r\n [min]=\"1\"\r\n [readonly]=\"!!receiptDetails.serialNr || receiptDetails.quantityToReceive === 0 || !receiptDetails.quantityToReceive || readonly\"\r\n [disabled]=\"!!receiptDetails.serialNr || receiptDetails.quantityToReceive === 0 || !receiptDetails.quantityToReceive\"\r\n [required]=\"true\"\r\n ></co-input-number-picker>\r\n </div>\r\n <co-input-text class=\"details-input\" [(model)]=\"receiptDetails.warehouseNr\"\r\n [type]=\"'number'\"\r\n [hideArrowButtons]=\"true\"\r\n [readonly]=\"transactionLine.warehouseNumber !== undefined || readonly || returnStockMode()\"\r\n [disabled]=\"transactionLine.warehouseNumber !== undefined || returnStockMode()\"\r\n [required]=\"transactionLine.isWarehouseRequired\"\r\n [placeholder]=\"'WAREHOUSE' | localize\"></co-input-text>\r\n <div class=\"location-wrapper\">\r\n <!-- <span *ngIf=\"!receiptDetails.locationNr && transactionLine.isLocationRequired\" class=\"required\" [textContent]=\"'*'\"></span>-->\r\n <co-transaction-line-warehouse-location-button [locationNr]=\"selectedLocation\" [readonly]=\"returnStockMode() || receiptDetails.quantityToReceive === 0\" [line]=\"transactionLine\" (locationSelected)=\"receiptDetails.locationNr = $event\"></co-transaction-line-warehouse-location-button>\r\n </div>\r\n <co-input-text class=\"details-input\"\r\n *ngIf=\"!returnStockMode()\"\r\n [(model)]=\"request.packingSlipNr\"\r\n [placeholder]=\"'PACKING_SLIP' | localize\"\r\n [required]=\"true\"\r\n [readonly]=\"readonly\"\r\n ></co-input-text>\r\n </div>\r\n <div class=\"divider-wrapper\">\r\n <div class=\"divider\"></div>\r\n </div>\r\n <div class=\"details-column\">\r\n <co-input-date class=\"details-input\"\r\n [(model)]=\"request.receivedDate\"\r\n [readonly]=\"readonly\"\r\n ></co-input-date>\r\n <co-input-text *ngIf=\"transactionLine.isBatchNrRequired\" class=\"details-input\" [(model)]=\"receiptDetails.batchNr\"\r\n [type]=\"'number'\"\r\n [hideArrowButtons]=\"true\"\r\n [readonly]=\"readonly || returnStockMode()\"\r\n [disabled]=\"returnStockMode()\"\r\n [required]=\"transactionLine.isBatchNrRequired\"\r\n [placeholder]=\"'BATCH_NUMBER' | localize\"></co-input-text>\r\n <co-input-text *ngIf=\"transactionLine.isSerialNrRequired\" class=\"details-input\" [(model)]=\"receiptDetails.serialNr\"\r\n [type]=\"'number'\"\r\n [hideArrowButtons]=\"true\"\r\n [readonly]=\"readonly || returnStockMode()\"\r\n [disabled]=\"returnStockMode()\"\r\n [required]=\"transactionLine.isSerialNrRequired\"\r\n [placeholder]=\"'SERIAL_NUMBER' | localize\"></co-input-text>\r\n </div>\r\n </div>\r\n </co-form>\r\n\r\n <div class=\"commit-button-wrapper\">\r\n <div class=\"commit-button clickable\" *ngIf=\"!readonly\" (click)=\"handleSaveDetailsEdit()\" [class.disabled]=\"saveButtonDisabled || amountLeftToReceive === 0\">\r\n <span class=\"commit-text\" [textContent]=\"returnStockMode() ? ('RETURN_STOCK' | localize) : ('RECEIVE' | localize)\"></span>\r\n </div>\r\n </div>\r\n `,\r\n providers: [\r\n FormMasterService\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ReceiveGoodsRequestComponent implements AfterViewInit {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly transactionKind: typeof TransactionKind = TransactionKind;\r\n public readonly transactionTypeCategory: typeof TransactionTypeCategory = TransactionTypeCategory;\r\n\r\n @Input()\r\n public set transactionLine(value: TransactionLineInfo) {\r\n this._transactionLine = value;\r\n this.readonly = this._transactionLine.hasInvoices;\r\n this.receiptDetails.warehouseNr = value.warehouseNumber;\r\n this.receiptDetails.lineNr = value.lineNr;\r\n }\r\n\r\n @Input()\r\n public set amountLeftToReceive(value: number) {\r\n this._amountLeftToReceive = value;\r\n if (!this.returnStockMode()) {\r\n this.receiptDetails.quantityToReceive = value;\r\n }\r\n }\r\n\r\n @Output()\r\n public reloadReceivingGoodsHistory: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-transaction-receiving-goods-details\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n public get amountLeftToReceive(): number {\r\n return this._amountLeftToReceive;\r\n }\r\n\r\n\r\n public get transactionLine(): TransactionLineInfo {\r\n return this._transactionLine;\r\n }\r\n\r\n public receiptDetails: PurchaseOrderLineReceiptDetails = new PurchaseOrderLineReceiptDetails();\r\n public request: ReceiveGoodsForPurchaseOrderRequest = new ReceiveGoodsForPurchaseOrderRequest();\r\n public saveButtonDisabled: boolean = false;\r\n public readonly: boolean = false;\r\n public returnMaxToReceive: number;\r\n public selectedLocation: string;\r\n\r\n private _transactionLine: TransactionLineInfo;\r\n private _amountLeftToReceive: number;\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _formMaster: FormMasterService,\r\n private _service: TransactionService,\r\n private _articleService: ArticleService,\r\n private _dialogService: DialogService,\r\n private _receiveGoodsService: TransactionReceiveGoodsService\r\n ) { }\r\n\r\n public ngOnInit(): void {\r\n this._subscriptions.push(\r\n this._receiveGoodsService.returnArticleSelected.subscribe((availableStock: AvailableStock) => {\r\n this._handleReturnStock(availableStock);\r\n })\r\n )\r\n\r\n this.request.purchaseOrderLineReceiptDetailsDTOS = [this.receiptDetails];\r\n const timeElapsed: number = Date.now();\r\n this.request.receivedDate = new Date(timeElapsed);\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._subscriptions.forEach((subscription: Subscription) => subscription.unsubscribe());\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n this.reloadReceivingGoodsHistory.next();\r\n }\r\n\r\n public submit(): boolean {\r\n return this._formMaster.submitSlaves();\r\n }\r\n\r\n public locationRequired(): boolean {\r\n return this._transactionLine.isLocationRequired ||\r\n this._transactionLine.isBatchNrRequired ||\r\n this._transactionLine.isSerialNrRequired;\r\n }\r\n\r\n public handleSaveDetailsEdit(): void {\r\n const valid = this.submit();\r\n if (valid) {\r\n this.saveButtonDisabled = true;\r\n const request: ReceiveGoodsForPurchaseOrderRequest = this.request;\r\n this.receiptDetails.quantityToReceive = this.returnStockMode() ?\r\n -this.receiptDetails.quantityToReceive : this.receiptDetails.quantityToReceive;\r\n request.transId = this._service.currentTransaction.transactionInfo.id;\r\n this._service.receiveGoodsForPurchaseOrder(request).then(() => {\r\n if (this.returnStockMode()) {\r\n this._receiveGoodsService.reloadAvailableStockData.next();\r\n this.receiptDetails.locationNr = undefined;\r\n }\r\n this.reloadReceivingGoodsHistory.next();\r\n }).catch((e) => {\r\n this.saveButtonDisabled = false;\r\n });\r\n this.saveButtonDisabled = false;\r\n }\r\n }\r\n\r\n public returnStockMode(): boolean {\r\n return this.transactionLine.amount < 0;\r\n }\r\n\r\n private _handleReturnStock(availableStock: AvailableStock): void {\r\n const maxToReturn = this.amountLeftToReceive < 0 ? Math.abs(this.amountLeftToReceive) : this.amountLeftToReceive;\r\n this.returnMaxToReceive = maxToReturn > availableStock.availableQuantity ? availableStock.availableQuantity : maxToReturn;\r\n this.receiptDetails.quantityToReceive = this.returnMaxToReceive;\r\n this.receiptDetails.warehouseNr = availableStock.warehouseNumber;\r\n this.receiptDetails.locationNr = availableStock.locationNumber;\r\n this.selectedLocation = this.receiptDetails.locationNr;\r\n this.receiptDetails.serialNr = availableStock.serialNumber;\r\n this.receiptDetails.batchNr = availableStock.batchNumber;\r\n this.receiptDetails.lineNr = this.transactionLine.lineNr;\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {DialogService} from \"../../service/dialog.service\";\r\nimport {ExtendedTransactionLineViewModel} from \"../../model/extended-transaction-line-view-model\";\r\nimport { TransactionLineInfo } from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {DialogResponseInterface} from \"../../interface/dialog-response.interface\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-warehouse-location-button\",\r\n template: `\r\n <div class=\"transaction-line-button\" [class.no-pointer]=\"readonly\" (click)=\"openWarehouseLocationDialog()\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ShelvesLight)\"></co-icon>\r\n <span class=\"co-transaction-overflow-ellipsis\" [textContent]=\"locationNr ? locationNr : '-'\"></span>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineWarehouseLocationButtonComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public line: TransactionLineInfo | ExtendedTransactionLineViewModel;\r\n\r\n @Input()\r\n public locationNr: string;\r\n\r\n @Input()\r\n public readonly: boolean = false;\r\n\r\n @Output()\r\n public locationSelected: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-transaction-line-warehouse-location-button\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _dialogService: DialogService\r\n ) { }\r\n\r\n public async openWarehouseLocationDialog(): Promise<void> {\r\n if (!this.readonly) {\r\n const response: DialogResponseInterface = await this._dialogService.showWarehouseLocation(this.line.warehouseNumber, false, true, true, this.line);\r\n if (response && response.output) {\r\n this.locationNr = response.output;\r\n if (this.line instanceof TransactionLineInfo) {\r\n this.locationSelected.next(response.output);\r\n } else {\r\n (<ExtendedTransactionLineViewModel>this.line).locationNr = response.output;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineWarehouseLocationButtonComponent} from \"./transaction-line-warehouse-location-button.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n TransactionLineWarehouseLocationButtonComponent\r\n ],\r\n exports: [\r\n TransactionLineWarehouseLocationButtonComponent\r\n ]\r\n})\r\nexport class TransactionLineWarehouseLocationButtonModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionSidePanelEditRequestDetailsComponent} from \"./transaction-side-panel-edit-request-details.component\";\r\nimport {\r\n FormModule,\r\n IconModule,\r\n InputDatePickerModule,\r\n InputNumberPickerModule,\r\n InputTextModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {AllocationRequestComponent} from \"./components/allocation-request.component\";\r\nimport {ReceiveGoodsRequestComponent} from \"./components/receive-goods-request.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {\r\n TransactionLineWarehouseLocationButtonModule\r\n} from \"../transaction-line-fields/transaction-line-warehouse-location-button.module\";\r\nimport {TransactionLineStatusbarModule} from \"../transaction-line-statusbar/transaction-line-statusbar.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormModule,\r\n InputTextModule,\r\n PipeModule,\r\n IconModule,\r\n InputDatePickerModule,\r\n TransactionLineWarehouseLocationButtonModule,\r\n InputNumberPickerModule,\r\n TransactionLineStatusbarModule\r\n ],\r\n declarations: [\r\n TransactionSidePanelEditRequestDetailsComponent,\r\n AllocationRequestComponent,\r\n ReceiveGoodsRequestComponent\r\n ],\r\n exports: [\r\n TransactionSidePanelEditRequestDetailsComponent\r\n ]\r\n})\r\nexport class TransactionSidePanelEditRequestDetailsModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineSidePanelPurchaseComponent} from \"./transaction-line-side-panel-purchase.component\";\r\nimport {TransactionConfirmationHistoryModule} from \"../transaction-confirmation-history/transaction-confirmation-history.module\";\r\nimport {TransactionReceivingGoodsHistoryModule} from \"../transaction-receiving-goods-history/transaction-receiving-goods-history.module\";\r\nimport {ButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineSidePanelDefaultModule} from \"../transaction-line-side-panel-default/transaction-line-side-panel-default.module\";\r\nimport {\r\n TransactionConfirmationDetailsModule\r\n} from \"../transaction-confirmation-details/transaction-confirmation-details.module\";\r\nimport {\r\n TransactionAvailableStockGridModule\r\n} from \"../transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module\";\r\nimport {\r\n TransactionSidePanelEditRequestDetailsModule\r\n} from \"../transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionConfirmationHistoryModule,\r\n TransactionReceivingGoodsHistoryModule,\r\n ButtonModule,\r\n PipeModule,\r\n TransactionLineSidePanelDefaultModule,\r\n TransactionConfirmationDetailsModule,\r\n TransactionAvailableStockGridModule,\r\n TransactionSidePanelEditRequestDetailsModule\r\n ],\r\n declarations: [\r\n TransactionLineSidePanelPurchaseComponent\r\n ],\r\n exports: [\r\n TransactionLineSidePanelPurchaseComponent\r\n ]\r\n})\r\nexport class TransactionLineSidePanelPurchaseModule {\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionTypeCategory} from \"../../enum/transaction-type-category.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionEventService} from \"../../service/transaction-event.service\";\r\nimport {\r\n GoodsAllocationStatusWithHistory\r\n} from \"@colijnit/transactionapi/build/model/goods-allocation-status-with-history.bo\";\r\nimport {ExtendedTransactionLineViewModel} from \"../../model/extended-transaction-line-view-model\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-side-panel-sales\",\r\n template: `\r\n <ng-container [ngSwitch]=\"category\">\r\n <ng-container *ngSwitchCase=\"categories.SalesOrderAllocation\">\r\n <co-transaction-side-panel-edit-request-details\r\n [category]=\"categories.SalesOrderAllocation\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n [amountLeftToAllocate]=\"goodsAllocationStatus.quantityToAllocate\"\r\n (reloadAllocationGoodsHistory)=\"getGoodsAllocationStatusWithHistory()\"\r\n ></co-transaction-side-panel-edit-request-details>\r\n <co-transaction-allocate-goods-history\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n [goodsAllocationHistory]=\"goodsAllocationStatus.goodsAllocationHistory\"\r\n (reloadAllocationGoodsHistory)=\"getGoodsAllocationStatusWithHistory()\"\r\n ></co-transaction-allocate-goods-history>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <co-transaction-line-side-panel-default\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n ></co-transaction-line-side-panel-default>\r\n </ng-container>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSidePanelSalesComponent {\r\n public readonly categories: typeof TransactionTypeCategory = TransactionTypeCategory;\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo;\r\n\r\n @Input()\r\n public set transactionInfo(value: TransactionInfo) {\r\n this._transactionInfo = value;\r\n }\r\n\r\n public get transactionInfo(): TransactionInfo {\r\n return this._transactionInfo;\r\n }\r\n\r\n @Input()\r\n public category: TransactionTypeCategory;\r\n\r\n @HostBinding(\"class.co-transaction-line-side-panel-sales\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public goodsAllocationStatus: GoodsAllocationStatusWithHistory = new GoodsAllocationStatusWithHistory();\r\n\r\n private _transactionInfo: TransactionInfo = new TransactionInfo()\r\n\r\n constructor(\r\n private _service: TransactionService,\r\n private _transactionEventService: TransactionEventService\r\n ) {}\r\n\r\n public async getGoodsAllocationStatusWithHistory(): Promise<void> {\r\n this._service.getGoodsAllocationStatusWithHistory(this._transactionInfo.id, this.transactionLine.lineNr)\r\n .then((result: GoodsAllocationStatusWithHistory) => {\r\n this.goodsAllocationStatus = result;\r\n const tempViewModel: ExtendedTransactionLineViewModel = Object.assign(new ExtendedTransactionLineViewModel(), this.transactionLine);\r\n tempViewModel.quantityToAllocate = result.quantityToAllocate;\r\n tempViewModel.quantityAllocated = result.quantityAllocated;\r\n this._transactionEventService.transactionLineChanged.next(tempViewModel);\r\n });\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {LogisticalStateDetail} from \"@colijnit/transactionapi/build/model/logistical-state-detail.bo\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {\r\n AllocateGoodsForSalesOrderCorrectionRequest\r\n} from \"@colijnit/transactionapi/build/model/allocate-goods-for-sales-order-correction-request\";\r\nimport {\r\n SalesOrderLineAllocationCorrectionDetails\r\n} from \"@colijnit/transactionapi/build/model/sales-order-line-allocation-correction-details\";\r\nimport {TransactionInfo} from \"@colijnit/transactionapi/build/model/transaction-info.bo\";\r\n\r\n\r\n@Component({\r\n selector: \"co-transaction-allocate-goods-history\",\r\n template: `\r\n <co-transaction-history-grid\r\n [collection]=\"goodsAllocationHistory\"\r\n (deleteSelectedRow)=\"handleDeleteSelectedRow($event)\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [order]=\"40\">\r\n <ng-template #template let-row=\"row\">\r\n <div class=\"row-container\">\r\n <span class=\"row\" [textContent]=\"row.warehouseNumber\"></span>\r\n <span class=\"correction\" *ngFor=\"let correction of row.corrections\" [textContent]=\"correction.warehouseNumber\"></span>\r\n </div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [order]=\"60\">\r\n <ng-template #template let-row=\"row\">\r\n <div class=\"row-container\">\r\n <span class=\"row\" [textContent]=\"row.locationNumber\"></span>\r\n <span class=\"correction\" *ngFor=\"let correction of row.corrections\" [textContent]=\"correction.locationNumber\"></span>\r\n </div>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-transaction-history-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionAllocateGoodsHistoryComponent implements AfterViewInit {\r\n\r\n @Input()\r\n set goodsAllocationHistory(value: LogisticalStateDetail[]) {\r\n if (value) {\r\n this._goodsAllocationHistory = value.reverse();\r\n }\r\n }\r\n\r\n @Input()\r\n public transactionInfo: TransactionInfo;\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo;\r\n\r\n @Output()\r\n public reloadAllocationGoodsHistory: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n get goodsAllocationHistory(): LogisticalStateDetail[] {\r\n return this._goodsAllocationHistory;\r\n }\r\n\r\n private _goodsAllocationHistory: LogisticalStateDetail[];\r\n\r\n @HostBinding(\"class.co-transaction-allocate-goods-history\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n private _service: TransactionService\r\n ) { }\r\n\r\n public ngAfterViewInit(): void {\r\n this.reloadAllocationGoodsHistory.next();\r\n }\r\n\r\n public handleDeleteSelectedRow(row: LogisticalStateDetail): void {\r\n if (row && row.type !== 'correction') {\r\n const request: AllocateGoodsForSalesOrderCorrectionRequest = new AllocateGoodsForSalesOrderCorrectionRequest();\r\n const correctionDetails: SalesOrderLineAllocationCorrectionDetails = new SalesOrderLineAllocationCorrectionDetails();\r\n request.allowedToRemovePickedAllocations = false;\r\n request.transId = this.transactionInfo.id;\r\n request.salesOrderLineAllocationCorrectionDetailsDTOS = [correctionDetails];\r\n correctionDetails.lineNr = this.transactionLine.lineNr;\r\n correctionDetails.quantityToCorrect = row.quantity;\r\n correctionDetails.documentId = row.documentId;\r\n correctionDetails.documentLineNr = row.lineNumber;\r\n this._service.allocateGoodsForSalesOrderCorrection(request).then(() => {\r\n this.reloadAllocationGoodsHistory.next();\r\n });\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionAllocateGoodsHistoryComponent} from \"./transaction-allocate-goods-history.component\";\r\nimport {SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {\r\n TransactionHistoryGridModule\r\n} from \"../transaction-grid/transaction-history-grid/transaction-history-grid.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SimpleGridModule,\r\n TransactionHistoryGridModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionAllocateGoodsHistoryComponent\r\n ],\r\n exports: [\r\n TransactionAllocateGoodsHistoryComponent\r\n ]\r\n})\r\nexport class TransactionAllocateGoodsHistoryModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineSidePanelSalesComponent} from \"./transaction-line-side-panel-sales.component\";\r\nimport {\r\n TransactionLineSidePanelDefaultModule\r\n} from \"../transaction-line-side-panel-default/transaction-line-side-panel-default.module\";\r\nimport {\r\n TransactionSidePanelEditRequestDetailsModule\r\n} from \"../transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module\";\r\nimport {\r\n TransactionAllocateGoodsHistoryModule\r\n} from \"../transaction-allocate-goods-history/transaction-allocate-goods-history.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionLineSidePanelDefaultModule,\r\n TransactionSidePanelEditRequestDetailsModule,\r\n TransactionAllocateGoodsHistoryModule\r\n ],\r\n declarations: [\r\n TransactionLineSidePanelSalesComponent\r\n ],\r\n exports: [\r\n TransactionLineSidePanelSalesComponent\r\n ]\r\n})\r\nexport class TransactionLineSidePanelSalesModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionLineSidePanelComponent} from \"./transaction-line-side-panel.component\";\r\nimport {TransactionLineSidePanelDefaultModule} from \"../transaction-line-side-panel-default/transaction-line-side-panel-default.module\";\r\nimport {TransactionReceivingGoodsHistoryModule} from \"../transaction-receiving-goods-history/transaction-receiving-goods-history.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {ButtonModule, PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionButtonBarModule} from \"../transaction-button-bar/transaction-button-bar.module\";\r\nimport {TransactionConfirmationHistoryModule} from \"../transaction-confirmation-history/transaction-confirmation-history.module\";\r\nimport {\r\n TransactionConfirmationDetailsModule\r\n} from \"../transaction-confirmation-details/transaction-confirmation-details.module\";\r\nimport {TransactionLineSidePanelPurchaseModule} from \"../transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module\";\r\nimport {\r\n TransactionLineSidePanelSalesModule\r\n} from \"../transaction-line-side-panel-sales/transaction-line-side-panel-sales.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionLineSidePanelDefaultModule,\r\n TransactionReceivingGoodsHistoryModule,\r\n PipeModule,\r\n ButtonModule,\r\n TransactionButtonBarModule,\r\n PriceDisplayPipeModule,\r\n TransactionConfirmationHistoryModule,\r\n TransactionLineSidePanelPurchaseModule,\r\n TransactionConfirmationHistoryModule,\r\n TransactionConfirmationDetailsModule,\r\n TransactionLineSidePanelSalesModule\r\n ],\r\n declarations: [\r\n TransactionLineSidePanelComponent\r\n ],\r\n exports: [\r\n TransactionLineSidePanelComponent\r\n ]\r\n})\r\nexport class TransactionLineSidePanelModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionAddTextLineRequest} from \"@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo\";\r\nimport {CdkDrag, CdkDragDrop, CdkDropList, moveItemInArray} from \"@angular/cdk/drag-drop\";\r\nimport {BusinessObjectFactory} from \"@colijnit/ioneconnector/build/factory/business-object-factory\";\r\n\r\n@Component({\r\n selector: \"co-transaction-article-text-overview\",\r\n template: `\r\n <co-dialog (closeClick)=\"closeClick.emit($event)\" [headerTemplate]=\"headerTemplate\" [footerTemplate]=\"footerTemplate\">\r\n <div class=\"article-text-content-wrapper\">\r\n <div #dropList cdkDropList cdkDropListOrientation=\"vertical\"\r\n class=\"article-text-drag-drop-list\"\r\n [cdkDropListData]=\"collection\"\r\n [cdkDropListEnterPredicate]=\"handleCanDragDrop\"\r\n (cdkDropListDropped)=\"handleDrop($event)\"\r\n >\r\n <div class=\"article-text-overview-article-text-wrapper\" *ngFor=\"let transLine of collection; let index = index\" cdkDrag (dblclick)=\"handleOpenArticleText(transLine)\">\r\n <div class=\"index\" [textContent]=\"index + 1\"></div>\r\n <div class=\"text\" [innerHTML]=\"transLine.text | safeHtml\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </co-dialog>\r\n <ng-template #headerTemplate><span class=\"co-dialog-header-title\" [textContent]=\"header\"></span></ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-transaction-dialog-footer-button-wrapper\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"onOkClick($event)\"></co-button>\r\n </div>\r\n </ng-template>\r\n <co-transaction-article-text *ngIf=\"showTransactionArticleText\"\r\n [header]=\"header\"\r\n [articleLineNr]=\"editTransactionLine.lineNr\"\r\n [articleRef]=\"editTransactionLine.articleNumber\"\r\n [transactionLine]=\"editTransactionLine\"\r\n [editText]=\"textToEdit\"\r\n [showArticleImageDescription]=\"editTransactionLine.articleBound\"\r\n (saveClick)=\"saveTransactionArticleLineText($event)\"\r\n (closeClick)=\"closeTransactionArticleText($event)\"\r\n (cancelClick)=\"closeTransactionArticleText($event)\"\r\n ></co-transaction-article-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionArticleTextOverviewComponent {\r\n @Input()\r\n public header: string;\r\n\r\n @Input()\r\n public set transactionLine(value: TransactionLineInfo) {\r\n if (value) {\r\n this._getArticleTexts(value.uuid);\r\n }\r\n }\r\n\r\n @Output()\r\n public closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public saveClick: EventEmitter<TransactionAddTextLineRequest> = new EventEmitter<TransactionAddTextLineRequest>();\r\n\r\n @HostBinding(\"class.co-transaction-article-text-overview\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public collection: TransactionLineInfo[] = [];\r\n public showTransactionArticleText: boolean = false;\r\n public editTransactionLine: TransactionLineInfo;\r\n public textToEdit: string;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n constructor(\r\n public service: TransactionService\r\n ) {\r\n }\r\n\r\n public onOkClick(event: MouseEvent): void {\r\n this.saveClick.next();\r\n }\r\n\r\n public onCancelClick(event: MouseEvent): void {\r\n this.cancelClick.next(event);\r\n }\r\n\r\n public handleCanDragDrop(drag: CdkDrag, drop: CdkDropList): boolean {\r\n return drag.data instanceof TransactionLineInfo;\r\n }\r\n\r\n public handleDrop(event: CdkDragDrop<TransactionLineInfo[]>): void {\r\n try {\r\n const from: number = event.previousIndex;\r\n const to: number = event.currentIndex;\r\n if (from === to) {\r\n return;\r\n }\r\n const beingDropped: TransactionLineInfo = this.collection[from];\r\n const target: TransactionLineInfo = this.collection[to];\r\n // set items in correct order\r\n moveItemInArray(this.collection, from, to);\r\n // this.service.changeLineSequence(this.line.beingDropped.uuid, from > to ? target.lineNr : null, from < to ? target.lineNr : null).catch(() => {\r\n // // something went wrong, reset drop\r\n // moveItemInArray(this.transactionLines, to, from);\r\n // });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n public handleOpenArticleText(transLine: TransactionLineInfo): void {\r\n this.textToEdit = transLine.text;\r\n this.editTransactionLine = <TransactionLineInfo><unknown>this._boFactory.makeWithRawBackendData(TransactionLineInfo, transLine);\r\n this.showTransactionArticleText = true;\r\n }\r\n\r\n public closeTransactionArticleText(event: MouseEvent): void {\r\n this._hideArticleTextDialog();\r\n }\r\n\r\n public saveTransactionArticleLineText(transactionAddTextLineRequest: TransactionAddTextLineRequest): void {\r\n this.service.addTextLine(\r\n transactionAddTextLineRequest.showOnDocuments,\r\n transactionAddTextLineRequest.text,\r\n 0,\r\n true,\r\n transactionAddTextLineRequest.refArticleLineNr).then(() => {\r\n this._hideArticleTextDialog();\r\n });\r\n }\r\n\r\n private _hideArticleTextDialog(): void {\r\n this.showTransactionArticleText = false;\r\n }\r\n\r\n private _getArticleTexts(uuid: string): void {\r\n this.service.getArticleBoundTextLinesOfArticleLine(uuid).then((texts: TransactionLineInfo[]) => {\r\n this.collection = texts;\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionArticleTextOverviewComponent} from \"./transaction-article-text-overview.component\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {DragDropModule} from \"@angular/cdk/drag-drop\";\r\nimport {TransactionArticleTextModule} from \"../transaction-article-text/transaction-article-text.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n CoDialogModule,\r\n DragDropModule,\r\n ButtonModule,\r\n TransactionArticleTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionArticleTextOverviewComponent\r\n ],\r\n exports: [\r\n TransactionArticleTextOverviewComponent\r\n ]\r\n})\r\nexport class TransactionArticleTextOverviewModule {}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionLineActionButtonsComponent} from \"./transaction-line-action-buttons.component\";\r\nimport {ButtonModule, ClickoutsideModule} from \"@colijnit/corecomponents_v12\";\r\nimport {\r\n TransactionArticleTextOverviewModule\r\n} from \"../shared/transaction-article-text-overview/transaction-article-text-overview.module\";\r\nimport {TransactionArticleTextModule} from \"../shared/transaction-article-text/transaction-article-text.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n ButtonModule,\r\n ClickoutsideModule,\r\n TransactionArticleTextOverviewModule,\r\n TransactionArticleTextModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineActionButtonsComponent\r\n ],\r\n exports: [\r\n TransactionLineActionButtonsComponent\r\n ]\r\n})\r\nexport class TransactionLineActionButtonsModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TransactionBaseGridComponent} from \"./transaction-base-grid.component\";\r\nimport {ButtonModule, SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineSidePanelModule} from \"../../transaction-line-side-panel/transaction-line-side-panel.module\";\r\nimport {\r\n TransactionLineActionButtonsModule\r\n} from \"../../transaction-line-action-buttons/transaction-line-action-buttons.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n ButtonModule,\r\n TransactionLineSidePanelModule,\r\n TransactionLineActionButtonsModule,\r\n ],\r\n declarations: [\r\n TransactionBaseGridComponent\r\n ],\r\n exports: [\r\n TransactionBaseGridComponent\r\n ]\r\n})\r\nexport class TransactionBaseGridModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DialogTransactionLineCommissionCodeComponent} from \"./dialog-transaction-line-commission-code.component\";\r\nimport {TransactionLineCommissionCodeModule} from \"../../../transaction-line-fields/transaction-line-commission-code.module\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../../pipe/pipe.module\";\r\nimport {DialogHeaderSearchModule} from \"../../dialog-header-search/dialog-header-search.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionLineCommissionCodeModule,\r\n CoDialogModule,\r\n PipeModule,\r\n ButtonModule,\r\n DialogHeaderSearchModule\r\n ],\r\n declarations: [\r\n DialogTransactionLineCommissionCodeComponent\r\n ],\r\n exports: [\r\n DialogTransactionLineCommissionCodeComponent\r\n ]\r\n})\r\nexport class DialogTransactionLineCommissionCodeModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DialogTransactionLineWarehouseComponent} from \"./dialog-transaction-line-warehouse.component\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineWarehouseModule} from \"../../../transaction-line-fields/transaction-line-warehouse.module\";\r\nimport {DialogHeaderSearchModule} from \"../../dialog-header-search/dialog-header-search.module\";\r\nimport {PipeModule} from \"../../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n TransactionLineWarehouseModule,\r\n DialogHeaderSearchModule,\r\n ButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n DialogTransactionLineWarehouseComponent\r\n ],\r\n exports: [\r\n DialogTransactionLineWarehouseComponent\r\n ]\r\n})\r\nexport class DialogTransactionLineWarehouseModule {\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogTransactionLineBaseComponent} from \"../../../core/base/dialog-transaction-line-base.component\";\r\n\r\n@Component({\r\n selector: \"co-dialog-transaction-line-delivery-method\",\r\n template: `\r\n <co-dialog [headerTemplate]=\"dialogHeader\" [footerTemplate]=\"footerTemplate\" [showCloseIcon]=\"useModel\" (closeClick)=\"handleClose(buttonType.Ok)\">\r\n <co-transaction-line-delivery-method\r\n [autoClose]=\"autoClose\"\r\n [useModel]=\"useModel\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n [searchText]=\"searchText\"\r\n (closeAfterCommit)=\"handleClose(buttonType.Ok)\"\r\n (valueChange)=\"handleValueChange($event)\"></co-transaction-line-delivery-method>\r\n </co-dialog>\r\n <ng-template #dialogHeader>\r\n <co-dialog-header-search [title]=\"'DELIVERY_METHOD'\" (search)=\"handleSearch($event)\"></co-dialog-header-search>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\" *ngIf=\"!useModel\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick()\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogTransactionLineDeliveryMethodComponent extends DialogTransactionLineBaseComponent {\r\n\r\n @HostBinding(\"class.co-dialog-transaction-line-delivery-method\")\r\n public showClass() {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DialogTransactionLineDeliveryMethodComponent} from \"./dialog-transaction-line-delivery-method.component\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineDeliveryMethodModule} from \"../../../transaction-line-fields/transaction-line-delivery-method.module\";\r\nimport {DialogHeaderSearchModule} from \"../../dialog-header-search/dialog-header-search.module\";\r\nimport {PipeModule} from \"../../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n TransactionLineDeliveryMethodModule,\r\n DialogHeaderSearchModule,\r\n ButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n DialogTransactionLineDeliveryMethodComponent\r\n ],\r\n exports: [\r\n DialogTransactionLineDeliveryMethodComponent\r\n ]\r\n})\r\nexport class DialogTransactionLineDeliveryMethodModule {\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogTransactionLineBaseComponent} from \"../../../core/base/dialog-transaction-line-base.component\";\r\n\r\n@Component({\r\n selector: \"co-dialog-transaction-line-vat\",\r\n template: `\r\n <co-dialog [headerTemplate]=\"dialogHeader\" [footerTemplate]=\"footerTemplate\" [showCloseIcon]=\"useModel\" (closeClick)=\"handleClose(buttonType.Ok)\">\r\n <co-transaction-line-vat\r\n [autoClose]=\"autoClose\"\r\n [useModel]=\"useModel\"\r\n [transactionLine]=\"transactionLine\"\r\n [searchText]=\"searchText\"\r\n (closeAfterCommit)=\"handleClose(buttonType.Ok)\"\r\n (valueChange)=\"handleValueChange($event)\"\r\n ></co-transaction-line-vat>\r\n </co-dialog>\r\n <ng-template #dialogHeader>\r\n <co-dialog-header-search [title]=\"'VAT'\" (search)=\"handleSearch($event)\"></co-dialog-header-search>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\" *ngIf=\"!useModel\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick()\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogTransactionLineVatComponent extends DialogTransactionLineBaseComponent {\r\n\r\n @HostBinding(\"class.co-dialog-transaction-line-vat\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DialogTransactionLineVatComponent} from \"./dialog-transaction-line-vat.component\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineVatModule} from \"../../../transaction-line-fields/transaction-line-vat.module\";\r\nimport {PipeModule} from \"../../../../pipe/pipe.module\";\r\nimport {DialogHeaderSearchModule} from \"../../dialog-header-search/dialog-header-search.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n TransactionLineVatModule,\r\n ButtonModule,\r\n PipeModule,\r\n DialogHeaderSearchModule\r\n ],\r\n declarations: [\r\n DialogTransactionLineVatComponent\r\n ],\r\n exports: [\r\n DialogTransactionLineVatComponent\r\n ]\r\n})\r\nexport class DialogTransactionLineVatModule {\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogTransactionLineBaseComponent} from \"../../../core/base/dialog-transaction-line-base.component\";\r\nimport {DialogService} from \"../../../../service/dialog.service\";\r\nimport {TransactionService} from \"../../../../service/transaction.service\";\r\nimport {PriceList} from \"@colijnit/transactionapi/build/model/price-list\";\r\n\r\n@Component({\r\n selector: \"co-dialog-transaction-line-discount\",\r\n template: `\r\n <co-dialog [headerTemplate]=\"dialogHeader\" (closeClick)=\"handleClose(buttonType.Ok)\">\r\n <div class=\"transaction-line-discount-wrapper co-small-toolbar\">\r\n <div class=\"two-column-grid\">\r\n <co-transaction-line-line-discount [transactionLine]=\"transactionLine\"></co-transaction-line-line-discount>\r\n <co-transaction-line-discount-amount [transactionLine]=\"transactionLine\"></co-transaction-line-discount-amount>\r\n </div>\r\n <div class=\"two-column-grid\">\r\n <co-transaction-line-special-discount [transactionLine]=\"transactionLine\"></co-transaction-line-special-discount>\r\n <co-transaction-line-quantum-discount [transactionLine]=\"transactionLine\"></co-transaction-line-quantum-discount>\r\n </div>\r\n <div class=\"transaction-line-discount-overview\">\r\n <div class=\"transaction-line-discount-overview-item\">\r\n <div class=\"title\" [textContent]=\"'TRANSACTION_DISCOUNT' | localize\"></div>\r\n <div class=\"value\" [class.transaction-negative-value]=\"transactionLine.discountAmount < 0\" [textContent]=\"transactionLine.discountAmount | coCurrency\"></div>\r\n </div>\r\n <div class=\"transaction-line-discount-overview-item\">\r\n <div class=\"title\" [textContent]=\"'BUSINESS_RULE_DISCOUNT' | localize\"></div>\r\n <div class=\"value\" [class.transaction-negative-value]=\"transactionLine.transBusinessRuleDiscount < 0\" [textContent]=\"transactionLine.transBusinessRuleDiscount | coCurrency\"></div>\r\n </div>\r\n <div class=\"transaction-line-discount-overview-item\">\r\n <div class=\"title\" [textContent]=\"'QUANTUM_DISCOUNT' | localize\"></div>\r\n <div class=\"value\" [class.transaction-negative-value]=\"transactionLine.quantumDiscount < 0\" [textContent]=\"transactionLine.quantumDiscount | coCurrency\"></div>\r\n </div>\r\n <div class=\"transaction-line-discount-overview-item\">\r\n <div class=\"title\" [textContent]=\"'SURCHARGE_AMOUNT' | localize\"></div>\r\n <div class=\"value\" [class.transaction-negative-value]=\"transactionLine.surchargeAmount < 0\" [textContent]=\"transactionLine.surchargeAmount | coCurrency\"></div>\r\n </div>\r\n <div class=\"transaction-line-discount-overview-item total\">\r\n <div class=\"title\" [textContent]=\"'TOTAL_LINE_DISCOUNT' | localize\"></div>\r\n <div class=\"value\" [class.transaction-negative-value]=\"transactionLine.lineTotalDiscountAmount < 0\" [textContent]=\"transactionLine.lineTotalDiscountAmount | coCurrency\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </co-dialog>\r\n <ng-template #dialogHeader>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"'DISCOUNT_PRICE_INFORMATION' | localize\"></div>\r\n <div class=\"transaction-line-button full-width\" (click)=\"openThePriceListDialog()\">\r\n <span class=\"co-transaction-overflow-ellipsis\" [textContent]=\"transactionLine.priceListDescription\"></span>\r\n </div>\r\n </ng-template>\r\n <co-dialog-transaction-line-price-list *ngIf=\"showPriceListDialog\"\r\n [transactionLine]=\"transactionLine\"\r\n (close)=\"showPriceListDialog = false\"\r\n ></co-dialog-transaction-line-price-list>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogTransactionLineDiscountComponent extends DialogTransactionLineBaseComponent {\r\n\r\n @HostBinding(\"class.co-dialog-transaction-line-discount\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showPriceListDialog: boolean = false;\r\n\r\n constructor(\r\n private _dialogService: DialogService,\r\n private _service: TransactionService\r\n ) {\r\n super();\r\n }\r\n\r\n public openThePriceListDialog(): void {\r\n this.showPriceListDialog = true;\r\n }\r\n\r\n protected transactionLineSet() {\r\n this._loadLinePricelist();\r\n }\r\n\r\n protected transactionInfoSet(): void {\r\n this.readonly = this.readonly || this.transactionInfo.transactionDefinitive;\r\n }\r\n\r\n private async _loadLinePricelist(): Promise<void> {\r\n if (this.transactionLine && this.transactionLine.isArticle) {\r\n this._service.getPriceLists().then((lists: PriceList[]) => {\r\n const priceList: PriceList = lists.find(l => l.code === this.transactionLine.priceListCode);\r\n this.transactionLine.priceListDescription = priceList ? priceList.description : \"\";\r\n });\r\n }\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogTransactionLineBaseComponent} from \"../../../core/base/dialog-transaction-line-base.component\";\r\n\r\n@Component({\r\n selector: \"co-dialog-transaction-line-price-list\",\r\n template: `\r\n <co-dialog [headerTemplate]=\"dialogHeader\" [footerTemplate]=\"footerTemplate\" [showCloseIcon]=\"useModel\" (closeClick)=\"handleClose(buttonType.Ok)\">\r\n <co-transaction-line-price-list\r\n [autoClose]=\"autoClose\"\r\n [useModel]=\"useModel\"\r\n [transactionLine]=\"transactionLine\"\r\n [searchText]=\"searchText\"\r\n (closeAfterCommit)=\"handleClose(buttonType.Ok)\"\r\n (valueChange)=\"handleValueChange($event)\"></co-transaction-line-price-list>\r\n </co-dialog>\r\n <ng-template #dialogHeader>\r\n <co-dialog-header-search [title]=\"'PRICE_LIST'\" (search)=\"handleSearch($event)\"></co-dialog-header-search>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\" *ngIf=\"!useModel\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick()\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogTransactionLinePriceListComponent extends DialogTransactionLineBaseComponent {\r\n\r\n @HostBinding(\"class.co-dialog-transaction-line-price-list\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DialogTransactionLinePriceListComponent} from \"./dialog-transaction-line-price-list.component\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLinePriceListModule} from \"../../../transaction-line-fields/transaction-line-price-list.module\";\r\nimport {PipeModule} from \"../../../../pipe/pipe.module\";\r\nimport {DialogHeaderSearchModule} from \"../../dialog-header-search/dialog-header-search.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n TransactionLinePriceListModule,\r\n PipeModule,\r\n ButtonModule,\r\n DialogHeaderSearchModule\r\n ],\r\n declarations: [\r\n DialogTransactionLinePriceListComponent\r\n ],\r\n exports: [\r\n DialogTransactionLinePriceListComponent\r\n ]\r\n})\r\nexport class DialogTransactionLinePriceListModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DialogTransactionLineDiscountComponent} from \"./dialog-transaction-line-discount.component\";\r\nimport {CoDialogModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLinePriceListModule} from \"../../../transaction-line-fields/transaction-line-price-list.module\";\r\nimport {PipeModule} from \"../../../../pipe/pipe.module\";\r\nimport {TransactionLineLineDiscountModule} from \"../../../transaction-line-fields/transaction-line-line-discount.module\";\r\nimport {TransactionLineDiscountAmountModule} from \"../../../transaction-line-fields/transaction-line-discount-amount.module\";\r\nimport {TransactionLineQuantumDiscountModule} from \"../../../transaction-line-fields/transaction-line-quantum-discount.module\";\r\nimport {TransactionLineSpecialDiscountModule} from \"../../../transaction-line-fields/transaction-line-special-discount.module\";\r\nimport {DialogTransactionLinePriceListModule} from \"../dialog-transaction-line-price-list/dialog-transaction-line-price-list.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n TransactionLinePriceListModule,\r\n PipeModule,\r\n TransactionLineLineDiscountModule,\r\n TransactionLineDiscountAmountModule,\r\n TransactionLineQuantumDiscountModule,\r\n TransactionLineSpecialDiscountModule,\r\n InputTextModule,\r\n DialogTransactionLinePriceListModule\r\n ],\r\n declarations: [\r\n DialogTransactionLineDiscountComponent\r\n ],\r\n exports: [\r\n DialogTransactionLineDiscountComponent\r\n ]\r\n})\r\nexport class DialogTransactionLineDiscountModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ButtonModule, CoDialogModule, InputNumberPickerModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../../pipe/pipe.module\";\r\nimport {TransactionLineCheckboxModule} from \"../../../transaction-line-checkbox-list/transaction-line-checkbox-list.module\";\r\nimport {TransactionLineCommissionCodeModule} from \"../../../transaction-line-fields/transaction-line-commission-code.module\";\r\nimport {TransactionLineWarehouseModule} from \"../../../transaction-line-fields/transaction-line-warehouse.module\";\r\nimport {DialogTransactionLineWarehouseCcComponent} from \"./dialog-transaction-line-warehouse-cc.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n PipeModule,\r\n TransactionLineCheckboxModule,\r\n TransactionLineCommissionCodeModule,\r\n TransactionLineWarehouseModule,\r\n InputNumberPickerModule,\r\n ButtonModule\r\n ],\r\n declarations: [\r\n DialogTransactionLineWarehouseCcComponent\r\n ],\r\n exports: [\r\n DialogTransactionLineWarehouseCcComponent\r\n ]\r\n})\r\nexport class DialogTransactionLineWarehouseCcModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { StatusbarModule } from \"@colijnit/sharedcomponents\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport { TransactionLineStatusbarModule } from \"../../transaction-line-statusbar/transaction-line-statusbar.module\";\r\nimport {TransactionLinesGridComponent} from \"./transaction-lines-grid.component\";\r\nimport {ButtonModule, InputNumberPickerModule, PriceDisplayPipeModule, SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TransactionBaseGridModule} from \"../transaction-base-grid/transaction-base-grid.module\";\r\nimport {DialogTransactionLineCommissionCodeModule} from \"../../dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module\";\r\nimport {DialogTransactionLineWarehouseModule} from \"../../dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module\";\r\nimport {DialogTransactionLineDeliveryMethodModule} from \"../../dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module\";\r\nimport {DialogTransactionLineVatModule} from \"../../dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module\";\r\nimport {DialogTransactionLineDiscountModule} from \"../../dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module\";\r\nimport {DialogTransactionLinePriceListModule} from \"../../dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module\";\r\nimport {\r\n DialogTransactionLineWarehouseCcModule\r\n} from \"../../dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n SimpleGridModule,\r\n InputNumberPickerModule,\r\n PipeModule,\r\n ButtonModule,\r\n PriceDisplayPipeModule,\r\n TransactionBaseGridModule,\r\n DialogTransactionLineCommissionCodeModule,\r\n DialogTransactionLineWarehouseModule,\r\n DialogTransactionLineWarehouseCcModule,\r\n DialogTransactionLineDeliveryMethodModule,\r\n DialogTransactionLineVatModule,\r\n DialogTransactionLineDiscountModule,\r\n DialogTransactionLinePriceListModule,\r\n StatusbarModule,\r\n TransactionLineStatusbarModule\r\n ],\r\n declarations: [\r\n TransactionLinesGridComponent\r\n ],\r\n exports: [\r\n TransactionLinesGridComponent\r\n ]\r\n})\r\nexport class TransactionLinesGridModule {\r\n}\r\n","export enum OrderDiscountType {\r\n DiscountAmount = \"DISCOUNT_AMOUNT\",\r\n DiscountPercentage = \"DISCOUNT_PERCENTAGE\",\r\n OrderTotal = \"ORDER_TOTAL\"\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {OrderDiscountType} from \"../../enum/order-discount-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-discount\",\r\n template: `\r\n <co-sidebar #discountsSidebar isOpen=\"false\">\r\n <div fxLayout=\"column\" fxLayoutGap=\"10px\">\r\n <co-button class=\"rectangular\" [label]=\"'TRANSACTION_DISCOUNT_PERC' | localize\"\r\n (click)=\"onStartDiscountInput(orderDiscountType.DiscountPercentage, 'TRANSACTION_DISCOUNT_PERC')\"></co-button>\r\n <co-button class=\"rectangular\" [label]=\"'TRANSACTION_DISCOUNT'| localize\"\r\n (click)=\"onStartDiscountInput(orderDiscountType.DiscountAmount, 'TRANSACTION_DISCOUNT')\"></co-button>\r\n <co-button class=\"rectangular\" [label]=\"'TRANSACTION_TOTAL'| localize\"\r\n (click)=\"onStartDiscountInput(orderDiscountType.OrderTotal, 'TRANSACTION_TOTAL')\"></co-button>\r\n\r\n </div>\r\n </co-sidebar>\r\n <co-dialog *ngIf=\"inputDiscounts\" [headerTemplate]=\"headerTemplate\" [footerTemplate]=\"footerTemplate\">\r\n <co-form>\r\n <co-input-text\r\n *ngIf=\"discountType === orderDiscountType.DiscountPercentage\"\r\n [type]=\"'number'\"\r\n [(model)]=\"transactionDiscountPercentage\"\r\n [placeholder]=\"'TRANSACTION_DISCOUNT_PERC' | localize\"\r\n ></co-input-text>\r\n <co-input-text\r\n *ngIf=\"discountType === orderDiscountType.DiscountAmount\"\r\n [type]=\"'number'\"\r\n [(model)]=\"transactionDiscountAmount\"\r\n [placeholder]=\"'TRANSACTION_DISCOUNT' | localize\"\r\n ></co-input-text>\r\n <co-input-text\r\n *ngIf=\"discountType === orderDiscountType.OrderTotal\"\r\n [type]=\"'number'\"\r\n [(model)]=\"transactionTotal\"\r\n [placeholder]=\"'TRANSACTION_TOTAL' | localize\"\r\n ></co-input-text>\r\n </co-form>\r\n </co-dialog>\r\n <ng-template #headerTemplate>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"discountHeader | localize\"></div>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxLayoutAlign=\"end\">\r\n <co-button [label]=\"'CANCEL' | localize\" (click)=\"inputDiscounts = false\"></co-button>\r\n <co-button [label]=\"'OK' | localize\" (click)=\"onInputDiscountsOkClick()\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DiscountComponent {\r\n public readonly orderDiscountType: typeof OrderDiscountType = OrderDiscountType;\r\n\r\n @HostBinding(\"class.co-discount\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public discountHeader: string;\r\n public inputDiscounts: boolean;\r\n public transactionDiscountAmount: number;\r\n public transactionDiscountPercentage: number;\r\n public transactionTotal: number;\r\n public discountType: OrderDiscountType;\r\n\r\n public showDiscountsSidebar: boolean = false;\r\n\r\n constructor(\r\n private _dictionary: DictionaryService\r\n ) {\r\n }\r\n\r\n public addDiscount(): void {\r\n\r\n // TODO\r\n // this.transactionDiscountPercentage = this.service.currentTransaction.transactionDiscountPercentage;\r\n // this.transactionDiscountAmount = this.service.currentTransaction.transactionDiscountAmount;\r\n // this.transactionTotal = undefined;\r\n }\r\n\r\n public onStartDiscountInput(discountType: OrderDiscountType, header: string): void {\r\n this.discountType = discountType;\r\n this.discountHeader = header;\r\n this.inputDiscounts = true;\r\n }\r\n\r\n public setDiscountHeader(discountType: OrderDiscountType): void {\r\n switch (this.discountType) {\r\n case OrderDiscountType.DiscountPercentage:\r\n this.discountHeader = this._dictionary.get(\"DISCOUNT_PERCENTAGE\", true);\r\n break;\r\n case OrderDiscountType.DiscountAmount:\r\n this.discountHeader = this._dictionary.get(\"DISCOUNT_AMOUNT\", true);\r\n break;\r\n case OrderDiscountType.OrderTotal:\r\n this.discountHeader = this._dictionary.get(\"ORDER_TOTAL\", true);\r\n break;\r\n }\r\n }\r\n\r\n public onInputDiscountsOkClick(): void {\r\n let valueToUse: number;\r\n switch (this.discountType) {\r\n case OrderDiscountType.DiscountPercentage:\r\n valueToUse = this.transactionDiscountPercentage;\r\n break;\r\n case OrderDiscountType.DiscountAmount:\r\n valueToUse = this.transactionDiscountAmount;\r\n break;\r\n case OrderDiscountType.OrderTotal:\r\n valueToUse = this.transactionTotal;\r\n break;\r\n }\r\n //TODO this.service.setTransactionDiscounts(this.service.currentTransaction.uuid, this.discountType, valueToUse);\r\n this.inputDiscounts = false;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {DiscountComponent} from \"./discount.component\";\r\nimport {ButtonModule, CoDialogModule, CoSidebarModule, FormModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n CoDialogModule,\r\n FormModule,\r\n InputTextModule,\r\n ButtonModule,\r\n CoSidebarModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n DiscountComponent\r\n ],\r\n exports: [\r\n DiscountComponent\r\n ]\r\n})\r\nexport class DiscountModule {}\r\n","import {ApplicationRef, Component, ComponentFactoryResolver, ElementRef, EmbeddedViewRef, HostBinding, Injector, Input, OnInit, Type, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionTypeCategory} from \"../../../enum/transaction-type-category.enum\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionMappingService} from \"../../../service/transaction-mapping.service\";\r\nimport {TransactionBaseComponent} from \"../../core/base/transaction-base.component\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {RelationAnyType} from \"@colijnit/relationapi/build/model/relation-any-type\";\r\n\r\n@Component({\r\n selector: \"co-transaction-quick-access\",\r\n template: `\r\n <div #quickAccessContent class=\"quick-access-wrapper\">\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionQuickAccessComponent implements OnInit {\r\n @ViewChild('quickAccessContent', { read: ElementRef })\r\n public quickAccessContainer: ElementRef;\r\n\r\n @Input()\r\n public set transaction(value: TransactionInfoResponse) {\r\n this._transaction = value;\r\n this.transactionType = this._transaction.transactionInfo ? this._transaction.transactionInfo.transactionKind : TransactionKind.SalesOrder;\r\n this._prepareContent();\r\n }\r\n\r\n public get transaction(): TransactionInfoResponse {\r\n return this._transaction;\r\n }\r\n\r\n @Input()\r\n public set activeCategory(value: TransactionTypeCategory) {\r\n this._activeCategory = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get activeCategory(): TransactionTypeCategory {\r\n return this._activeCategory;\r\n }\r\n\r\n @Input()\r\n public set relation(value: RelationAnyType) {\r\n this._relation = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get relation(): RelationAnyType {\r\n return this._relation;\r\n }\r\n\r\n @HostBinding(\"class.co-transaction-quick-access\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public transactionType: TransactionKind;\r\n\r\n private _transaction: TransactionInfoResponse;\r\n private _activeCategory: TransactionTypeCategory;\r\n private _relation: RelationAnyType;\r\n private _componentRef: any;\r\n\r\n constructor(\r\n private _mappingService: TransactionMappingService,\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._prepareContent();\r\n }\r\n\r\n private _prepareContent(): void {\r\n if (!this.transactionType || !this._activeCategory || !this._relation || !this.quickAccessContainer) {\r\n return;\r\n }\r\n const componentClass: Type<TransactionBaseComponent> = this._mappingService.getQuickAccessComponent(this.transactionType, this.activeCategory);\r\n\r\n if (this._componentRef) {\r\n this._componentRef.destroy();\r\n }\r\n if (!componentClass) {\r\n return;\r\n }\r\n\r\n this._componentRef = this._compFactoryResolver\r\n .resolveComponentFactory(componentClass)\r\n .create(this.injector);\r\n\r\n this._componentRef.instance.transaction = this.transaction;\r\n this._componentRef.instance.relation = this.relation;\r\n\r\n this.appRef.attachView(this._componentRef.hostView);\r\n\r\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n this.quickAccessContainer.nativeElement.appendChild(domElem);\r\n this._componentRef.onDestroy(() => {\r\n this.appRef.detachView(this._componentRef.hostView);\r\n });\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {EmailOrderConfirmation} from \"@colijnit/sharedapi/build/model/report/email-order-confirmation\";\r\nimport {TransactionInfoResponse} from \"@colijnit/transactionapi/build/model/transaction-info-response.bo\";\r\nimport {PrintOrderConfirmation} from \"@colijnit/sharedapi/build/model/report/print-order-confirmation\";\r\nimport {PdfOrderConfirmation} from \"@colijnit/sharedapi/build/model/report/pdf-order-confirmation\";\r\nimport {SharedConnectorService} from \"../../service/shared-connector.service\";\r\nimport {TransactionConnectorService} from \"../../service/transaction-connector.service\";\r\nimport {StockStickersPrintLayouts} from \"@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo\";\r\n\r\n@Component({\r\n selector: \"co-quick-send-button\",\r\n template: `\r\n <div class=\"icons-wrapper\" [class.disabled]=\"showLoader\" [class.no-dialog]=\"!showSendMethodDialogIcon\">\r\n <co-loader *ngIf=\"showLoader\"></co-loader>\r\n <div class=\"icon-wrapper-flat-left\" (click)=\"sendIconClicked.emit($event)\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ShareSolid)\" class=\"icon-send\"></co-icon>\r\n <co-icon *ngIf=\"showSendMethodIcon\" class=\"icon-method\"\r\n [iconData]=\"iconCacheService.getIcon(defaultMethodIcon ? defaultMethodIcon : icons.AtSolid)\"></co-icon>\r\n </div>\r\n <div class=\"icons-spacer\" *ngIf=\"showSendMethodDialogIcon\"></div>\r\n <div class=\"icon-wrapper-flat-right\" *ngIf=\"showSendMethodDialogIcon\" (click)=\"openSendMethodDialog.emit($event)\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.EllipsisVerticalSolid)\"></co-icon>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QuickSendButtonComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public defaultMethodIcon: Icon | string;\r\n\r\n @Input()\r\n public showSendMethodIcon: boolean = true;\r\n\r\n @Input()\r\n public showSendMethodDialogIcon: boolean = true;\r\n\r\n @Input()\r\n public showLoader: boolean = false;\r\n\r\n @HostBinding(\"class.co-quick-send-button\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @Output()\r\n public openSendMethodDialog: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public sendIconClicked: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {QuickSendButtonComponent} from \"./quick-send-button.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {LoaderModule} from \"../loader/loader.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n IconModule,\r\n PipeModule,\r\n LoaderModule\r\n ],\r\n declarations: [\r\n QuickSendButtonComponent\r\n ],\r\n exports: [\r\n QuickSendButtonComponent\r\n ],\r\n})\r\nexport class QuickSendButtonModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {InputCheckboxModule, InputDatePickerModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TransactionQuickAccessOrderConfirmationComponent} from \"./transaction-quick-access-order-confirmation.component\";\r\nimport {SendMethodDialogModule} from \"@colijnit/sharedcomponents\";\r\nimport {QuickSendButtonModule} from \"../../quick-send-button/quick-send-button.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputDatePickerModule,\r\n InputTextModule,\r\n InputCheckboxModule,\r\n PipeModule,\r\n SendMethodDialogModule,\r\n QuickSendButtonModule\r\n ],\r\n declarations: [\r\n TransactionQuickAccessOrderConfirmationComponent\r\n ],\r\n exports: [\r\n TransactionQuickAccessOrderConfirmationComponent\r\n ]\r\n})\r\nexport class TransactionQuickAccessOrderConfirmationModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionQuickAccessReceivedGoodsComponent} from \"./transaction-quick-access-received-goods.component\";\r\nimport {\r\n IconModule,\r\n CheckmarkOverlayModule,\r\n InputCheckboxModule,\r\n InputDatePickerModule,\r\n InputTextModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n InputTextModule,\r\n PipeModule,\r\n InputCheckboxModule,\r\n InputDatePickerModule,\r\n CheckmarkOverlayModule\r\n ],\r\n declarations: [\r\n TransactionQuickAccessReceivedGoodsComponent\r\n ],\r\n exports: [\r\n TransactionQuickAccessReceivedGoodsComponent\r\n ]\r\n})\r\nexport class TransactionQuickAccessReceivedGoodsModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {TransactionService} from \"../../../../service/transaction.service\";\r\n\r\n@Component({\r\n selector: \"co-dialog-catalog\",\r\n template: `\r\n <co-dialog (closeClick)=\"closeClick.emit($event)\">\r\n <app-ione-catalog-navigation *ngIf=\"showNavigation\"></app-ione-catalog-navigation>\r\n <app-ione-catalog\r\n [settings]=\"catalogSettings\"\r\n [parameters]=\"parameters\"\r\n (onArticleClick)=\"articleClicked.emit($event)\"\r\n ></app-ione-catalog>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogCatalogComponent implements OnInit {\r\n\r\n @Input()\r\n public options: any;\r\n\r\n @Input()\r\n public parameters: any;\r\n\r\n @Input()\r\n public showNavigation: boolean = true;\r\n\r\n @Output()\r\n public closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public articleClicked: EventEmitter<ArticleExtended> = new EventEmitter<ArticleExtended>();\r\n\r\n @HostBinding(\"class.co-dialog-catalog\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public catalogSettings: any;\r\n\r\n constructor(private _transactionService: TransactionService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.catalogSettings = this._transactionService.options.options;\r\n if (this.catalogSettings) {\r\n this.catalogSettings.options = this.options;\r\n }\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DialogCatalogComponent} from \"./dialog-catalog.component\";\r\nimport {CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {IoneCatalogModule} from \"@colijnit/catalog\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n IoneCatalogModule\r\n ],\r\n declarations: [\r\n DialogCatalogComponent\r\n ],\r\n exports: [\r\n DialogCatalogComponent\r\n ]\r\n})\r\nexport class DialogCatalogModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionQuickAccessOverviewComponent} from \"./transaction-quick-access-overview.component\";\r\nimport {InputSearchModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {DialogCatalogModule} from \"../../dialog/catalog/dialog-catalog/dialog-catalog.module\";\r\nimport {IoneCatalogModule} from \"@colijnit/catalog\";\r\nimport {QuickSendButtonModule} from \"../../quick-send-button/quick-send-button.module\";\r\nimport {SendMethodDialogModule} from \"@colijnit/sharedcomponents\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputSearchModule,\r\n PipeModule,\r\n DialogCatalogModule,\r\n IoneCatalogModule,\r\n QuickSendButtonModule,\r\n SendMethodDialogModule\r\n ],\r\n declarations: [\r\n TransactionQuickAccessOverviewComponent\r\n ],\r\n exports: [\r\n TransactionQuickAccessOverviewComponent\r\n ]\r\n})\r\nexport class TransactionQuickAccessOverviewModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionQuickAccessOrderDeliveryComponent} from \"./transaction-quick-access-order-delivery.component\";\r\nimport {TransactionButtonBarModule} from \"../../transaction-button-bar/transaction-button-bar.module\";\r\nimport {IconModule, InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {SendMethodDialogModule} from \"@colijnit/sharedcomponents\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionButtonBarModule,\r\n IconModule,\r\n PipeModule,\r\n InputCheckboxModule,\r\n SendMethodDialogModule\r\n ],\r\n declarations: [\r\n TransactionQuickAccessOrderDeliveryComponent\r\n ],\r\n exports: [\r\n TransactionQuickAccessOrderDeliveryComponent\r\n ]\r\n})\r\nexport class TransactionQuickAccessOrderDeliveryModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionQuickAccessOrderPurchaseComponent} from \"./transaction-quick-access-order-purchase.component\";\r\nimport {IconModule, InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {SendMethodDialogModule} from \"@colijnit/sharedcomponents\";\r\nimport {QuickSendButtonModule} from \"../../quick-send-button/quick-send-button.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputCheckboxModule,\r\n IconModule,\r\n PipeModule,\r\n SendMethodDialogModule,\r\n QuickSendButtonModule\r\n ],\r\n declarations: [\r\n TransactionQuickAccessOrderPurchaseComponent\r\n ],\r\n exports: [\r\n TransactionQuickAccessOrderPurchaseComponent\r\n ]\r\n})\r\nexport class TransactionQuickAccessOrderPurchaseModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionQuickAccessGoodsAllocationComponent} from \"./transaction-quick-access-goods-allocation.component\";\r\nimport {CheckmarkOverlayModule, IconModule, InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputCheckboxModule,\r\n PipeModule,\r\n CheckmarkOverlayModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n TransactionQuickAccessGoodsAllocationComponent\r\n ],\r\n exports: [\r\n TransactionQuickAccessGoodsAllocationComponent\r\n ]\r\n})\r\nexport class TransactionQuickAccessGoodsAllocationModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionQuickAccessPurchaseOrderOverviewComponent} from \"./transaction-quick-access-purchase-order-overview.component\";\r\nimport {QuickSendButtonModule} from \"../../quick-send-button/quick-send-button.module\";\r\nimport {SendMethodDialogModule} from \"@colijnit/sharedcomponents\";\r\nimport {InputSearchModule} from \"@colijnit/corecomponents_v12\";\r\nimport {DialogCatalogModule} from \"../../dialog/catalog/dialog-catalog/dialog-catalog.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n QuickSendButtonModule,\r\n SendMethodDialogModule,\r\n InputSearchModule,\r\n DialogCatalogModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionQuickAccessPurchaseOrderOverviewComponent\r\n ],\r\n exports: [\r\n TransactionQuickAccessPurchaseOrderOverviewComponent\r\n ]\r\n})\r\nexport class TransactionQuickAccessPurchaseOrderOverviewModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionQuickAccessComponent} from \"./transaction-quick-access.component\";\r\nimport {InputCheckboxModule, InputDatePickerModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TransactionQuickAccessOrderConfirmationModule} from \"../transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.module\";\r\nimport {TransactionQuickAccessReceivedGoodsModule} from \"../transaction-quick-access-received-goods/transaction-quick-access-received-goods.module\";\r\nimport {TransactionQuickAccessOverviewModule} from \"../transaction-quick-access-overview/transaction-quick-access-overview.module\";\r\nimport {TransactionQuickAccessOrderDeliveryModule} from \"../transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module\";\r\nimport {TransactionQuickAccessOrderPurchaseModule} from \"../transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module\";\r\nimport {\r\n TransactionQuickAccessGoodsAllocationModule\r\n} from \"../transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module\";\r\nimport {TransactionQuickAccessPurchaseOrderOverviewComponent} from \"../transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component\";\r\nimport {TransactionQuickAccessPurchaseOrderOverviewModule} from \"../transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n InputTextModule,\r\n InputDatePickerModule,\r\n PipeModule,\r\n InputCheckboxModule,\r\n TransactionQuickAccessOrderConfirmationModule,\r\n TransactionQuickAccessReceivedGoodsModule,\r\n TransactionQuickAccessOverviewModule,\r\n TransactionQuickAccessOrderDeliveryModule,\r\n TransactionQuickAccessOrderPurchaseModule,\r\n TransactionQuickAccessGoodsAllocationModule,\r\n TransactionQuickAccessPurchaseOrderOverviewModule\r\n ],\r\n declarations: [\r\n TransactionQuickAccessComponent\r\n ],\r\n exports: [\r\n TransactionQuickAccessComponent\r\n ]\r\n})\r\nexport class TransactionQuickAccessModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {ButtonModule, InputCheckboxModule, SimpleGridModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionOrderConfirmationGridComponent} from \"./transaction-order-confirmation-grid.component\";\r\nimport {TransactionBaseGridModule} from \"../transaction-base-grid/transaction-base-grid.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n ButtonModule,\r\n InputCheckboxModule,\r\n TransactionBaseGridModule\r\n ],\r\n declarations: [\r\n TransactionOrderConfirmationGridComponent\r\n ],\r\n exports: [\r\n TransactionOrderConfirmationGridComponent\r\n ]\r\n})\r\nexport class TransactionOrderConfirmationGridModule {\r\n\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { ContentViewMode } from \"../../enum/content-view-mode.enum\";\r\nimport { Icon } from \"../../enum/icon.enum\";\r\nimport { IconCacheService } from \"../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: 'co-view-mode-buttons',\r\n template: `\r\n <co-button class=\"view-button white\"\r\n *ngIf=\"showViewModes.includes(viewModes.Tiles)\"\r\n [class.selected]=\"this.activeViewMode === viewModes.Tiles\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ListView)\"\r\n [title]=\"'TILE_VIEW' | localize\"\r\n (click)=\"this.activeViewMode = viewModes.Tiles\"></co-button>\r\n <co-button class=\"view-button white\"\r\n *ngIf=\"showViewModes.includes(viewModes.List)\"\r\n [class.selected]=\"this.activeViewMode === viewModes.List\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ThickLines)\"\r\n [title]=\"'LIST_VIEW' | localize\"\r\n (click)=\"this.activeViewMode = viewModes.List\"></co-button>\r\n <co-button class=\"view-button white\"\r\n *ngIf=\"showViewModes.includes(viewModes.Grid)\"\r\n [class.selected]=\"this.activeViewMode === viewModes.Grid\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ThinLines)\"\r\n [title]=\"'GRID_VIEW' | localize\"\r\n (click)=\"this.activeViewMode = viewModes.Grid\"></co-button>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ViewModeButtonsComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly viewModes: typeof ContentViewMode = ContentViewMode;\r\n\r\n @Input()\r\n public showViewModes: ContentViewMode[] = [this.viewModes.List, this.viewModes.Grid, this.viewModes.Tiles];\r\n\r\n @Output()\r\n public viewModeChange: EventEmitter<ContentViewMode> = new EventEmitter<ContentViewMode>();\r\n\r\n @HostBinding(\"class.co-view-mode-buttons\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public set activeViewMode(value: ContentViewMode) {\r\n this._activeViewMode = value;\r\n this.viewModeChange.emit(this._activeViewMode);\r\n }\r\n\r\n public get activeViewMode(): ContentViewMode {\r\n return this._activeViewMode;\r\n }\r\n\r\n private _activeViewMode: ContentViewMode;\r\n\r\n public ngOnInit(): void {\r\n this.activeViewMode = this.showViewModes.includes(ContentViewMode.List) ? ContentViewMode.List : this.showViewModes[0];\r\n }\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ViewModeButtonsComponent} from \"./view-mode-buttons.component\";\r\nimport {ButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ButtonModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ViewModeButtonsComponent\r\n ],\r\n exports: [\r\n ViewModeButtonsComponent\r\n ]\r\n})\r\nexport class ViewModeButtonsModule {\r\n}\r\n","import {ApplicationRef, Component, ComponentFactoryResolver, ElementRef, EmbeddedViewRef, EventEmitter, HostBinding, Injector, Input, Output, Type, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionTypeCategory} from \"../../../enum/transaction-type-category.enum\";\r\nimport {TransactionMappingService} from \"../../../service/transaction-mapping.service\";\r\nimport {TransactionGridBaseComponent} from \"../../core/base/transaction-grid-base.component\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-grid\",\r\n template: `\r\n <div #transactionGrid class=\"transaction-grid-wrapper\">\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionGridComponent {\r\n @ViewChild('transactionGrid', { read: ElementRef }) set container(content) {\r\n if (content) {\r\n this._transactionGridContainer = content;\r\n this._prepareContent();\r\n }\r\n }\r\n\r\n @Input()\r\n public set transactionType(value: TransactionKind) {\r\n this._transactionType = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get transactionType(): TransactionKind {\r\n return this._transactionType;\r\n }\r\n\r\n @Input()\r\n public set activeCategory(value: TransactionTypeCategory) {\r\n this._activeCategory = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get activeCategory(): TransactionTypeCategory {\r\n return this._activeCategory;\r\n }\r\n\r\n @Input()\r\n public transactionId: number;\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo[];\r\n\r\n @Output()\r\n public sidePanelClicked: EventEmitter<TransactionLineInfo> = new EventEmitter<TransactionLineInfo>();\r\n\r\n @HostBinding(\"class.co-transaction-grid\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _transactionGridContainer: ElementRef;\r\n private _transactionType: TransactionKind;\r\n private _activeCategory: TransactionTypeCategory;\r\n private _componentRef: any;\r\n\r\n constructor(\r\n private _mappingService: TransactionMappingService,\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector\r\n ) {\r\n }\r\n\r\n private _prepareContent(): void {\r\n if (!this._transactionType || !this._activeCategory || !this._transactionGridContainer) {\r\n return;\r\n }\r\n const componentClass: Type<TransactionGridBaseComponent> = this._mappingService.getTransactionGridComponent(this.transactionType, this.activeCategory);\r\n\r\n if (this._componentRef) {\r\n this._componentRef.destroy();\r\n }\r\n if (!componentClass) {\r\n return;\r\n }\r\n\r\n this._componentRef = this._compFactoryResolver\r\n .resolveComponentFactory(componentClass)\r\n .create(this.injector);\r\n\r\n this.appRef.attachView(this._componentRef.hostView);\r\n\r\n this._componentRef.instance.transactionLines = this.transactionLines;\r\n this._componentRef.instance.transactionId = this.transactionId;\r\n this._componentRef.instance.sidePanelClicked = this.sidePanelClicked;\r\n\r\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n this._transactionGridContainer.nativeElement.appendChild(domElem);\r\n this._componentRef.onDestroy(() => {\r\n this.appRef.detachView(this._componentRef.hostView);\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionGridComponent} from \"./transaction-grid.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n TransactionGridComponent\r\n ],\r\n exports: [\r\n TransactionGridComponent\r\n ]\r\n})\r\nexport class TransactionGridModule {\r\n}\r\n","import {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {GoodsReceiptStatus} from \"@colijnit/transactionapi/build/model/goods-receipt-status.bo\";\r\n\r\nexport class ReceiveGoodsViewModel {\r\n public transactionLine: TransactionLineInfo;\r\n public goodsReceiptStatus: GoodsReceiptStatus;\r\n public selected: boolean;\r\n public toReceive: number = 0;\r\n public location: string = '';\r\n\r\n constructor(transactionLine: TransactionLineInfo, goodsReceiptStatus: GoodsReceiptStatus, selected: boolean, toReceive?: number) {\r\n this.transactionLine = transactionLine;\r\n this.goodsReceiptStatus = goodsReceiptStatus;\r\n this.selected = selected;\r\n this.toReceive = toReceive;\r\n }\r\n}\r\n","import {Component, HostBinding, OnDestroy, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionGridBaseComponent} from \"../../core/base/transaction-grid-base.component\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {ReceiveGoodsViewModel} from \"../../../model/received-goods-view-model\";\r\nimport {TransactionImageService} from \"../../../service/transaction-image.service\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {ArticleService} from \"../../../service/article.service\";\r\nimport {GoodsReceiptStatus} from \"@colijnit/transactionapi/build/model/goods-receipt-status.bo\";\r\nimport {ReceiveGoodsForPurchaseOrderRequest} from \"@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-request.bo\";\r\nimport {PurchaseOrderLineReceiptDetails} from \"@colijnit/transactionapi/build/model/purchase-order-line-receipt-details.bo\";\r\nimport {GoodsReceiptStatusWithHistory} from \"@colijnit/transactionapi/build/model/goods-receipt-status-with-history.bo\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {DialogService} from \"../../../service/dialog.service\";\r\nimport {ColumnAlign} from \"@colijnit/corecomponents_v12\";\r\nimport {AppPopupButtonType} from \"../../core/enum/app-popup-button-type.enum\";\r\nimport {DialogResponseInterface} from \"../../../interface/dialog-response.interface\";\r\nimport {ExtendedTransactionLineViewModel} from \"../../../model/extended-transaction-line-view-model\";\r\n\r\n@Component({\r\n selector: \"co-transaction-received-goods-grid\",\r\n template: `\r\n <co-transaction-base-grid [transactionLines]=\"transactionLines\" (sidePanelClicked)=\"openSidePanel($event)\" (rowVisible)=\"handleRowVisible($event)\">\r\n <co-simple-grid-column [textAlign]=\"columnAlign.Center\" [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNumber'\" [order]=\"40\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [order]=\"45\">\r\n <ng-template #template let-row = \"row\">\r\n <co-transaction-line-warehouse-location-button *ngIf=\"row.isArticle\" [line]=\"getRowViewModel(row)\"></co-transaction-line-warehouse-location-button>\r\n <!-- <co-drop-down-list-->\r\n <!-- noTriangleGraphic-->\r\n <!-- (focus)=\"handleDropDownSelected(row.warehouseNumber)\"-->\r\n <!-- [required]=\"locationRequired(row) && getRowViewModel(row).goodsReceiptStatus.quantityToReceive > 0\"-->\r\n <!-- [collection]=\"locations\"-->\r\n <!-- [fields]=\"locationDropdownFields\"-->\r\n <!-- [(model)]=\"getRowViewModel(row).location\"-->\r\n <!-- [disabled]=\"getRowViewModel(row).goodsReceiptStatus.quantityToReceive === 0\"-->\r\n <!-- ></co-drop-down-list>-->\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [textAlign]=\"columnAlign.Center\" [headerText]=\"'IN_ORDER' | localize\" [field]=\"'amount'\" [order]=\"50\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RECEIVED' | localize\" [order]=\"51\">\r\n <ng-template #template let-row = \"row\">\r\n <co-input-number-picker *ngIf=\"row.isArticle\"\r\n [min]=\"getRowViewModel(row).goodsReceiptStatus.quantityToReceive > 0 ? 1 : 0\"\r\n [max]=\"getRowViewModel(row).goodsReceiptStatus.quantityToReceive\"\r\n [(model)]=\"getRowViewModel(row).toReceive\"\r\n [disabled]=\"getRowViewModel(row).goodsReceiptStatus.quantityToReceive === 0\"\r\n [readonly]=\"getRowViewModel(row).goodsReceiptStatus.quantityToReceive === 0\"\r\n ></co-input-number-picker>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [textAlign]=\"columnAlign.Center\" [headerText]=\"'BATCH' | localize\" [field]=\"'inOrder'\" [order]=\"52\"></co-simple-grid-column>\r\n <co-simple-grid-column [textAlign]=\"columnAlign.Center\" [headerText]=\"'Commit button'\" [field]=\"'commitButton'\" [order]=\"55\">\r\n <ng-template #template let-row = \"row\">\r\n <co-input-checkbox *ngIf=\"row.isArticle\"\r\n [(model)]=\"getRowViewModel(row).selected\"\r\n [disabled]=\"getRowViewModel(row).goodsReceiptStatus.quantityToReceive === 0\"\r\n ></co-input-checkbox>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-transaction-base-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionReceivedGoodsGridComponent extends TransactionGridBaseComponent implements OnInit, OnDestroy {\r\n public readonly columnAlign: typeof ColumnAlign = ColumnAlign;\r\n\r\n @HostBinding(\"class.co-transaction-received-goods-grid\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public locations: string[];\r\n public locationDropdownFields: {} = {text: \"locationNo\", value: \"locationNo\"};\r\n public rowViewModels: Map<TransactionLineInfo, ReceiveGoodsViewModel> = new Map<TransactionLineInfo, ReceiveGoodsViewModel>();\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private _imageService: TransactionImageService,\r\n private _transactionService: TransactionService,\r\n private _transactionEventService: TransactionEventService,\r\n private _articleService: ArticleService,\r\n private _dialogService: DialogService\r\n ) {\r\n super(_imageService);\r\n\r\n this._subscriptions.push(\r\n this._transactionEventService.commitReceivePurchaseOrders.subscribe((value => {\r\n this.handleReceiveSelectedPurchaseOrders(value);\r\n })),\r\n this._transactionEventService.transactionLineChanged.subscribe((value) => {\r\n this.handleTransactionLineChanged(value);\r\n })\r\n )\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.transactionLines.forEach((line: TransactionLineInfo) => {\r\n this.rowViewModels.set(line, new ReceiveGoodsViewModel(line, new GoodsReceiptStatus(), false));\r\n });\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this._subscriptions.forEach((subscription: Subscription) => subscription.unsubscribe());\r\n }\r\n\r\n public handleRowVisible(row: TransactionLineInfo): void {\r\n if (row.isArticle) {\r\n this._transactionService.getGoodsReceiptStatus(this.transactionId, row.lineNr)\r\n .then((result: GoodsReceiptStatus) => {\r\n this.rowViewModels.set(row, new ReceiveGoodsViewModel(row, result, result.quantityToReceive === 0, result.quantityToReceive));\r\n });\r\n }\r\n }\r\n\r\n public locationRequired(row: TransactionLineInfo): boolean {\r\n return row.isLocationRequired || row.isBatchNrRequired || row.isSerialNrRequired;\r\n }\r\n\r\n public async handleDropDownSelected(warehouseNr: number): Promise<void> {\r\n this.locations = await this._articleService.getWarehouseLocations(warehouseNr);\r\n }\r\n\r\n public getRowViewModel(row: TransactionLineInfo): ReceiveGoodsViewModel {\r\n return this.rowViewModels.get(row);\r\n }\r\n\r\n public handleReceiveSelectedPurchaseOrders(value: {date: Date, id: string}): void {\r\n const selectedRows: ReceiveGoodsViewModel[] = [...this.rowViewModels.values()]\r\n .filter((row) => row.selected && row.toReceive !== 0);\r\n if (selectedRows.length > 0) {\r\n const receivedGoodsRequest: ReceiveGoodsForPurchaseOrderRequest = new ReceiveGoodsForPurchaseOrderRequest();\r\n receivedGoodsRequest.transId = this.transactionId;\r\n receivedGoodsRequest.receivedDate = value.date;\r\n receivedGoodsRequest.packingSlipNr = value.id;\r\n receivedGoodsRequest.purchaseOrderLineReceiptDetailsDTOS = [];\r\n\r\n selectedRows.forEach((row) => {\r\n const detail: PurchaseOrderLineReceiptDetails = new PurchaseOrderLineReceiptDetails();\r\n detail.lineNr = row.transactionLine.lineNr;\r\n detail.quantityToReceive = row.toReceive;\r\n detail.warehouseNr = row.transactionLine.warehouseNumber;\r\n detail.locationNr = row.location;\r\n receivedGoodsRequest.purchaseOrderLineReceiptDetailsDTOS.push(detail);\r\n });\r\n\r\n this._transactionService.receiveGoodsForPurchaseOrder(receivedGoodsRequest).then(() => {\r\n this._handleAfterCommitReceivedOrders(selectedRows);\r\n });\r\n }\r\n }\r\n\r\n private _handleAfterCommitReceivedOrders(selectedRows: ReceiveGoodsViewModel[]): void {\r\n selectedRows.forEach((row) => {\r\n row.goodsReceiptStatus.quantityToReceive = row.goodsReceiptStatus.quantityToReceive -= row.toReceive;\r\n row.toReceive = row.goodsReceiptStatus.quantityToReceive;\r\n if (row.goodsReceiptStatus.quantityToReceive !== 0) {\r\n row.selected = false;\r\n }\r\n })\r\n }\r\n\r\n public handleTransactionLineChanged(viewModel: ExtendedTransactionLineViewModel): void {\r\n // const receiveGoodsViewModel: ReceiveGoodsViewModel = this.rowViewModels.get(viewModel.transactionLine);\r\n // receiveGoodsViewModel.goodsReceiptStatus.quantityToReceive = change.goodsReceiptStatus.quantityToReceive;\r\n // receiveGoodsViewModel.toReceive = change.goodsReceiptStatus.quantityToReceive;\r\n }\r\n}\r\n","import {Component, Input, OnInit, ViewEncapsulation} from \"@angular/core\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {ArticleService} from \"../../service/article.service\";\r\nimport {ExtendedTransactionLineViewModel} from \"../../model/extended-transaction-line-view-model\";\r\nimport {TransactionFilterPopupBaseComponent} from \"../core/base/transaction-filter-popup-base.component\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-warehouse-location\",\r\n template: `\r\n <co-transaction-line-checkbox-list\r\n [collection]=\"viewModelsFiltered\"\r\n [readonly]=\"readonly\"\r\n (checked)=\"handleChecked($event)\"\r\n ></co-transaction-line-checkbox-list>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n// @ts-ignore\r\nexport class TransactionLineWarehouseLocationComponent extends TransactionFilterPopupBaseComponent<StockLocation> implements OnInit {\r\n\r\n @Input()\r\n public warehouseNr: number;\r\n\r\n protected codeField: string = 'locationNo';\r\n protected propsForLabel: string[] = ['locationNo', 'description'];\r\n\r\n constructor(private _articleService: ArticleService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.viewModels.length = 0;\r\n this._articleService.getWarehouseLocations(this.warehouseNr).then((locations: StockLocation[]) => {\r\n this.collection = locations.slice();\r\n })\r\n }\r\n\r\n public async commit(locationNr: string): Promise<boolean> {\r\n (<ExtendedTransactionLineViewModel>this.transactionLine).locationNr = locationNr;\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineWarehouseLocationComponent} from \"./transaction-line-warehouse-location.component\";\r\nimport {InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineCheckboxModule} from \"../transaction-line-checkbox-list/transaction-line-checkbox-list.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputCheckboxModule,\r\n TransactionLineCheckboxModule\r\n ],\r\n declarations: [\r\n TransactionLineWarehouseLocationComponent\r\n ],\r\n exports: [\r\n TransactionLineWarehouseLocationComponent\r\n ]\r\n})\r\nexport class TransactionLineWarehouseLocationModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DialogTransactionLineWarehouseLocationComponent} from \"./dialog-transaction-line-warehouse-location.component\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {DialogHeaderSearchModule} from \"../../dialog-header-search/dialog-header-search.module\";\r\nimport {PipeModule} from \"../../../../pipe/pipe.module\";\r\nimport {TransactionLineWarehouseLocationModule} from \"../../../transaction-line-fields/transaction-line-warehouse-location.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n DialogHeaderSearchModule,\r\n ButtonModule,\r\n PipeModule,\r\n TransactionLineWarehouseLocationModule\r\n ],\r\n declarations: [\r\n DialogTransactionLineWarehouseLocationComponent\r\n ],\r\n exports: [\r\n DialogTransactionLineWarehouseLocationComponent\r\n ]\r\n})\r\nexport class DialogTransactionLineWarehouseLocationModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {TransactionReceivedGoodsGridComponent} from \"./transaction-received-goods-grid.component\";\r\nimport {TransactionBaseGridModule} from \"../transaction-base-grid/transaction-base-grid.module\";\r\nimport {\r\n DropDownModule,\r\n InputCheckboxModule,\r\n InputNumberPickerModule,\r\n SimpleGridModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {\r\n DialogTransactionLineWarehouseLocationModule\r\n} from \"../../dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module\";\r\nimport {\r\n TransactionLineWarehouseLocationButtonModule\r\n} from \"../../transaction-line-fields/transaction-line-warehouse-location-button.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionBaseGridModule,\r\n SimpleGridModule,\r\n PipeModule,\r\n InputCheckboxModule,\r\n DropDownModule,\r\n InputNumberPickerModule,\r\n DialogTransactionLineWarehouseLocationModule,\r\n TransactionLineWarehouseLocationButtonModule\r\n ],\r\n declarations: [\r\n TransactionReceivedGoodsGridComponent\r\n ],\r\n exports: [\r\n TransactionReceivedGoodsGridComponent\r\n ]\r\n})\r\nexport class TransactionReceivedGoodsGridModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {TransactionImageService} from \"../../service/transaction-image.service\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionTypeCategory} from \"../../enum/transaction-type-category.enum\";\r\n\r\n@Component({\r\n selector: \"co-transaction-tile\",\r\n template: `\r\n <div class=\"transaction-tile-wrapper\" *ngIf=\"transactionLine\">\r\n <div class=\"header-row center\">\r\n <div class=\"header-transport-container center\">\r\n <co-icon class=\"transport-method-icon\" [iconData]=\"iconCacheService.getIcon(icon.DeliveryTruck)\"></co-icon>\r\n <span class=\"transport-method-text\" [textContent]=\"'Dropshipment door leverancier'\"></span>\r\n </div>\r\n <span class=\"header-date bold\" [textContent]=\"transactionLine.deliveryDate | date : 'd-MM-yyyy'\"></span>\r\n <co-icon class=\"header-side-panel-button\"\r\n [iconData]=\"iconCacheService.getIcon(icon.ThickLines)\"\r\n (click)=\"handleSidePanelButtonClicked()\"\r\n ></co-icon>\r\n </div>\r\n\r\n <div class=\"transaction-details-row\">\r\n <div class=\"transaction-details-container\">\r\n <span class=\"transaction-tile-title bold\" [textContent]=\"transactionLine.goodDescription\"></span>\r\n <span *ngFor=\"let text of transactionLine.articleTestAsArray\" class=\"transaction-tile-description\"\r\n [innerHTML]=\"text | safeHtml\"></span>\r\n </div>\r\n <co-image-display class=\"tile-image\" [model]=\"image\"></co-image-display>\r\n </div>\r\n\r\n <div class=\"transaction-order-status-row\">\r\n <co-transaction-line-statusbar [transaction]=\"transactionLine\" [transactionKind]=\"transactionType\" [transactionTypeCategory]=\"activeCategory\"></co-transaction-line-statusbar>\r\n </div>\r\n\r\n <div class=\"transaction-data-row center\">\r\n <div class=\"transaction-data-header\">\r\n <div class=\"transaction-data-header-item\">\r\n <span class=\"transaction-data-header-label\" [textContent]=\"'ARTICLE_NR'| localize\"></span>\r\n <span class=\"transaction-data-header-field\"\r\n [textContent]=\"transactionLine.articleNumber ? transactionLine.articleNumber : '-'\"></span>\r\n </div>\r\n <div class=\"transaction-data-header-divider\"></div>\r\n <div class=\"transaction-data-header-item center\">\r\n <span class=\"transaction-data-header-label\" [textContent]=\"'PRICE'| localize\"></span>\r\n <span class=\"transaction-data-header-field\"\r\n [textContent]=\"transactionLine.price ? (transactionLine.price | priceDisplay) : '-'\"></span>\r\n </div>\r\n <div class=\"transaction-data-header-divider\"></div>\r\n <div class=\"transaction-data-header-item center\">\r\n <span class=\"transaction-data-header-label\" [textContent]=\"'DISCOUNT'| localize\"></span>\r\n <span class=\"transaction-data-header-field\"\r\n [textContent]=\"transactionLine.discountAmount ? transactionLine.discountAmount : '-'\"></span>\r\n </div>\r\n <div class=\"transaction-data-header-divider\"></div>\r\n <div class=\"transaction-data-header-item center\">\r\n <span class=\"transaction-data-header-label\" [textContent]=\"'Mag'| localize\"></span>\r\n <span class=\"transaction-data-header-field\"\r\n [textContent]=\"transactionLine.warehouseNumber ? transactionLine.warehouseNumber : '-'\"></span>\r\n </div>\r\n <div class=\"transaction-data-header-divider\"></div>\r\n <div class=\"transaction-data-header-item center\">\r\n <span class=\"transaction-data-header-label\" [textContent]=\"'CC'| localize\"></span>\r\n <span class=\"transaction-data-header-field\"\r\n [textContent]=\"transactionLine.commissionCode ? transactionLine.commissionCode : '-'\"></span>\r\n </div>\r\n </div>\r\n <div class=\"transaction-data-header-item mutable center\">\r\n <span class=\"transaction-data-header-label\" [textContent]=\"'AMOUNT'| localize\"></span>\r\n <input type=\"number\" class=\"transaction-data-header-field bold amount-input\" [(ngModel)]=\"transactionLine.amount\">\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionTileComponent {\r\n public readonly icon: typeof Icon = Icon;\r\n public readonly transactionTypes: typeof TransactionKind = TransactionKind;\r\n\r\n @Input()\r\n public transactionType: TransactionKind;\r\n\r\n @Input()\r\n public activeCategory: TransactionTypeCategory;\r\n\r\n @Input()\r\n set transactionLine(value: TransactionLineInfo) {\r\n this._transactionLine = value;\r\n this._loadLineImage();\r\n }\r\n\r\n get transactionLine(): TransactionLineInfo {\r\n return this._transactionLine;\r\n }\r\n\r\n @Output()\r\n public showSidePanelClicked: EventEmitter<TransactionLineInfo> = new EventEmitter<TransactionLineInfo>();\r\n\r\n public image: string;\r\n\r\n private _transactionLine: TransactionLineInfo;\r\n\r\n @HostBinding(\"class.co-transaction-tile\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _imageService: TransactionImageService\r\n ) { }\r\n\r\n public handleSidePanelButtonClicked(): void {\r\n this.showSidePanelClicked.next(this._transactionLine);\r\n }\r\n\r\n private async _loadLineImage(): Promise<void> {\r\n if (this._transactionLine && this._transactionLine.isArticle) {\r\n this._imageService.retrieveLineImage(this._transactionLine).then((image: string) => {\r\n this.image = image;\r\n });\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { TransactionLineStatusbarModule } from \"../transaction-line-statusbar/transaction-line-statusbar.module\";\r\nimport {TransactionTileComponent} from \"./transaction-tile.component\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {IconModule, PriceDisplayPipeModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {FormsModule} from \"@angular/forms\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n IconModule,\r\n PipeModule,\r\n FormsModule,\r\n PriceDisplayPipeModule,\r\n TransactionLineStatusbarModule\r\n ],\r\n declarations: [\r\n TransactionTileComponent\r\n ],\r\n exports: [\r\n TransactionTileComponent\r\n ]\r\n})\r\nexport class TransactionTileModule {}\r\n","import {Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {InputTextComponent} from \"@colijnit/corecomponents_v12\";\r\n\r\n@Component({\r\n selector: \"co-editable-label\",\r\n template: `\r\n <span *ngIf=\"!editMode || readonly\" [textContent]=\"model\"></span>\r\n <div class=\"crossed-out\" *ngIf=\"crossedOut\"></div>\r\n <co-input-text *ngIf=\"editMode && !readonly\"\r\n class=\"custom-height\"\r\n [model]=\"editModel\"\r\n [showSaveCancel]=\"commit\"\r\n (blur)=\"editMode = false\"\r\n ></co-input-text>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class EditableLabelComponent {\r\n\r\n @ViewChild(InputTextComponent) set inputComponent(child) {\r\n this._inputTextComponent = child;\r\n if (this._editMode) {\r\n this._inputTextComponent.requestFocus();\r\n }\r\n }\r\n\r\n @Input()\r\n public model: string;\r\n\r\n @Input()\r\n public editModel: any;\r\n\r\n @Input()\r\n public commit: boolean = true;\r\n\r\n @Input()\r\n public set editMode(value: boolean) {\r\n this._editMode = value;\r\n if (this._editMode && this._inputTextComponent) {\r\n this._inputTextComponent.doFocus();\r\n }\r\n }\r\n\r\n public get editMode(): boolean {\r\n return this._editMode;\r\n }\r\n\r\n @Input()\r\n public readonly: boolean = false;\r\n\r\n @Input()\r\n public crossedOut: boolean = false;\r\n\r\n @Output()\r\n public editModelChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @HostBinding(\"class.co-editable-label\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!this.readonly) {\r\n this.editMode = true;\r\n }\r\n }\r\n\r\n private _editMode: boolean = false;\r\n private _inputTextComponent: InputTextComponent;\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {EditableLabelComponent} from \"./editable-label.component\";\r\nimport {InputTextModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputTextModule\r\n ],\r\n declarations: [\r\n EditableLabelComponent\r\n ],\r\n exports: [\r\n EditableLabelComponent\r\n ]\r\n})\r\nexport class EditableLabelModule {}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLinesLineBaseComponent} from \"../../core/base/transaction-lines-line-base.component\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {LineOperationResponse} from \"@colijnit/transactionapi/build/model/line-operation-response.bo\";\r\nimport {TransactionService} from \"../../../service/transaction.service\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\n\r\n\r\n@Component({\r\n selector: \"co-transaction-base-line\",\r\n template: `\r\n <div class=\"transaction-base-line-wrapper\" data-action=\"openSidePanel\">\r\n <ng-container *ngIf=\"line.isArticle\">\r\n <div class=\"transaction-base-line-section\" [class.line-start]=\"!preview\">\r\n <co-input-checkbox *ngIf=\"checkbox\" class=\"transaction-line-checkbox\" [class.hidden]=\"hideCheckbox\"\r\n [model]=\"checkboxValue\"\r\n (modelChange)=\"checkboxValueChanged.emit($event)\"\r\n ></co-input-checkbox>\r\n <co-transaction-line-image-and-description\r\n *ngIf=\"line.isArticle\" class=\"transaction-line-image-and-description-wrapper\"\r\n [preview]=\"preview\"\r\n [line]=\"line\"\r\n (handleDeleteLine)=\"deleteTransactionLineClick()\"\r\n ></co-transaction-line-image-and-description>\r\n </div>\r\n <div class=\"transaction-base-line-section\" [class.preview-margin]=\"preview\">\r\n <ng-content></ng-content>\r\n <div *ngIf=\"!preview && actionButtons\" class=\"transaction-line-buttons\">\r\n <co-transaction-line-action-buttons\r\n [showActionButtons]=\"selected || false\"\r\n [transactionLine]=\"line\"\r\n (waitingForUserAction)=\"waitingForUserAction.next($event)\"\r\n (sidePanelButtonClicked)=\"handleShowSidePanel($event)\"\r\n ></co-transaction-line-action-buttons>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"line.isText\">\r\n <div [textContent]=\"line.text\"></div>\r\n <div class=\"transaction-line-delete\" *ngIf=\"!preview\">\r\n <co-icon class=\"delete-icon\" [iconData]=\"iconCacheService.getIcon(icons.TrashCanLight)\" (click)=\"deleteTransactionLineClick()\"></co-icon>\r\n </div>\r\n </ng-container>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionBaseLineComponent extends TransactionLinesLineBaseComponent {\r\n\r\n @Input()\r\n public checkboxValue: boolean = false;\r\n\r\n @Input()\r\n public checkbox: boolean = false;\r\n\r\n @Input()\r\n public hideCheckbox: boolean = false;\r\n\r\n @Input()\r\n public actionButtons: boolean = true;\r\n\r\n @Output()\r\n public checkboxValueChanged: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding(\"class.co-transaction-base-line\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public service: TransactionService,\r\n public iconCacheService: IconCacheService,\r\n private _transactionEventService: TransactionEventService\r\n ) {\r\n super();\r\n }\r\n\r\n public async deleteTransactionLineClick(): Promise<void> {\r\n // const deleteLine: boolean = await this._dialogService.showYesNo(\r\n // this._dictionaryService.get(\"DELETE\"), this._dictionaryService.get(\"DELETE_TRANSACTION_LINE_QUESTION\"));\r\n // if (deleteLine) {\r\n this.service.deleteTransactionLine(this.service.currentTransaction.transactionInfo.uuid, this.line.uuid).then((value: LineOperationResponse) => {\r\n // this._handleLine(value);\r\n });\r\n // }\r\n }\r\n\r\n public handleShowSidePanel(line: TransactionLineInfo): void {\r\n this._transactionEventService.openSidePanel.next(line)\r\n this.waitingForUserAction.next(true);\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionBaseLineComponent} from \"./transaction-base-line.component\";\r\nimport {\r\n TransactionLineImageAndDescriptionModule\r\n} from \"../../transaction-line-image-and-description/transaction-line-image-and-description.module\";\r\nimport {IconModule, InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {\r\n TransactionLineActionButtonsModule\r\n} from \"../../transaction-line-action-buttons/transaction-line-action-buttons.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionLineImageAndDescriptionModule,\r\n IconModule,\r\n InputCheckboxModule,\r\n TransactionLineActionButtonsModule\r\n ],\r\n declarations: [\r\n TransactionBaseLineComponent\r\n ],\r\n exports: [\r\n TransactionBaseLineComponent\r\n ]\r\n})\r\nexport class TransactionBaseLineModule {\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionLineBaseComponent} from \"../core/base/transaction-line-base.component\";\r\nimport {CoDomainValue} from \"@colijnit/mainapi/build/model/co-domain-value.bo\";\r\n\r\n\r\n@Component({\r\n selector: \"co-transaction-line-commission-button\",\r\n template: `\r\n <div class=\"transaction-line-button\" (click)=\"showDialogCommissionCode = true\">\r\n <span class=\"co-transaction-overflow-ellipsis\" [textContent]=\"transactionLine.commissionCode | append:' | ' | append:transactionLine.commissionDescription\"></span>\r\n </div>\r\n <co-dialog-transaction-line-commission-code *ngIf=\"showDialogCommissionCode\"\r\n [autoClose]=\"true\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n (close)=\"showDialogCommissionCode = false\"\r\n ></co-dialog-transaction-line-commission-code>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineCommissionButtonComponent extends TransactionLineBaseComponent<number> {\r\n\r\n @HostBinding(\"class.co-transaction-line-commission-button\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showDialogCommissionCode: boolean = false;\r\n\r\n constructor(private _service: TransactionService) {\r\n super();\r\n }\r\n\r\n public async transactionLineSet(): Promise<void> {\r\n if (this.transactionLine && this.transactionLine.isArticle) {\r\n this._service.getCommissionCodes('NL').then((codes: CoDomainValue[]) => {\r\n const commissionCode: CoDomainValue = codes.find(c => c.code === this.transactionLine.commissionCode);\r\n this.transactionLine.commissionDescription = commissionCode ? commissionCode.description : \"\";\r\n });\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineCommissionButtonComponent} from \"./transaction-line-commission-button.component\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {DialogTransactionLineCommissionCodeModule} from \"../dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n DialogTransactionLineCommissionCodeModule\r\n ],\r\n declarations: [\r\n TransactionLineCommissionButtonComponent\r\n ],\r\n exports: [\r\n TransactionLineCommissionButtonComponent\r\n ]\r\n})\r\nexport class TransactionLineCommissionButtonModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {Warehouse} from \"@colijnit/transactionapi/build/model/warehouse.bo\";\r\nimport {TransactionLineBaseComponent} from \"../core/base/transaction-line-base.component\";\r\n\r\n\r\n@Component({\r\n selector: \"co-transaction-line-warehouse-button\",\r\n template: `\r\n <div class=\"transaction-line-button\" [class.no-pointer]=\"readonly\" (click)=\"handleClick($event)\">\r\n <co-icon class=\"header-warehouse-icon\" [iconData]=\"iconCacheService.getIcon(icons.Warehouse)\"></co-icon>\r\n <span class=\"co-transaction-overflow-ellipsis\" [textContent]=\"transactionLine.warehouseNumber\"></span>\r\n </div>\r\n <co-dialog-transaction-line-warehouse *ngIf=\"showDialogWarehouse && !readonly\"\r\n [autoClose]=\"true\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n (close)=\"showDialogWarehouse = false\"\r\n ></co-dialog-transaction-line-warehouse>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineWarehouseButtonComponent extends TransactionLineBaseComponent<number> {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public readonly: boolean = false;\r\n\r\n @HostBinding(\"class.co-transaction-line-warehouse-button\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showDialogWarehouse: boolean = false;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n public service: TransactionService\r\n ) {\r\n super();\r\n }\r\n\r\n public async transactionLineSet(): Promise<void> {\r\n if (this.transactionLine && this.transactionLine.isArticle) {\r\n this.service.getWarehouses().then((warehouses: Warehouse[]) => {\r\n const warehouse: Warehouse = warehouses.find(w => w.warehouseNo === this.transactionLine.warehouseNumber);\r\n this.transactionLine.warehouseDescription = warehouse ? warehouse.description : \"\";\r\n });\r\n }\r\n }\r\n\r\n public handleClick(event: PointerEvent): void {\r\n this.stopPropagation(event);\r\n this.showDialogWarehouse = true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineWarehouseButtonComponent} from \"./transaction-line-warehouse-button.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {DialogTransactionLineWarehouseModule} from \"../dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n DialogTransactionLineWarehouseModule\r\n ],\r\n declarations: [\r\n TransactionLineWarehouseButtonComponent\r\n ],\r\n exports: [\r\n TransactionLineWarehouseButtonComponent\r\n ]\r\n})\r\nexport class TransactionLineWarehouseButtonModule {\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionLineBaseComponent} from \"../core/base/transaction-line-base.component\";\r\nimport {DeliveryMethod} from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\n\r\n\r\n@Component({\r\n selector: \"co-transaction-line-delivery-button\",\r\n template: `\r\n <div class=\"transaction-line-button big\" (click)=\"showDialogDeliveryMethod = true\">\r\n <co-icon class=\"header-delivery-truck-icon\" [iconData]=\"iconCacheService.getIcon(icons.TruckFastSolid)\"></co-icon>\r\n <span class=\"co-transaction-overflow-ellipsis\" [textContent]=\"transactionLine.deliveryMethodDescription\"></span>\r\n </div>\r\n <co-dialog-transaction-line-delivery-method *ngIf=\"showDialogDeliveryMethod\"\r\n [autoClose]=\"true\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n (close)=\"showDialogDeliveryMethod = false\"\r\n ></co-dialog-transaction-line-delivery-method>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineDeliveryButtonComponent extends TransactionLineBaseComponent<number> {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @HostBinding(\"class.co-transaction-line-delivery-button\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showDialogDeliveryMethod: boolean = false;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n public service: TransactionService\r\n ) {\r\n super();\r\n }\r\n\r\n public async transactionLineSet(): Promise<void> {\r\n if (this.transactionLine && this.transactionLine.isArticle) {\r\n this.service.getDeliveryMethods().then((methods: DeliveryMethod[]) => {\r\n const method: DeliveryMethod = methods.find(m => m.code === this.transactionLine.deliveryMethodCode);\r\n this.transactionLine.deliveryMethodDescription = method ? method.description : \"\";\r\n });\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineDeliveryButtonComponent} from \"./transaction-line-delivery-button.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {DialogTransactionLineDeliveryMethodModule} from \"../dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n DialogTransactionLineDeliveryMethodModule\r\n ],\r\n declarations: [\r\n TransactionLineDeliveryButtonComponent\r\n ],\r\n exports: [\r\n TransactionLineDeliveryButtonComponent\r\n ]\r\n})\r\nexport class TransactionLineDeliveryButtonModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\n\r\n\r\n@Component({\r\n selector: \"co-transaction-line-delivery-date-button\",\r\n template: `\r\n <div class=\"transaction-line-button custom-width no-border\">\r\n <span [textContent]=\"'DELIVERY_DATE' | localize | append:':'\"></span>\r\n <span class=\"co-transaction-overflow-ellipsis\" [textContent]=\"transactionLine.deliveryDate | date:'dd MMM YYYY'\"></span>\r\n <co-icon class=\"header-delivery-date-icon\" [iconData]=\"iconCacheService.getIcon(icons.CalendarDayRegular)\"></co-icon>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineDeliveryDateButtonComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public transactionLine: TransactionLineInfo;\r\n\r\n @HostBinding(\"class.co-transaction-line-delivery-date-button\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n ) { }\r\n\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineDeliveryDateButtonComponent} from \"./transaction-line-delivery-date-button.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n TransactionLineDeliveryDateButtonComponent\r\n ],\r\n exports: [\r\n TransactionLineDeliveryDateButtonComponent\r\n ]\r\n})\r\nexport class TransactionLineDeliveryDateButtonModule {\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionLineBaseComponent} from \"../core/base/transaction-line-base.component\";\r\nimport {LineOperationResponse} from \"@colijnit/transactionapi/build/model/line-operation-response.bo\";\r\n\r\n\r\n@Component({\r\n selector: \"co-transaction-line-amount\",\r\n template: `\r\n <co-input-number-picker class=\"amount-number-picker\"\r\n [(model)]=\"localAmount\" [min]=\"0\"\r\n [readonly]=\"readonly\"\r\n (modelChange)=\"changeLineAmount($event)\"></co-input-number-picker>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineAmountComponent extends TransactionLineBaseComponent<number> {\r\n\r\n @HostBinding(\"class.co-transaction-line-amount\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public localAmount: number;\r\n\r\n constructor(private _service: TransactionService) {\r\n super();\r\n }\r\n\r\n public changeLineAmount(amount: number): void {\r\n this._service.changeTransactionLineQuantity(this.transactionLine.uuid, amount).then((value: LineOperationResponse) => {\r\n if (!value || !value.isSuccess) {\r\n this.localAmount = this.transactionLine.amount;\r\n return;\r\n }\r\n });\r\n }\r\n\r\n public async transactionLineSet(): Promise<void> {\r\n if (this.transactionLine && this.transactionLine.isArticle) {\r\n this.localAmount = this.transactionLine.amount;\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineAmountComponent} from \"./transaction-line-amount.component\";\r\nimport {InputNumberPickerModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputNumberPickerModule\r\n ],\r\n declarations: [\r\n TransactionLineAmountComponent\r\n ],\r\n exports: [\r\n TransactionLineAmountComponent\r\n ]\r\n})\r\nexport class TransactionLineAmountModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ButtonModule, IconModule, InputNumberPickerModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionArticleTextModule} from \"../../shared/transaction-article-text/transaction-article-text.module\";\r\nimport {TransactionArticleTextOverviewModule} from \"../../shared/transaction-article-text-overview/transaction-article-text-overview.module\";\r\nimport {CoreModule} from \"../../core/core.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {TransactionLineActionButtonsModule} from \"../../transaction-line-action-buttons/transaction-line-action-buttons.module\";\r\nimport {EditableLabelModule} from \"../../editable-label/editable-label.module\";\r\nimport {TransactionLineDescriptionModule} from \"../../transaction-line-fields/transaction-line-description.module\";\r\nimport {TransactionOverviewLineComponent} from \"./transaction-overview-line.component\";\r\nimport {TransactionBaseLineModule} from \"../transaction-base-line/transaction-base-line.module\";\r\nimport {DragDropModule} from \"@angular/cdk/drag-drop\";\r\nimport {TransactionLineCommissionButtonModule} from \"../../transaction-line-fields/transaction-line-commission-button.module\";\r\nimport {TransactionLineWarehouseButtonModule} from \"../../transaction-line-fields/transaction-line-warehouse-button.module\";\r\nimport {TransactionLineDeliveryButtonModule} from \"../../transaction-line-fields/transaction-line-delivery-button.module\";\r\nimport {TransactionLineDeliveryDateButtonModule} from \"../../transaction-line-fields/transaction-line-delivery-date-button.module\";\r\nimport {DialogTransactionLineVatModule} from \"../../dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module\";\r\nimport {DialogTransactionLineDiscountModule} from \"../../dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module\";\r\nimport {TransactionLineStatusbarModule} from \"../../transaction-line-statusbar/transaction-line-statusbar.module\";\r\nimport {TransactionLineAmountModule} from \"../../transaction-line-fields/transaction-line-amount.module\";\r\nimport {TransactionLinePriceModule} from \"../../transaction-line-fields/transaction-line-price/transaction-line-price.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n ButtonModule,\r\n InputNumberPickerModule,\r\n TransactionArticleTextModule,\r\n TransactionArticleTextOverviewModule,\r\n PipeModule,\r\n TransactionLineActionButtonsModule,\r\n IconModule,\r\n EditableLabelModule,\r\n TransactionLinePriceModule,\r\n TransactionLineDescriptionModule,\r\n TransactionBaseLineModule,\r\n DragDropModule,\r\n TransactionLineCommissionButtonModule,\r\n TransactionLineWarehouseButtonModule,\r\n TransactionLineDeliveryButtonModule,\r\n TransactionLineDeliveryDateButtonModule,\r\n DialogTransactionLineVatModule,\r\n DialogTransactionLineDiscountModule,\r\n TransactionLineStatusbarModule,\r\n TransactionLineAmountModule\r\n ],\r\n declarations: [\r\n TransactionOverviewLineComponent\r\n ],\r\n exports: [\r\n TransactionOverviewLineComponent\r\n ]\r\n})\r\nexport class TransactionOverviewLineModule {}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { TransactionLineStatusbarModule } from \"../../transaction-line-statusbar/transaction-line-statusbar.module\";\r\nimport {TransactionOrderDeliveryLineComponent} from \"./transaction-order-delivery-line.component\";\r\nimport {TransactionBaseLineModule} from \"../transaction-base-line/transaction-base-line.module\";\r\nimport {\r\n TransactionLineWarehouseButtonModule\r\n} from \"../../transaction-line-fields/transaction-line-warehouse-button.module\";\r\nimport {\r\n TransactionLineDeliveryButtonModule\r\n} from \"../../transaction-line-fields/transaction-line-delivery-button.module\";\r\nimport {\r\n TransactionLineDeliveryDateButtonModule\r\n} from \"../../transaction-line-fields/transaction-line-delivery-date-button.module\";\r\nimport {EditableLabelModule} from \"../../editable-label/editable-label.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {InputNumberPickerModule, ObserveVisibilityModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionBaseLineModule,\r\n TransactionLineWarehouseButtonModule,\r\n TransactionLineDeliveryButtonModule,\r\n TransactionLineDeliveryDateButtonModule,\r\n EditableLabelModule,\r\n PipeModule,\r\n InputNumberPickerModule,\r\n TransactionLineStatusbarModule,\r\n ObserveVisibilityModule\r\n ],\r\n declarations: [\r\n TransactionOrderDeliveryLineComponent\r\n ],\r\n exports: [\r\n TransactionOrderDeliveryLineComponent\r\n ]\r\n})\r\nexport class TransactionOrderDeliveryLineModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionReceiveGoodsLineComponent} from \"./transaction-receive-goods-line.component\";\r\nimport {TransactionBaseLineModule} from \"../transaction-base-line/transaction-base-line.module\";\r\nimport {\r\n TransactionLineWarehouseButtonModule\r\n} from \"../../transaction-line-fields/transaction-line-warehouse-button.module\";\r\nimport {\r\n TransactionLineWarehouseLocationModule\r\n} from \"../../transaction-line-fields/transaction-line-warehouse-location.module\";\r\nimport {EditableLabelModule} from \"../../editable-label/editable-label.module\";\r\nimport {\r\n IconModule,\r\n InputCheckboxModule,\r\n InputNumberPickerModule,\r\n ObserveVisibilityModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {\r\n TransactionLineWarehouseLocationButtonModule\r\n} from \"../../transaction-line-fields/transaction-line-warehouse-location-button.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionBaseLineModule,\r\n TransactionLineWarehouseButtonModule,\r\n TransactionLineWarehouseLocationModule,\r\n EditableLabelModule,\r\n InputNumberPickerModule,\r\n InputCheckboxModule,\r\n IconModule,\r\n TransactionLineWarehouseLocationButtonModule,\r\n ObserveVisibilityModule\r\n ],\r\n declarations: [\r\n TransactionReceiveGoodsLineComponent\r\n ],\r\n exports: [\r\n TransactionReceiveGoodsLineComponent\r\n ]\r\n})\r\nexport class TransactionReceiveGoodsLineModule {\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionService} from \"../../service/transaction.service\";\r\nimport {TransactionLineBaseComponent} from \"../core/base/transaction-line-base.component\";\r\nimport {RelationService} from \"../../service/relation.service\";\r\nimport {RelationRequest} from \"@colijnit/relationapi/build/model/relation-request\";\r\nimport {RelationListObject} from \"@colijnit/relationapi/build/model/relation-list-object.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-supplier-button\",\r\n template: `\r\n <div class=\"transaction-line-button big\" (click)=\"handleOpenDialog($event)\">\r\n <span class=\"co-transaction-overflow-ellipsis\" [textContent]=\"transactionLine.supplierDescription\"></span>\r\n </div>\r\n <co-dialog-transaction-line-supplier *ngIf=\"showDialogSupplier\"\r\n [autoClose]=\"true\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n (close)=\"showDialogSupplier = false\"\r\n ></co-dialog-transaction-line-supplier>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineSupplierButtonComponent extends TransactionLineBaseComponent<number> {\r\n\r\n @HostBinding(\"class.co-transaction-line-supplier-button\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showDialogSupplier: boolean = false;\r\n\r\n constructor(\r\n private _service: TransactionService,\r\n private _relationService: RelationService\r\n ) {\r\n super();\r\n }\r\n\r\n public handleOpenDialog(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.showDialogSupplier = !this.readonly;\r\n }\r\n\r\n public async transactionLineSet(): Promise<void> {\r\n if (this.transactionLine && this.transactionLine.isArticle) {\r\n const request: RelationRequest = new RelationRequest();\r\n request.relationId = this.transactionLine.supplierId;\r\n this._relationService.getRelationListObjects(request).then((relations: RelationListObject[]) => {\r\n const relation: RelationListObject = relations && relations.length > 0 ? relations[0] : null;\r\n this.transactionLine.supplierDescription = relation ? relation.displayName : \"\";\r\n });\r\n this.readonly = !this.transactionLine.articleFreeSupplier;\r\n }\r\n }\r\n}\r\n","import {Component, HostBinding, ViewEncapsulation} from \"@angular/core\";\r\nimport {DialogTransactionLineBaseComponent} from \"../../../core/base/dialog-transaction-line-base.component\";\r\n\r\n@Component({\r\n selector: \"co-dialog-transaction-line-supplier\",\r\n template: `\r\n <co-dialog [headerTemplate]=\"dialogHeader\" [footerTemplate]=\"footerTemplate\" [showCloseIcon]=\"useModel\" (closeClick)=\"handleClose(buttonType.Ok)\">\r\n <co-transaction-line-supplier\r\n [autoClose]=\"autoClose\"\r\n [useModel]=\"useModel\"\r\n [searchText]=\"searchText\"\r\n [transactionInfo]=\"transactionInfo\"\r\n [transactionLine]=\"transactionLine\"\r\n (closeAfterCommit)=\"handleClose(buttonType.Ok)\"\r\n (valueChange)=\"handleValueChange($event)\"></co-transaction-line-supplier>\r\n </co-dialog>\r\n <ng-template #dialogHeader>\r\n <co-dialog-header-search [title]=\"'SUPPLIER'\" (search)=\"handleSearch($event)\"></co-dialog-header-search>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\" *ngIf=\"!useModel\">\r\n <co-button [label]=\"'OK' | localize\" (click)=\"handleOkClick()\"></co-button>\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DialogTransactionLineSupplierComponent extends DialogTransactionLineBaseComponent {\r\n @HostBinding(\"class.co-dialog-transaction-line-supplier\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DialogTransactionLineSupplierComponent} from \"./dialog-transaction-line-supplier.component\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineSupplierModule} from \"../../../transaction-line-fields/transaction-line-supplier.module\";\r\nimport {PipeModule} from \"../../../../pipe/pipe.module\";\r\nimport {DialogHeaderSearchModule} from \"../../dialog-header-search/dialog-header-search.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n TransactionLineSupplierModule,\r\n PipeModule,\r\n ButtonModule,\r\n DialogHeaderSearchModule\r\n ],\r\n declarations: [\r\n DialogTransactionLineSupplierComponent\r\n ],\r\n exports: [\r\n DialogTransactionLineSupplierComponent\r\n ]\r\n})\r\nexport class DialogTransactionLineSupplierModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionLineSupplierButtonComponent} from \"./transaction-line-supplier-button.component\";\r\nimport {ButtonModule, CoDialogModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineSupplierModule} from \"./transaction-line-supplier.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {DialogTransactionLineSupplierModule} from \"../dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n TransactionLineSupplierModule,\r\n PipeModule,\r\n ButtonModule,\r\n DialogTransactionLineSupplierModule\r\n ],\r\n declarations: [\r\n TransactionLineSupplierButtonComponent\r\n ],\r\n exports: [\r\n TransactionLineSupplierButtonComponent\r\n ]\r\n})\r\nexport class TransactionLineSupplierButtonModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionPurchaseLineComponent} from \"./transaction-purchase-line.component\";\r\nimport {TransactionBaseLineModule} from \"../transaction-base-line/transaction-base-line.module\";\r\nimport {TransactionLineWarehouseButtonModule} from \"../../transaction-line-fields/transaction-line-warehouse-button.module\";\r\nimport {TransactionLineDeliveryButtonModule} from \"../../transaction-line-fields/transaction-line-delivery-button.module\";\r\nimport {TransactionLineDeliveryDateButtonModule} from \"../../transaction-line-fields/transaction-line-delivery-date-button.module\";\r\nimport {TransactionLineStatusbarModule} from \"../../transaction-line-statusbar/transaction-line-statusbar.module\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {InputNumberPickerModule} from \"@colijnit/corecomponents_v12\";\r\nimport {EditableLabelModule} from \"../../editable-label/editable-label.module\";\r\nimport {DialogTransactionLineDiscountModule} from \"../../dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module\";\r\nimport {TransactionLineAmountModule} from \"../../transaction-line-fields/transaction-line-amount.module\";\r\nimport {TransactionLineCommissionButtonModule} from \"../../transaction-line-fields/transaction-line-commission-button.module\";\r\nimport {TransactionLineSupplierButtonModule} from \"../../transaction-line-fields/transaction-line-supplier-button.module\";\r\nimport {TransactionLinePriceModule} from \"../../transaction-line-fields/transaction-line-price/transaction-line-price.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionBaseLineModule,\r\n TransactionLineWarehouseButtonModule,\r\n TransactionLineDeliveryButtonModule,\r\n TransactionLineDeliveryDateButtonModule,\r\n TransactionLineStatusbarModule,\r\n PipeModule,\r\n InputNumberPickerModule,\r\n EditableLabelModule,\r\n DialogTransactionLineDiscountModule,\r\n TransactionLineAmountModule,\r\n TransactionLineCommissionButtonModule,\r\n TransactionLineSupplierButtonModule,\r\n TransactionLinePriceModule,\r\n TransactionLinePriceModule\r\n ],\r\n declarations: [\r\n TransactionPurchaseLineComponent\r\n ],\r\n exports: [\r\n TransactionPurchaseLineComponent\r\n ]\r\n})\r\nexport class TransactionPurchaseLineModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TransactionGoodsAllocationLineComponent} from \"./transaction-goods-allocation-line.component\";\r\nimport {TransactionBaseLineModule} from \"../transaction-base-line/transaction-base-line.module\";\r\nimport {\r\n TransactionLineWarehouseButtonModule\r\n} from \"../../transaction-line-fields/transaction-line-warehouse-button.module\";\r\nimport {\r\n TransactionLineWarehouseLocationButtonModule\r\n} from \"../../transaction-line-fields/transaction-line-warehouse-location-button.module\";\r\nimport {EditableLabelModule} from \"../../editable-label/editable-label.module\";\r\nimport {InputCheckboxModule, InputNumberPickerModule, ObserveVisibilityModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLineStatusbarModule} from \"../../transaction-line-statusbar/transaction-line-statusbar.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TransactionBaseLineModule,\r\n TransactionLineWarehouseButtonModule,\r\n TransactionLineWarehouseLocationButtonModule,\r\n EditableLabelModule,\r\n InputNumberPickerModule,\r\n InputCheckboxModule,\r\n ObserveVisibilityModule,\r\n TransactionLineStatusbarModule\r\n ],\r\n declarations: [\r\n TransactionGoodsAllocationLineComponent\r\n ],\r\n exports: [\r\n TransactionGoodsAllocationLineComponent\r\n ]\r\n})\r\nexport class TransactionGoodsAllocationLineModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionComponent} from \"./transaction.component\";\r\nimport {TransactionLinesModule} from \"../transaction-lines/transaction-lines.module\";\r\nimport {TransactionTotalsModule} from \"../transaction-totals/transaction-totals.module\";\r\nimport {TransactionHeaderModule} from \"../transaction-header/transaction-header/transaction-header.module\";\r\nimport {ButtonModule, CoDialogModule, CoSidebarModule, FormModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionLinesGridModule} from \"../transaction-grid/transaction-lines-grid/transaction-lines-grid.module\";\r\nimport {DiscountModule} from \"../discount/discount.module\";\r\nimport {TransactionQuickAccessModule} from \"../transaction-quick-access/transaction-quick-access/transaction-quick-access.module\";\r\nimport {TransactionButtonBarModule} from \"../transaction-button-bar/transaction-button-bar.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\nimport {TransactionLineSidePanelModule} from \"../transaction-line-side-panel/transaction-line-side-panel.module\";\r\nimport {TransactionOrderConfirmationGridModule} from \"../transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module\";\r\nimport {ViewModeButtonsModule} from \"../view-mode-buttons/view-mode-buttons.module\";\r\nimport {TransactionGridModule} from \"../transaction-grid/transaction-grid/transaction-grid.module\";\r\nimport {TransactionReceivedGoodsGridModule} from \"../transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module\";\r\nimport {TransactionTileModule} from \"../transaction-tile/transaction-tile.module\";\r\nimport {TransactionOverviewLineModule} from \"../transaction-line/transaction-overview-line/transaction-overview-line.module\";\r\nimport {TransactionOrderDeliveryLineModule} from \"../transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module\";\r\nimport {TransactionReceiveGoodsLineModule} from \"../transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module\";\r\nimport {TransactionPurchaseLineModule} from \"../transaction-line/transaction-purchase-line/transaction-purchase-line.module\";\r\nimport {QuickSendButtonModule} from \"../quick-send-button/quick-send-button.module\";\r\nimport {\r\n TransactionGoodsAllocationLineModule\r\n} from \"../transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n TransactionHeaderModule,\r\n TransactionLinesModule,\r\n TransactionTotalsModule,\r\n ButtonModule,\r\n TransactionLinesGridModule,\r\n CoDialogModule,\r\n FormModule,\r\n InputTextModule,\r\n CoSidebarModule,\r\n DiscountModule,\r\n TransactionQuickAccessModule,\r\n TransactionButtonBarModule,\r\n PipeModule,\r\n TransactionLineSidePanelModule,\r\n TransactionOrderConfirmationGridModule,\r\n TransactionReceivedGoodsGridModule,\r\n ViewModeButtonsModule,\r\n TransactionGridModule,\r\n TransactionTileModule,\r\n TransactionOverviewLineModule,\r\n TransactionOrderDeliveryLineModule,\r\n TransactionReceiveGoodsLineModule,\r\n TransactionPurchaseLineModule,\r\n QuickSendButtonModule,\r\n TransactionGoodsAllocationLineModule\r\n ],\r\n declarations: [\r\n TransactionComponent\r\n ],\r\n exports: [\r\n TransactionComponent\r\n ]\r\n})\r\nexport class TransactionModule {}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {ButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {ShoppingCartComponent} from \"./shopping-cart.component\";\r\nimport {TransactionModule} from \"../transaction/transaction.module\";\r\nimport {PipeModule} from \"../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n ButtonModule,\r\n TransactionModule,\r\n PipeModule\r\n ],\r\n declarations: [\r\n ShoppingCartComponent\r\n ],\r\n exports: [\r\n ShoppingCartComponent\r\n ]\r\n})\r\nexport class ShoppingCartModule {\r\n}\r\n","import {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {Component, EventEmitter, HostBinding, Input, OnDestroy, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CoDirection, CoOrientation} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionKind} from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport {TransactionSearchView} from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\nimport {SearchViewMode} from \"../../enum/search-view-mode.enum\";\r\nimport {SearchbarViewMode} from \"../../enum/searchbar-view-mode.enum\";\r\nimport {TransactionSearchService} from \"./service/transaction-search.service\";\r\nimport {TransactionEventService} from \"../../service/transaction-event.service\";\r\nimport {Subscription} from \"rxjs\";\r\n\r\n\r\n@Component({\r\n selector: 'co-transaction-search',\r\n template: `\r\n <div class=\"transaction-search-main-wrapper\">\r\n <div class=\"transaction-search-wrapper\"\r\n [ngClass]=\"calculateClasses()\">\r\n <div class=\"transaction-filter-wrapper narrow-scrollbar\"\r\n [ngClass]=\"calculateClasses()\"\r\n *ngIf=\"transactionSearchService.showFilterSidebar\" @showHideFilterSidebar>\r\n <co-transaction-filter\r\n [transactionType]=\"transactionType\"\r\n [activeSearchViewMode]=\"transactionSearchService.activeSearchViewMode\"\r\n (closeButtonClick)=\"transactionSearchService.handleHideFilter()\"\r\n (resetFilterClick)=\"transactionSearchService.handleResetFilter()\"></co-transaction-filter>\r\n </div>\r\n <div class=\"transaction-search-result-wrapper co-small-toolbar\"\r\n [class.fullscreen]=\"transactionSearchService.fullscreen\"\r\n [class.sidebar]=\"!transactionSearchService.fullscreen\"\r\n [class.collapsed]=\"transactionSearchService.collapsed\"\r\n [class.expanded]=\"!transactionSearchService.collapsed\"\r\n >\r\n <co-transaction-search-result\r\n [transactionType]=\"transactionType\"\r\n [activeSearchViewMode]=\"transactionSearchService.activeSearchViewMode\"\r\n (filterClick)=\"transactionSearchService.toggleFilter()\"\r\n (transactionClick)=\"onTransactionClick($event)\"\r\n (resizeClick)=\"onSearchViewResizeClick()\"\r\n (closeClick)=\"collapseSearchBar()\"\r\n ></co-transaction-search-result>\r\n </div>\r\n </div>\r\n <div class=\"transaction-search-content-wrapper\"\r\n [class.fullscreen]=\"transactionSearchService.fullscreen\"\r\n [class.sidebar]=\"!transactionSearchService.fullscreen\"\r\n [class.collapsed]=\"transactionSearchService.collapsed\"\r\n [class.expanded]=\"!transactionSearchService.collapsed\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHideFilterSidebar\", [\r\n state(\"void\", style({transform: 'translateX(-100%)'})),\r\n state(\"*\", style({transform: 'translateX(0)'})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\"))\r\n ])\r\n ],\r\n\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSearchComponent implements OnDestroy {\r\n\r\n public readonly searchViewModes: typeof SearchViewMode = SearchViewMode;\r\n public readonly orientations: typeof CoOrientation = CoOrientation;\r\n public readonly directionRight: CoDirection = CoDirection.Right;\r\n\r\n private _transactionType: TransactionKind;\r\n\r\n @Input()\r\n public set transactionType(value: TransactionKind) {\r\n this._transactionType = value;\r\n this.transactionSearchService.transactionType = this._transactionType;\r\n }\r\n\r\n public get transactionType(): TransactionKind {\r\n return this._transactionType;\r\n }\r\n\r\n @Output()\r\n public transactionClick: EventEmitter<TransactionSearchView> = new EventEmitter<TransactionSearchView>();\r\n\r\n @Output()\r\n public searchViewModeChange: EventEmitter<SearchViewMode> = new EventEmitter<SearchViewMode>();\r\n\r\n @Output()\r\n public createTransactionClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-transaction-search\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n private _subs: Subscription[] = [];\r\n\r\n constructor(\r\n public transactionSearchService: TransactionSearchService,\r\n private _transactionEventService: TransactionEventService\r\n ) {\r\n this._subs.push(\r\n this._transactionEventService.createTransaction.subscribe(() => this.createTransactionClick.emit())\r\n )\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subs.forEach(s => s.unsubscribe());\r\n }\r\n\r\n public onTransactionClick(transaction: TransactionSearchView): void {\r\n if (this.transactionSearchService.activeSearchViewMode === this.searchViewModes.FullScreen) {\r\n this.collapseSearchBar();\r\n }\r\n\r\n this._scrollToTop();\r\n this.transactionClick.emit(transaction);\r\n }\r\n\r\n public onSearchViewResizeClick(): void {\r\n if (this.transactionSearchService.activeSearchViewMode === this.searchViewModes.SideBar) {\r\n this.transactionSearchService.activeSearchViewMode = this.searchViewModes.FullScreen;\r\n } else {\r\n this.transactionSearchService.activeSearchViewMode = this.searchViewModes.SideBar;\r\n }\r\n\r\n this.searchViewModeChange.emit(this.transactionSearchService.activeSearchViewMode);\r\n }\r\n\r\n public onSideCollapseHandleClick(): void {\r\n this.toggleSearchBar();\r\n }\r\n\r\n public toggleSearchBar(): void {\r\n if (this.transactionSearchService.collapsed || this.transactionSearchService.fullscreen) {\r\n this.expandSearchBar();\r\n } else {\r\n this.collapseSearchBar();\r\n }\r\n }\r\n\r\n public collapseSearchBar(): void {\r\n this.transactionSearchService.activeSearchViewMode = this.searchViewModes.SideBar;\r\n this.transactionSearchService.activeSearchBarViewMode = SearchbarViewMode.Collapsed;\r\n this.searchViewModeChange.emit(this.searchViewModes.SideBar);\r\n }\r\n\r\n public expandSearchBar(): void {\r\n this.transactionSearchService.activeSearchViewMode = this.searchViewModes.SideBar;\r\n this.transactionSearchService.activeSearchBarViewMode = SearchbarViewMode.Expanded;\r\n this.searchViewModeChange.emit(this.searchViewModes.SideBar);\r\n }\r\n\r\n public calculateClasses(): any {\r\n return {\r\n 'fullscreen': this.transactionSearchService.fullscreen,\r\n 'sidebar': !this.transactionSearchService.fullscreen,\r\n 'collapsed': this.transactionSearchService.collapsed,\r\n 'expanded': !this.transactionSearchService.collapsed,\r\n };\r\n }\r\n\r\n private _scrollToTop(): void {\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n }\r\n}\r\n","import {\r\n ApplicationRef,\r\n Component, ComponentFactoryResolver,\r\n ElementRef, EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding, Injector,\r\n Input,\r\n Output, Type,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport { TransactionKind } from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport { SearchViewMode } from \"../../../../enum/search-view-mode.enum\";\r\nimport { TransactionMappingService } from \"../../../../service/transaction-mapping.service\";\r\nimport { TransactionFilterBaseComponent } from \"../../../core/base/transaction-filter-base.component\";\r\nimport { TransactionSearchService } from \"../../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-filter\",\r\n template: `\r\n <div #transactionFilter class=\"transaction-filter-wrapper\">\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionFilterComponent {\r\n @ViewChild('transactionFilter', {read: ElementRef}) set container(content) {\r\n if (content) {\r\n this._transactionFilterContainer = content;\r\n this._prepareContent();\r\n }\r\n }\r\n\r\n @Input()\r\n public set transactionType(value: TransactionKind) {\r\n this._transactionType = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get transactionType(): TransactionKind {\r\n return this._transactionType;\r\n }\r\n\r\n @Input()\r\n public set activeSearchViewMode(value: SearchViewMode) {\r\n this._activeSearchViewMode = value;\r\n //localStorage.setItem('viewMode', value);\r\n }\r\n\r\n public get activeSearchViewMode(): SearchViewMode {\r\n return this._activeSearchViewMode;\r\n }\r\n\r\n @Output()\r\n public closeButtonClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public resetFilterClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n\r\n @HostBinding(\"class.co-transaction-filter\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _transactionFilterContainer: ElementRef;\r\n private _transactionType: TransactionKind;\r\n private _activeSearchViewMode: SearchViewMode = SearchViewMode.FullScreen;\r\n private _componentRef: any;\r\n\r\n constructor(\r\n private _mappingService: TransactionMappingService,\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector,\r\n public searchService: TransactionSearchService\r\n ) {\r\n }\r\n\r\n private _prepareContent(): void {\r\n if (!this._transactionType || !this._transactionFilterContainer) {\r\n return;\r\n }\r\n const componentClass: Type<TransactionFilterBaseComponent> = this._mappingService.getTransactionFilterComponent(this.transactionType);\r\n\r\n if (this._componentRef) {\r\n this._componentRef.destroy();\r\n }\r\n if (!componentClass) {\r\n return;\r\n }\r\n\r\n this._componentRef = this._compFactoryResolver\r\n .resolveComponentFactory(componentClass)\r\n .create(this.injector);\r\n\r\n this.appRef.attachView(this._componentRef.hostView);\r\n\r\n //inputs\r\n this._componentRef.instance.activeSearchViewMode = this.activeSearchViewMode;\r\n\r\n //outputs\r\n this._componentRef.instance.closeButtonClick.subscribe(transaction => {\r\n this.closeButtonClick.emit();\r\n })\r\n\r\n this._componentRef.instance.resetFilterClick.subscribe(transaction => {\r\n this.resetFilterClick.emit();\r\n })\r\n\r\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n this._transactionFilterContainer.nativeElement.appendChild(domElem);\r\n this._componentRef.onDestroy(() => {\r\n this.appRef.detachView(this._componentRef.hostView);\r\n });\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { TransactionFilterComponent } from \"./transaction-filter.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n TransactionFilterComponent\r\n ],\r\n exports: [\r\n TransactionFilterComponent\r\n ]\r\n})\r\nexport class TransactionFilterModule {\r\n}\r\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { TransactionSearchService } from \"../service/transaction-search.service\";\r\n\r\n\r\n@Component({\r\n selector: \"co-transaction-filter-item\",\r\n template: `\r\n <co-filter-item [placeholder]=\"placeholder | localize\"\r\n [expanded]=\"true\"\r\n [singleSelect]=\"singleSelect\"\r\n [customContent]=\"customContent\"\r\n [collection]=\"collection\"\r\n [minSearchCharsToLoadCollection]=\"minSearchCharsToLoadCollection\"\r\n [collectionLoadFn]=\"collectionLoadFn\"\r\n [searchPlaceholder]=\"searchCollectionPlaceholder | localize\"\r\n [noResultsLabel]=\"noResultsLabel | localize\"\r\n [showMoreLabel]=\"showMoreLabel | localize\"\r\n [showLessLabel]=\"showLessLabel | localize\"\r\n [filterButtonLabel]=\"filterButtonLabel | localize\"\r\n (collectionChange)=\"collectionChange.emit($event)\"\r\n (filterButtonClicked)=\"onFilterButtonClicked()\"\r\n >\r\n <ng-content></ng-content>\r\n </co-filter-item>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionFilterItemComponent {\r\n\r\n @Input()\r\n public collection: any[] = [];\r\n\r\n @Input()\r\n public placeholder: string = '';\r\n\r\n @Input()\r\n public customContent: boolean = false;\r\n\r\n @Input()\r\n public singleSelect: boolean = false;\r\n\r\n @Input()\r\n public minSearchCharsToLoadCollection: number;\r\n\r\n @Input()\r\n public searchCollectionPlaceholder: string = \"SEARCH_IN_COLLECTION\";\r\n\r\n @Input()\r\n public collectionLoadFn: Function;\r\n\r\n @Output()\r\n public collectionChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(public searchService: TransactionSearchService){}\r\n\r\n public searchPlaceholder: string = \"SEARCH\";\r\n public noResultsLabel: string = \"NO_RESULTS\";\r\n public showMoreLabel: string = \"SHOW_MORE\";\r\n public showLessLabel: string = \"SHOW_LESS\"\r\n public filterButtonLabel: string = \"SEARCH_IMPERATIVE\";\r\n\r\n public onFilterButtonClicked(): void{\r\n this.searchService.searchTransactions();\r\n this._scrollToTop();\r\n }\r\n\r\n private _scrollToTop(): void {\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n }\r\n\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FilterItemModule } from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../../pipe/pipe.module\";\r\nimport { TransactionFilterItemComponent } from \"./transaction-filter-item.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FilterItemModule,\r\n PipeModule,\r\n ],\r\n declarations: [\r\n TransactionFilterItemComponent\r\n ],\r\n exports: [\r\n TransactionFilterItemComponent\r\n ]\r\n})\r\nexport class TransactionFilterItemModule {\r\n}\r\n","export class FilterItemViewmodel {\r\n\r\n public checked: boolean = false;\r\n public code: string | number;\r\n public description: string;\r\n public count: number;\r\n\r\n constructor(code: string | number, description: string | number, checked: boolean, count?: number,) {\r\n this.code = code;\r\n this.description = description?.toString();\r\n this.count = count;\r\n }\r\n}\r\n","import {FilterItemViewmodel} from './filter-item.viewmodel';\r\n\r\nexport class FilterViewmodel {\r\n public filterItems: FilterItemViewmodel[] = [];\r\n\r\n constructor(collection: any[], fields: {text, value} ) {\r\n collection.forEach((item: any) => {\r\n this.filterItems.push(new FilterItemViewmodel(item[fields.value], item[fields.text], item.checked ?? false, item.count ?? null, ));\r\n });\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { FilterItemViewmodel } from \"../../../model/filter-item.viewmodel\";\r\nimport { TransactionService } from \"../../../service/transaction.service\";\r\nimport { TransactionSearchService } from \"./transaction-search.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class FilterRequestService {\r\n\r\n constructor(\r\n public searchService: TransactionSearchService,\r\n private _transactionService: TransactionService,\r\n ) {\r\n }\r\n\r\n /**\r\n * @param collection collection of FilterItemViewmodels\r\n * @param modelName name of the model, has to match with a property of TransactionSearchViewRequest\r\n * @sets searchRequest in following format: modelName: \"?='20191',?='27053'\"\r\n */\r\n public handleCollectionChangeForRange(collection: FilterItemViewmodel[], modelName: string): void {\r\n this.searchService.searchRequest[modelName] = this._getFilterRequestForCollectionRange(collection);\r\n }\r\n\r\n /**\r\n * @param collection collection of FilterItemViewmodels\r\n * @param modelName name of the model, has to match with properties of TransactionSearchViewRequest\r\n * @sets searchRequest in following format: modelName: ['0', '1']\r\n */\r\n public handleCollectionChangeForArray(collection: FilterItemViewmodel[], modelName: string): void {\r\n this.searchService.searchRequest[modelName] = this._getFilterRequestForCollectionArray(collection);\r\n }\r\n\r\n /**\r\n * @param value value of selected item\r\n * @param modelName name of the model, has to match with properties of TransactionSearchViewRequest\r\n * @sets searchRequest in following format: modelName: 2\r\n */\r\n public handleCollectionChangeForSingleNumber(value: number, modelName: string): void {\r\n this.searchService.searchRequest[modelName] = value;\r\n }\r\n\r\n /**\r\n * @param collection collection of FilterItemViewmodels\r\n * @param modelName name of the model, has to match with properties of TransactionSearchViewRequest\r\n * @sets searchRequest in following format: modelName: 2\r\n */\r\n public handleCollectionChangeForSingleSelect(collection: FilterItemViewmodel[], modelName: string): void {\r\n this.searchService.searchRequest[modelName] = this._getFilterRequestForSingleSelect(collection);\r\n }\r\n\r\n /**\r\n * @param value value of (un)checked item\r\n * @param modelName name of the model, has to match with properties of TransactionSearchViewRequest\r\n * @sets searchRequest in following format: modelName: \"?='J'\"\r\n */\r\n public handleCheckboxValueChangeForString(value: boolean, modelName: string): void {\r\n this.searchService.searchRequest[modelName] = this._getFilterRequestForBooleanToString(value);\r\n }\r\n\r\n /**\r\n * @param value value of (un)checked item\r\n * @param modelName name of the model, has to match with properties of TransactionSearchViewRequest\r\n * @sets searchRequest in following format: modelName: 1\r\n */\r\n public handleCheckboxValueChangeForNumber(value: boolean, modelName: string): void {\r\n this.searchService.searchRequest[modelName] = value ? 1 : 0;\r\n }\r\n\r\n /**\r\n * @param dates an array with a startDate and an endDate\r\n * @param modelName name of the model, has to match with properties of TransactionSearchViewRequest\r\n * @sets searchRequest in following format: modelName: \"?>='01-08-2022'& ?<='31-08-2022'\"\r\n */\r\n public handleDateRangeChange(dates: Date[], modelName: string): void {\r\n if (dates) {\r\n let startDate = dates[0];\r\n let endDate = dates[1];\r\n\r\n this.searchService.searchRequest[modelName] = this._getFilterRequestForDateRange(startDate, endDate);\r\n }\r\n }\r\n\r\n /**\r\n * @param filterRequestRange a date range in string format\r\n * @param index the index of which date should be returned\r\n * @returns the requested date in Date format\r\n */\r\n public getDateFromFilterRequestRange(filterRequestRange: string, index: number): Date {\r\n if (filterRequestRange) {\r\n\r\n const datePattern = new RegExp('\\\\d{2}\\\\-\\\\d{2}\\\\-\\\\d{4}');\r\n let dateString = filterRequestRange\r\n .split(',')[index]\r\n .match(datePattern)[0];\r\n\r\n const day = Number(dateString.match('^\\\\d{2}')[0]);\r\n const month = Number(dateString.match('(?<=\\\\-)(\\\\d{2})(?=\\\\-)')[0]) - 1;\r\n const year = Number(dateString.match('\\\\d{4}')[0]);\r\n\r\n return new Date(year, month, day);\r\n }\r\n }\r\n\r\n /**\r\n * @param collection collection of FilterItemViewmodels\r\n * @returns filterRequest in following format: \"?='20191',?='27053'\"\r\n */\r\n private _getFilterRequestForCollectionRange(collection: FilterItemViewmodel[]): string {\r\n let filterRequest: string = '';\r\n\r\n collection?.forEach(item => {\r\n if (item.checked) {\r\n const formattedRequest = `?=\\'${item.code}\\'`;\r\n\r\n filterRequest += (filterRequest ? ',' : '') + `${formattedRequest}`;\r\n }\r\n });\r\n return filterRequest;\r\n }\r\n\r\n /**\r\n * @param value value of (un)checked item\r\n * @returns filterRequest in following format: \"?='J'\"\r\n */\r\n private _getFilterRequestForBooleanToString(value: boolean): string {\r\n let filterRequest: string = '';\r\n\r\n if (value) {\r\n filterRequest = \"?='J'\";\r\n } else {\r\n filterRequest = \"?='N'\";\r\n }\r\n\r\n return filterRequest;\r\n }\r\n\r\n /**\r\n * @param collection collection of FilterItemViewmodels\r\n * @returns filterRequest in following format: ['0', '1']\r\n */\r\n private _getFilterRequestForCollectionArray(collection: FilterItemViewmodel[]): string[] {\r\n let filterRequest: string[] = [];\r\n\r\n collection?.forEach(item => {\r\n if (item.checked) {\r\n filterRequest.push(item.code.toString());\r\n }\r\n })\r\n\r\n return filterRequest;\r\n }\r\n\r\n /**\r\n * @param collection collection of FilterItemViewmodels\r\n * @returns filterRequest in following format: 2\r\n */\r\n private _getFilterRequestForSingleSelect(collection: FilterItemViewmodel[]): string {\r\n let filterRequest: string = '';\r\n\r\n const selectedItem = collection?.find(item => item.checked);\r\n\r\n filterRequest = selectedItem?.code.toString();\r\n return filterRequest;\r\n\r\n}\r\n\r\n /**\r\n * @param startDate startDate of the date range\r\n * @param endDate endDate of the date range\r\n * @returns filterRequest in following format: \"?>='01-08-2022'& ?<='31-08-2022'\"\r\n */\r\n private _getFilterRequestForDateRange(startDate: Date, endDate: Date): string {\r\n const startDateRequest = startDate ? this._formatDateToString(startDate) : '';\r\n const endDateRequest = endDate ? this._formatDateToString(endDate) : '';\r\n\r\n const filterRequest = `?>=\\'${startDateRequest}\\'& ?<=\\'${endDateRequest}\\'`;\r\n return filterRequest;\r\n }\r\n\r\n\r\n /**\r\n * @param date date in Date format\r\n * @returns date in following string format: '01-08-2022'\r\n */\r\n private _formatDateToString(date: Date): string {\r\n let day = date.getDate().toString().padStart(2, '0');\r\n let month = (date.getMonth() + 1).toString().padStart(2, '0');\r\n let year = date.getFullYear();\r\n\r\n return `${day}-${month}-${year}`;\r\n }\r\n}\r\n","export enum SearchPlaceholder {\r\n ArticleNr = \"SEARCH_ARTICLE_NR\",\r\n BatchNumber = \"SEARCH_BATCH_NUMBER\",\r\n Branch = \"SEARCH_BRANCH\",\r\n CommissionCode = \"SEARCH_COMMISSION_CODE\",\r\n Confirmed = \"SEARCH_CONFIRMED\",\r\n CustomerGroup = \"SEARCH_CUSTOMER_GROUP\",\r\n CustomerName = \"SEARCH_CUSTOMER_NAME\",\r\n Delivered = \"SEARCH_DELIVERED\",\r\n DeliveryMethod = \"SEARCH_DELIVERY_METHOD\",\r\n ExceedenceCode = \"SEARCH_EXCEEDENCE_CODE\",\r\n Invoiced = \"SEARCH_INVOICED\",\r\n MainArticle = \"SEARCH_MAIN_ARTICLE\",\r\n OnHold = \"SEARCH_ONHOLD\",\r\n OwnReference = \"SEARCH_OWN_REFERENCE\",\r\n PurchaseNumber = \"SEARCH_PURCHASENUMBER\",\r\n PurchasePerson = \"SEARCH_PURCHASEPERSON\",\r\n SalesPerson = \"SEARCH_SALESPERSON\",\r\n SerialNumber = \"SEARCH_SERIAL_NUMBER\",\r\n SourceWarehouse = \"SEARCH_SOURCE_WAREHOUSE\",\r\n Supplier = \"SEARCH_SUPPLIER\",\r\n Tags = \"SEARCH_TAGS\",\r\n TurnoverGroup = \"SEARCH_TURNOVER_GROUP\",\r\n Warehouse = \"SEARCH_WAREHOUSE\",\r\n}\r\n","import { Directive, OnInit } from \"@angular/core\";\r\nimport { TransactionSearchViewRequest } from \"@colijnit/transactionapi/build/model/transaction-search-view-request\";\r\nimport { TransactionService } from \"../../../service/transaction.service\";\r\nimport { FilterRequestService } from \"../../transaction-search/service/filter-request.service\";\r\nimport { TransactionSearchService } from \"../../transaction-search/service/transaction-search.service\";\r\nimport { SearchPlaceholder } from \"../../transaction-search/transaction-filter-content/enum/search-placeholder.enum\";\r\n\r\n\r\n@Directive()\r\nexport abstract class TransactionFilterContentBaseComponent implements OnInit {\r\n public readonly searchPlaceholder: typeof SearchPlaceholder = SearchPlaceholder;\r\n\r\n public searchRequest: TransactionSearchViewRequest = this.searchService.searchRequest;\r\n\r\n public filterButtonLabel: string = \"SEARCH_IMPERATIVE\";\r\n\r\n protected constructor(\r\n public searchService: TransactionSearchService,\r\n public filterRequestService: FilterRequestService,\r\n public transactionService: TransactionService,\r\n ) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n }\r\n\r\n public onDateRangeChange(dates: Date[], modelName): void {\r\n this.filterRequestService.handleDateRangeChange(dates, modelName)\r\n this.filterTransactions();\r\n }\r\n\r\n public onClearedDateRangeChange(modelName: string): void {\r\n this.searchService.searchRequest[modelName] = undefined;\r\n this.filterTransactions();\r\n }\r\n\r\n public onFilterButtonClick(): void {\r\n this.filterTransactions();\r\n this._scrollToTop();\r\n }\r\n\r\n public filterTransactions(): void {\r\n this.searchService.searchTransactions();\r\n }\r\n\r\n private _scrollToTop(): void {\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n }\r\n}\r\n","import {Component, HostBinding} from \"@angular/core\";\r\nimport {ArticleExtendedRequest} from \"@colijnit/articleapi/build/model/article-extended-request\";\r\nimport {ArticleLight} from \"@colijnit/articleapi/build/model/article-light.bo\";\r\nimport {MainArticle} from \"@colijnit/articleapi/build/model/main-article.bo\";\r\nimport {TurnoverGroupImage} from \"@colijnit/articleapi/build/model/turnover-group-image.bo\";\r\nimport {FilterItemViewmodel} from \"../../../../../model/filter-item.viewmodel\";\r\nimport {FilterViewmodel} from \"../../../../../model/filter-viewmodel\";\r\nimport {TransactionService} from \"../../../../../service/transaction.service\";\r\nimport {TransactionFilterContentBaseComponent} from \"../../../../core/base/transaction-filter-content-base.component\";\r\nimport {FilterRequestService} from \"../../../service/filter-request.service\";\r\nimport {TransactionSearchService} from \"../../../service/transaction-search.service\";\r\nimport {CoDomainValue} from \"@colijnit/mainapi/build/model/co-domain-value.bo\";\r\nimport {RelationRequest} from \"@colijnit/relationapi/build/model/relation-request\";\r\nimport {RelationKind} from \"@colijnit/articleapi/build/enum/relation-kind.enum\";\r\nimport {RelationService} from \"../../../../../service/relation.service\";\r\n\r\n@Component({\r\n selector: 'co-transaction-purchase-order-filter-content-article',\r\n template: `\r\n <div class=\"transaction-filter-content-article-wrapper transaction-filter-content-wrapper\" lazyRenderMaster>\r\n\r\n <!--Artikelnummer-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderArticleNr=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderArticleNr.isShowing\"\r\n [placeholder]=\"'ARTICLE_NR'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.ArticleNr\"\r\n [singleSelect]=\"true\"\r\n [minSearchCharsToLoadCollection]=\"3\"\r\n [collectionLoadFn]=\"getArticles\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForSingleSelect($event, 'articleNr')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Omzetgroep-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderTurnoverGroup=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderTurnoverGroup.isShowing\"\r\n [placeholder]=\"'TURNOVER_GROUP'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.TurnoverGroup\"\r\n [collection]=\"turnoverGroups\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event, 'rangeTurnoverGroup')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Uitloopcode -->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderExceedanceCodes=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderExceedanceCodes.isShowing\"\r\n [placeholder]=\"'EXCEEDENCE_CODE'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.ExceedenceCode\"\r\n [collection]=\"exceedanceCodes\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'exceedanceCodes')\"\r\n >\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Serienummer -->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderSerialNumber=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderSerialNumber.isShowing\"\r\n [placeholder]=\"'SERIAL_NUMBER'\"\r\n [customContent]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.serialNumber\"\r\n [placeholder]=\"searchPlaceholder.SerialNumber | localize\"></co-input-text>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Batchnummer -->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderBatchNr=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderBatchNr.isShowing\"\r\n [placeholder]=\"'BATCH_NUMBER'\"\r\n [customContent]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.batchNumber\"\r\n [placeholder]=\"searchPlaceholder.BatchNumber | localize\"></co-input-text>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Leverancier-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderSupplier=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderSupplier.isShowing\"\r\n [placeholder]=\"'SUPPLIER'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.Supplier\"\r\n [collection]=\"suppliers\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event, 'rangeSupplier')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n </div>\r\n `\r\n})\r\nexport class TransactionPurchaseOrderFilterContentArticleComponent extends TransactionFilterContentBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-search-filter-content\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public exceedanceCodes: FilterItemViewmodel[];\r\n public exceedanceCodeFields: { text, value } = {text: \"description\", value: \"code\"};\r\n\r\n public turnoverGroups: FilterItemViewmodel[];\r\n public turnoverGroupFields: { text, value } = {text: \"description\", value: \"turnovergroupNr\"};\r\n\r\n public mainArticles: FilterItemViewmodel[];\r\n public mainArticleFields: { text, value } = {text: \"description\", value: \"articlenumber\"};\r\n\r\n public suppliers: FilterItemViewmodel[];\r\n public supplierFields: { text, value } = {text: \"displayName\", value: \"relationId\"};\r\n\r\n constructor(\r\n public searchService: TransactionSearchService,\r\n public filterRequestService: FilterRequestService,\r\n public transactionService: TransactionService,\r\n private _relationService: RelationService\r\n ) {\r\n super(searchService, filterRequestService, transactionService)\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._setExceedanceCodes();\r\n this._setSuppliers();\r\n this._setTurnoverGroups();\r\n this._setMainArticles();\r\n }\r\n\r\n public getArticles = (text: string) => {\r\n const request: ArticleExtendedRequest = new ArticleExtendedRequest();\r\n request.articleNumber = text;\r\n return this.transactionService.getArticles(request).then((articles: ArticleLight[]) => {\r\n return new FilterViewmodel(articles, {text: 'articleNumber', value: 'articleNumber'}).filterItems;\r\n });\r\n }\r\n\r\n private _setExceedanceCodes(): void {\r\n this.transactionService.getInOutCollection(\"NL\").then((exceedanceCodes: CoDomainValue[]) => {\r\n this.exceedanceCodes = new FilterViewmodel(exceedanceCodes, this.exceedanceCodeFields).filterItems;\r\n });\r\n }\r\n\r\n private _setTurnoverGroups(): void {\r\n this.transactionService.getTurnoverGroups().then((turnoverGroups: TurnoverGroupImage[]) => {\r\n this.turnoverGroups = new FilterViewmodel(turnoverGroups, this.turnoverGroupFields).filterItems;\r\n });\r\n }\r\n\r\n private _setMainArticles(): void {\r\n this.transactionService.getMainArticles().then((articles: MainArticle[]) => {\r\n this.mainArticles = new FilterViewmodel(articles, this.mainArticleFields).filterItems;\r\n });\r\n }\r\n\r\n private _setSuppliers(): void {\r\n const request: RelationRequest = new RelationRequest();\r\n request.relationType = RelationKind.Supplier;\r\n this._relationService.getRelationListObjects(request).then((relationListObjects) => {\r\n this.suppliers = new FilterViewmodel(relationListObjects, this.supplierFields).filterItems;\r\n })\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { ButtonModule, FilterItemModule, InputTextModule } from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../../../../pipe/pipe.module\";\r\nimport { CoreModule } from \"../../../../core/core.module\";\r\nimport { TransactionFilterItemModule } from \"../../../transaction-filter-item/transaction-filter-item.module\";\r\nimport {TransactionPurchaseOrderFilterContentArticleComponent} from \"./transaction-purchase-order-filter-content-article.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FilterItemModule,\r\n PipeModule,\r\n InputTextModule,\r\n ButtonModule,\r\n CoreModule,\r\n TransactionFilterItemModule\r\n ],\r\n declarations: [\r\n TransactionPurchaseOrderFilterContentArticleComponent\r\n ],\r\n exports: [\r\n TransactionPurchaseOrderFilterContentArticleComponent\r\n ]\r\n})\r\nexport class TransactionPurchaseOrderFilterContentArticleModule {\r\n}\r\n","import { Component, HostBinding } from \"@angular/core\";\r\nimport { DeliveryMethod } from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\nimport { Warehouse } from \"@colijnit/transactionapi/build/model/warehouse.bo\";\r\nimport { FilterItemViewmodel } from \"../../../../../model/filter-item.viewmodel\";\r\nimport { FilterViewmodel } from \"../../../../../model/filter-viewmodel\";\r\nimport { TransactionService } from \"../../../../../service/transaction.service\";\r\nimport { TransactionFilterContentBaseComponent } from \"../../../../core/base/transaction-filter-content-base.component\";\r\nimport { FilterRequestService } from \"../../../service/filter-request.service\";\r\nimport { TransactionSearchService } from \"../../../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: 'co-transaction-purchase-order-filter-content-logistics',\r\n template: `\r\n <div class=\"transaction-filter-content-logistics-wrapper transaction-filter-content-wrapper\" lazyRenderMaster>\r\n\r\n <!--Bevestigde leverdatum-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderConfirmedDeliveryDate=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderConfirmedDeliveryDate.isShowing\"\r\n [placeholder]=\"'CONFIRMED_DELIVERY_DATE'\"\r\n [customContent]=\"true\">\r\n <co-input-date-range\r\n [startDate]=\"confirmedDeliveryStartDate\"\r\n [endDate]=\"confirmedDeliveryEndDate\"\r\n (dateRangeChange)=\"onDateRangeChange($event, 'confirmedDeliveryDateRange')\"\r\n (cleared)=\"onClearedDateRangeChange('confirmedDeliveryDateRange')\"\r\n [placeholder]=\"'SELECT_DATE' | localize\">\r\n </co-input-date-range>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Serienummer-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderSerialNumber=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderSerialNumber.isShowing\"\r\n [placeholder]=\"'SERIAL_NUMBER'\"\r\n [customContent]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.serialNumber\"\r\n [placeholder]=\"searchPlaceholder.SerialNumber | localize\"></co-input-text>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Batchnummer-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderBatchNumber=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderBatchNumber.isShowing\"\r\n [placeholder]=\"'BATCH_NUMBER'\"\r\n [customContent]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.batchNumber\"\r\n [placeholder]=\"searchPlaceholder.BatchNumber | localize\"></co-input-text>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Geleverd-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderDelivered=\"lazyRender\">\r\n <co-transaction-filter-historic-state *ngIf=\"lazyRenderDelivered.isShowing\"\r\n [label]=\"'DELIVERED'\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'quantityDelivered')\"\r\n ></co-transaction-filter-historic-state>\r\n </div>\r\n\r\n <!--Gefactureerd-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderInvoiced=\"lazyRender\">\r\n <co-transaction-filter-historic-state *ngIf=\"lazyRenderInvoiced.isShowing\"\r\n [label]=\"'INVOICED'\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'quantityInvoiced')\"\r\n ></co-transaction-filter-historic-state>\r\n </div>\r\n\r\n <!--Binnengemeld / Geleverd -->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderReceived=\"lazyRender\">\r\n <co-transaction-filter-historic-state *ngIf=\"lazyRenderReceived.isShowing\"\r\n [label]=\"'RECEIVED_DELIVERED'\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'quantityReceived')\"\r\n ></co-transaction-filter-historic-state>\r\n </div>\r\n\r\n <!--Bevestigd-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderConfirmed=\"lazyRender\">\r\n <co-transaction-filter-historic-state *ngIf=\"lazyRenderConfirmed.isShowing\"\r\n [label]=\"'CONFIRMED'\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'quantityConfirmed')\"\r\n ></co-transaction-filter-historic-state>\r\n </div>\r\n\r\n <!--Aankomstdatum-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderArrivalDate=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderArrivalDate.isShowing\"\r\n [placeholder]=\"'ARRIVAL_DATE'\"\r\n [customContent]=\"true\">\r\n <co-input-date-range\r\n [startDate]=\"arrivalStartDate\"\r\n [endDate]=\"arrivalEndDate\"\r\n (dateRangeChange)=\"onDateRangeChange($event, 'arrivalDateRange')\"\r\n (cleared)=\"onClearedDateRangeChange('arrivalDateRange')\"\r\n [placeholder]=\"'SELECT_DATE' | localize\">\r\n </co-input-date-range>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Toegewezen-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderAllocated=\"lazyRender\">\r\n <co-transaction-filter-historic-state *ngIf=\"lazyRenderAllocated.isShowing\"\r\n [label]=\"'ALLOCATED'\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'quantityAllocated')\"\r\n ></co-transaction-filter-historic-state>\r\n </div>\r\n\r\n <!--Te picken-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderToBePicked=\"lazyRender\">\r\n <co-transaction-filter-historic-state *ngIf=\"lazyRenderToBePicked.isShowing\"\r\n [label]=\"'TO_BE_PICKED'\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'quantityToBePicked')\"\r\n ></co-transaction-filter-historic-state>\r\n </div>\r\n\r\n <!--Gepicked-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderPicked=\"lazyRender\">\r\n <co-transaction-filter-historic-state *ngIf=\"lazyRenderPicked.isShowing\"\r\n [label]=\"'PICKED'\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'quantityPicked')\"\r\n ></co-transaction-filter-historic-state>\r\n </div>\r\n\r\n <!--Deellevering-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderPartialDelivery=\"lazyRender\">\r\n <co-filter-item *ngIf=\"lazyRenderPartialDelivery.isShowing\"\r\n [placeholder]=\"'PART_DELIVERY' | localize\"\r\n [customContent]=\"true\"\r\n [filterButtonLabel]=\"filterButtonLabel | localize\"\r\n [expanded]=\"true\">\r\n <co-input-checkbox\r\n [model]=\"searchRequest.partialDelivery === 'J'\"\r\n (modelChange)=\"filterRequestService.handleCheckboxValueChangeForString($event, 'partialDelivery')\"\r\n [label]=\"'PART_DELIVERY' | localize\">\r\n </co-input-checkbox>\r\n </co-filter-item>\r\n </div>\r\n\r\n <!--Magazijn-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderWarehouse=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderWarehouse.isShowing\"\r\n [placeholder]=\"'WAREHOUSE'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.Warehouse\"\r\n [singleSelect]=\"true\"\r\n [collection]=\"warehouses\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForSingleSelect($event, 'warehouse')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Bron magazijn-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderSourceWarehouse=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderSourceWarehouse.isShowing\"\r\n [placeholder]=\"'SOURCE_WAREHOUSE'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.SourceWarehouse\"\r\n [singleSelect]=\"true\"\r\n [collection]=\"sourceWarehouses\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForSingleSelect($event, 'sourceWarehouse')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Levermethode-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderDeliveryMethod=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderDeliveryMethod.isShowing\"\r\n [placeholder]=\"'DELIVERY_METHOD'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.DeliveryMethod\"\r\n [collection]=\"deliveryMethods\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event, 'rangeDeliveryMethod')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Leverdatum definitief-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderDeliveryDateDefinitive=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderDeliveryDateDefinitive.isShowing\"\r\n [placeholder]=\"'DELIVERY_DATE_FINAL'\"\r\n [customContent]=\"true\">\r\n <co-input-checkbox\r\n [model]=\"searchRequest.deliveryDateDefinitive === 'J'\"\r\n (modelChange)=\"filterRequestService.handleCheckboxValueChangeForString($event, 'deliveryDateDefinitive')\"\r\n [label]=\"'DELIVERY_DATE_FINAL' | localize\"></co-input-checkbox>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Uitvoerbaar: todo: vraag staat uit wat hiermee bedoeld wordt. Daarna hier aanvullen -->\r\n </div>\r\n `\r\n})\r\nexport class TransactionPurchaseOrderFilterContentLogisticsComponent extends TransactionFilterContentBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-search-filter-content\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public deliveryMethods = [];\r\n public deliveryMethodFields: { text, value } = {text: \"description\", value: \"code\"};\r\n\r\n public warehouses: FilterItemViewmodel[];\r\n public warehouseFields: { text, value } = {text: \"description\", value: \"warehouseNo\"};\r\n\r\n public sourceWarehouses: FilterItemViewmodel[];\r\n public sourceWarehouseFields: { text, value } = {text: \"description\", value: \"warehouseNo\"};\r\n\r\n public confirmedDeliveryStartDate: Date;\r\n public confirmedDeliveryEndDate: Date;\r\n\r\n public arrivalStartDate: Date;\r\n public arrivalEndDate: Date;\r\n\r\n constructor(\r\n public searchService: TransactionSearchService,\r\n public filterRequestService: FilterRequestService,\r\n public transactionService: TransactionService,\r\n ) {\r\n super(searchService, filterRequestService, transactionService)\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._setRangeDates();\r\n this._setDeliveryMethods();\r\n this._setWarehouses();\r\n this._setSourceWarehouses();\r\n }\r\n\r\n private _setRangeDates(): void {\r\n this.confirmedDeliveryStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.confirmedDeliveryDateRange, 0);\r\n this.confirmedDeliveryEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.confirmedDeliveryDateRange, 1);\r\n this.arrivalStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.arrivalDateRange, 0);\r\n this.arrivalEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.arrivalDateRange, 1);\r\n }\r\n\r\n //Delivery Methods\r\n private _setDeliveryMethods(): void {\r\n this.transactionService.getDeliveryMethods().then((deliveryMethods: DeliveryMethod[]) => {\r\n this.deliveryMethods = new FilterViewmodel(deliveryMethods, this.deliveryMethodFields).filterItems;\r\n });\r\n }\r\n\r\n //Warehouses\r\n private _setWarehouses(): void {\r\n this.transactionService.getWarehouses().then((warehouses: Warehouse[]) => {\r\n this.warehouses = new FilterViewmodel(warehouses, this.warehouseFields).filterItems;\r\n });\r\n }\r\n\r\n //Source Warehouses\r\n private _setSourceWarehouses(): void {\r\n this.transactionService.getWarehouses().then((warehouses: Warehouse[]) => {\r\n this.sourceWarehouses = new FilterViewmodel(warehouses, this.sourceWarehouseFields).filterItems;\r\n });\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {QuantityInHistoricState} from \"@colijnit/transactionapi/build/enum/quantity-in-historic-state.enum\";\r\nimport { DictionaryService } from \"../../../service/dictionary.service\";\r\n\r\nexport interface HistoricStates {\r\n description: string;\r\n code: QuantityInHistoricState;\r\n checked: boolean;\r\n}\r\n\r\n@Component({\r\n selector: \"co-transaction-filter-historic-state\",\r\n template: `\r\n <co-transaction-filter-item\r\n [placeholder]=\"label\"\r\n [collection]=\"states\"\r\n (collectionChange)=\"collectionChange.emit($event)\">\r\n </co-transaction-filter-item>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionFilterHistoricStateComponent {\r\n\r\n @Input()\r\n public set label(value: string) {\r\n this._label = value;\r\n this.groupName = this._label.toLowerCase() + \"_group\";\r\n this.labelNothing = \"NOTHING_\" + this._label.toUpperCase();\r\n this.labelPartly = \"PARTLY_\" + this._label.toUpperCase();\r\n this.labelFully = \"FULLY_\" + this._label.toUpperCase();\r\n this._setStates();\r\n }\r\n\r\n public get label(): string {\r\n return this._label;\r\n }\r\n\r\n @Input()\r\n public expanded: boolean = true;\r\n\r\n @Output()\r\n public collectionChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @HostBinding(\"class.co-transaction-filter-historic-state\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _label: string;\r\n\r\n public groupName: string;\r\n public labelNothing: string;\r\n public labelPartly: string;\r\n public labelFully: string;\r\n\r\n public states: HistoricStates[] = [];\r\n\r\n constructor (\r\n private _dictionary: DictionaryService\r\n ){\r\n }\r\n\r\n private _setStates(): void {\r\n this.states = [\r\n {description: this._dictionary.get(this.labelNothing), code: QuantityInHistoricState.Nothing, checked: false},\r\n {description: this._dictionary.get(this.labelPartly), code: QuantityInHistoricState.Partly, checked: false},\r\n {description: this._dictionary.get(this.labelFully), code: QuantityInHistoricState.Fully, checked: false}\r\n ];\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { TransactionFilterItemModule } from \"../transaction-filter-item/transaction-filter-item.module\";\r\nimport {TransactionFilterHistoricStateComponent} from \"./transaction-filter-historic-state.component\";\r\nimport {FilterItemModule, InputRadioButtonModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FilterItemModule,\r\n PipeModule,\r\n InputRadioButtonModule,\r\n TransactionFilterItemModule\r\n ],\r\n declarations: [\r\n TransactionFilterHistoricStateComponent\r\n ],\r\n exports: [\r\n TransactionFilterHistoricStateComponent\r\n ]\r\n})\r\nexport class TransactionFilterHistoricStateModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ButtonModule, FilterItemModule, InputCheckboxModule, InputDatePickerModule, InputDateRangePickerModule, InputRadioButtonModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../../../pipe/pipe.module\";\r\nimport { CoreModule } from \"../../../../core/core.module\";\r\nimport { TransactionFilterItemModule } from \"../../../transaction-filter-item/transaction-filter-item.module\";\r\nimport {TransactionPurchaseOrderFilterContentLogisticsComponent} from \"./transaction-purchase-order-filter-content-logistics.component\";\r\nimport {TransactionFilterHistoricStateModule} from \"../../../transaction-filter-historic-state/transaction-filter-historic-state.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FilterItemModule,\r\n InputDateRangePickerModule,\r\n InputTextModule,\r\n PipeModule,\r\n InputDatePickerModule,\r\n ButtonModule,\r\n InputCheckboxModule,\r\n InputRadioButtonModule,\r\n TransactionFilterHistoricStateModule,\r\n CoreModule,\r\n TransactionFilterItemModule\r\n ],\r\n declarations: [\r\n TransactionPurchaseOrderFilterContentLogisticsComponent\r\n ],\r\n exports: [\r\n TransactionPurchaseOrderFilterContentLogisticsComponent\r\n ]\r\n})\r\nexport class TransactionPurchaseOrderFilterContentLogisticsModule {\r\n}\r\n","import {Component, HostBinding} from \"@angular/core\";\r\nimport {OnHoldCode} from \"@colijnit/transactionapi/build/model/on-hold-code.bo\";\r\nimport {FilterItemViewmodel} from \"../../../../../model/filter-item.viewmodel\";\r\nimport {FilterViewmodel} from \"../../../../../model/filter-viewmodel\";\r\nimport {TransactionService} from \"../../../../../service/transaction.service\";\r\nimport {TransactionFilterContentBaseComponent} from \"../../../../core/base/transaction-filter-content-base.component\";\r\nimport {FilterRequestService} from \"../../../service/filter-request.service\";\r\nimport {TransactionSearchService} from \"../../../service/transaction-search.service\";\r\nimport {SalesPerson} from \"@colijnit/relationapi/build/model/sales-person.bo\";\r\nimport {Tag} from \"@colijnit/mainapi/build/model/tag\";\r\nimport {CoDomainValue} from \"@colijnit/mainapi/build/model/co-domain-value.bo\";\r\nimport {RelationService} from \"../../../../../service/relation.service\";\r\nimport { RelationRequest } from \"@colijnit/relationapi/build/model/relation-request\";\r\nimport {RelationKind} from \"@colijnit/relationapi/build/enum/relation-kind.enum\";\r\nimport {RelationListObject} from \"@colijnit/relationapi/build/model/relation-list-object.bo\";\r\n\r\n@Component({\r\n selector: 'co-transaction-purchase-order-filter-content-order',\r\n template: `\r\n <div class=\"transaction-filter-content-order-wrapper transaction-filter-content-wrapper\" lazyRenderMaster>\r\n\r\n <!--Inkoopnummer-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderTransNr=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderTransNr.isShowing\"\r\n [placeholder]=\"'PURCHASENUMBER'\"\r\n [customContent]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.transNr\"\r\n [placeholder]=\"searchPlaceholder.PurchaseNumber | localize\"></co-input-text>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Orderdatum-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderTransDate=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderTransDate.isShowing\"\r\n [placeholder]=\"'ORDER_DATE'\"\r\n [customContent]=\"true\">\r\n <co-input-date-range\r\n [startDate]=\"transStartDate\"\r\n [endDate]=\"transEndDate\"\r\n (dateRangeChange)=\"onDateRangeChange($event, 'rangeTransDate')\"\r\n (cleared)=\"onClearedDateRangeChange('rangeTransDate')\"\r\n [placeholder]=\"'SELECT_DATE' | localize\">\r\n </co-input-date-range>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Leverdatum-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderDeliveryDate=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderDeliveryDate.isShowing\"\r\n [placeholder]=\"'DELIVERY_DATE'\"\r\n [customContent]=\"true\">\r\n <co-input-date-range\r\n [startDate]=\"deliveryStartDate\"\r\n [endDate]=\"deliveryEndDate\"\r\n (dateRangeChange)=\"onDateRangeChange($event, 'deliveryDateRange')\"\r\n (cleared)=\"onClearedDateRangeChange('deliveryDateRange')\"\r\n [placeholder]=\"'SELECT_DATE' | localize\">\r\n </co-input-date-range>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Filiaal-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderBranch=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderBranch.isShowing\"\r\n [placeholder]=\"'BRANCH'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.Branch\"\r\n [collection]=\"branches\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event, 'rangeBranchId')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Inkoper-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderSalesPerson=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderSalesPerson.isShowing\"\r\n [placeholder]=\"'PURCHASE_PERSON'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.PurchasePerson\"\r\n [collection]=\"purchasePersons\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event, 'rangeSalesPerson')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Eigen referentie-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderUserReference=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderUserReference.isShowing\"\r\n [placeholder]=\"'OWN_REFERENCE'\"\r\n [customContent]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.userReference\"\r\n [placeholder]=\"searchPlaceholder.OwnReference | localize\"></co-input-text>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Tags-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderTags=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderTags.isShowing\"\r\n [placeholder]=\"'TAGS'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.Tags\"\r\n [collection]=\"tags\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event, 'tagRange')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--On hold codes-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderOnHold=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderOnHold.isShowing\"\r\n [placeholder]=\"'ON_HOLD'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.OnHold\"\r\n [collection]=\"onHoldCodes\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event,'rangeOnHoldCodes')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Commissiecode-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderCommissionCode=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderCommissionCode.isShowing\"\r\n [placeholder]=\"'COMMISSION_CODE'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.CommissionCode\"\r\n [collection]=\"commissionCodes\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'commissionCodes')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Meer filters -->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderMore=\"lazyRender\">\r\n <co-filter-item *ngIf=\"lazyRenderMore.isShowing\"\r\n [placeholder]=\"'MORE_FILTERS' | localize\"\r\n [customContent]=\"true\"\r\n [filterButtonLabel]=\"filterButtonLabel | localize\"\r\n (filterButtonClicked)=\"onFilterButtonClick()\"\r\n [expanded]=\"false\">\r\n\r\n <!--Order definitief-->\r\n <co-input-checkbox\r\n [model]=\"searchRequest.transactionDefinitive === 'J'\"\r\n (modelChange)=\"filterRequestService.handleCheckboxValueChangeForString($event, 'transactionDefinitive')\"\r\n [label]=\"'ORDER_DEFINITIVE' | localize\"></co-input-checkbox>\r\n\r\n <!--Inactieve transacties-->\r\n <co-input-checkbox\r\n [model]=\"searchRequest.active === false\"\r\n (modelChange)=\"searchRequest.active = !$event\"\r\n [label]=\"'INACTIVE_TRANSACTIONS' | localize\"\r\n ></co-input-checkbox>\r\n\r\n <!--Inclusief retouren -->\r\n <co-input-checkbox\r\n [label]=\"'INCLUDING_RETURNS' | localize\"\r\n [model]=\"searchRequest.includingReturns === 1\"\r\n (modelChange)=\"filterRequestService.handleCheckboxValueChangeForNumber($event, 'includingReturns')\"\r\n >\r\n </co-input-checkbox>\r\n\r\n <!--Levermethode op (regel/header): nog niet in API -->\r\n </co-filter-item>\r\n </div>\r\n </div>\r\n `\r\n})\r\nexport class TransactionPurchaseOrderFilterContentOrderComponent extends TransactionFilterContentBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-search-filter-content\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public purchasePersons: FilterItemViewmodel[];\r\n public purchasePersonsFields: { text, value } = {text: \"name\", value: \"relationId\"};\r\n\r\n public tags: FilterItemViewmodel[];\r\n public tagsFields: { text, value } = {text: \"description\", value: \"tagValueId\"};\r\n\r\n public branches: FilterItemViewmodel[];\r\n public branchFields: { text, value } = {text: \"familyName\", value: \"relationId\"};\r\n\r\n public onHoldCodes: FilterItemViewmodel[];\r\n public onHoldCodeFields: { text, value } = {text: \"description\", value: \"onHoldCode\"};\r\n\r\n public commissionCodes: FilterItemViewmodel[];\r\n public commissionCodeFields: { text, value } = {text: \"description\", value: \"code\"};\r\n\r\n public transStartDate: Date;\r\n public transEndDate: Date;\r\n public deliveryStartDate: Date;\r\n public deliveryEndDate: Date;\r\n\r\n constructor(\r\n public searchService: TransactionSearchService,\r\n public filterRequestService: FilterRequestService,\r\n public transactionService: TransactionService,\r\n public relationService: RelationService\r\n ) {\r\n super(searchService, filterRequestService, transactionService)\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._setRangeDates();\r\n this._setPurchasePersons();\r\n this._setTags();\r\n this._setBranches();\r\n this._setOnHoldCodes();\r\n this._setCommissionCodes();\r\n }\r\n\r\n private _setRangeDates(): void {\r\n this.transStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.rangeTransDate, 0);\r\n this.transEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.rangeTransDate, 1);\r\n this.deliveryStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.deliveryDateRange, 0);\r\n this.deliveryEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.deliveryDateRange, 1);\r\n }\r\n\r\n //Inkoper\r\n private _setPurchasePersons(): void {\r\n this.transactionService.getSalesPersons().then((persons: SalesPerson[]) => {\r\n this.purchasePersons = new FilterViewmodel(persons, this.purchasePersonsFields).filterItems;\r\n });\r\n }\r\n\r\n // Tags\r\n private _setTags(): void {\r\n this.transactionService.getTags(1).then((tags: Tag[]) => {\r\n this.tags = new FilterViewmodel(tags, this.tagsFields).filterItems;\r\n });\r\n }\r\n\r\n //Branches\r\n private _setBranches(): void {\r\n const request: RelationRequest = new RelationRequest();\r\n request.relationType = RelationKind.Branch;\r\n this.relationService.getRelationListObjects(request).then((branches: RelationListObject[]) => {\r\n this.branches = new FilterViewmodel(branches, this.branchFields).filterItems;\r\n });\r\n }\r\n\r\n //OnHoldCodes\r\n private _setOnHoldCodes(): void {\r\n this.transactionService.getOnHoldCodes().then((onHoldCodes: OnHoldCode[]) => {\r\n this.onHoldCodes = new FilterViewmodel(onHoldCodes, this.onHoldCodeFields).filterItems;\r\n });\r\n }\r\n\r\n //CommissionCodes\r\n private _setCommissionCodes(): void {\r\n this.transactionService.getCommissionCodes(\"NL\").then((commissionCodes: CoDomainValue[]) => {\r\n this.commissionCodes = new FilterViewmodel(commissionCodes, this.commissionCodeFields).filterItems;\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {\r\n InputDatePickerModule,\r\n InputListboxModule,\r\n InputTextModule,\r\n MultiSelectListModule,\r\n FilterItemModule, InputDateRangePickerModule, ButtonModule, InputCheckboxModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../../../../pipe/pipe.module\";\r\nimport { CoreModule } from \"../../../../core/core.module\";\r\nimport { TransactionFilterItemModule } from \"../../../transaction-filter-item/transaction-filter-item.module\";\r\nimport {TransactionPurchaseOrderFilterContentOrderComponent} from \"./transaction-purchase-order-filter-content-order.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputDatePickerModule,\r\n PipeModule,\r\n MultiSelectListModule,\r\n InputTextModule,\r\n InputListboxModule,\r\n FilterItemModule,\r\n InputDateRangePickerModule,\r\n ButtonModule,\r\n InputCheckboxModule,\r\n CoreModule,\r\n TransactionFilterItemModule\r\n ],\r\n declarations: [\r\n TransactionPurchaseOrderFilterContentOrderComponent\r\n ],\r\n exports: [\r\n TransactionPurchaseOrderFilterContentOrderComponent\r\n ]\r\n})\r\nexport class TransactionPurchaseOrderFilterContentOrderModule {\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { ButtonModule, IconModule, InputDatePickerModule, InputTextModule } from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../../../pipe/pipe.module\";\r\nimport {\r\n TransactionFilterCategoriesModule\r\n} from \"../../transaction-filter-categories/transaction-filter-categories.module\";\r\nimport {\r\n TransactionPurchaseOrderFilterContentArticleModule\r\n} from \"../../transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module\";\r\nimport {\r\n TransactionPurchaseOrderFilterContentLogisticsModule\r\n} from \"../../transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module\";\r\nimport {\r\n TransactionPurchaseOrderFilterContentOrderModule\r\n} from \"../../transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module\";\r\nimport { TransactionPurchaseOrderFilterComponent } from \"./transaction-purchase-order-filter.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ButtonModule,\r\n IconModule,\r\n TransactionFilterCategoriesModule,\r\n InputTextModule,\r\n PipeModule,\r\n InputDatePickerModule,\r\n TransactionPurchaseOrderFilterContentOrderModule,\r\n TransactionPurchaseOrderFilterContentLogisticsModule,\r\n TransactionPurchaseOrderFilterContentArticleModule,\r\n ],\r\n declarations: [\r\n TransactionPurchaseOrderFilterComponent\r\n ],\r\n exports: [\r\n TransactionPurchaseOrderFilterComponent\r\n ]\r\n})\r\nexport class TransactionPurchaseOrderFilterModule {\r\n}\r\n","import { Component, HostBinding, Input, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { StatusbarData } from \"@colijnit/sharedcomponents\";\r\nimport { TransactionKind } from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport { TransactionSearchView } from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\nimport { DictionaryService } from \"../../../../service/dictionary.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-statusbar\",\r\n template: `\r\n <co-statusbar [statusbarData]=\"statusbarData\"></co-statusbar>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionStatusbarComponent implements OnInit {\r\n @Input()\r\n public set transaction(value: TransactionSearchView) {\r\n this._transaction = value;\r\n this._total = value.quantityTotal;\r\n }\r\n\r\n public get transaction(): TransactionSearchView {\r\n return this._transaction;\r\n }\r\n\r\n @Input()\r\n public transactionKind: TransactionKind;\r\n\r\n @HostBinding(\"class.co-transaction-statusbar\")\r\n public showClass: boolean = true;\r\n\r\n constructor(protected _dictionary: DictionaryService) {\r\n }\r\n\r\n private _transaction: TransactionSearchView;\r\n private _total: number;\r\n public statusbarData: StatusbarData[];\r\n\r\n public ngOnInit(): void {\r\n this.setStatusbarData();\r\n }\r\n\r\n public setStatusbarData(){\r\n if (this.transactionKind === TransactionKind.PurchaseOrder){\r\n this.setStatusbarDataForPurchaseOrder();\r\n } else {\r\n this.setStatusbardataForSalesOrder();\r\n }\r\n }\r\n\r\n public setStatusbardataForSalesOrder(){\r\n const transaction = this._transaction;\r\n\r\n this.statusbarData = [\r\n this.getStatusbarLine(\"TO_ORDER\", transaction.quantityTotal), //Te bestellen\r\n this.getStatusbarLine(\"ALLOCATED\", transaction.quantityAllocatedFromStock), //Toegewezen\r\n this.getStatusbarLine(\"PLANNING_REQUESTED\", transaction.quantityPlanningRequested), //Voorkeur aangevraagd\r\n this.getStatusbarLine(\"PLANNING_PREFERRED_DATE_ENTERED\", transaction.quantityPlanningPreferredDateEntered), //Voorkeur bekend\r\n this.getStatusbarLine(\"TO_BE_PICKED\", transaction.quantityToBePicked), //Te picken\r\n this.getStatusbarLine(\"PICKED\", transaction.quantityPicked), //Gepickt\r\n this.getStatusbarLine(\"PLANNED\", transaction.quantityPlanningFinal), //Gepland\r\n this.getStatusbarLine(\"DELIVERED\", transaction.quantityDelivered), //Geleverd\r\n this.getStatusbarLine(\"INVOICED\", transaction.quantityInvoiced), //Gefactureerd\r\n ];\r\n }\r\n\r\n public setStatusbarDataForPurchaseOrder(){\r\n const transaction = this._transaction;\r\n\r\n this.statusbarData = [\r\n this.getStatusbarLine(\"IN_ORDER\",transaction.quantityTotal), //In bestelling\r\n this.getStatusbarLine(\"CONFIRMED\", transaction.quantityPurchaseConfirmed), //bevestigd\r\n this.getStatusbarLine(\"TRANSPORT_NOTIFICATION\", transaction.quantityTransportNotification), //Transport notificatie\r\n //this.getStatusbarLine(),// Vooraangemeld todo: als BE gereed is\r\n this.getStatusbarLine(\"ITEM_ACCEPTED\", transaction.quantityItemAccepted),// Binnengemeld\r\n //this.getStatusbarLine(),// Factuurcheck todo: als BE gereed is\r\n ];\r\n }\r\n\r\n public getStatusbarLine(label, quantity): StatusbarData {\r\n return { label: this._dictionary.get(label), percentage: this.calculatePercentage(quantity, this._total)};\r\n }\r\n\r\n public calculatePercentage(amount: number, totalAmount: number): number {\r\n if (amount === 0 || totalAmount === 0){\r\n return 0;\r\n }\r\n return Math.floor((amount / totalAmount) * 100);\r\n }\r\n}\r\n\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { StatusbarModule } from \"@colijnit/sharedcomponents\";\r\nimport {TransactionStatusbarComponent} from \"./transaction-statusbar.component\";\r\nimport {CoreModule } from \"../../../core/core.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n StatusbarModule\r\n ],\r\n declarations: [\r\n TransactionStatusbarComponent\r\n ],\r\n exports: [\r\n TransactionStatusbarComponent\r\n ]\r\n})\r\nexport class TransactionStatusbarModule {\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { InputCheckboxModule, PaginationModule, SimpleGridModule } from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../../../pipe/pipe.module\";\r\nimport { TransactionSearchPurchaseOrderGridComponent } from \"./transaction-search-purchase-order-grid.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SimpleGridModule,\r\n PipeModule,\r\n InputCheckboxModule,\r\n PaginationModule\r\n ],\r\n declarations: [\r\n TransactionSearchPurchaseOrderGridComponent\r\n ],\r\n exports: [\r\n TransactionSearchPurchaseOrderGridComponent\r\n ]\r\n})\r\nexport class TransactionSearchPurchaseOrderGridModule {\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { InputCheckboxModule, PaginationModule, SimpleGridModule } from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../../../pipe/pipe.module\";\r\nimport { CoreModule } from \"../../../core/core.module\";\r\nimport { TransactionSearchSalesOrderGridComponent } from \"./transaction-search-sales-order-grid.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n PipeModule,\r\n SimpleGridModule,\r\n InputCheckboxModule,\r\n PaginationModule\r\n ],\r\n declarations: [\r\n TransactionSearchSalesOrderGridComponent\r\n ],\r\n exports: [\r\n TransactionSearchSalesOrderGridComponent\r\n ]\r\n})\r\nexport class TransactionSearchSalesOrderGridModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ContentViewMode} from \"../../../enum/content-view-mode.enum\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {SearchViewMode} from \"../../../enum/search-view-mode.enum\";\r\nimport {DictionaryService} from \"../../../service/dictionary.service\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {TransactionSearchService} from \"../service/transaction-search.service\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {TransactionEventService} from \"../../../service/transaction-event.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-search-header\",\r\n template: `\r\n <div class=\"transaction-search-header-wrapper\">\r\n <div class=\"upper-header\">\r\n <div class=\"header-buttons-wrapper\">\r\n <div class=\"close-search-button-wrapper button-wrapper\" *ngIf=\"!fullscreen\" [ngClass]=\"fullscreen ? 'fullscreen' : 'sidebar'\" >\r\n <co-button [iconData]=\"iconResize\"\r\n class=\"toggle-sidebar-button transparent\"\r\n (click)=\"onResizeClick()\"></co-button>\r\n <co-button [iconData]=\"iconCancel\"\r\n class=\"toggle-sidebar-button transparent\"\r\n (click)=\"onCloseClick()\">\r\n </co-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"header-searchbar-wrapper\">\r\n <div class=\"header-searchbar-title\" [textContent]=\"label | localize\" *ngIf=\"fullscreen\" @showHideLabel></div>\r\n <co-button class=\"transaction-add-button transparent\" [iconData]=\"iconCacheService.getIcon(icon.PlusSimple)\"\r\n (click)=\"handleAddTransactionClick()\"></co-button>\r\n <co-input-search class=\"transaction-search-general\"\r\n [ngClass]=\"fullscreen ? 'fullscreen' : 'sidebar'\"\r\n [centerLabel]=\"true\"\r\n [(model)]=\"searchService.searchRequest.general\"\r\n [placeholder]=\"searchPlaceholder | localize\"\r\n [initFocus]=\"true\"\r\n (search)=\"searchService.searchTransactions()\"></co-input-search>\r\n <div class=\"header-search-bar-button-wrapper button-wrapper\">\r\n <co-button class=\"transaction-search-filter-button\"\r\n [iconData]=\"iconCacheService.getIcon(icon.BarsFilter)\"\r\n (click)=\"filterButtonClick.emit()\">\r\n </co-button>\r\n <co-button *ngIf=\"fullscreen\" [iconData]=\"iconSlideIn\"\r\n class=\"toggle-sidebar-button transparent fullscreen\"\r\n (click)=\"onResizeClick()\"></co-button>\r\n </div>\r\n </div>\r\n <div class=\"view-mode-buttons-wrapper\">\r\n <co-view-mode-buttons\r\n *ngIf=\"fullscreen\"\r\n [showViewModes]=\"[contentViewModes.Tiles, contentViewModes.Grid]\"\r\n (viewModeChange)=\"onViewModeChange($event)\">\r\n </co-view-mode-buttons>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHideLabel\", [\r\n state(\"void\", style({opacity: 0})),\r\n state(\"*\", style({opacity: 1})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSearchHeaderComponent {\r\n public readonly icon: typeof Icon = Icon;\r\n public readonly contentViewModes: typeof ContentViewMode = ContentViewMode;\r\n public readonly searchViewModes: typeof SearchViewMode = SearchViewMode;\r\n\r\n public iconSlideIn = this.iconCacheService.getIcon(this.icon.SlideIn);\r\n public iconResize = this.iconCacheService.getIcon(this.icon.ExpandSolid);\r\n public iconCancel = this.iconCacheService.getIcon(this.icon.XSolid);\r\n\r\n @Input()\r\n public set transactionType(value: string) {\r\n this.label = this._dictionary.get(this.searchService.getLabelBasedOnTransactionType());\r\n this.searchPlaceholder = this._dictionary.get(this.searchService.getSearchPlaceholderBasedOnTransactionType());\r\n }\r\n\r\n @Input()\r\n public activeSearchViewMode: SearchViewMode = this.searchViewModes.FullScreen;\r\n\r\n @Input()\r\n public activeContentViewMode: ContentViewMode = this.contentViewModes.Tiles;\r\n\r\n @Output()\r\n public viewModeChange: EventEmitter<ContentViewMode> = new EventEmitter<ContentViewMode>();\r\n\r\n @Output()\r\n public filterButtonClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public resizeClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public closeClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-transaction-search-header\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public label: string;\r\n public searchPlaceholder: string;\r\n\r\n constructor(\r\n public searchService: TransactionSearchService,\r\n public iconCacheService: IconCacheService,\r\n private _dictionary: DictionaryService,\r\n private _transactionEventService: TransactionEventService\r\n ) {\r\n }\r\n\r\n public get fullscreen(): boolean {\r\n return this.activeSearchViewMode === SearchViewMode.FullScreen;\r\n }\r\n\r\n public onResizeClick(): void {\r\n this.resizeClick.emit();\r\n }\r\n\r\n public onCloseClick(): void {\r\n this.closeClick.emit();\r\n }\r\n\r\n public onViewModeChange(viewMode): void {\r\n this.viewModeChange.emit(viewMode)\r\n }\r\n\r\n public handleAddTransactionClick(): void {\r\n this._transactionEventService.createTransaction.next();\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ButtonModule, IconModule, InputSearchModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {ViewModeButtonsModule} from \"../../view-mode-buttons/view-mode-buttons.module\";\r\nimport {TransactionSearchHeaderComponent} from \"./transaction-search-header.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n ButtonModule,\r\n InputSearchModule,\r\n ViewModeButtonsModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n TransactionSearchHeaderComponent\r\n ],\r\n exports: [\r\n TransactionSearchHeaderComponent\r\n ]\r\n})\r\nexport class TransactionSearchHeaderModule {\r\n}\r\n","import {\r\n ApplicationRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding,\r\n Injector,\r\n Input,\r\n Output,\r\n Type,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport { TransactionKind } from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport { TransactionSearchView } from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\nimport { TransactionMappingService } from \"../../../../service/transaction-mapping.service\";\r\nimport { TransactionSearchGridBaseComponent } from \"../../../core/base/transaction-search-grid-base.component\";\r\nimport { TransactionSearchService } from \"../../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-search-grid\",\r\n template: `\r\n <div #transactionSearchGrid class=\"transaction-search-grid-wrapper\">\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSearchGridComponent {\r\n @ViewChild('transactionSearchGrid', {read: ElementRef}) set container(content) {\r\n if (content) {\r\n this._transactionSearchGridContainer = content;\r\n this._prepareContent();\r\n }\r\n }\r\n\r\n @Input()\r\n public set transactionType(value: TransactionKind) {\r\n this._transactionType = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get transactionType(): TransactionKind {\r\n return this._transactionType;\r\n }\r\n\r\n @Output()\r\n public transactionClick: EventEmitter<TransactionSearchView> = new EventEmitter<TransactionSearchView>();\r\n\r\n @HostBinding(\"class.co-transaction-search-grid\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _transactionSearchGridContainer: ElementRef;\r\n private _transactionType: TransactionKind;\r\n private _componentRef: any;\r\n\r\n constructor(\r\n private _mappingService: TransactionMappingService,\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector,\r\n public searchService: TransactionSearchService\r\n ) {\r\n }\r\n\r\n private _prepareContent(): void {\r\n if (!this._transactionType || !this._transactionSearchGridContainer) {\r\n return;\r\n }\r\n const componentClass: Type<TransactionSearchGridBaseComponent> = this._mappingService.getTransactionSearchGridComponent(this.transactionType);\r\n\r\n if (this._componentRef) {\r\n this._componentRef.destroy();\r\n }\r\n if (!componentClass) {\r\n return;\r\n }\r\n\r\n this._componentRef = this._compFactoryResolver\r\n .resolveComponentFactory(componentClass)\r\n .create(this.injector);\r\n\r\n this.appRef.attachView(this._componentRef.hostView);\r\n\r\n //inputs\r\n this._componentRef.instance.transactions = this.searchService.transactions;\r\n\r\n //outputs\r\n this._componentRef.instance.transactionClick.subscribe(transaction => {\r\n this.transactionClick.emit(transaction);\r\n })\r\n\r\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n this._transactionSearchGridContainer.nativeElement.appendChild(domElem);\r\n this._componentRef.onDestroy(() => {\r\n this.appRef.detachView(this._componentRef.hostView);\r\n });\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { TransactionSearchGridComponent } from \"./transaction-search-grid.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n TransactionSearchGridComponent\r\n ],\r\n exports: [\r\n TransactionSearchGridComponent\r\n ]\r\n})\r\nexport class TransactionSearchGridModule {\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { IconModule } from \"@colijnit/corecomponents_v12\";\r\nimport { StatusbarModule } from \"@colijnit/sharedcomponents\";\r\nimport { PipeModule } from \"../../../../pipe/pipe.module\";\r\nimport { AvatarModule } from \"../../../avatar/avatar.module\";\r\nimport { TransactionStatusbarModule } from \"../transaction-statusbar/transaction-statusbar.module\";\r\nimport { TransactionSearchPurchaseOrderTileComponent } from \"./transaction-search-purchase-order-tile.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipeModule,\r\n AvatarModule,\r\n IconModule,\r\n StatusbarModule,\r\n TransactionStatusbarModule\r\n ],\r\n declarations: [\r\n TransactionSearchPurchaseOrderTileComponent\r\n ],\r\n exports: [\r\n TransactionSearchPurchaseOrderTileComponent\r\n ]\r\n})\r\nexport class TransactionSearchPurchaseOrderTileModule {\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { ButtonModule, IconModule } from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../../../pipe/pipe.module\";\r\nimport { CoreModule } from \"../../../core/core.module\";\r\nimport { AvatarModule } from \"../../../avatar/avatar.module\";\r\nimport { StatusbarModule } from \"@colijnit/sharedcomponents\";\r\nimport { TransactionStatusbarModule } from \"../transaction-statusbar/transaction-statusbar.module\";\r\nimport { TransactionSearchSalesOrderTileComponent } from \"./transaction-search-sales-order-tile.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n AvatarModule,\r\n ButtonModule,\r\n PipeModule,\r\n IconModule,\r\n StatusbarModule,\r\n TransactionStatusbarModule,\r\n ],\r\n declarations: [\r\n TransactionSearchSalesOrderTileComponent\r\n ],\r\n exports: [\r\n TransactionSearchSalesOrderTileComponent\r\n ]\r\n})\r\nexport class TransactionSearchSalesOrderTileModule {\r\n}\r\n","import {\r\n ApplicationRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding,\r\n Injector,\r\n Input,\r\n Output,\r\n Type,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport { TransactionKind } from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport { TransactionSearchView } from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\nimport { TransactionMappingService } from \"../../../../service/transaction-mapping.service\";\r\nimport { TransactionSearchTileBaseComponent } from \"../../../core/base/transaction-search-tile-base.component\";\r\nimport { TransactionSearchService } from \"../../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: \"co-transaction-search-tile\",\r\n template: `\r\n <div #transactionSearchTile class=\"transaction-search-tile-wrapper\">\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSearchTileComponent {\r\n @ViewChild('transactionSearchTile', {read: ElementRef}) set container(content) {\r\n if (content) {\r\n this._transactionSearchTileContainer = content;\r\n this._prepareContent();\r\n }\r\n }\r\n\r\n @Input()\r\n public set transactionType(value: TransactionKind) {\r\n this._transactionType = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get transactionType(): TransactionKind {\r\n return this._transactionType;\r\n }\r\n\r\n @Input()\r\n public set transaction(value: TransactionSearchView) {\r\n this._transaction = value;\r\n this._prepareContent();\r\n }\r\n\r\n public get transaction(): TransactionSearchView {\r\n return this._transaction;\r\n }\r\n\r\n @Output()\r\n public transactionClick: EventEmitter<TransactionSearchView> = new EventEmitter<TransactionSearchView>();\r\n\r\n\r\n @HostBinding(\"class.co-transaction-search-tile\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _transactionSearchTileContainer: ElementRef;\r\n private _transaction: TransactionSearchView;\r\n private _transactionType: TransactionKind;\r\n private _componentRef: any;\r\n\r\n constructor(\r\n private _mappingService: TransactionMappingService,\r\n private _compFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector,\r\n public searchService: TransactionSearchService\r\n ) {\r\n }\r\n\r\n private _prepareContent(): void {\r\n if (!this._transactionType || !this._transactionSearchTileContainer) {\r\n return;\r\n }\r\n const componentClass: Type<TransactionSearchTileBaseComponent> = this._mappingService.getTransactionSearchTileComponent(this.transactionType);\r\n\r\n if (this._componentRef) {\r\n this._componentRef.destroy();\r\n }\r\n if (!componentClass) {\r\n return;\r\n }\r\n\r\n this._componentRef = this._compFactoryResolver\r\n .resolveComponentFactory(componentClass)\r\n .create(this.injector);\r\n\r\n this.appRef.attachView(this._componentRef.hostView);\r\n\r\n //inputs\r\n this._componentRef.instance.transaction = this.transaction;\r\n\r\n //outputs\r\n this._componentRef.instance.transactionClick.subscribe(transaction => {\r\n this.transactionClick.emit(transaction);\r\n })\r\n\r\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n this._transactionSearchTileContainer.nativeElement.appendChild(domElem);\r\n this._componentRef.onDestroy(() => {\r\n this.appRef.detachView(this._componentRef.hostView);\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { TransactionSearchTileComponent } from \"./transaction-search-tile.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n TransactionSearchTileComponent\r\n ],\r\n exports: [\r\n TransactionSearchTileComponent\r\n ]\r\n})\r\nexport class TransactionSearchTileModule {\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { TransactionKind } from \"@colijnit/transactionapi/build/enum/transaction-kind.enum\";\r\nimport { TransactionSearchView } from \"@colijnit/transactionapi/build/model/transaction-search-view.bo\";\r\nimport { ContentViewMode } from \"../../../enum/content-view-mode.enum\";\r\nimport { Icon } from \"../../../enum/icon.enum\";\r\nimport { SearchViewMode } from \"../../../enum/search-view-mode.enum\";\r\nimport { TransactionSearchService } from \"../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: 'co-transaction-search-result',\r\n template: `\r\n <div class=\"transaction-search-header-wrapper\">\r\n <co-transaction-search-header\r\n [transactionType]=\"transactionType\"\r\n [activeSearchViewMode]=\"activeSearchViewMode\"\r\n [activeContentViewMode]=\"activeContentViewMode\"\r\n (viewModeChange)=\"activeContentViewMode = $event\"\r\n (resizeClick)=\"onResizeClick()\"\r\n (filterButtonClick)=\"onFilterClick()\"\r\n (closeClick)=\"onCloseClick()\">\r\n </co-transaction-search-header>\r\n </div>\r\n\r\n <div class=\"transaction-search-result-content-tiles-wrapper\" [ngClass]=\"fullscreen ? 'fullscreen' : 'sidebar'\"\r\n *ngIf=\"activeContentViewMode === contentViewModes.Tiles\">\r\n <div class=\"transaction-tile\" *ngFor=\"let transaction of searchService.transactions\">\r\n <co-transaction-search-tile\r\n [transaction]=\"transaction\"\r\n [transactionType]=\"transactionType\"\r\n [class]=\"transaction === selectedTransaction ? 'selected' : ''\"\r\n (transactionClick)=\"onTransactionClick($event)\">\r\n </co-transaction-search-tile>\r\n </div>\r\n </div>\r\n\r\n <div class=\"transaction-search-result-content-grid-wrapper\"\r\n *ngIf=\"activeContentViewMode === contentViewModes.Grid\">\r\n <co-transaction-search-grid\r\n [transactionType]=\"transactionType\"\r\n (transactionClick)=\"onTransactionClick($event)\"\r\n ></co-transaction-search-grid>\r\n </div>\r\n <co-pagination-bar *ngIf=\"searchService.transactions?.length > 0\"\r\n [currentPage]=\"searchService.currentPage\"\r\n [itemsPerPage]=\"searchService.transactionsPerPage\"\r\n [totalItems]=\"searchService.resultCount\"\r\n [previousLabel]=\"'PREVIOUS' | localize\"\r\n [nextLabel]=\"'NEXT' | localize\"\r\n [autoHide]=\"true\"\r\n [directionLinks]=\"fullscreen\"\r\n [paginationRange]=\"!fullscreen ? 6 : 8\"\r\n (previousClick)=\"onPreviousClick()\"\r\n (nextClick)=\"onNextClick()\"\r\n (pageClick)=\"onPageClick($event)\">\r\n </co-pagination-bar>\r\n <div class=\"empty-state-wrapper\" *ngIf=\"this.searchService.transactions && this.searchService.resultCount === 0\">\r\n <span [textContent]=\"'0_RESULTS_FOUND' | localize\"></span>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionSearchResultComponent implements OnInit {\r\n public readonly icon: typeof Icon = Icon;\r\n public readonly contentViewModes: typeof ContentViewMode = ContentViewMode;\r\n public readonly searchViewModes: typeof SearchViewMode = SearchViewMode;\r\n\r\n public selectedTransaction: TransactionSearchView;\r\n\r\n @Input()\r\n public transactionType: TransactionKind;\r\n\r\n @Input()\r\n public activeSearchViewMode: SearchViewMode = this.searchViewModes.FullScreen;\r\n\r\n @Output()\r\n public filterClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public transactionClick: EventEmitter<TransactionSearchView> = new EventEmitter<TransactionSearchView>();\r\n\r\n @Output()\r\n public resizeClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public closeClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-transaction-search-result\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public activeContentViewMode: ContentViewMode = ContentViewMode.Tiles;\r\n\r\n constructor(\r\n public searchService: TransactionSearchService\r\n ) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n }\r\n\r\n public get fullscreen(): boolean {\r\n return this.activeSearchViewMode === SearchViewMode.FullScreen;\r\n }\r\n\r\n public onTransactionClick(transaction: TransactionSearchView): void {\r\n this.selectedTransaction = transaction;\r\n this.activeContentViewMode = this.contentViewModes.Tiles;\r\n this.transactionClick.emit(transaction);\r\n }\r\n\r\n public onResizeClick(): void {\r\n this.activeContentViewMode = this.contentViewModes.Tiles;\r\n this.resizeClick.emit();\r\n }\r\n\r\n public onCloseClick(): void {\r\n this.closeClick.emit();\r\n }\r\n\r\n public onFilterClick(): void {\r\n this.filterClick.emit();\r\n }\r\n\r\n public onPreviousClick(): void {\r\n this.searchService.currentPage -= 1;\r\n }\r\n\r\n public onNextClick(): void {\r\n this.searchService.currentPage += 1;\r\n }\r\n\r\n public onPageClick(pageNr: number): void {\r\n this.searchService.currentPage = pageNr;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {PipeModule} from \"../../../pipe/pipe.module\";\r\nimport {AvatarModule} from \"../../avatar/avatar.module\";\r\nimport {TransactionSearchPurchaseOrderGridModule} from \"../transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module\";\r\nimport {TransactionSearchSalesOrderGridModule} from \"../transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module\";\r\nimport {TransactionSearchHeaderModule} from \"../transaction-search-header/transaction-search-header.module\";\r\nimport {TransactionSearchGridModule} from \"../transaction-search-grid/transaction-search-grid/transaction-search-grid.module\";\r\nimport {TransactionSearchPurchaseOrderTileModule} from \"../transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module\";\r\nimport {TransactionSearchSalesOrderTileModule} from \"../transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module\";\r\nimport {TransactionSearchTileModule} from \"../transaction-search-tile/transaction-search-tile/transaction-search-tile.module\";\r\nimport {TransactionSearchResultComponent} from \"./transaction-search-result.component\";\r\nimport { ButtonModule, InputSearchModule, PaginationBarModule, PaginationModule } from \"@colijnit/corecomponents_v12\";\r\nimport {ViewModeButtonsModule} from \"../../view-mode-buttons/view-mode-buttons.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputSearchModule,\r\n ButtonModule,\r\n ViewModeButtonsModule,\r\n AvatarModule,\r\n TransactionSearchSalesOrderTileModule,\r\n TransactionSearchPurchaseOrderTileModule,\r\n TransactionSearchSalesOrderGridModule,\r\n TransactionSearchPurchaseOrderGridModule,\r\n PipeModule,\r\n TransactionSearchHeaderModule,\r\n TransactionSearchGridModule,\r\n TransactionSearchTileModule,\r\n PaginationModule,\r\n PaginationBarModule\r\n ],\r\n declarations: [\r\n TransactionSearchResultComponent\r\n ],\r\n exports: [\r\n TransactionSearchResultComponent\r\n ]\r\n})\r\nexport class TransactionSearchResultModule {\r\n}\r\n","import {Component, HostBinding} from \"@angular/core\";\r\nimport {ArticleExtendedRequest} from \"@colijnit/articleapi/build/model/article-extended-request\";\r\nimport {ArticleLight} from \"@colijnit/articleapi/build/model/article-light.bo\";\r\nimport {MainArticle} from \"@colijnit/articleapi/build/model/main-article.bo\";\r\nimport {TurnoverGroupImage} from \"@colijnit/articleapi/build/model/turnover-group-image.bo\";\r\nimport {FilterItemViewmodel} from \"../../../../../model/filter-item.viewmodel\";\r\nimport {FilterViewmodel} from \"../../../../../model/filter-viewmodel\";\r\nimport {TransactionService} from \"../../../../../service/transaction.service\";\r\nimport {TransactionFilterContentBaseComponent} from \"../../../../core/base/transaction-filter-content-base.component\";\r\nimport {FilterRequestService} from \"../../../service/filter-request.service\";\r\nimport {TransactionSearchService} from \"../../../service/transaction-search.service\";\r\nimport {RelationKind} from \"@colijnit/articleapi/build/enum/relation-kind.enum\";\r\nimport {CoDomainValue} from \"@colijnit/mainapi/build/model/co-domain-value.bo\";\r\nimport {RelationRequest} from \"@colijnit/relationapi/build/model/relation-request\";\r\nimport {RelationService} from \"../../../../../service/relation.service\";\r\n\r\n@Component({\r\n selector: 'co-transaction-sales-order-filter-content-article',\r\n template: `\r\n <div class=\"transaction-filter-content-article-wrapper transaction-filter-content-wrapper\" lazyRenderMaster>\r\n\r\n <!--Artikelnummer-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderArticleNr=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderArticleNr.isShowing\"\r\n [placeholder]=\"'ARTICLE_NR'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.ArticleNr\"\r\n [singleSelect]=\"true\"\r\n [minSearchCharsToLoadCollection]=\"3\"\r\n [collectionLoadFn]=\"getArticles\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForSingleSelect($event, 'articleNr')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Omzetgroep-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderTurnoverGroup=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderTurnoverGroup.isShowing\"\r\n [placeholder]=\"'TURNOVER_GROUP'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.TurnoverGroup\"\r\n [collection]=\"turnoverGroups\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event, 'rangeTurnoverGroup')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Hoofdartikel-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderMainArticle=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderMainArticle.isShowing\"\r\n [placeholder]=\"'MAIN_ARTICLE'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.MainArticle\"\r\n [collection]=\"mainArticles\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event, 'mainArticleNrRange')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Uitloopcode -->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderExceedanceCodes=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderExceedanceCodes.isShowing\"\r\n [placeholder]=\"'EXCEEDENCE_CODE'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.ExceedenceCode\"\r\n [collection]=\"exceedanceCodes\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'exceedanceCodes')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Leverancier-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderSupplier=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderSupplier.isShowing\"\r\n [placeholder]=\"'SUPPLIER'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.Supplier\"\r\n [collection]=\"suppliers\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event, 'rangeSupplier')\"\r\n >\r\n </co-transaction-filter-item>\r\n </div>\r\n </div>\r\n `\r\n})\r\nexport class TransactionSalesOrderFilterContentArticleComponent extends TransactionFilterContentBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-search-filter-content\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public exceedanceCodes: FilterItemViewmodel[];\r\n public exceedanceCodeFields: { text, value } = {text: \"description\", value: \"code\"};\r\n\r\n public turnoverGroups: FilterItemViewmodel[];\r\n public turnoverGroupFields: { text, value } = {text: \"description\", value: \"turnovergroupNr\"};\r\n\r\n public mainArticles: FilterItemViewmodel[];\r\n public mainArticleFields: { text, value } = {text: \"description\", value: \"articlenumber\"};\r\n\r\n public suppliers: FilterItemViewmodel[];\r\n public supplierFields: { text, value } = {text: \"displayName\", value: \"relationId\"};\r\n\r\n constructor(\r\n public searchService: TransactionSearchService,\r\n public filterRequestService: FilterRequestService,\r\n public transactionService: TransactionService,\r\n private _relationService: RelationService\r\n ) {\r\n super(searchService, filterRequestService, transactionService)\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._setExceedanceCodes();\r\n this._setSuppliers();\r\n this._setTurnoverGroups();\r\n this._setMainArticles();\r\n }\r\n\r\n public getArticles = (text: string) => {\r\n const request: ArticleExtendedRequest = new ArticleExtendedRequest();\r\n request.articleNumber = text;\r\n return this.transactionService.getArticles(request).then((articles: ArticleLight[]) => {\r\n return new FilterViewmodel(articles, {text: 'articleNumber', value: 'articleNumber'}).filterItems;\r\n });\r\n }\r\n\r\n private _setExceedanceCodes(): void {\r\n this.transactionService.getInOutCollection(\"NL\").then((exceedanceCodes: CoDomainValue[]) => {\r\n this.exceedanceCodes = new FilterViewmodel(exceedanceCodes, this.exceedanceCodeFields).filterItems;\r\n });\r\n }\r\n\r\n private _setTurnoverGroups(): void {\r\n this.transactionService.getTurnoverGroups().then((turnoverGroups: TurnoverGroupImage[]) => {\r\n this.turnoverGroups = new FilterViewmodel(turnoverGroups, this.turnoverGroupFields).filterItems;\r\n });\r\n }\r\n\r\n private _setMainArticles(): void {\r\n this.transactionService.getMainArticles().then((articles: MainArticle[]) => {\r\n this.mainArticles = new FilterViewmodel(articles, this.mainArticleFields).filterItems;\r\n });\r\n }\r\n\r\n private _setSuppliers(): void {\r\n const request: RelationRequest = new RelationRequest();\r\n request.relationType = RelationKind.Supplier;\r\n this._relationService.getRelationListObjects(request).then((relationListObjects) => {\r\n this.suppliers = new FilterViewmodel(relationListObjects, this.supplierFields).filterItems;\r\n })\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { ButtonModule, FilterItemModule, InputTextModule } from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../../../../pipe/pipe.module\";\r\nimport { CoreModule } from \"../../../../core/core.module\";\r\nimport { TransactionFilterItemModule } from \"../../../transaction-filter-item/transaction-filter-item.module\";\r\nimport {TransactionSalesOrderFilterContentArticleComponent} from \"./transaction-sales-order-filter-content-article.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FilterItemModule,\r\n PipeModule,\r\n InputTextModule,\r\n ButtonModule,\r\n CoreModule,\r\n TransactionFilterItemModule\r\n ],\r\n declarations: [\r\n TransactionSalesOrderFilterContentArticleComponent\r\n ],\r\n exports: [\r\n TransactionSalesOrderFilterContentArticleComponent\r\n ]\r\n})\r\nexport class TransactionSalesOrderFilterContentArticleModule {\r\n}\r\n","import { Component, HostBinding } from \"@angular/core\";\r\nimport { DeliveryMethod } from \"@colijnit/transactionapi/build/model/delivery-method.bo\";\r\nimport { Warehouse } from \"@colijnit/transactionapi/build/model/warehouse.bo\";\r\nimport { FilterItemViewmodel } from \"../../../../../model/filter-item.viewmodel\";\r\nimport { FilterViewmodel } from \"../../../../../model/filter-viewmodel\";\r\nimport { TransactionService } from \"../../../../../service/transaction.service\";\r\nimport { TransactionFilterContentBaseComponent } from \"../../../../core/base/transaction-filter-content-base.component\";\r\nimport { FilterRequestService } from \"../../../service/filter-request.service\";\r\nimport { TransactionSearchService } from \"../../../service/transaction-search.service\";\r\n\r\n@Component({\r\n selector: 'co-transaction-sales-order-filter-content-logistics',\r\n template: `\r\n <div class=\"transaction-filter-content-logistics-wrapper transaction-filter-content-wrapper\" lazyRenderMaster>\r\n\r\n <!--Levermethode-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderDeliveryMethod=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderDeliveryMethod.isShowing\"\r\n [placeholder]=\"'DELIVERY_METHOD'\"\r\n [collection]=\"deliveryMethods\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.DeliveryMethod\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event, 'rangeDeliveryMethod')\"\r\n >\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n\r\n <!--Leverdatum definitief-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderDeliveryDateFinal=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderDeliveryDateFinal.isShowing\"\r\n [placeholder]=\"'DELIVERY_DATE_FINAL'\"\r\n [customContent]=\"true\"\r\n >\r\n <co-input-checkbox\r\n [model]=\"searchRequest.deliveryDateDefinitive === 'J'\"\r\n (modelChange)=\"filterRequestService.handleCheckboxValueChangeForString($event, 'deliveryDateDefinitive')\"\r\n [label]=\"'DELIVERY_DATE_FINAL' | localize\"></co-input-checkbox>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Toegewezen-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderAllocated=\"lazyRender\">\r\n <co-transaction-filter-historic-state *ngIf=\"lazyRenderAllocated.isShowing\"\r\n [label]=\"'ALLOCATED'\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'quantityAllocated')\"\r\n ></co-transaction-filter-historic-state>\r\n </div>\r\n\r\n <!--Geleverd-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderDelivered=\"lazyRender\">\r\n <co-transaction-filter-historic-state *ngIf=\"lazyRenderDelivered.isShowing\"\r\n [label]=\"'DELIVERED'\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'quantityDelivered')\"\r\n ></co-transaction-filter-historic-state>\r\n </div>\r\n\r\n <!--Gefactureerd-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderInvoiced=\"lazyRender\">\r\n <co-transaction-filter-historic-state *ngIf=\"lazyRenderInvoiced.isShowing\"\r\n [label]=\"'INVOICED'\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'quantityInvoiced')\"\r\n ></co-transaction-filter-historic-state>\r\n </div>\r\n\r\n <!--Te picken-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderToBePicked=\"lazyRender\">\r\n <co-transaction-filter-historic-state *ngIf=\"lazyRenderToBePicked.isShowing\"\r\n [label]=\"'TO_BE_PICKED'\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'quantityToBePicked')\"\r\n ></co-transaction-filter-historic-state>\r\n </div>\r\n\r\n <!--Gepicked-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderPicked=\"lazyRender\">\r\n <co-transaction-filter-historic-state *ngIf=\"lazyRenderPicked.isShowing\"\r\n [label]=\"'PICKED'\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'quantityPicked')\"\r\n ></co-transaction-filter-historic-state>\r\n </div>\r\n\r\n <!--Bevestigde leverdatum-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderConfirmedDeliveryDate=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderConfirmedDeliveryDate.isShowing\"\r\n [placeholder]=\"'CONFIRMED_DELIVERY_DATE'\"\r\n [customContent]=\"true\">\r\n <co-input-date-range\r\n [startDate]=\"confirmedDeliveryStartDate\"\r\n [endDate]=\"confirmedDeliveryEndDate\"\r\n (dateRangeChange)=\"onDateRangeChange($event, 'confirmedDeliveryDateRange')\"\r\n (cleared)=\"onClearedDateRangeChange('confirmedDeliveryDateRange')\"\r\n [placeholder]=\"'SELECT_DATE' | localize\">\r\n </co-input-date-range>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Aankomstdatum-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderArrivalDate=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderArrivalDate.isShowing\"\r\n [placeholder]=\"'ARRIVAL_DATE'\"\r\n [customContent]=\"true\">\r\n <co-input-date-range\r\n [startDate]=\"arrivalStartDate\"\r\n [endDate]=\"arrivalEndDate\"\r\n (dateRangeChange)=\"onDateRangeChange($event, 'arrivalDateRange')\"\r\n (cleared)=\"onClearedDateRangeChange('arrivalDateRange')\"\r\n [placeholder]=\"'SELECT_DATE' | localize\">\r\n </co-input-date-range>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Deellevering-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderPartialDelivery=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderPartialDelivery.isShowing\"\r\n [placeholder]=\"'PART_DELIVERY'\"\r\n [customContent]=\"true\">\r\n <co-input-checkbox\r\n [model]=\"searchRequest.partialDelivery === 'J'\"\r\n (modelChange)=\"filterRequestService.handleCheckboxValueChangeForString($event, 'partialDelivery')\"\r\n [label]=\"'PART_DELIVERY' | localize\">\r\n </co-input-checkbox>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Magazijn -->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderWarehouse=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderWarehouse.isShowing\"\r\n [placeholder]=\"'WAREHOUSE'\"\r\n [singleSelect]=\"true\"\r\n [collection]=\"warehouses\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.Warehouse\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForSingleSelect($event, 'warehouse')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Bron magazijn-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderSourceWarehouse=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderSourceWarehouse.isShowing\"\r\n [placeholder]=\"'SOURCE_WAREHOUSE'\"\r\n [singleSelect]=\"true\"\r\n [collection]=\"sourceWarehouses\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.SourceWarehouse\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForSingleSelect($event, 'sourceWarehouse')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Serienummer -->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderSerialNumber=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderSerialNumber.isShowing\"\r\n [placeholder]=\"'SERIAL_NUMBER'\"\r\n [customContent]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.serialNumber\"\r\n [placeholder]=\"searchPlaceholder.SerialNumber | localize\"></co-input-text>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Batchnummer -->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderBatchNumber=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderBatchNumber.isShowing\"\r\n [placeholder]=\"'BATCH_NUMBER'\"\r\n [customContent]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.batchNumber\"\r\n [placeholder]=\"searchPlaceholder.BatchNumber | localize\"></co-input-text>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Inclusief retouren-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderIncludingReturns=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderIncludingReturns.isShowing\"\r\n [placeholder]=\"'INCLUDING_RETURNS'\"\r\n [customContent]=\"true\">\r\n <co-input-checkbox\r\n [label]=\"'INCLUDING_RETURNS' | localize\"\r\n [model]=\"searchRequest.includingReturns === 1\"\r\n (modelChange)=\"filterRequestService.handleCheckboxValueChangeForNumber($event, 'includingReturns')\"\r\n >\r\n </co-input-checkbox>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Levermethode op (regel/header): todo: nog uitzoeken welke filter dit is-->\r\n </div>\r\n `\r\n})\r\nexport class TransactionSalesOrderFilterContentLogisticsComponent extends TransactionFilterContentBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-search-filter-content\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public deliveryMethods = [];\r\n public deliveryMethodFields: { text, value } = {text: \"description\", value: \"code\"};\r\n\r\n public warehouses: FilterItemViewmodel[];\r\n public warehouseFields: { text, value } = {text: \"description\", value: \"warehouseNo\"};\r\n\r\n public sourceWarehouses: FilterItemViewmodel[];\r\n public sourceWarehouseFields: { text, value } = {text: \"description\", value: \"warehouseNo\"};\r\n\r\n public confirmedDeliveryStartDate: Date;\r\n public confirmedDeliveryEndDate: Date;\r\n\r\n public arrivalStartDate: Date;\r\n public arrivalEndDate: Date;\r\n\r\n constructor(\r\n public searchService: TransactionSearchService,\r\n public filterRequestService: FilterRequestService,\r\n public transactionService: TransactionService,\r\n ) {\r\n super(searchService, filterRequestService, transactionService)\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._setRangeDates();\r\n this._setDeliveryMethods();\r\n this._setWarehouses();\r\n this._setSourceWarehouses();\r\n }\r\n\r\n private _setRangeDates(): void {\r\n this.confirmedDeliveryStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.confirmedDeliveryDateRange, 0);\r\n this.confirmedDeliveryEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.confirmedDeliveryDateRange, 1);\r\n this.arrivalStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.arrivalDateRange, 0);\r\n this.arrivalEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.arrivalDateRange, 1);\r\n }\r\n\r\n //Delivery Methods\r\n private _setDeliveryMethods(): void {\r\n this.transactionService.getDeliveryMethods().then((deliveryMethods: DeliveryMethod[]) => {\r\n this.deliveryMethods = new FilterViewmodel(deliveryMethods, this.deliveryMethodFields).filterItems;\r\n });\r\n }\r\n\r\n //Warehouses\r\n private _setWarehouses(): void {\r\n this.transactionService.getWarehouses().then((warehouses: Warehouse[]) => {\r\n this.warehouses = new FilterViewmodel(warehouses, this.warehouseFields).filterItems;\r\n });\r\n }\r\n\r\n //Source Warehouses\r\n private _setSourceWarehouses(): void {\r\n this.transactionService.getWarehouses().then((warehouses: Warehouse[]) => {\r\n this.sourceWarehouses = new FilterViewmodel(warehouses, this.sourceWarehouseFields).filterItems;\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {ButtonModule, FilterItemModule, InputCheckboxModule, InputDatePickerModule, InputDateRangePickerModule, InputRadioButtonModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {PipeModule} from \"../../../../../pipe/pipe.module\";\r\nimport { CoreModule } from \"../../../../core/core.module\";\r\nimport { TransactionFilterItemModule } from \"../../../transaction-filter-item/transaction-filter-item.module\";\r\nimport {TransactionSalesOrderFilterContentLogisticsComponent} from \"./transaction-sales-order-filter-content-logistics.component\";\r\nimport {TransactionFilterHistoricStateModule} from \"../../../transaction-filter-historic-state/transaction-filter-historic-state.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FilterItemModule,\r\n InputDateRangePickerModule,\r\n InputTextModule,\r\n PipeModule,\r\n InputDatePickerModule,\r\n ButtonModule,\r\n InputCheckboxModule,\r\n InputRadioButtonModule,\r\n TransactionFilterHistoricStateModule,\r\n CoreModule,\r\n TransactionFilterItemModule\r\n ],\r\n declarations: [\r\n TransactionSalesOrderFilterContentLogisticsComponent\r\n ],\r\n exports: [\r\n TransactionSalesOrderFilterContentLogisticsComponent\r\n ]\r\n})\r\nexport class TransactionSalesOrderFilterContentLogisticsModule {\r\n}\r\n","import {Component, HostBinding} from \"@angular/core\";\r\nimport {CoDomainValue} from \"@colijnit/mainapi/build/model/co-domain-value.bo\";\r\nimport {CustomerGroup} from \"@colijnit/transactionapi/build/model/customer-group.bo\";\r\nimport {OnHoldCode} from \"@colijnit/transactionapi/build/model/on-hold-code.bo\";\r\nimport {RelationRequest} from \"@colijnit/relationapi/build/model/relation-request\";\r\nimport {FilterItemViewmodel} from \"../../../../../model/filter-item.viewmodel\";\r\nimport {FilterViewmodel} from \"../../../../../model/filter-viewmodel\";\r\nimport {TransactionService} from \"../../../../../service/transaction.service\";\r\nimport {TransactionFilterContentBaseComponent} from \"../../../../core/base/transaction-filter-content-base.component\";\r\nimport {FilterRequestService} from \"../../../service/filter-request.service\";\r\nimport {TransactionSearchService} from \"../../../service/transaction-search.service\";\r\nimport {Tag} from \"@colijnit/mainapi/build/model/tag\";\r\nimport {SalesPerson} from \"@colijnit/relationapi/build/model/sales-person.bo\";\r\nimport {RelationListObject} from \"@colijnit/relationapi/build/model/relation-list-object.bo\";\r\nimport {RelationService} from \"../../../../../service/relation.service\";\r\nimport {RelationKind} from \"@colijnit/relationapi/build/enum/relation-kind.enum\";\r\n\r\n@Component({\r\n selector: 'co-transaction-sales-order-filter-content-order',\r\n template: `\r\n <div class=\"transaction-filter-content-order-wrapper transaction-filter-content-wrapper\" lazyRenderMaster>\r\n\r\n <!--Orderdatum-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderOrderDate=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderOrderDate.isShowing\"\r\n [placeholder]=\"'ORDER_DATE'\"\r\n [customContent]=\"true\">\r\n <co-input-date-range\r\n [startDate]=\"transStartDate\"\r\n [endDate]=\"transEndDate\"\r\n (dateRangeChange)=\"onDateRangeChange($event, 'rangeTransDate')\"\r\n (cleared)=\"onClearedDateRangeChange('rangeTransDate')\"\r\n [placeholder]=\"'SELECT_DATE' | localize\">\r\n </co-input-date-range>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Leverdatum-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderDeliveryDate=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderDeliveryDate.isShowing\"\r\n [placeholder]=\"'DELIVERY_DATE'\"\r\n [customContent]=\"true\">\r\n <co-input-date-range\r\n [startDate]=\"deliveryStartDate\"\r\n [endDate]=\"deliveryEndDate\"\r\n (dateRangeChange)=\"onDateRangeChange($event, 'deliveryDateRange')\"\r\n (cleared)=\"onClearedDateRangeChange('deliveryDateRange')\"\r\n [placeholder]=\"'SELECT_DATE' | localize\">\r\n </co-input-date-range>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Filiaal-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderBranch=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderBranch.isShowing\"\r\n [placeholder]=\"'BRANCH'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.Branch\"\r\n [collection]=\"branches\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event, 'rangeBranchId')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Verkoper-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderHandledBy=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderHandledBy.isShowing\"\r\n [placeholder]=\"'HANDLED_BY'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.SalesPerson\"\r\n [collection]=\"salesPersons\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event, 'rangeSalesPerson')\"\r\n >\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Eigen referentie-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderUserReference=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderUserReference.isShowing\"\r\n [placeholder]=\"'OWN_REFERENCE'\"\r\n [customContent]=\"true\">\r\n <co-input-text [(model)]=\"searchRequest.userReference\"\r\n [placeholder]=\"searchPlaceholder.OwnReference | localize\"></co-input-text>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Tags-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderTags=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderTags.isShowing\"\r\n [placeholder]=\"'TAGS'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.Tags\"\r\n [collection]=\"tags\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event, 'tagRange')\">\r\n <co-input-text [(model)]=\"searchRequest.tagRange\" [placeholder]=\"searchPlaceholder.Tags | localize\"></co-input-text>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--On hold codes-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderOnHold=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderOnHold.isShowing\"\r\n [placeholder]=\"'ON_HOLD'\"\r\n [collection]=\"onHoldCodes\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForRange($event,'rangeOnHoldCodes')\">\r\n <co-input-text [(model)]=\"searchRequest.tagRange\" [placeholder]=\"searchPlaceholder.OnHold | localize\"></co-input-text>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Order definitief-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderTransDef=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderTransDef.isShowing\"\r\n [placeholder]=\"'ORDER_DEFINITIVE'\"\r\n [customContent]=\"true\">\r\n <co-input-checkbox\r\n [model]=\"searchRequest.transactionDefinitive === 'J'\"\r\n (modelChange)=\"filterRequestService.handleCheckboxValueChangeForString($event, 'transactionDefinitive')\"\r\n [label]=\"'ORDER_DEFINITIVE' | localize\"></co-input-checkbox>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Commissiecode-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderCommissionCodes=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderCommissionCodes.isShowing\"\r\n [placeholder]=\"'COMMISSION_CODE'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.CommissionCode\"\r\n [collection]=\"commissionCodes\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForArray($event, 'commissionCodes')\"\r\n >\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Inactieve transacties-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderInactiveTrans=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderInactiveTrans.isShowing\"\r\n [placeholder]=\"'INACTIVE_TRANSACTIONS'\"\r\n [customContent]=\"true\">\r\n <co-input-checkbox\r\n [model]=\"searchRequest.active === false\"\r\n (modelChange)=\"searchRequest.active = !$event\"\r\n [label]=\"'INACTIVE_TRANSACTIONS' | localize\"\r\n ></co-input-checkbox>\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Klantnaam-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderRelationName=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderRelationName.isShowing\"\r\n [placeholder]=\"'CUSTOMER_NAME'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.CustomerName\"\r\n [singleSelect]=\"true\"\r\n [minSearchCharsToLoadCollection]=\"3\"\r\n [collectionLoadFn]=\"loadCustomers\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForSingleSelect($event, 'relationName' )\">\r\n </co-transaction-filter-item>\r\n </div>\r\n\r\n <!--Klantgroep-->\r\n <div class=\"filter-item-wrapper\" lazyRender #lazyRenderCustomerGroup=\"lazyRender\">\r\n <co-transaction-filter-item *ngIf=\"lazyRenderCustomerGroup.isShowing\"\r\n [placeholder]=\"'CUSTOMER_GROUP'\"\r\n [searchCollectionPlaceholder]=\"searchPlaceholder.CustomerGroup\"\r\n [singleSelect]=\"true\"\r\n [collection]=\"customerGroups\"\r\n (collectionChange)=\"filterRequestService.handleCollectionChangeForSingleSelect($event, 'customerGroupId')\">\r\n </co-transaction-filter-item>\r\n </div>\r\n </div>\r\n `\r\n})\r\nexport class TransactionSalesOrderFilterContentOrderComponent extends TransactionFilterContentBaseComponent {\r\n\r\n @HostBinding(\"class.co-transaction-search-filter-content\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public salesPersons: FilterItemViewmodel[];\r\n public salesPersonsFields: { text, value } = {text: \"name\", value: \"relationId\"};\r\n\r\n public tags: FilterItemViewmodel[];\r\n public tagsFields: { text, value } = {text: \"description\", value: \"tagValueId\"};\r\n\r\n public branches: FilterItemViewmodel[];\r\n public branchFields: { text, value } = {text: \"familyName\", value: \"relationId\"};\r\n\r\n public onHoldCodes: FilterItemViewmodel[];\r\n public onHoldCodeFields: { text, value } = {text: \"description\", value: \"onHoldCode\"};\r\n\r\n public commissionCodes: FilterItemViewmodel[];\r\n public commissionCodeFields: { text, value } = {text: \"description\", value: \"code\"};\r\n\r\n public customerGroups: FilterItemViewmodel[];\r\n public customerGroupFields: { text, value } = {text: \"naam\", value: \"groepsnummer\"};\r\n\r\n public transStartDate: Date;\r\n public transEndDate: Date;\r\n public deliveryStartDate: Date;\r\n public deliveryEndDate: Date;\r\n\r\n constructor(\r\n public searchService: TransactionSearchService,\r\n public filterRequestService: FilterRequestService,\r\n public transactionService: TransactionService,\r\n public relationService: RelationService,\r\n ) {\r\n super(searchService, filterRequestService, transactionService)\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._setRangeDates();\r\n this._setSalesPersons();\r\n this._setTags();\r\n this._setBranches();\r\n this._setOnHoldCodes();\r\n this._setCommissionCodes();\r\n this._setCustomerGroups();\r\n }\r\n\r\n\r\n public loadCustomers = async (nameFilter: string) => {\r\n const request: RelationRequest = new RelationRequest();\r\n request.familyName = nameFilter;\r\n return this.relationService.getRelationListObjects(request).then((relations: RelationListObject[]) => {\r\n return new FilterViewmodel(relations, {text: 'familyName', value: 'familyName'}).filterItems;\r\n });\r\n }\r\n\r\n private _setRangeDates(): void {\r\n this.transStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.rangeTransDate, 0);\r\n this.transEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.rangeTransDate, 1);\r\n this.deliveryStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.deliveryDateRange, 0);\r\n this.deliveryEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.deliveryDateRange, 1);\r\n }\r\n\r\n //Verkoper\r\n private _setSalesPersons(): void {\r\n this.transactionService.getSalesPersons().then((salesPersons: SalesPerson[]) => {\r\n this.salesPersons = new FilterViewmodel(salesPersons, this.salesPersonsFields).filterItems;\r\n });\r\n }\r\n\r\n // Tags\r\n private _setTags(): void {\r\n this.transactionService.getTags(1).then((tags: Tag[]) => {\r\n this.tags = new FilterViewmodel(tags, this.tagsFields).filterItems;\r\n });\r\n }\r\n\r\n //Branches\r\n private _setBranches(): void {\r\n const request: RelationRequest = new RelationRequest();\r\n request.relationType = RelationKind.Branch;\r\n this.relationService.getRelationListObjects(request).then((branches: RelationListObject[]) => {\r\n this.branches = new FilterViewmodel(branches, this.branchFields).filterItems;\r\n });\r\n }\r\n\r\n //OnHoldCodes\r\n private _setOnHoldCodes(): void {\r\n this.transactionService.getOnHoldCodes().then((onHoldCodes: OnHoldCode[]) => {\r\n this.onHoldCodes = new FilterViewmodel(onHoldCodes, this.onHoldCodeFields).filterItems;\r\n });\r\n }\r\n\r\n //CommissionCodes\r\n private _setCommissionCodes(): void {\r\n this.transactionService.getCommissionCodes(\"NL\").then((commissionCodes: CoDomainValue[]) => {\r\n this.commissionCodes = new FilterViewmodel(commissionCodes, this.commissionCodeFields).filterItems;\r\n });\r\n }\r\n\r\n //CustomerGroups\r\n private _setCustomerGroups(): void {\r\n this.transactionService.getCustomerGroups().then((customerGroups: CustomerGroup[]) => {\r\n this.customerGroups = new FilterViewmodel(customerGroups, this.customerGroupFields).filterItems;\r\n });\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {\r\n InputDatePickerModule,\r\n InputListboxModule,\r\n InputTextModule,\r\n MultiSelectListModule,\r\n FilterItemModule, InputDateRangePickerModule, ButtonModule, InputCheckboxModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport { PipeModule } from \"../../../../../pipe/pipe.module\";\r\nimport { CoreModule } from \"../../../../core/core.module\";\r\nimport { TransactionFilterItemModule } from \"../../../transaction-filter-item/transaction-filter-item.module\";\r\nimport {TransactionSalesOrderFilterContentOrderComponent} from \"./transaction-sales-order-filter-content-order.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputDatePickerModule,\r\n PipeModule,\r\n MultiSelectListModule,\r\n InputTextModule,\r\n InputListboxModule,\r\n FilterItemModule,\r\n InputDateRangePickerModule,\r\n ButtonModule,\r\n InputCheckboxModule,\r\n CoreModule,\r\n TransactionFilterItemModule\r\n ],\r\n declarations: [\r\n TransactionSalesOrderFilterContentOrderComponent\r\n ],\r\n exports: [\r\n TransactionSalesOrderFilterContentOrderComponent\r\n ]\r\n})\r\nexport class TransactionSalesOrderFilterContentOrderModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {\r\n TransactionSalesOrderFilterContentArticleModule\r\n} from \"../../transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module\";\r\nimport {\r\n TransactionSalesOrderFilterContentLogisticsModule\r\n} from \"../../transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module\";\r\nimport {\r\n TransactionSalesOrderFilterContentOrderModule\r\n} from \"../../transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module\";\r\nimport {TransactionSalesOrderFilterComponent} from \"./transaction-sales-order-filter.component\";\r\nimport {ButtonModule, IconModule, InputDatePickerModule, InputTextModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TransactionFilterCategoriesModule} from \"../../transaction-filter-categories/transaction-filter-categories.module\";\r\nimport {PipeModule} from \"../../../../pipe/pipe.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ButtonModule,\r\n IconModule,\r\n TransactionFilterCategoriesModule,\r\n InputTextModule,\r\n PipeModule,\r\n InputDatePickerModule,\r\n TransactionSalesOrderFilterContentOrderModule,\r\n TransactionSalesOrderFilterContentLogisticsModule,\r\n TransactionSalesOrderFilterContentArticleModule\r\n ],\r\n declarations: [\r\n TransactionSalesOrderFilterComponent\r\n ],\r\n exports: [\r\n TransactionSalesOrderFilterComponent\r\n ]\r\n})\r\nexport class TransactionSalesOrderFilterModule {\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport { IconCollapseHandleModule, InputSearchModule } from \"@colijnit/corecomponents_v12\";\r\nimport { TransactionFilterModule } from \"./transaction-filter/transaction-filter/transaction-filter.module\";\r\nimport {\r\n TransactionPurchaseOrderFilterModule\r\n} from \"./transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module\";\r\nimport {\r\n TransactionStatusbarModule\r\n} from \"./transaction-search-tile/transaction-statusbar/transaction-statusbar.module\";\r\nimport {TransactionSearchComponent} from \"./transaction-search.component\";\r\nimport {TransactionSearchResultModule} from \"./transaction-search-result/transaction-search-result.module\";\r\nimport {TransactionSalesOrderFilterModule} from \"./transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputSearchModule,\r\n TransactionSearchResultModule,\r\n TransactionSalesOrderFilterModule,\r\n TransactionPurchaseOrderFilterModule,\r\n TransactionFilterModule,\r\n IconCollapseHandleModule,\r\n TransactionStatusbarModule\r\n ],\r\n declarations: [\r\n TransactionSearchComponent\r\n ],\r\n exports: [\r\n TransactionSearchComponent\r\n ]\r\n})\r\nexport class TransactionSearchModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {TransactionLineInfo} from \"@colijnit/transactionapi/build/model/transaction-line-info.bo\";\r\n\r\n@Component({\r\n selector: \"co-transaction-line-grid\",\r\n template: `\r\n\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TransactionLineGridComponent {\r\n\r\n @Input()\r\n public transactionLines: TransactionLineInfo[] = [];\r\n\r\n @HostBinding(\"class.co-transaction-line-grid\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CoreModule} from \"../core/core.module\";\r\nimport {TransactionLineGridComponent} from \"./transaction-line-grid.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule\r\n ],\r\n declarations: [\r\n TransactionLineGridComponent\r\n ],\r\n exports: [\r\n TransactionLineGridComponent\r\n ]\r\n})\r\nexport class TransactionLineGridModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {CacheField as ɵj} from './lib/cache/cache-field';\nexport {BusinessObjectCacheManagerService as ɵi} from './lib/cache/service/business-object-cache-manager.service';\nexport {SelectMultipleCacheService as ɵh} from './lib/cache/service/select-multiple-cache.service';\nexport {SelectMultipleParameterizedCacheService as ɵk} from './lib/cache/service/select-multiple-parameterized-cache.service';\nexport {SelectSingleCacheService as ɵm} from './lib/cache/service/select-single-cache.service';\nexport {AnimatedCheckboxComponent as ɵhj} from './lib/component/animated-checkbox/animated-checkbox.component';\nexport {AnimatedCheckboxModule as ɵhi} from './lib/component/animated-checkbox/animated-checkbox.module';\nexport {AvatarComponent as ɵcx} from './lib/component/avatar/avatar.component';\nexport {AvatarModule as ɵcw} from './lib/component/avatar/avatar.module';\nexport {CheckoutLoginComponent as ɵfo} from './lib/component/checkout/checkout-login/checkout-login.component';\nexport {CheckoutOverviewDeliveryAddressComponent as ɵfm} from './lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component';\nexport {CheckoutOverviewDeliveryEditComponent as ɵfl} from './lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component';\nexport {CheckoutOverviewPaymentComponent as ɵfn} from './lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component';\nexport {CheckoutOverviewRelationEditComponent as ɵfk} from './lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component';\nexport {ConfirmationDialogComponent as ɵba} from './lib/component/confirmation-dialog/confirmation-dialog.component';\nexport {ConfirmationDialogModule as ɵr} from './lib/component/confirmation-dialog/confirmation-dialog.module';\nexport {CharacteristicAnswerComponent as ɵbe} from './lib/component/core/base/components/characteristic-answer/characteristic-answer.component';\nexport {CharacteristicAnswerModule as ɵbd} from './lib/component/core/base/components/characteristic-answer/characteristic-answer.module';\nexport {DefaultOkCancelButtonsComponent as ɵhq} from './lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.component';\nexport {DefaultOkCancelButtonsModule as ɵhp} from './lib/component/core/base/components/default-ok-cancel-buttons/default-ok-cancel-buttons.module';\nexport {TransactionHeaderBlockComponent as ɵea} from './lib/component/core/base/components/transaction-header-block/transaction-header-block.component';\nexport {TransactionHeaderBlockModule as ɵdz} from './lib/component/core/base/components/transaction-header-block/transaction-header-block.module';\nexport {WarehouseComponent as ɵbg} from './lib/component/core/base/components/warehouse/warehouse.component';\nexport {WarehouseModule as ɵbf} from './lib/component/core/base/components/warehouse/warehouse.module';\nexport {DialogBaseComponent as ɵbb} from './lib/component/core/base/dialog-base.component';\nexport {DialogTransactionHeaderBaseComponent as ɵcv} from './lib/component/core/base/dialog-transaction-header-base.component';\nexport {DialogTransactionLineBaseComponent as ɵip} from './lib/component/core/base/dialog-transaction-line-base.component';\nexport {DynamicBaseComponent as ɵig} from './lib/component/core/base/dynamic-base-component';\nexport {TransactionBaseComponent as ɵex} from './lib/component/core/base/transaction-base.component';\nexport {TransactionFilterBaseComponent as ɵmt} from './lib/component/core/base/transaction-filter-base.component';\nexport {TransactionFilterContentBaseComponent as ɵmk} from './lib/component/core/base/transaction-filter-content-base.component';\nexport {TransactionFilterPopupBaseComponent as ɵfz} from './lib/component/core/base/transaction-filter-popup-base.component';\nexport {TransactionGridBaseComponent as ɵim} from './lib/component/core/base/transaction-grid-base.component';\nexport {TransactionHeaderBaseComponent as ɵco} from './lib/component/core/base/transaction-header-base.component';\nexport {TransactionHeaderFilterPopupBaseComponent as ɵcp} from './lib/component/core/base/transaction-header-filter-popup-base.component';\nexport {TransactionLineBaseComponent as ɵcg} from './lib/component/core/base/transaction-line-base.component';\nexport {TransactionLinesLineBaseComponent as ɵkp} from './lib/component/core/base/transaction-lines-line-base.component';\nexport {TransactionSearchGridBaseComponent as ɵlv} from './lib/component/core/base/transaction-search-grid-base.component';\nexport {TransactionSearchTileBaseComponent as ɵlq} from './lib/component/core/base/transaction-search-tile-base.component';\nexport {CoreModule as ɵq} from './lib/component/core/core.module';\nexport {LazyRenderMasterDirective as ɵbl} from './lib/component/core/directive/lazy-render-master.directive';\nexport {LazyRenderDirective as ɵbm} from './lib/component/core/directive/lazy-render.directive';\nexport {IconComponent as ɵbi} from './lib/component/core/icon/icon.component';\nexport {ImageDisplayComponent as ɵbh} from './lib/component/core/image-display/image-display.component';\nexport {CustomerGroupsComponent as ɵbj} from './lib/component/core/relation/customer-groups.component';\nexport {StockStatusIndicatorComponent as ɵbk} from './lib/component/core/stock-status-indicator/stock-status-indicator.component';\nexport {DeliveryTypeTileComponent as ɵdb} from './lib/component/delivery-type-tile/delivery-type-tile.component';\nexport {DeliveryTypeTileModule as ɵda} from './lib/component/delivery-type-tile/delivery-type-tile.module';\nexport {DialogCatalogComponent as ɵjj} from './lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component';\nexport {DialogCatalogModule as ɵji} from './lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module';\nexport {DialogHeaderSearchComponent as ɵet} from './lib/component/dialog/dialog-header-search/dialog-header-search.component';\nexport {DialogHeaderSearchModule as ɵes} from './lib/component/dialog/dialog-header-search/dialog-header-search.module';\nexport {DialogTransactionHeaderDeliveryMethodComponent as ɵeu} from './lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component';\nexport {DialogTransactionHeaderDeliveryMethodModule as ɵer} from './lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.module';\nexport {DialogTransactionHeaderDiscountComponent as ɵcu} from './lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component';\nexport {DialogTransactionHeaderDiscountModule as ɵcl} from './lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.module';\nexport {DialogTransactionLineCommissionCodeComponent as ɵio} from './lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component';\nexport {DialogTransactionLineCommissionCodeModule as ɵin} from './lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.module';\nexport {DialogTransactionLineDeliveryMethodComponent as ɵiv} from './lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component';\nexport {DialogTransactionLineDeliveryMethodModule as ɵiu} from './lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.module';\nexport {DialogTransactionLineDiscountComponent as ɵjb} from './lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component';\nexport {DialogTransactionLineDiscountModule as ɵiy} from './lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.module';\nexport {DialogTransactionLinePriceListComponent as ɵja} from './lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component';\nexport {DialogTransactionLinePriceListModule as ɵiz} from './lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.module';\nexport {DialogTransactionLineSupplierComponent as ɵli} from './lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component';\nexport {DialogTransactionLineSupplierModule as ɵlh} from './lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module';\nexport {DialogTransactionLineVatComponent as ɵix} from './lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component';\nexport {DialogTransactionLineVatModule as ɵiw} from './lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module';\nexport {DialogTransactionLineWarehouseCcComponent as ɵit} from './lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component';\nexport {DialogTransactionLineWarehouseCcModule as ɵis} from './lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module';\nexport {DialogTransactionLineWarehouseLocationComponent as ɵkc} from './lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component';\nexport {DialogTransactionLineWarehouseLocationModule as ɵjz} from './lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.module';\nexport {DialogTransactionLineWarehouseComponent as ɵir} from './lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component';\nexport {DialogTransactionLineWarehouseModule as ɵiq} from './lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.module';\nexport {DiscountComponent as ɵje} from './lib/component/discount/discount.component';\nexport {DiscountModule as ɵjd} from './lib/component/discount/discount.module';\nexport {DownPaymentComponent as ɵdi} from './lib/component/down-payment/down-payment.component';\nexport {DownPaymentModule as ɵdh} from './lib/component/down-payment/down-payment.module';\nexport {EditableLabelComponent as ɵkm} from './lib/component/editable-label/editable-label.component';\nexport {EditableLabelModule as ɵkl} from './lib/component/editable-label/editable-label.module';\nexport {PaymentQrCodeComponent as ɵdg} from './lib/component/payment-qr-code/payment-qr-code.component';\nexport {PaymentQrCodeModule as ɵdf} from './lib/component/payment-qr-code/payment-qr-code.module';\nexport {PaymentTileComponent as ɵde} from './lib/component/payment-tile/payment-tile.component';\nexport {PaymentTileModule as ɵdd} from './lib/component/payment-tile/payment-tile.module';\nexport {PaymentComponent as ɵdk} from './lib/component/payment/payment.component';\nexport {PaymentModule as ɵdc} from './lib/component/payment/payment.module';\nexport {QuickSendButtonComponent as ɵjg} from './lib/component/quick-send-button/quick-send-button.component';\nexport {QuickSendButtonModule as ɵjf} from './lib/component/quick-send-button/quick-send-button.module';\nexport {RelationAddressSelectComponent as ɵbv} from './lib/component/relation/relation-address-select/relation-address-select.component';\nexport {RelationAddressSelectModule as ɵbq} from './lib/component/relation/relation-address-select/relation-address-select.module';\nexport {RelationAddressTileComponent as ɵbu} from './lib/component/relation/relation-address-tile/relation-address-tile.component';\nexport {RelationAddressTileModule as ɵbr} from './lib/component/relation/relation-address-tile/relation-address-tile.module';\nexport {RelationAddressComponent as ɵbo} from './lib/component/relation/relation-address/relation-address.component';\nexport {RelationAddressModule as ɵbn} from './lib/component/relation/relation-address/relation-address.module';\nexport {RelationAddressesComponent as ɵdu} from './lib/component/relation/relation-addresses/relation-addresses.component';\nexport {RelationAddressesModule as ɵdt} from './lib/component/relation/relation-addresses/relation-addresses.module';\nexport {RelationBaseComponent as ɵbp} from './lib/component/relation/relation-base.component';\nexport {RelationContactDetailsComponent as ɵdw} from './lib/component/relation/relation-contact-details/relation-contact-details.component';\nexport {RelationContactDetailsModule as ɵdv} from './lib/component/relation/relation-contact-details/relation-contact-details.module';\nexport {RelationGeneralComponent as ɵds} from './lib/component/relation/relation-general/relation-general.component';\nexport {RelationGeneralModule as ɵdn} from './lib/component/relation/relation-general/relation-general.module';\nexport {RelationPreferencesComponent as ɵdy} from './lib/component/relation/relation-preferences/relation-preferences.component';\nexport {RelationPreferencesModule as ɵdx} from './lib/component/relation/relation-preferences/relation-preferences.module';\nexport {RelationSuggestionsListItemComponent as ɵdq} from './lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component';\nexport {RelationSuggestionsListItemModule as ɵdp} from './lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.module';\nexport {RelationSuggestionsListComponent as ɵdr} from './lib/component/relation/relation-suggestions-list/relation-suggestions-list.component';\nexport {RelationSuggestionsListModule as ɵdo} from './lib/component/relation/relation-suggestions-list/relation-suggestions-list.module';\nexport {RelationTypeComponent as ɵdm} from './lib/component/relation/relation-type/relation-type.component';\nexport {RelationTypeModule as ɵdl} from './lib/component/relation/relation-type/relation-type.module';\nexport {TransactionArticleTextOverviewComponent as ɵij} from './lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component';\nexport {TransactionArticleTextOverviewModule as ɵii} from './lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module';\nexport {TransactionArticleTextComponent as ɵcj} from './lib/component/shared/transaction-article-text/transaction-article-text.component';\nexport {TransactionArticleTextModule as ɵcc} from './lib/component/shared/transaction-article-text/transaction-article-text.module';\nexport {StepperStepComponent as ɵby} from './lib/component/stepper/component/stepper-step.component';\nexport {StepperComponent as ɵbx} from './lib/component/stepper/stepper.component';\nexport {StepperModule as ɵbw} from './lib/component/stepper/stepper.module';\nexport {TileComponent as ɵbt} from './lib/component/tile/tile.component';\nexport {TileModule as ɵbs} from './lib/component/tile/tile.module';\nexport {TransactionAllocateGoodsHistoryComponent as ɵid} from './lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component';\nexport {TransactionAllocateGoodsHistoryModule as ɵic} from './lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module';\nexport {TransactionButtonBarButtonBaseComponent as ɵhm} from './lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component';\nexport {TransactionButtonBarButtonComponent as ɵhl} from './lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component';\nexport {TransactionSalesPurchaseButtonBarButtonComponent as ɵhn} from './lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component';\nexport {TransactionButtonBarComponent as ɵhk} from './lib/component/transaction-button-bar/transaction-button-bar.component';\nexport {TransactionButtonBarModule as ɵhh} from './lib/component/transaction-button-bar/transaction-button-bar.module';\nexport {TransactionAvailableStockGridComponent as ɵhs} from './lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component';\nexport {TransactionAvailableStockGridModule as ɵhr} from './lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.module';\nexport {TransactionBaseGridComponent as ɵil} from './lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component';\nexport {TransactionBaseGridModule as ɵfu} from './lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module';\nexport {TransactionGridComponent as ɵkh} from './lib/component/transaction-grid/transaction-grid/transaction-grid.component';\nexport {TransactionGridModule as ɵkg} from './lib/component/transaction-grid/transaction-grid/transaction-grid.module';\nexport {TransactionHistoryGridComponent as ɵhf} from './lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component';\nexport {TransactionHistoryGridModule as ɵhc} from './lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module';\nexport {TransactionLinesGridComponent as ɵjc} from './lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component';\nexport {TransactionLinesGridModule as ɵft} from './lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module';\nexport {TransactionOrderConfirmationGridComponent as ɵjx} from './lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.component';\nexport {TransactionOrderConfirmationGridModule as ɵjw} from './lib/component/transaction-grid/transaction-order-confirmation-grid/transaction-order-confirmation-grid.module';\nexport {TransactionReceivedGoodsGridComponent as ɵkd} from './lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component';\nexport {TransactionReceivedGoodsGridModule as ɵjy} from './lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module';\nexport {TransactionHeaderAdministrativeRelationComponent as ɵfh} from './lib/component/transaction-header-fields/transaction-header-administrative-relation.component';\nexport {TransactionHeaderAdministrativeRelationModule as ɵfg} from './lib/component/transaction-header-fields/transaction-header-administrative-relation.module';\nexport {TransactionHeaderBranchComponent as ɵff} from './lib/component/transaction-header-fields/transaction-header-branch.component';\nexport {TransactionHeaderBranchModule as ɵfe} from './lib/component/transaction-header-fields/transaction-header-branch.module';\nexport {TransactionHeaderDefinitiveComponent as ɵfd} from './lib/component/transaction-header-fields/transaction-header-definitive.component';\nexport {TransactionHeaderDefinitiveModule as ɵfc} from './lib/component/transaction-header-fields/transaction-header-definitive.module';\nexport {TransactionHeaderDeliveryDateComponent as ɵec} from './lib/component/transaction-header-fields/transaction-header-delivery-date.component';\nexport {TransactionHeaderDeliveryDateModule as ɵeb} from './lib/component/transaction-header-fields/transaction-header-delivery-date.module';\nexport {TransactionHeaderDeliveryMethodComponent as ɵeo} from './lib/component/transaction-header-fields/transaction-header-delivery-method.component';\nexport {TransactionHeaderDeliveryMethodModule as ɵel} from './lib/component/transaction-header-fields/transaction-header-delivery-method.module';\nexport {TransactionHeaderDeliveryOptionsComponent as ɵee} from './lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component';\nexport {TransactionHeaderDeliveryOptionsModule as ɵed} from './lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module';\nexport {TransactionHeaderDiscountAmountComponent as ɵcr} from './lib/component/transaction-header-fields/transaction-header-discount-amount.component';\nexport {TransactionHeaderDiscountAmountModule as ɵcq} from './lib/component/transaction-header-fields/transaction-header-discount-amount.module';\nexport {TransactionHeaderDiscountPercentageComponent as ɵcn} from './lib/component/transaction-header-fields/transaction-header-discount-percentage.component';\nexport {TransactionHeaderDiscountPercentageModule as ɵcm} from './lib/component/transaction-header-fields/transaction-header-discount-percentage.module';\nexport {TransactionHeaderDiscountTransactionTotalComponent as ɵct} from './lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component';\nexport {TransactionHeaderDiscountTransactionTotalModule as ɵcs} from './lib/component/transaction-header-fields/transaction-header-discount-transaction-total.module';\nexport {TransactionHeaderDownpaymentAmountComponent as ɵfb} from './lib/component/transaction-header-fields/transaction-header-downpayment-amount.component';\nexport {TransactionHeaderDownpaymentAmountModule as ɵfa} from './lib/component/transaction-header-fields/transaction-header-downpayment-amount.module';\nexport {TransactionHeaderDownpaymentPercentageComponent as ɵez} from './lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component';\nexport {TransactionHeaderDownpaymentPercentageModule as ɵey} from './lib/component/transaction-header-fields/transaction-header-downpayment-percentage.module';\nexport {TransactionHeaderMarketingComponent as ɵfj} from './lib/component/transaction-header-fields/transaction-header-marketing.component';\nexport {TransactionHeaderMarketingModule as ɵfi} from './lib/component/transaction-header-fields/transaction-header-marketing.module';\nexport {TransactionHeaderPartialDeliveryComponent as ɵew} from './lib/component/transaction-header-fields/transaction-header-partial-delivery.component';\nexport {TransactionHeaderPartialDeliveryModule as ɵev} from './lib/component/transaction-header-fields/transaction-header-partial-delivery.module';\nexport {TransactionHeaderPreferredDeliveryDateComponent as ɵeq} from './lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component';\nexport {TransactionHeaderPreferredDeliveryDateModule as ɵep} from './lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.module';\nexport {TransactionHeaderReferenceComponent as ɵei} from './lib/component/transaction-header-fields/transaction-header-reference.component';\nexport {TransactionHeaderReferenceModule as ɵeh} from './lib/component/transaction-header-fields/transaction-header-reference.module';\nexport {TransactionHeaderRelationReferenceComponent as ɵek} from './lib/component/transaction-header-fields/transaction-header-relation-reference.component';\nexport {TransactionHeaderRelationReferenceModule as ɵej} from './lib/component/transaction-header-fields/transaction-header-relation-reference.module';\nexport {TransactionHeaderRemarksComponent as ɵeg} from './lib/component/transaction-header-fields/transaction-header-remarks.component';\nexport {TransactionHeaderRemarksModule as ɵef} from './lib/component/transaction-header-fields/transaction-header-remarks.module';\nexport {TransactionHeaderPaymentComponent as ɵfs} from './lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component';\nexport {TransactionHeaderPaymentModule as ɵfr} from './lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module';\nexport {TransactionHistoryGridStatusComponent as ɵhe} from './lib/component/transaction-history-grid-status/transaction-history-grid-status.component';\nexport {TransactionHistoryGridStatusModule as ɵhd} from './lib/component/transaction-history-grid-status/transaction-history-grid-status.module';\nexport {TransactionLineActionButtonsComponent as ɵik} from './lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component';\nexport {TransactionLineActionButtonsModule as ɵih} from './lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module';\nexport {TransactionLineCheckboxListComponent as ɵen} from './lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component';\nexport {TransactionLineCheckboxModule as ɵem} from './lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module';\nexport {TransactionLineAmountComponent as ɵkz} from './lib/component/transaction-line-fields/transaction-line-amount.component';\nexport {TransactionLineAmountModule as ɵky} from './lib/component/transaction-line-fields/transaction-line-amount.module';\nexport {TransactionLineCommissionButtonComponent as ɵkr} from './lib/component/transaction-line-fields/transaction-line-commission-button.component';\nexport {TransactionLineCommissionButtonModule as ɵkq} from './lib/component/transaction-line-fields/transaction-line-commission-button.module';\nexport {TransactionLineCommissionCodeComponent as ɵgn} from './lib/component/transaction-line-fields/transaction-line-commission-code.component';\nexport {TransactionLineCommissionCodeModule as ɵgm} from './lib/component/transaction-line-fields/transaction-line-commission-code.module';\nexport {TransactionLineDeliveryButtonComponent as ɵkv} from './lib/component/transaction-line-fields/transaction-line-delivery-button.component';\nexport {TransactionLineDeliveryButtonModule as ɵku} from './lib/component/transaction-line-fields/transaction-line-delivery-button.module';\nexport {TransactionLineDeliveryDateButtonComponent as ɵkx} from './lib/component/transaction-line-fields/transaction-line-delivery-date-button.component';\nexport {TransactionLineDeliveryDateButtonModule as ɵkw} from './lib/component/transaction-line-fields/transaction-line-delivery-date-button.module';\nexport {TransactionLineDeliveryDateComponent as ɵgj} from './lib/component/transaction-line-fields/transaction-line-delivery-date.component';\nexport {TransactionLineDeliveryDateModule as ɵgi} from './lib/component/transaction-line-fields/transaction-line-delivery-date.module';\nexport {TransactionLineDeliveryMethodComponent as ɵgh} from './lib/component/transaction-line-fields/transaction-line-delivery-method.component';\nexport {TransactionLineDeliveryMethodModule as ɵgg} from './lib/component/transaction-line-fields/transaction-line-delivery-method.module';\nexport {TransactionLineDescriptionComponent as ɵcf} from './lib/component/transaction-line-fields/transaction-line-description.component';\nexport {TransactionLineDescriptionModule as ɵce} from './lib/component/transaction-line-fields/transaction-line-description.module';\nexport {TransactionLineDiscountAmountComponent as ɵgr} from './lib/component/transaction-line-fields/transaction-line-discount-amount.component';\nexport {TransactionLineDiscountAmountModule as ɵgq} from './lib/component/transaction-line-fields/transaction-line-discount-amount.module';\nexport {TransactionLineLineDiscountComponent as ɵgf} from './lib/component/transaction-line-fields/transaction-line-line-discount.component';\nexport {TransactionLineLineDiscountModule as ɵge} from './lib/component/transaction-line-fields/transaction-line-line-discount.module';\nexport {TransactionLinePriceListComponent as ɵfy} from './lib/component/transaction-line-fields/transaction-line-price-list.component';\nexport {TransactionLinePriceListModule as ɵfx} from './lib/component/transaction-line-fields/transaction-line-price-list.module';\nexport {TransactionLinePriceComponent as ɵgz} from './lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component';\nexport {TransactionLinePriceModule as ɵgy} from './lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.module';\nexport {TransactionLineQuantityComponent as ɵgd} from './lib/component/transaction-line-fields/transaction-line-quantity.component';\nexport {TransactionLineQuantityModule as ɵgc} from './lib/component/transaction-line-fields/transaction-line-quantity.module';\nexport {TransactionLineQuantumDiscountComponent as ɵgt} from './lib/component/transaction-line-fields/transaction-line-quantum-discount.component';\nexport {TransactionLineQuantumDiscountModule as ɵgs} from './lib/component/transaction-line-fields/transaction-line-quantum-discount.module';\nexport {TransactionLineReferenceComponent as ɵgl} from './lib/component/transaction-line-fields/transaction-line-reference.component';\nexport {TransactionLineReferenceModule as ɵgk} from './lib/component/transaction-line-fields/transaction-line-reference.module';\nexport {TransactionLineSpecialDiscountComponent as ɵgv} from './lib/component/transaction-line-fields/transaction-line-special-discount.component';\nexport {TransactionLineSpecialDiscountModule as ɵgu} from './lib/component/transaction-line-fields/transaction-line-special-discount.module';\nexport {TransactionLineSupplierButtonComponent as ɵlj} from './lib/component/transaction-line-fields/transaction-line-supplier-button.component';\nexport {TransactionLineSupplierButtonModule as ɵlg} from './lib/component/transaction-line-fields/transaction-line-supplier-button.module';\nexport {TransactionLineSupplierComponent as ɵgx} from './lib/component/transaction-line-fields/transaction-line-supplier.component';\nexport {TransactionLineSupplierModule as ɵgw} from './lib/component/transaction-line-fields/transaction-line-supplier.module';\nexport {TransactionLineVatComponent as ɵgb} from './lib/component/transaction-line-fields/transaction-line-vat.component';\nexport {TransactionLineVatModule as ɵga} from './lib/component/transaction-line-fields/transaction-line-vat.module';\nexport {TransactionLineWarehouseButtonComponent as ɵkt} from './lib/component/transaction-line-fields/transaction-line-warehouse-button.component';\nexport {TransactionLineWarehouseButtonModule as ɵks} from './lib/component/transaction-line-fields/transaction-line-warehouse-button.module';\nexport {TransactionLineWarehouseLocationButtonComponent as ɵhv} from './lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component';\nexport {TransactionLineWarehouseLocationButtonModule as ɵhu} from './lib/component/transaction-line-fields/transaction-line-warehouse-location-button.module';\nexport {TransactionLineWarehouseLocationComponent as ɵkb} from './lib/component/transaction-line-fields/transaction-line-warehouse-location.component';\nexport {TransactionLineWarehouseLocationModule as ɵka} from './lib/component/transaction-line-fields/transaction-line-warehouse-location.module';\nexport {TransactionLineWarehouseComponent as ɵgp} from './lib/component/transaction-line-fields/transaction-line-warehouse.component';\nexport {TransactionLineWarehouseModule as ɵgo} from './lib/component/transaction-line-fields/transaction-line-warehouse.module';\nexport {TransactionLineImageAndDescriptionComponent as ɵch} from './lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component';\nexport {TransactionLineImageAndDescriptionModule as ɵcd} from './lib/component/transaction-line-image-and-description/transaction-line-image-and-description.module';\nexport {TransactionLineSidePanelDefaultComponent as ɵha} from './lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component';\nexport {TransactionLineSidePanelDefaultModule as ɵfw} from './lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.module';\nexport {TransactionLineSidePanelPurchaseComponent as ɵia} from './lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component';\nexport {TransactionLineSidePanelPurchaseModule as ɵho} from './lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module';\nexport {TransactionLineSidePanelSalesComponent as ɵie} from './lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component';\nexport {TransactionLineSidePanelSalesModule as ɵib} from './lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module';\nexport {TransactionLineSidePanelComponent as ɵif} from './lib/component/transaction-line-side-panel/transaction-line-side-panel.component';\nexport {TransactionLineSidePanelModule as ɵfv} from './lib/component/transaction-line-side-panel/transaction-line-side-panel.module';\nexport {TransactionBaseLineComponent as ɵko} from './lib/component/transaction-line/transaction-base-line/transaction-base-line.component';\nexport {TransactionBaseLineModule as ɵkn} from './lib/component/transaction-line/transaction-base-line/transaction-base-line.module';\nexport {TransactionAllocateGoodsService as ɵjt} from './lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service';\nexport {TransactionGoodsAllocationLineComponent as ɵlm} from './lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component';\nexport {TransactionGoodsAllocationLineModule as ɵll} from './lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module';\nexport {TransactionLineComponent as ɵca} from './lib/component/transaction-line/transaction-line/transaction-line.component';\nexport {TransactionLineModule as ɵbz} from './lib/component/transaction-line/transaction-line/transaction-line.module';\nexport {TransactionOrderDeliveryService as ɵjo} from './lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service';\nexport {TransactionOrderDeliveryLineComponent as ɵlc} from './lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component';\nexport {TransactionOrderDeliveryLineModule as ɵlb} from './lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module';\nexport {TransactionOverviewLineComponent as ɵla} from './lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component';\nexport {TransactionOverviewLineModule as ɵkk} from './lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module';\nexport {TransactionPurchaseLineComponent as ɵlk} from './lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component';\nexport {TransactionPurchaseLineModule as ɵlf} from './lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module';\nexport {TransactionReceiveGoodsService as ɵck} from './lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service';\nexport {TransactionReceiveGoodsLineComponent as ɵle} from './lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component';\nexport {TransactionReceiveGoodsLineModule as ɵld} from './lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module';\nexport {TransactionQuickAccessGoodsAllocationComponent as ɵjs} from './lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component';\nexport {TransactionQuickAccessGoodsAllocationModule as ɵjr} from './lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module';\nexport {TransactionQuickAccessOrderDeliveryComponent as ɵjn} from './lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component';\nexport {TransactionQuickAccessOrderDeliveryModule as ɵjm} from './lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module';\nexport {TransactionQuickAccessOrderPurchaseComponent as ɵjq} from './lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component';\nexport {TransactionQuickAccessOrderPurchaseModule as ɵjp} from './lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module';\nexport {TransactionQuickAccessOverviewComponent as ɵjk} from './lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component';\nexport {TransactionQuickAccessOverviewModule as ɵjh} from './lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module';\nexport {TransactionQuickAccessPurchaseOrderOverviewComponent as ɵjv} from './lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component';\nexport {TransactionQuickAccessPurchaseOrderOverviewModule as ɵju} from './lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.module';\nexport {TransactionQuickAccessSendMethodBaseComponent as ɵjl} from './lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component';\nexport {TransactionReceivingGoodsHistoryComponent as ɵhg} from './lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component';\nexport {TransactionReceivingGoodsHistoryModule as ɵhb} from './lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module';\nexport {FilterRequestService as ɵml} from './lib/component/transaction-search/service/filter-request.service';\nexport {TransactionFilterCategoriesComponent as ɵfq} from './lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.component';\nexport {TransactionFilterCategoriesModule as ɵfp} from './lib/component/transaction-search/transaction-filter-categories/transaction-filter-categories.module';\nexport {TransactionPurchaseOrderFilterContentArticleComponent as ɵna} from './lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component';\nexport {TransactionPurchaseOrderFilterContentArticleModule as ɵmz} from './lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.module';\nexport {TransactionPurchaseOrderFilterContentLogisticsComponent as ɵmy} from './lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component';\nexport {TransactionPurchaseOrderFilterContentLogisticsModule as ɵmx} from './lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.module';\nexport {TransactionPurchaseOrderFilterContentOrderComponent as ɵmw} from './lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component';\nexport {TransactionPurchaseOrderFilterContentOrderModule as ɵmv} from './lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.module';\nexport {TransactionSalesOrderFilterContentArticleComponent as ɵmr} from './lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component';\nexport {TransactionSalesOrderFilterContentArticleModule as ɵmq} from './lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.module';\nexport {TransactionSalesOrderFilterContentLogisticsComponent as ɵmp} from './lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component';\nexport {TransactionSalesOrderFilterContentLogisticsModule as ɵmm} from './lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.module';\nexport {TransactionSalesOrderFilterContentOrderComponent as ɵmj} from './lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component';\nexport {TransactionSalesOrderFilterContentOrderModule as ɵmg} from './lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.module';\nexport {TransactionFilterHistoricStateComponent as ɵmo} from './lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component';\nexport {TransactionFilterHistoricStateModule as ɵmn} from './lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module';\nexport {TransactionFilterItemComponent as ɵmi} from './lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component';\nexport {TransactionFilterItemModule as ɵmh} from './lib/component/transaction-search/transaction-filter-item/transaction-filter-item.module';\nexport {TransactionFilterComponent as ɵnd} from './lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component';\nexport {TransactionFilterModule as ɵnc} from './lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.module';\nexport {TransactionPurchaseOrderFilterComponent as ɵnb} from './lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.component';\nexport {TransactionPurchaseOrderFilterModule as ɵmu} from './lib/component/transaction-search/transaction-filter/transaction-purchase-order-filter/transaction-purchase-order-filter.module';\nexport {TransactionSalesOrderFilterComponent as ɵms} from './lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component';\nexport {TransactionSalesOrderFilterModule as ɵmf} from './lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.module';\nexport {TransactionSearchGridComponent as ɵmb} from './lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.component';\nexport {TransactionSearchGridModule as ɵma} from './lib/component/transaction-search/transaction-search-grid/transaction-search-grid/transaction-search-grid.module';\nexport {TransactionSearchPurchaseOrderGridComponent as ɵlx} from './lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.component';\nexport {TransactionSearchPurchaseOrderGridModule as ɵlw} from './lib/component/transaction-search/transaction-search-grid/transaction-search-purchase-order-grid/transaction-search-purchase-order-grid.module';\nexport {TransactionSearchSalesOrderGridComponent as ɵlu} from './lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component';\nexport {TransactionSearchSalesOrderGridModule as ɵlt} from './lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module';\nexport {TransactionSearchHeaderComponent as ɵlz} from './lib/component/transaction-search/transaction-search-header/transaction-search-header.component';\nexport {TransactionSearchHeaderModule as ɵly} from './lib/component/transaction-search/transaction-search-header/transaction-search-header.module';\nexport {TransactionSearchResultComponent as ɵme} from './lib/component/transaction-search/transaction-search-result/transaction-search-result.component';\nexport {TransactionSearchResultModule as ɵln} from './lib/component/transaction-search/transaction-search-result/transaction-search-result.module';\nexport {TransactionSearchPurchaseOrderTileComponent as ɵls} from './lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.component';\nexport {TransactionSearchPurchaseOrderTileModule as ɵlr} from './lib/component/transaction-search/transaction-search-tile/transaction-search-purchase-order-tile/transaction-search-purchase-order-tile.module';\nexport {TransactionSearchSalesOrderTileComponent as ɵlp} from './lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component';\nexport {TransactionSearchSalesOrderTileModule as ɵlo} from './lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module';\nexport {TransactionSearchTileComponent as ɵmd} from './lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.component';\nexport {TransactionSearchTileModule as ɵmc} from './lib/component/transaction-search/transaction-search-tile/transaction-search-tile/transaction-search-tile.module';\nexport {AllocationRequestComponent as ɵhx} from './lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component';\nexport {ReceiveGoodsRequestComponent as ɵhy} from './lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component';\nexport {TransactionSidePanelEditRequestDetailsComponent as ɵhw} from './lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component';\nexport {TransactionSidePanelEditRequestDetailsModule as ɵht} from './lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module';\nexport {TransactionTileComponent as ɵkj} from './lib/component/transaction-tile/transaction-tile.component';\nexport {TransactionTileModule as ɵki} from './lib/component/transaction-tile/transaction-tile.module';\nexport {ViewModeButtonsComponent as ɵkf} from './lib/component/view-mode-buttons/view-mode-buttons.component';\nexport {ViewModeButtonsModule as ɵke} from './lib/component/view-mode-buttons/view-mode-buttons.module';\nexport {AppendPipe as ɵt} from './lib/pipe/append.pipe';\nexport {CoCurrencyPipe as ɵx} from './lib/pipe/co-currency.pipe';\nexport {DateDurationPipe as ɵv} from './lib/pipe/date-duration.pipe';\nexport {DeliveryTimePipe as ɵu} from './lib/pipe/delivery-time.pipe';\nexport {LocalizePipe as ɵw} from './lib/pipe/localize.pipe';\nexport {PipeModule as ɵs} from './lib/pipe/pipe.module';\nexport {SafeHtmlPipe as ɵz} from './lib/pipe/safe-html.pipe';\nexport {SafeStylePipe as ɵy} from './lib/pipe/safe-style.pipe';\nexport {ArticleConnectorService as ɵn} from './lib/service/article-connector.service';\nexport {ArticleService as ɵhz} from './lib/service/article.service';\nexport {DialogService as ɵd} from './lib/service/dialog.service';\nexport {DictionaryService as ɵc} from './lib/service/dictionary.service';\nexport {DynamicComponentService as ɵe} from './lib/service/dynamic-component.service';\nexport {ErrorService as ɵl} from './lib/service/error.service';\nexport {IconCacheService as ɵbc} from './lib/service/icon-cache.service';\nexport {OptionsService as ɵb} from './lib/service/options.service';\nexport {PaymentService as ɵdj} from './lib/service/payment.service';\nexport {PendingReasonService as ɵa} from './lib/service/pending-reason.service';\nexport {RelationConnectorService as ɵp} from './lib/service/relation-connector.service';\nexport {SharedConnectorService as ɵcz} from './lib/service/shared-connector.service';\nexport {SharedService as ɵcy} from './lib/service/shared.service';\nexport {TransactionConnectorAdapterService as ɵg} from './lib/service/transaction-connector-adapter.service';\nexport {TransactionConnectorService as ɵf} from './lib/service/transaction-connector.service';\nexport {TransactionEventService as ɵo} from './lib/service/transaction-event.service';\nexport {TransactionImageService as ɵci} from './lib/service/transaction-image.service';\nexport {TransactionMappingService as ɵcb} from './lib/service/transaction-mapping.service';"],"names":["SharedService","RelationKind"],"mappings":"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"}