@colijnit/transaction 12.1.7 → 12.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. package/README.md +10 -13
  2. package/bundles/colijnit-transaction.umd.js +5378 -7324
  3. package/bundles/colijnit-transaction.umd.js.map +1 -1
  4. package/colijnit-transaction.d.ts +45 -58
  5. package/colijnit-transaction.metadata.json +1 -1
  6. package/esm2015/colijnit-transaction.js +46 -59
  7. package/esm2015/lib/assets/dictionary/text.properties.js +346 -0
  8. package/esm2015/lib/component/checkout/checkout-login/checkout-login.component.js +106 -0
  9. package/esm2015/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +47 -0
  10. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +443 -0
  11. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +371 -0
  12. package/esm2015/lib/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +30 -0
  13. package/esm2015/lib/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +31 -0
  14. package/esm2015/lib/component/checkout/checkout.component.js +102 -0
  15. package/esm2015/lib/component/checkout/checkout.module.js +77 -0
  16. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +38 -0
  17. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.module.js +24 -0
  18. package/esm2015/lib/component/core/base/dialog-base.component.js +6 -0
  19. package/esm2015/lib/component/core/base/transaction-base.component.js +96 -0
  20. package/esm2015/lib/component/core/core.module.js +36 -0
  21. package/esm2015/lib/component/core/enum/app-popup-button-type.enum.js +11 -0
  22. package/esm2015/{app → lib}/component/core/icon/icon.component.js +3 -4
  23. package/esm2015/lib/component/core/image-display/image-display.component.js +29 -0
  24. package/esm2015/lib/component/core/relation/customer-groups.component.js +40 -0
  25. package/esm2015/{app → lib}/component/core/stock-status-indicator/stock-status-indicator.component.js +2 -2
  26. package/esm2015/lib/component/discount/discount.component.js +107 -0
  27. package/esm2015/lib/component/discount/discount.module.js +29 -0
  28. package/esm2015/lib/component/relation-address/relation-address.component.js +125 -0
  29. package/esm2015/lib/component/relation-address/relation-address.module.js +28 -0
  30. package/esm2015/lib/component/relation-address-select/relation-address-select.component.js +146 -0
  31. package/esm2015/lib/component/relation-address-select/relation-address-select.module.js +33 -0
  32. package/esm2015/lib/component/relation-address-tile/relation-address-tile.component.js +73 -0
  33. package/esm2015/lib/component/relation-address-tile/relation-address-tile.module.js +30 -0
  34. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +118 -0
  35. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.module.js +31 -0
  36. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +129 -0
  37. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.js +34 -0
  38. package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +57 -0
  39. package/esm2015/lib/component/shopping-cart/shopping-cart.module.js +27 -0
  40. package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.component.js +51 -0
  41. package/esm2015/lib/component/shopping-cart-preview/shopping-cart-preview.module.js +29 -0
  42. package/esm2015/lib/component/stepper/component/stepper-step.component.js +40 -0
  43. package/esm2015/lib/component/stepper/stepper.component.js +126 -0
  44. package/esm2015/lib/component/stepper/stepper.module.js +26 -0
  45. package/esm2015/lib/component/transaction/transaction.component.js +96 -0
  46. package/esm2015/lib/component/transaction/transaction.module.js +39 -0
  47. package/esm2015/lib/component/transaction-header/transaction-header.component.js +36 -0
  48. package/esm2015/lib/component/transaction-header/transaction-header.module.js +27 -0
  49. package/esm2015/lib/component/transaction-header-contact/transaction-header-contact.component.js +34 -0
  50. package/esm2015/lib/component/transaction-header-contact/transaction-header-contact.module.js +19 -0
  51. package/esm2015/lib/component/transaction-header-delivery/transaction-header-delivery.component.js +57 -0
  52. package/esm2015/lib/component/transaction-header-delivery/transaction-header-delivery.module.js +21 -0
  53. package/esm2015/lib/component/transaction-header-relation/transaction-header-relation.component.js +35 -0
  54. package/esm2015/lib/component/transaction-header-relation/transaction-header-relation.module.js +19 -0
  55. package/esm2015/lib/component/transaction-line/transaction-line.component.js +250 -0
  56. package/esm2015/lib/component/transaction-line/transaction-line.module.js +30 -0
  57. package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.component.js +23 -0
  58. package/esm2015/lib/component/transaction-line-grid/transaction-line-grid.module.js +21 -0
  59. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +117 -0
  60. package/esm2015/lib/component/transaction-lines/transaction-lines.module.js +31 -0
  61. package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.component.js +58 -0
  62. package/esm2015/lib/component/transaction-lines-grid/transaction-lines-grid.module.js +26 -0
  63. package/esm2015/lib/component/transaction-totals/transaction-totals.component.js +44 -0
  64. package/esm2015/lib/component/transaction-totals/transaction-totals.module.js +23 -0
  65. package/esm2015/lib/enum/content-view-mode.enum.js +10 -0
  66. package/esm2015/lib/enum/icon.enum.js +17 -0
  67. package/esm2015/lib/enum/language-code.enum.js +8 -0
  68. package/esm2015/lib/enum/order-discount-type.enum.js +7 -0
  69. package/esm2015/lib/enum/time-size.type.js +10 -0
  70. package/esm2015/lib/factory/business-object-factory.js +120 -0
  71. package/esm2015/lib/factory/decorators/boolean.decorator.js +102 -0
  72. package/esm2015/lib/factory/decorators/complex-array.decorator.js +55 -0
  73. package/esm2015/lib/factory/decorators/complex-field.decorator.js +57 -0
  74. package/esm2015/lib/factory/decorators/date-field.decorator.js +36 -0
  75. package/esm2015/lib/factory/decorators/string-number.decorator.js +43 -0
  76. package/esm2015/lib/model/business-object.js +81 -0
  77. package/esm2015/lib/model/icon-svg.js +16 -0
  78. package/esm2015/lib/model/standard-text.js +3 -0
  79. package/esm2015/lib/model/text-value-container.js +3 -0
  80. package/esm2015/lib/pipe/append.pipe.js +17 -0
  81. package/esm2015/lib/pipe/co-currency.pipe.js +47 -0
  82. package/esm2015/lib/pipe/date-duration.pipe.js +57 -0
  83. package/esm2015/lib/pipe/delivery-time.pipe.js +33 -0
  84. package/esm2015/lib/pipe/localize.pipe.js +28 -0
  85. package/esm2015/lib/pipe/pipe.module.js +37 -0
  86. package/esm2015/lib/pipe/safe-html.pipe.js +19 -0
  87. package/esm2015/lib/pipe/safe-style.pipe.js +19 -0
  88. package/esm2015/lib/service/dialog.service.js +65 -0
  89. package/esm2015/lib/service/dictionary.service.js +76 -0
  90. package/esm2015/lib/service/icon-cache.service.js +51 -0
  91. package/esm2015/lib/service/ione-connector-adapter.service.js +578 -0
  92. package/esm2015/lib/service/options.service.js +69 -0
  93. package/esm2015/lib/service/pending-reason.service.js +171 -0
  94. package/esm2015/lib/service/transaction.service.js +513 -0
  95. package/esm2015/lib/utils/array-utils.js +183 -0
  96. package/esm2015/lib/utils/is-nill.function.js +5 -0
  97. package/esm2015/lib/utils/string-utils.js +64 -0
  98. package/esm2015/public_api.js +28 -10
  99. package/fesm2015/colijnit-transaction.js +5276 -7218
  100. package/fesm2015/colijnit-transaction.js.map +1 -1
  101. package/{assets → lib/assets}/dictionary/text.properties.d.ts +0 -0
  102. package/{app → lib}/component/checkout/checkout-login/checkout-login.component.d.ts +0 -0
  103. package/{app → lib}/component/checkout/checkout-login/checkout-login.component.scss +0 -0
  104. package/{app → lib}/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.d.ts +0 -0
  105. package/{app → lib}/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.scss +0 -0
  106. package/{app → lib}/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +38 -14
  107. package/lib/component/checkout/checkout-overview-delivery-edit/style/_layout.scss +91 -0
  108. package/lib/component/checkout/checkout-overview-delivery-edit/style/_material-definition.scss +12 -0
  109. package/lib/component/checkout/checkout-overview-delivery-edit/style/_theme.scss +17 -0
  110. package/lib/component/checkout/checkout-overview-delivery-edit/style/material.scss +8 -0
  111. package/{app → lib}/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +11 -11
  112. package/{app → lib}/component/checkout/checkout-overview-relation-edit/style/_layout.scss +22 -17
  113. package/lib/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +17 -0
  114. package/{app → lib}/component/checkout/checkout-overview-relation-edit/style/_theme.scss +1 -1
  115. package/{app → lib}/component/checkout/checkout-overview-relation-edit/style/material.scss +2 -1
  116. package/{app → lib}/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.d.ts +0 -0
  117. package/{app → lib}/component/checkout/checkout-relation-suggestions-list/style/_layout.scss +2 -2
  118. package/{app/component/checkout/checkout-overview-relation-address → lib/component/checkout/checkout-relation-suggestions-list}/style/_material-definition.scss +0 -0
  119. package/{app → lib}/component/checkout/checkout-relation-suggestions-list/style/_theme.scss +1 -1
  120. package/{app → lib}/component/checkout/checkout-relation-suggestions-list/style/material.scss +1 -1
  121. package/{app → lib}/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.d.ts +0 -0
  122. package/{app → lib}/component/checkout/checkout-relation-suggestions-list-item/style/_layout.scss +1 -1
  123. package/{app → lib}/component/checkout/checkout-relation-suggestions-list-item/style/_material-definition.scss +0 -0
  124. package/{app → lib}/component/checkout/checkout-relation-suggestions-list-item/style/_theme.scss +1 -1
  125. package/{app/component/core/base → lib/component/checkout/checkout-relation-suggestions-list-item}/style/material.scss +1 -1
  126. package/lib/component/checkout/checkout.component.d.ts +27 -0
  127. package/lib/component/checkout/checkout.module.d.ts +2 -0
  128. package/lib/component/checkout/style/_layout.scss +6 -0
  129. package/{app/component/checkout/checkout-relation-suggestions-list → lib/component/checkout}/style/_material-definition.scss +0 -0
  130. package/lib/component/checkout/style/_theme.scss +8 -0
  131. package/lib/component/checkout/style/material.scss +8 -0
  132. package/lib/component/confirmation-dialog/confirmation-dialog.component.d.ts +8 -0
  133. package/lib/component/confirmation-dialog/confirmation-dialog.module.d.ts +2 -0
  134. package/lib/component/confirmation-dialog/style/_layout.scss +22 -0
  135. package/lib/component/confirmation-dialog/style/_material-definition.scss +2 -0
  136. package/lib/component/confirmation-dialog/style/_theme.scss +6 -0
  137. package/{app/component/checkout/checkout-overview-relation-address → lib/component/confirmation-dialog}/style/material.scss +1 -1
  138. package/lib/component/core/base/dialog-base.component.d.ts +4 -0
  139. package/{app → lib}/component/core/base/style/_layout.scss +1 -1
  140. package/{app → lib}/component/core/base/style/_material-definition.scss +0 -0
  141. package/{app → lib}/component/core/base/style/_theme.scss +1 -1
  142. package/{app/component/core/image-display → lib/component/core/base}/style/material.scss +1 -1
  143. package/{app → lib}/component/core/base/transaction-base.component.d.ts +7 -23
  144. package/{app → lib}/component/core/characteristic-answer/characteristic-answer.component.scss +3 -1
  145. package/{app → lib}/component/core/core.module.d.ts +0 -0
  146. package/lib/component/core/enum/app-popup-button-type.enum.d.ts +9 -0
  147. package/{app → lib}/component/core/icon/icon.component.d.ts +3 -2
  148. package/{app → lib}/component/core/icon/icon.component.scss +3 -1
  149. package/lib/component/core/image-display/image-display.component.d.ts +5 -0
  150. package/{app → lib}/component/core/image-display/style/_layout.scss +20 -2
  151. package/lib/component/core/image-display/style/_material-definition.scss +4 -0
  152. package/{app → lib}/component/core/image-display/style/_theme.scss +1 -1
  153. package/{app/component/checkout/checkout-relation-suggestions-list-item → lib/component/core/image-display}/style/material.scss +1 -1
  154. package/{app → lib}/component/core/relation/customer-groups.component.d.ts +0 -0
  155. package/{app → lib}/component/core/stock-status-indicator/stock-status-indicator.component.d.ts +0 -0
  156. package/{app → lib}/component/core/stock-status-indicator/stock-status-indicator.component.scss +3 -1
  157. package/lib/component/discount/discount.component.d.ts +19 -0
  158. package/lib/component/discount/discount.module.d.ts +2 -0
  159. package/{app/component/checkout/checkout-overview-block/checkout-overview-block.component.scss → lib/component/discount/style/_layout.scss} +0 -0
  160. package/{app/component/core/image-display → lib/component/discount}/style/_material-definition.scss +0 -0
  161. package/{app/component/checkout/checkout-overview/checkout-overview.component.scss → lib/component/discount/style/_theme.scss} +0 -0
  162. package/{app/component/core/no-image-display/no-image-display.component.scss → lib/component/discount/style/material.scss} +0 -0
  163. package/lib/component/relation-address/relation-address.component.d.ts +28 -0
  164. package/lib/component/relation-address/relation-address.module.d.ts +2 -0
  165. package/lib/component/relation-address/style/_layout.scss +20 -0
  166. package/lib/component/relation-address/style/_material-definition.scss +3 -0
  167. package/lib/component/relation-address/style/_theme.scss +7 -0
  168. package/lib/component/relation-address/style/material.scss +5 -0
  169. package/lib/component/relation-address-select/relation-address-select.component.d.ts +33 -0
  170. package/lib/component/relation-address-select/relation-address-select.module.d.ts +2 -0
  171. package/lib/component/relation-address-select/style/_layout.scss +85 -0
  172. package/lib/component/relation-address-select/style/_material-definition.scss +4 -0
  173. package/lib/component/relation-address-select/style/_theme.scss +6 -0
  174. package/lib/component/relation-address-select/style/material.scss +5 -0
  175. package/lib/component/relation-address-tile/relation-address-tile.component.d.ts +13 -0
  176. package/lib/component/relation-address-tile/relation-address-tile.module.d.ts +2 -0
  177. package/lib/component/relation-address-tile/style/_layout.scss +63 -0
  178. package/lib/component/relation-address-tile/style/_material-definition.scss +15 -0
  179. package/lib/component/relation-address-tile/style/_theme.scss +51 -0
  180. package/lib/component/relation-address-tile/style/material.scss +4 -0
  181. package/{app → lib}/component/service-order/service-order.component.scss +4 -2
  182. package/{app → lib}/component/service-order/summary/transaction-delivery-summary.component.scss +3 -1
  183. package/{app → lib}/component/service-order/summary/transaction-summary-block.component.scss +3 -1
  184. package/{app → lib}/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.scss +0 -0
  185. package/{app → lib}/component/service-order/transaction-manager/transaction-manager.component.scss +3 -1
  186. package/{app → lib}/component/service-order/transaction-order-line-view/transaction-order-line-view.component.scss +3 -1
  187. package/{app → lib}/component/service-order/transaction-order-lines/transaction-order-lines.component.scss +3 -1
  188. package/{app → lib}/component/service-order/transaction-order-totals/transaction-order-totals.component.scss +3 -1
  189. package/{app → lib}/component/service-order/transaction-relation/transaction-relation-edit.component.scss +0 -0
  190. package/{app → lib}/component/service-order/transaction-sidebar/transaction-line-accordion.component.scss +0 -0
  191. package/{app → lib}/component/service-order/transaction-sidebar/transaction-sidebar-right.component.scss +0 -0
  192. package/{app → lib}/component/service-order/warehouse/warehouse.component.scss +3 -1
  193. package/lib/component/shared/transaction-article-text/style/_layout.scss +42 -0
  194. package/lib/component/shared/transaction-article-text/style/_material-definition.scss +7 -0
  195. package/lib/component/shared/transaction-article-text/style/_theme.scss +11 -0
  196. package/lib/component/shared/transaction-article-text/style/material.scss +5 -0
  197. package/lib/component/shared/transaction-article-text/transaction-article-text.component.d.ts +31 -0
  198. package/lib/component/shared/transaction-article-text/transaction-article-text.module.d.ts +2 -0
  199. package/lib/component/shared/transaction-article-text-overview/style/_layout.scss +56 -0
  200. package/lib/component/shared/transaction-article-text-overview/style/_material-definition.scss +9 -0
  201. package/lib/component/shared/transaction-article-text-overview/style/_theme.scss +9 -0
  202. package/lib/component/shared/transaction-article-text-overview/style/material.scss +4 -0
  203. package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +30 -0
  204. package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.d.ts +2 -0
  205. package/lib/component/shopping-cart/shopping-cart.component.d.ts +15 -0
  206. package/lib/component/shopping-cart/shopping-cart.module.d.ts +2 -0
  207. package/lib/component/shopping-cart/style/_layout.scss +33 -0
  208. package/lib/component/shopping-cart/style/_material-definition.scss +10 -0
  209. package/lib/component/shopping-cart/style/_theme.scss +14 -0
  210. package/lib/component/shopping-cart/style/material.scss +4 -0
  211. package/{app/component/shopping-cart → lib/component/shopping-cart-OLD}/shopping-cart-manager/shopping-cart-manager.component.scss +4 -2
  212. package/lib/component/shopping-cart-preview/shopping-cart-preview.component.d.ts +11 -0
  213. package/lib/component/shopping-cart-preview/shopping-cart-preview.module.d.ts +2 -0
  214. package/lib/component/shopping-cart-preview/style/_layout.scss +44 -0
  215. package/lib/component/shopping-cart-preview/style/_material-definition.scss +20 -0
  216. package/lib/component/shopping-cart-preview/style/_theme.scss +17 -0
  217. package/lib/component/shopping-cart-preview/style/material.scss +4 -0
  218. package/lib/component/stepper/component/stepper-step.component.d.ts +12 -0
  219. package/lib/component/stepper/stepper.component.d.ts +30 -0
  220. package/lib/component/stepper/stepper.module.d.ts +2 -0
  221. package/lib/component/stepper/style/_layout.scss +75 -0
  222. package/lib/component/stepper/style/_material-definition.scss +11 -0
  223. package/lib/component/stepper/style/_theme.scss +7 -0
  224. package/lib/component/stepper/style/material.scss +4 -0
  225. package/lib/component/transaction/style/_layout.scss +25 -0
  226. package/lib/component/transaction/style/_material-definition.scss +7 -0
  227. package/lib/component/transaction/style/_theme.scss +24 -0
  228. package/lib/component/transaction/style/material.scss +8 -0
  229. package/lib/component/transaction/transaction.component.d.ts +24 -0
  230. package/lib/component/transaction/transaction.module.d.ts +2 -0
  231. package/lib/component/transaction-header/style/_layout.scss +38 -0
  232. package/lib/component/transaction-header/style/_material-definition.scss +8 -0
  233. package/lib/component/transaction-header/style/_theme.scss +11 -0
  234. package/lib/component/transaction-header/style/material.scss +7 -0
  235. package/lib/component/transaction-header/transaction-header.component.d.ts +9 -0
  236. package/lib/component/transaction-header/transaction-header.module.d.ts +2 -0
  237. package/lib/component/transaction-header-contact/style/_layout.scss +25 -0
  238. package/lib/component/transaction-header-contact/style/_material-definition.scss +7 -0
  239. package/lib/component/transaction-header-contact/style/_theme.scss +11 -0
  240. package/lib/component/transaction-header-contact/style/material.scss +4 -0
  241. package/lib/component/transaction-header-contact/transaction-header-contact.component.d.ts +4 -0
  242. package/lib/component/transaction-header-contact/transaction-header-contact.module.d.ts +2 -0
  243. package/lib/component/transaction-header-delivery/style/_layout.scss +54 -0
  244. package/lib/component/transaction-header-delivery/style/_material-definition.scss +12 -0
  245. package/lib/component/transaction-header-delivery/style/_theme.scss +24 -0
  246. package/lib/component/transaction-header-delivery/style/material.scss +4 -0
  247. package/lib/component/transaction-header-delivery/transaction-header-delivery.component.d.ts +13 -0
  248. package/lib/component/transaction-header-delivery/transaction-header-delivery.module.d.ts +2 -0
  249. package/lib/component/transaction-header-relation/style/_layout.scss +25 -0
  250. package/lib/component/transaction-header-relation/style/_material-definition.scss +7 -0
  251. package/lib/component/transaction-header-relation/style/_theme.scss +11 -0
  252. package/lib/component/transaction-header-relation/style/material.scss +4 -0
  253. package/lib/component/transaction-header-relation/transaction-header-relation.component.d.ts +4 -0
  254. package/lib/component/transaction-header-relation/transaction-header-relation.module.d.ts +2 -0
  255. package/lib/component/transaction-line/style/_layout.scss +143 -0
  256. package/lib/component/transaction-line/style/_material-definition.scss +29 -0
  257. package/lib/component/transaction-line/style/_theme.scss +36 -0
  258. package/lib/component/transaction-line/style/material.scss +8 -0
  259. package/lib/component/transaction-line/transaction-line.component.d.ts +46 -0
  260. package/lib/component/transaction-line/transaction-line.module.d.ts +2 -0
  261. package/lib/component/transaction-line-grid/style/_layout.scss +6 -0
  262. package/{app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.scss → lib/component/transaction-line-grid/style/_material-definition.scss} +0 -0
  263. package/lib/component/transaction-line-grid/style/_theme.scss +6 -0
  264. package/lib/component/transaction-line-grid/style/material.scss +4 -0
  265. package/lib/component/transaction-line-grid/transaction-line-grid.component.d.ts +5 -0
  266. package/lib/component/transaction-line-grid/transaction-line-grid.module.d.ts +2 -0
  267. package/lib/component/transaction-lines/style/_layout.scss +33 -0
  268. package/lib/component/transaction-lines/style/_material-definition.scss +3 -0
  269. package/lib/component/transaction-lines/style/_theme.scss +19 -0
  270. package/lib/component/transaction-lines/style/material.scss +7 -0
  271. package/lib/component/transaction-lines/transaction-lines.component.d.ts +31 -0
  272. package/lib/component/transaction-lines/transaction-lines.module.d.ts +2 -0
  273. package/lib/component/transaction-lines-grid/style/_layout.scss +37 -0
  274. package/lib/component/transaction-lines-grid/style/_material-definition.scss +19 -0
  275. package/lib/component/transaction-lines-grid/style/_theme.scss +15 -0
  276. package/lib/component/transaction-lines-grid/style/material.scss +5 -0
  277. package/lib/component/transaction-lines-grid/transaction-lines-grid.component.d.ts +17 -0
  278. package/lib/component/transaction-lines-grid/transaction-lines-grid.module.d.ts +2 -0
  279. package/lib/component/transaction-totals/style/_layout.scss +35 -0
  280. package/lib/component/transaction-totals/style/_material-definition.scss +15 -0
  281. package/lib/component/transaction-totals/style/_theme.scss +10 -0
  282. package/lib/component/transaction-totals/style/material.scss +4 -0
  283. package/lib/component/transaction-totals/transaction-totals.component.d.ts +9 -0
  284. package/lib/component/transaction-totals/transaction-totals.module.d.ts +2 -0
  285. package/{app → lib}/enum/content-view-mode.enum.d.ts +0 -0
  286. package/lib/enum/icon.enum.d.ts +15 -0
  287. package/{app → lib}/enum/language-code.enum.d.ts +0 -0
  288. package/{app → lib}/enum/order-discount-type.enum.d.ts +0 -0
  289. package/{app → lib}/enum/time-size.type.d.ts +0 -0
  290. package/{factory → lib/factory}/business-object-factory.d.ts +1 -1
  291. package/{factory → lib/factory}/decorators/boolean.decorator.d.ts +0 -0
  292. package/{factory → lib/factory}/decorators/complex-array.decorator.d.ts +0 -0
  293. package/{factory → lib/factory}/decorators/complex-field.decorator.d.ts +0 -0
  294. package/{factory → lib/factory}/decorators/date-field.decorator.d.ts +0 -0
  295. package/{factory → lib/factory}/decorators/string-number.decorator.d.ts +0 -0
  296. package/{app → lib}/model/business-object.d.ts +0 -0
  297. package/lib/model/icon-svg.d.ts +4 -0
  298. package/{app → lib}/model/standard-text.d.ts +0 -0
  299. package/{app → lib}/model/text-value-container.d.ts +0 -0
  300. package/{app → lib}/pipe/append.pipe.d.ts +0 -0
  301. package/{app → lib}/pipe/co-currency.pipe.d.ts +0 -0
  302. package/{app → lib}/pipe/date-duration.pipe.d.ts +0 -0
  303. package/{app → lib}/pipe/delivery-time.pipe.d.ts +0 -0
  304. package/{app → lib}/pipe/localize.pipe.d.ts +0 -0
  305. package/lib/pipe/pipe.module.d.ts +2 -0
  306. package/lib/pipe/safe-html.pipe.d.ts +7 -0
  307. package/{app/pipe/safe-style-pipe.d.ts → lib/pipe/safe-style.pipe.d.ts} +0 -0
  308. package/lib/service/dialog.service.d.ts +11 -0
  309. package/{app → lib}/service/dictionary.service.d.ts +0 -0
  310. package/lib/service/icon-cache.service.d.ts +18 -0
  311. package/{app → lib}/service/ione-connector-adapter.service.d.ts +8 -6
  312. package/{app → lib}/service/options.service.d.ts +3 -4
  313. package/lib/service/pending-reason.service.d.ts +31 -0
  314. package/{app → lib}/service/transaction.service.d.ts +10 -46
  315. package/{style → lib/style}/_mixin.scss +0 -0
  316. package/{style → lib/style}/_variables.scss +19 -1
  317. package/{utils → lib/utils}/array-utils.d.ts +0 -0
  318. package/{utils → lib/utils}/is-nill.function.d.ts +0 -0
  319. package/{app → lib}/utils/string-utils.d.ts +0 -0
  320. package/package.json +27 -33
  321. package/public_api.d.ts +27 -6
  322. package/app/app.component.scss +0 -39
  323. package/app/component/checkout/checkout/checkout.component.d.ts +0 -34
  324. package/app/component/checkout/checkout/checkout.component.scss +0 -137
  325. package/app/component/checkout/checkout-overview/checkout-overview.component.d.ts +0 -42
  326. package/app/component/checkout/checkout-overview-block/checkout-overview-block.component.d.ts +0 -12
  327. package/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.scss +0 -3
  328. package/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.d.ts +0 -23
  329. package/app/component/checkout/checkout-overview-relation-address/style/_layout.scss +0 -19
  330. package/app/component/checkout/checkout-overview-relation-address/style/_theme.scss +0 -7
  331. package/app/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +0 -15
  332. package/app/component/checkout/checkout-transaction/checkout-transaction.component.d.ts +0 -16
  333. package/app/component/checkout/checkout-transaction/checkout-transaction.component.scss +0 -11
  334. package/app/component/checkout/ione-checkout.component.d.ts +0 -41
  335. package/app/component/checkout/ione-checkout.module.d.ts +0 -2
  336. package/app/component/core/base/default-ok-cancel-buttons.component.d.ts +0 -13
  337. package/app/component/core/characteristic-answer/characteristic-answer.component.d.ts +0 -22
  338. package/app/component/core/directive/template-wrapper.directive.d.ts +0 -13
  339. package/app/component/core/image-display/image-display.component.d.ts +0 -14
  340. package/app/component/core/no-image-display/no-image-display.component.d.ts +0 -5
  341. package/app/component/service-order/ione-service-order-module.d.ts +0 -2
  342. package/app/component/service-order/ione-service-order.component.d.ts +0 -25
  343. package/app/component/service-order/service-order.component.d.ts +0 -52
  344. package/app/component/service-order/summary/transaction-article-summary.component.d.ts +0 -17
  345. package/app/component/service-order/summary/transaction-delivery-summary.component.d.ts +0 -20
  346. package/app/component/service-order/summary/transaction-order-summary.component.d.ts +0 -16
  347. package/app/component/service-order/summary/transaction-payment-info.component.d.ts +0 -14
  348. package/app/component/service-order/summary/transaction-product-contract-summary.component.d.ts +0 -7
  349. package/app/component/service-order/summary/transaction-product-summary.component.d.ts +0 -15
  350. package/app/component/service-order/summary/transaction-service-status.component.d.ts +0 -15
  351. package/app/component/service-order/summary/transaction-service-summary.component.d.ts +0 -15
  352. package/app/component/service-order/summary/transaction-summary-block.component.d.ts +0 -16
  353. package/app/component/service-order/transaction-article-text/transaction-article-text.component.d.ts +0 -33
  354. package/app/component/service-order/transaction-article-text/transaction-article-text.component.scss +0 -6
  355. package/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +0 -23
  356. package/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.d.ts +0 -19
  357. package/app/component/service-order/transaction-header-block/transaction-header-block.component.d.ts +0 -15
  358. package/app/component/service-order/transaction-header-block/transaction-header-block.component.scss +0 -65
  359. package/app/component/service-order/transaction-manager/transaction-manager.component.d.ts +0 -64
  360. package/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.d.ts +0 -16
  361. package/app/component/service-order/transaction-order-lines/transaction-order-lines.component.d.ts +0 -25
  362. package/app/component/service-order/transaction-order-totals/transaction-order-totals.component.d.ts +0 -6
  363. package/app/component/service-order/transaction-relation/transaction-relation-address.component.d.ts +0 -22
  364. package/app/component/service-order/transaction-relation/transaction-relation-edit.component.d.ts +0 -29
  365. package/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.d.ts +0 -11
  366. package/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.d.ts +0 -26
  367. package/app/component/service-order/warehouse/warehouse.component.d.ts +0 -35
  368. package/app/component/shopping-cart/ione-shopping-cart.component.d.ts +0 -71
  369. package/app/component/shopping-cart/ione-shopping-cart.module.d.ts +0 -2
  370. package/app/component/shopping-cart/shopping-cart/shopping-cart.component.d.ts +0 -61
  371. package/app/component/shopping-cart/shopping-cart/shopping-cart.component.scss +0 -79
  372. package/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.d.ts +0 -34
  373. package/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.scss +0 -107
  374. package/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.d.ts +0 -91
  375. package/app/enum/checkout-steps.enum.d.ts +0 -7
  376. package/app/enum/position-grid-row.enum.d.ts +0 -4
  377. package/app/model/transaction-add-text-line-request.d.ts +0 -9
  378. package/app/service/transaction-event.service.d.ts +0 -53
  379. package/esm2015/app/component/checkout/checkout/checkout.component.js +0 -157
  380. package/esm2015/app/component/checkout/checkout-login/checkout-login.component.js +0 -106
  381. package/esm2015/app/component/checkout/checkout-overview/checkout-overview.component.js +0 -185
  382. package/esm2015/app/component/checkout/checkout-overview-block/checkout-overview-block.component.js +0 -47
  383. package/esm2015/app/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +0 -47
  384. package/esm2015/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +0 -420
  385. package/esm2015/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.js +0 -103
  386. package/esm2015/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +0 -377
  387. package/esm2015/app/component/checkout/checkout-relation-suggestions-list/checkout-relation-suggestions-list.component.js +0 -30
  388. package/esm2015/app/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +0 -31
  389. package/esm2015/app/component/checkout/checkout-transaction/checkout-transaction.component.js +0 -55
  390. package/esm2015/app/component/checkout/ione-checkout.component.js +0 -137
  391. package/esm2015/app/component/checkout/ione-checkout.module.js +0 -76
  392. package/esm2015/app/component/core/base/default-ok-cancel-buttons.component.js +0 -41
  393. package/esm2015/app/component/core/base/transaction-base.component.js +0 -146
  394. package/esm2015/app/component/core/characteristic-answer/characteristic-answer.component.js +0 -100
  395. package/esm2015/app/component/core/core.module.js +0 -48
  396. package/esm2015/app/component/core/directive/template-wrapper.directive.js +0 -69
  397. package/esm2015/app/component/core/image-display/image-display.component.js +0 -45
  398. package/esm2015/app/component/core/no-image-display/no-image-display.component.js +0 -26
  399. package/esm2015/app/component/core/relation/customer-groups.component.js +0 -40
  400. package/esm2015/app/component/service-order/ione-service-order-module.js +0 -114
  401. package/esm2015/app/component/service-order/ione-service-order.component.js +0 -96
  402. package/esm2015/app/component/service-order/service-order.component.js +0 -199
  403. package/esm2015/app/component/service-order/summary/transaction-article-summary.component.js +0 -55
  404. package/esm2015/app/component/service-order/summary/transaction-delivery-summary.component.js +0 -59
  405. package/esm2015/app/component/service-order/summary/transaction-order-summary.component.js +0 -43
  406. package/esm2015/app/component/service-order/summary/transaction-payment-info.component.js +0 -35
  407. package/esm2015/app/component/service-order/summary/transaction-product-contract-summary.component.js +0 -38
  408. package/esm2015/app/component/service-order/summary/transaction-product-summary.component.js +0 -41
  409. package/esm2015/app/component/service-order/summary/transaction-service-status.component.js +0 -37
  410. package/esm2015/app/component/service-order/summary/transaction-service-summary.component.js +0 -38
  411. package/esm2015/app/component/service-order/summary/transaction-summary-block.component.js +0 -53
  412. package/esm2015/app/component/service-order/transaction-article-text/transaction-article-text.component.js +0 -140
  413. package/esm2015/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.js +0 -105
  414. package/esm2015/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.js +0 -73
  415. package/esm2015/app/component/service-order/transaction-header-block/transaction-header-block.component.js +0 -83
  416. package/esm2015/app/component/service-order/transaction-manager/transaction-manager.component.js +0 -314
  417. package/esm2015/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.js +0 -76
  418. package/esm2015/app/component/service-order/transaction-order-lines/transaction-order-lines.component.js +0 -71
  419. package/esm2015/app/component/service-order/transaction-order-totals/transaction-order-totals.component.js +0 -36
  420. package/esm2015/app/component/service-order/transaction-relation/transaction-relation-address.component.js +0 -116
  421. package/esm2015/app/component/service-order/transaction-relation/transaction-relation-edit.component.js +0 -225
  422. package/esm2015/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.js +0 -172
  423. package/esm2015/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.js +0 -120
  424. package/esm2015/app/component/service-order/warehouse/warehouse.component.js +0 -133
  425. package/esm2015/app/component/shopping-cart/ione-shopping-cart.component.js +0 -185
  426. package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +0 -62
  427. package/esm2015/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +0 -294
  428. package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +0 -172
  429. package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +0 -451
  430. package/esm2015/app/enum/checkout-steps.enum.js +0 -10
  431. package/esm2015/app/enum/content-view-mode.enum.js +0 -10
  432. package/esm2015/app/enum/language-code.enum.js +0 -8
  433. package/esm2015/app/enum/order-discount-type.enum.js +0 -7
  434. package/esm2015/app/enum/position-grid-row.enum.js +0 -6
  435. package/esm2015/app/enum/time-size.type.js +0 -10
  436. package/esm2015/app/model/business-object.js +0 -81
  437. package/esm2015/app/model/standard-text.js +0 -3
  438. package/esm2015/app/model/text-value-container.js +0 -3
  439. package/esm2015/app/model/transaction-add-text-line-request.js +0 -11
  440. package/esm2015/app/pipe/append.pipe.js +0 -17
  441. package/esm2015/app/pipe/co-currency.pipe.js +0 -47
  442. package/esm2015/app/pipe/date-duration.pipe.js +0 -57
  443. package/esm2015/app/pipe/delivery-time.pipe.js +0 -33
  444. package/esm2015/app/pipe/localize.pipe.js +0 -28
  445. package/esm2015/app/pipe/safe-style-pipe.js +0 -19
  446. package/esm2015/app/service/dictionary.service.js +0 -76
  447. package/esm2015/app/service/ione-connector-adapter.service.js +0 -567
  448. package/esm2015/app/service/options.service.js +0 -91
  449. package/esm2015/app/service/transaction-event.service.js +0 -26
  450. package/esm2015/app/service/transaction.service.js +0 -584
  451. package/esm2015/app/utils/string-utils.js +0 -64
  452. package/esm2015/assets/dictionary/text.properties.js +0 -332
  453. package/esm2015/factory/business-object-factory.js +0 -120
  454. package/esm2015/factory/decorators/boolean.decorator.js +0 -102
  455. package/esm2015/factory/decorators/complex-array.decorator.js +0 -55
  456. package/esm2015/factory/decorators/complex-field.decorator.js +0 -57
  457. package/esm2015/factory/decorators/date-field.decorator.js +0 -36
  458. package/esm2015/factory/decorators/string-number.decorator.js +0 -43
  459. package/esm2015/utils/array-utils.js +0 -183
  460. package/esm2015/utils/is-nill.function.js +0 -5
  461. package/style/styles.scss +0 -367
  462. package/styles.scss +0 -11
@@ -0,0 +1,250 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, HostBinding, Input, ViewEncapsulation } from "@angular/core";
3
+ import { StockStatus } from "@colijnit/transactionapi/build/enum/refcode/stock-status.enum";
4
+ import { TransactionService } from "../../service/transaction.service";
5
+ import { DictionaryService } from "../../service/dictionary.service";
6
+ import { Icon } from "../../enum/icon.enum";
7
+ import { IconCacheService } from "../../service/icon-cache.service";
8
+ import { DialogService } from "../../service/dialog.service";
9
+ export class TransactionLineComponent {
10
+ constructor(service, iconCacheService, _dialogService, _dictionaryService) {
11
+ this.service = service;
12
+ this.iconCacheService = iconCacheService;
13
+ this._dialogService = _dialogService;
14
+ this._dictionaryService = _dictionaryService;
15
+ this.icons = Icon;
16
+ this.preview = false;
17
+ this.stock = StockStatus.Low;
18
+ this.showTransactionArticleText = false;
19
+ this.showTransactionArticleTextOverview = false;
20
+ }
21
+ set line(value) {
22
+ this._line = value;
23
+ this.localAmount = this._line.amount;
24
+ this.isText = this._line.isText;
25
+ this.isArticle = this._line.isArticle;
26
+ this.isSelected = this._line.isSelected;
27
+ this._loadLineImage();
28
+ }
29
+ get line() {
30
+ return this._line;
31
+ }
32
+ showClass() {
33
+ return true;
34
+ }
35
+ changeLineAmount(amount) {
36
+ this.service.changeTransactionLineQuantity(this.line.uuid, amount).then((value) => {
37
+ if (!value || !value.isSuccess) {
38
+ this.localAmount = this._line.amount;
39
+ return;
40
+ }
41
+ // this._handleLine(value).then();
42
+ });
43
+ }
44
+ deleteTransactionLineClick() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const deleteLine = yield this._dialogService.showYesNo("", this._dictionaryService.get("DELETE_TRANSACTION_LINE_QUESTION"));
47
+ if (deleteLine) {
48
+ this.service.deleteTransactionLine(this.service.currentTransaction.transactionInfo.uuid, this.line.uuid).then((value) => {
49
+ // this._handleLine(value);
50
+ });
51
+ }
52
+ });
53
+ }
54
+ handleTransactionArticleText(event) {
55
+ this.articleTextHeader = this._dictionaryService.get("TEXT_ARTICLE_BOUND", true, this.line.articleNumber);
56
+ this.textToEdit = undefined;
57
+ this._showArticleTextDialog();
58
+ }
59
+ handleTransactionArticleTextOverview(event) {
60
+ this.articleTextHeader = this._dictionaryService.get("TEXT_ARTICLE_BOUND", true, this.line.articleNumber);
61
+ this.textToEdit = undefined;
62
+ this._showArticleTextOverviewDialog();
63
+ }
64
+ saveTransactionArticleLineText(transactionAddTextLineRequest) {
65
+ this.service.addTextLine(transactionAddTextLineRequest.showOnDocuments, transactionAddTextLineRequest.text, 0, true, transactionAddTextLineRequest.refArticleLineNr).then(() => {
66
+ this._hideArticleTextDialog();
67
+ });
68
+ }
69
+ closeTransactionArticleText(event) {
70
+ this._hideArticleTextDialog();
71
+ }
72
+ closeTransactionArticleTextOverview(event) {
73
+ this._hideArticleTextOverviewDialog();
74
+ }
75
+ handleOpenArticleText(text) {
76
+ this.textToEdit = text;
77
+ this._showArticleTextDialog();
78
+ }
79
+ _loadLineImage() {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ this.image = this.line ? yield this.service.retrieveLineImage(this.line) : undefined;
82
+ });
83
+ }
84
+ // private async _confirmAction(lineOperationResponse: LineOperationResponse): Promise<void> {
85
+ // this.currentReason.confirmation = await this._promptService.showYesNo(lineOperationResponse.pendingReason, " ");
86
+ // this.service.resolvePendingLineReason(this.currentReason)
87
+ // .then((value: LineOperationResponse) => {
88
+ // this._handleLine(value);
89
+ // });
90
+ // }
91
+ // private async _showInformation(lineOperationResponse: LineOperationResponse): Promise<void> {
92
+ // await this._promptService.showOkModal(lineOperationResponse.pendingReason, " ");
93
+ // this.service.resolvePendingLineReason(this.currentReason)
94
+ // .then((value: LineOperationResponse) => {
95
+ // this._handleLine(value);
96
+ // });
97
+ // }
98
+ // private async _handleLine(lineOperationResponse: LineOperationResponse): Promise<void> {
99
+ // if (lineOperationResponse === undefined) {
100
+ // return;
101
+ // }
102
+ // this.currentReason = new ResolvePendingLineReasonRequest(lineOperationResponse.lineUuid,
103
+ // lineOperationResponse.pendingReason, lineOperationResponse.pendingReasonType);
104
+ //
105
+ // switch (lineOperationResponse.pendingReasonType) {
106
+ // case PendingReasonType.ABORTED:
107
+ // case PendingReasonType.CANCELLED:
108
+ // this.localAmount = this._line.amount;
109
+ // if (lineOperationResponse.pendingReason !== "USER_DECISION") {
110
+ // await this._promptService.showNotification(this._dictionaryService.get(lineOperationResponse.pendingReason), " ");
111
+ // }
112
+ // break;
113
+ // case PendingReasonType.CONFIRMATION_NEEDED:
114
+ // await this._confirmAction(lineOperationResponse);
115
+ // break;
116
+ // case PendingReasonType.NON_CRITICAL_DISCONTINUATION:
117
+ // await this._showInformation(lineOperationResponse);
118
+ // break;
119
+ // case PendingReasonType.INVALID_LOGISTICS:
120
+ // this.localAmount = this._line.amount;
121
+ // await this._promptService.showError(this._dictionaryService.get(lineOperationResponse.pendingReason), " ");
122
+ // break;
123
+ // case PendingReasonType.NONE:
124
+ // default:
125
+ // break;
126
+ // }
127
+ // }
128
+ _showArticleTextDialog() {
129
+ this.showTransactionArticleText = true;
130
+ }
131
+ _hideArticleTextDialog() {
132
+ this.showTransactionArticleText = false;
133
+ }
134
+ _showArticleTextOverviewDialog() {
135
+ this.showTransactionArticleTextOverview = true;
136
+ }
137
+ _hideArticleTextOverviewDialog() {
138
+ this.showTransactionArticleTextOverview = false;
139
+ }
140
+ }
141
+ TransactionLineComponent.decorators = [
142
+ { type: Component, args: [{
143
+ selector: "co-transaction-line",
144
+ template: `
145
+ <div class="transaction-line">
146
+ <ng-container *ngIf="line.isArticle">
147
+ <div class="transaction-line-wrapper">
148
+ <div class="transaction-line-image" [class.preview]="preview">
149
+ <co-image-display [model]="image"></co-image-display>
150
+ </div>
151
+ <div class="transaction-line-description">
152
+ <div class="description-wrapper">
153
+ <span [textContent]="line.goodDescription" class="transaction-line-description-description"></span>
154
+ <span *ngIf="line.goodDescription && line.articleNumber" class="transaction-line-description-divider">|</span>
155
+ <span [textContent]="line.articleNumber" class="transaction-line-description-sku"></span>
156
+ </div>
157
+ <div *ngIf=!preview class="article-text-wrapper">
158
+ <div class="article-text" *ngFor="let text of line.articleTestAsArray">
159
+ <span [innerHTML]="text | safeHtml" (dblclick)="handleOpenArticleText(text)"></span>
160
+ </div>
161
+ </div>
162
+ <div *ngIf=!preview class="configuration-text-wrapper">
163
+ <span [innerHTML]="line.configurationReadable"></span>
164
+ </div>
165
+ </div>
166
+ <div *ngIf=!preview class="transaction-line-stock">
167
+ <span [textContent]="'STOCK' | localize" class="small-font"></span>
168
+ <stock-status-indicator [model]="stock"></stock-status-indicator>
169
+ <span [textContent]="'DELIVERY_TIME_PERIOD' | localize" class="small-font"></span>
170
+ <span [textContent]="line.deliveryDate | deliveryTime"></span>
171
+ </div>
172
+ <div *ngIf=!preview class="transaction-line-amount">
173
+ <co-input-number-picker class="amount-number-picker"
174
+ [(model)]="localAmount" [min]="0"
175
+ [readonly]="true"
176
+ (modelChange)="changeLineAmount($event)"></co-input-number-picker>
177
+ </div>
178
+ <div class="transaction-line-delete" *ngIf="preview">
179
+ <div class="delete-wrapper" (click)="deleteTransactionLineClick()">
180
+ <icon class="delete-icon" [icon]="icons.Cancel"></icon>
181
+ <div class="delete-link"
182
+ [textContent]="'DELETE_TRANSACTION_LINE' | localize:false">
183
+ </div>
184
+ </div>
185
+ </div>
186
+ <div class="transaction-line-totals">
187
+ <span [textContent]="line.displayNetLineTotal | coCurrency: true"></span>
188
+ </div>
189
+ <div *ngIf=!preview class="transaction-line-buttons">
190
+ <co-button class="transaction-line-overview-button circle" [iconData]="iconCacheService.getIcon(icons.Txt)" (click)="handleTransactionArticleTextOverview($event)"></co-button>
191
+ <co-button class="transaction-line-add-text-button circle" [iconData]="iconCacheService.getIcon(icons.Txt)" (click)="handleTransactionArticleText($event)"></co-button>
192
+ </div>
193
+ </div>
194
+ <div class="transaction-line-delete" *ngIf="!preview">
195
+ <div class="delete-wrapper" (click)="deleteTransactionLineClick()">
196
+ <icon class="delete-icon" [icon]="icons.Cancel"></icon>
197
+ <div class="delete-link"
198
+ [textContent]="'DELETE_TRANSACTION_LINE' | localize:false">
199
+ </div>
200
+ </div>
201
+ </div>
202
+ </ng-container>
203
+ <ng-container *ngIf="line.isText">
204
+ <div [textContent]="line.text"></div>
205
+ <div class="transaction-line-delete" *ngIf="!preview">
206
+ <div class="delete-wrapper" (click)="deleteTransactionLineClick()">
207
+ <icon class="delete-icon" [icon]="icons.Cancel"></icon>
208
+ <div class="delete-link"
209
+ [textContent]="'DELETE_TRANSACTION_LINE' | localize:false">
210
+ </div>
211
+ </div>
212
+ </div>
213
+ </ng-container>
214
+ </div>
215
+ <co-transaction-article-text-overview *ngIf="showTransactionArticleTextOverview"
216
+ [header]="articleTextHeader | localize"
217
+ [transactionLine]="line"
218
+ (saveClick)="saveTransactionArticleLineText($event)"
219
+ (closeClick)="closeTransactionArticleTextOverview($event)"
220
+ (cancelClick)="closeTransactionArticleTextOverview($event)"
221
+ ></co-transaction-article-text-overview>
222
+ <co-transaction-article-text *ngIf="showTransactionArticleText"
223
+ [header]="articleTextHeader | localize"
224
+ [articleLineNr]="line.lineNr"
225
+ [articleRef]="line.articleNumber"
226
+ [transactionLine]="line"
227
+ [editText]="textToEdit"
228
+ (saveClick)="saveTransactionArticleLineText($event)"
229
+ (closeClick)="closeTransactionArticleText($event)"
230
+ (cancelClick)="closeTransactionArticleText($event)"
231
+ ></co-transaction-article-text>
232
+ `,
233
+ encapsulation: ViewEncapsulation.None
234
+ },] }
235
+ ];
236
+ TransactionLineComponent.ctorParameters = () => [
237
+ { type: TransactionService },
238
+ { type: IconCacheService },
239
+ { type: DialogService },
240
+ { type: DictionaryService }
241
+ ];
242
+ TransactionLineComponent.propDecorators = {
243
+ preview: [{ type: HostBinding, args: ["class.preview",] }, { type: Input }],
244
+ line: [{ type: Input }],
245
+ isText: [{ type: HostBinding, args: ["class.is-text",] }],
246
+ isArticle: [{ type: HostBinding, args: ["class.is-article",] }],
247
+ isSelected: [{ type: HostBinding, args: ["class.is-selected",] }],
248
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-line",] }]
249
+ };
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLWxpbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBR25FLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUErRjNELE1BQU0sT0FBTyx3QkFBd0I7SUE4Q25DLFlBQ1MsT0FBMkIsRUFDM0IsZ0JBQWtDLEVBQ2pDLGNBQTZCLEVBQzdCLGtCQUFxQztRQUh0QyxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFqRC9CLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBSW5DLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFnQ3pCLFVBQUssR0FBZ0IsV0FBVyxDQUFDLEdBQUcsQ0FBQztRQUVyQywrQkFBMEIsR0FBWSxLQUFLLENBQUM7UUFDNUMsdUNBQWtDLEdBQVksS0FBSyxDQUFDO0lBVzNELENB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QUFJO0lBRUksc0JBQXNCO1FBQzVCLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUM7SUFDekMsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsMEJBQTBCLEdBQUcsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFFTyw4QkFBOEI7UUFDcEMsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLElBQUksQ0FBQztJQUNqRCxDQUFDO0lBRU8sOEJBQThCO1FBQ3BDLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxLQUFLLENBQUM7SUFDbEQsQ0FBQzs7O1lBMVFGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3RlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXJHTyxrQkFBa0I7WUFLbEIsZ0JBQWdCO1lBRWhCLGFBQWE7WUFOYixpQkFBaUI7OztzQkF3R3RCLFdBQVcsU0FBQyxlQUFlLGNBQzNCLEtBQUs7bUJBR0wsS0FBSztxQkFjTCxXQUFXLFNBQUMsZUFBZTt3QkFHM0IsV0FBVyxTQUFDLGtCQUFrQjt5QkFHOUIsV0FBVyxTQUFDLG1CQUFtQjt3QkFHL0IsV0FBVyxTQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9yZWZjb2RlL3N0b2NrLXN0YXR1cy5lbnVtXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5pbXBvcnQge1Jlc29sdmVQZW5kaW5nTGluZVJlYXNvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVzb2x2ZS1wZW5kaW5nLXJlYXNvbi1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7TGluZU9wZXJhdGlvblJlc3BvbnNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2xpbmUtb3BlcmF0aW9uLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tYWRkLXRleHQtbGluZS1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRyYW5zYWN0aW9uLWxpbmVcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxpbmUuaXNBcnRpY2xlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtaW1hZ2VcIiBbY2xhc3MucHJldmlld109XCJwcmV2aWV3XCI+XHJcbiAgICAgICAgICAgIDxjby1pbWFnZS1kaXNwbGF5IFttb2RlbF09XCJpbWFnZVwiPjwvY28taW1hZ2UtZGlzcGxheT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwibGluZS5nb29kRGVzY3JpcHRpb25cIiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtZGVzY3JpcHRpb24tZGVzY3JpcHRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaW5lLmdvb2REZXNjcmlwdGlvbiAmJiBsaW5lLmFydGljbGVOdW1iZXJcIiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtZGVzY3JpcHRpb24tZGl2aWRlclwiPnw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImxpbmUuYXJ0aWNsZU51bWJlclwiIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1kZXNjcmlwdGlvbi1za3VcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPSFwcmV2aWV3IGNsYXNzPVwiYXJ0aWNsZS10ZXh0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJ0aWNsZS10ZXh0XCIgKm5nRm9yPVwibGV0IHRleHQgb2YgbGluZS5hcnRpY2xlVGVzdEFzQXJyYXlcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwidGV4dCB8IHNhZmVIdG1sXCIgKGRibGNsaWNrKT1cImhhbmRsZU9wZW5BcnRpY2xlVGV4dCh0ZXh0KVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9IXByZXZpZXcgY2xhc3M9XCJjb25maWd1cmF0aW9uLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibGluZS5jb25maWd1cmF0aW9uUmVhZGFibGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPSFwcmV2aWV3IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zdG9ja1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ1NUT0NLJyB8IGxvY2FsaXplXCIgY2xhc3M9XCJzbWFsbC1mb250XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3RvY2stc3RhdHVzLWluZGljYXRvciBbbW9kZWxdPVwic3RvY2tcIj48L3N0b2NrLXN0YXR1cy1pbmRpY2F0b3I+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInREVMSVZFUllfVElNRV9QRVJJT0QnIHwgbG9jYWxpemVcIiBjbGFzcz1cInNtYWxsLWZvbnRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJsaW5lLmRlbGl2ZXJ5RGF0ZSB8IGRlbGl2ZXJ5VGltZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj0hcHJldmlldyBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtYW1vdW50XCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC1udW1iZXItcGlja2VyIGNsYXNzPVwiYW1vdW50LW51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJsb2NhbEFtb3VudFwiIFttaW5dPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImNoYW5nZUxpbmVBbW91bnQoJGV2ZW50KVwiPjwvY28taW5wdXQtbnVtYmVyLXBpY2tlcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtZGVsZXRlXCIgKm5nSWY9XCJwcmV2aWV3XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWxldGUtd3JhcHBlclwiIChjbGljayk9XCJkZWxldGVUcmFuc2FjdGlvbkxpbmVDbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgPGljb24gY2xhc3M9XCJkZWxldGUtaWNvblwiIFtpY29uXT1cImljb25zLkNhbmNlbFwiPjwvaWNvbj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVsZXRlLWxpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIidERUxFVEVfVFJBTlNBQ1RJT05fTElORScgfCBsb2NhbGl6ZTpmYWxzZVwiPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJsaW5lLmRpc3BsYXlOZXRMaW5lVG90YWwgfCBjb0N1cnJlbmN5OiB0cnVlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPSFwcmV2aWV3IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1idXR0b25zXCI+XHJcbiAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLW92ZXJ2aWV3LWJ1dHRvbiBjaXJjbGVcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlR4dClcIiAoY2xpY2spPVwiaGFuZGxlVHJhbnNhY3Rpb25BcnRpY2xlVGV4dE92ZXJ2aWV3KCRldmVudClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtYWRkLXRleHQtYnV0dG9uIGNpcmNsZVwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuVHh0KVwiIChjbGljayk9XCJoYW5kbGVUcmFuc2FjdGlvbkFydGljbGVUZXh0KCRldmVudClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLWRlbGV0ZVwiICpuZ0lmPVwiIXByZXZpZXdcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWxldGUtd3JhcHBlclwiIChjbGljayk9XCJkZWxldGVUcmFuc2FjdGlvbkxpbmVDbGljaygpXCI+XHJcbiAgICAgICAgICAgIDxpY29uIGNsYXNzPVwiZGVsZXRlLWljb25cIiBbaWNvbl09XCJpY29ucy5DYW5jZWxcIj48L2ljb24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWxldGUtbGlua1wiXHJcbiAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIidERUxFVEVfVFJBTlNBQ1RJT05fTElORScgfCBsb2NhbGl6ZTpmYWxzZVwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxpbmUuaXNUZXh0XCI+XHJcbiAgICAgICAgPGRpdiBbdGV4dENvbnRlbnRdPVwibGluZS50ZXh0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtZGVsZXRlXCIgKm5nSWY9XCIhcHJldmlld1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlbGV0ZS13cmFwcGVyXCIgKGNsaWNrKT1cImRlbGV0ZVRyYW5zYWN0aW9uTGluZUNsaWNrKClcIj5cclxuICAgICAgICAgICAgPGljb24gY2xhc3M9XCJkZWxldGUtaWNvblwiIFtpY29uXT1cImljb25zLkNhbmNlbFwiPjwvaWNvbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlbGV0ZS1saW5rXCJcclxuICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiJ0RFTEVURV9UUkFOU0FDVElPTl9MSU5FJyB8IGxvY2FsaXplOmZhbHNlXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3ICpuZ0lmPVwic2hvd1RyYW5zYWN0aW9uQXJ0aWNsZVRleHRPdmVydmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoZWFkZXJdPVwiYXJ0aWNsZVRleHRIZWFkZXIgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwibGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzYXZlQ2xpY2spPVwic2F2ZVRyYW5zYWN0aW9uQXJ0aWNsZUxpbmVUZXh0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJjbG9zZVRyYW5zYWN0aW9uQXJ0aWNsZVRleHRPdmVydmlldygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhbmNlbENsaWNrKT1cImNsb3NlVHJhbnNhY3Rpb25BcnRpY2xlVGV4dE92ZXJ2aWV3KCRldmVudClcIlxyXG4gICAgPjwvY28tdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3PlxyXG4gICAgPGNvLXRyYW5zYWN0aW9uLWFydGljbGUtdGV4dCAqbmdJZj1cInNob3dUcmFuc2FjdGlvbkFydGljbGVUZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlcl09XCJhcnRpY2xlVGV4dEhlYWRlciB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVMaW5lTnJdPVwibGluZS5saW5lTnJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVJlZl09XCJsaW5lLmFydGljbGVOdW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cImxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdFRleHRdPVwidGV4dFRvRWRpdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzYXZlQ2xpY2spPVwic2F2ZVRyYW5zYWN0aW9uQXJ0aWNsZUxpbmVUZXh0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJjbG9zZVRyYW5zYWN0aW9uQXJ0aWNsZVRleHQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYW5jZWxDbGljayk9XCJjbG9zZVRyYW5zYWN0aW9uQXJ0aWNsZVRleHQoJGV2ZW50KVwiXHJcbiAgICA+PC9jby10cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQ+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkxpbmVDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5wcmV2aWV3XCIpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJldmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgbGluZSh2YWx1ZTogVHJhbnNhY3Rpb25MaW5lSW5mbykge1xyXG4gICAgdGhpcy5fbGluZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5sb2NhbEFtb3VudCA9IHRoaXMuX2xpbmUuYW1vdW50O1xyXG4gICAgdGhpcy5pc1RleHQgPSB0aGlzLl9saW5lLmlzVGV4dDtcclxuICAgIHRoaXMuaXNBcnRpY2xlID0gdGhpcy5fbGluZS5pc0FydGljbGU7XHJcbiAgICB0aGlzLmlzU2VsZWN0ZWQgPSB0aGlzLl9saW5lLmlzU2VsZWN0ZWQ7XHJcbiAgICB0aGlzLl9sb2FkTGluZUltYWdlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGxpbmUoKTogVHJhbnNhY3Rpb25MaW5lSW5mbyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGluZTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmlzLXRleHRcIilcclxuICBwdWJsaWMgaXNUZXh0OiBib29sZWFuO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5pcy1hcnRpY2xlXCIpXHJcbiAgcHVibGljIGlzQXJ0aWNsZTogYm9vbGVhbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaXMtc2VsZWN0ZWRcIilcclxuICBwdWJsaWMgaXNTZWxlY3RlZDogYm9vbGVhbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tbGluZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2NhbEFtb3VudDogbnVtYmVyO1xyXG4gIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdG9jazogU3RvY2tTdGF0dXMgPSBTdG9ja1N0YXR1cy5Mb3c7XHJcbiAgcHVibGljIGN1cnJlbnRSZWFzb246IFJlc29sdmVQZW5kaW5nTGluZVJlYXNvblJlcXVlc3Q7XHJcbiAgcHVibGljIHNob3dUcmFuc2FjdGlvbkFydGljbGVUZXh0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dUcmFuc2FjdGlvbkFydGljbGVUZXh0T3ZlcnZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgYXJ0aWNsZVRleHRIZWFkZXI6IHN0cmluZztcclxuICBwdWJsaWMgdGV4dFRvRWRpdDogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIF9saW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VMaW5lQW1vdW50KGFtb3VudDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UuY2hhbmdlVHJhbnNhY3Rpb25MaW5lUXVhbnRpdHkodGhpcy5saW5lLnV1aWQsIGFtb3VudCkudGhlbigodmFsdWU6IExpbmVPcGVyYXRpb25SZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoIXZhbHVlIHx8ICF2YWx1ZS5pc1N1Y2Nlc3MpIHtcclxuICAgICAgICB0aGlzLmxvY2FsQW1vdW50ID0gdGhpcy5fbGluZS5hbW91bnQ7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHRoaXMuX2hhbmRsZUxpbmUodmFsdWUpLnRoZW4oKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRlbGV0ZVRyYW5zYWN0aW9uTGluZUNsaWNrKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgZGVsZXRlTGluZTogYm9vbGVhbiA9IGF3YWl0IHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd1llc05vKFwiXCIsIHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChcIkRFTEVURV9UUkFOU0FDVElPTl9MSU5FX1FVRVNUSU9OXCIpKTtcclxuICAgIGlmIChkZWxldGVMaW5lKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZS5kZWxldGVUcmFuc2FjdGlvbkxpbmUodGhpcy5zZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZCwgdGhpcy5saW5lLnV1aWQpLnRoZW4oKHZhbHVlOiBMaW5lT3BlcmF0aW9uUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAvLyB0aGlzLl9oYW5kbGVMaW5lKHZhbHVlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVHJhbnNhY3Rpb25BcnRpY2xlVGV4dChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5hcnRpY2xlVGV4dEhlYWRlciA9IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlRFWFRfQVJUSUNMRV9CT1VORFwiLCB0cnVlLCB0aGlzLmxpbmUuYXJ0aWNsZU51bWJlcik7XHJcbiAgICB0aGlzLnRleHRUb0VkaXQgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLl9zaG93QXJ0aWNsZVRleHREaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVUcmFuc2FjdGlvbkFydGljbGVUZXh0T3ZlcnZpZXcoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuYXJ0aWNsZVRleHRIZWFkZXIgPSB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJURVhUX0FSVElDTEVfQk9VTkRcIiwgdHJ1ZSwgdGhpcy5saW5lLmFydGljbGVOdW1iZXIpO1xyXG4gICAgdGhpcy50ZXh0VG9FZGl0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5fc2hvd0FydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlVHJhbnNhY3Rpb25BcnRpY2xlTGluZVRleHQodHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3Q6IFRyYW5zYWN0aW9uQWRkVGV4dExpbmVSZXF1ZXN0KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UuYWRkVGV4dExpbmUoXHJcbiAgICAgIHRyYW5zYWN0aW9uQWRkVGV4dExpbmVSZXF1ZXN0LnNob3dPbkRvY3VtZW50cyxcclxuICAgICAgdHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3QudGV4dCxcclxuICAgICAgMCxcclxuICAgICAgdHJ1ZSxcclxuICAgICAgdHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3QucmVmQXJ0aWNsZUxpbmVOcikudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2hpZGVBcnRpY2xlVGV4dERpYWxvZygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VUcmFuc2FjdGlvbkFydGljbGVUZXh0KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLl9oaWRlQXJ0aWNsZVRleHREaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZVRyYW5zYWN0aW9uQXJ0aWNsZVRleHRPdmVydmlldyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5faGlkZUFydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVPcGVuQXJ0aWNsZVRleHQodGV4dDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRleHRUb0VkaXQgPSB0ZXh0O1xyXG4gICAgdGhpcy5fc2hvd0FydGljbGVUZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9sb2FkTGluZUltYWdlKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5pbWFnZSA9IHRoaXMubGluZSA/IGF3YWl0IHRoaXMuc2VydmljZS5yZXRyaWV2ZUxpbmVJbWFnZSh0aGlzLmxpbmUpIDogdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgLy8gcHJpdmF0ZSBhc3luYyBfY29uZmlybUFjdGlvbihsaW5lT3BlcmF0aW9uUmVzcG9uc2U6IExpbmVPcGVyYXRpb25SZXNwb25zZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gIC8vICAgdGhpcy5jdXJyZW50UmVhc29uLmNvbmZpcm1hdGlvbiA9IGF3YWl0IHRoaXMuX3Byb21wdFNlcnZpY2Uuc2hvd1llc05vKGxpbmVPcGVyYXRpb25SZXNwb25zZS5wZW5kaW5nUmVhc29uLCBcIiBcIik7XHJcbiAgLy8gICB0aGlzLnNlcnZpY2UucmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uKHRoaXMuY3VycmVudFJlYXNvbilcclxuICAvLyAgICAgLnRoZW4oKHZhbHVlOiBMaW5lT3BlcmF0aW9uUmVzcG9uc2UpID0+IHtcclxuICAvLyAgICAgICB0aGlzLl9oYW5kbGVMaW5lKHZhbHVlKTtcclxuICAvLyAgICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwcml2YXRlIGFzeW5jIF9zaG93SW5mb3JtYXRpb24obGluZU9wZXJhdGlvblJlc3BvbnNlOiBMaW5lT3BlcmF0aW9uUmVzcG9uc2UpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAvLyAgIGF3YWl0IHRoaXMuX3Byb21wdFNlcnZpY2Uuc2hvd09rTW9kYWwobGluZU9wZXJhdGlvblJlc3BvbnNlLnBlbmRpbmdSZWFzb24sIFwiIFwiKTtcclxuICAvLyAgIHRoaXMuc2VydmljZS5yZXNvbHZlUGVuZGluZ0xpbmVSZWFzb24odGhpcy5jdXJyZW50UmVhc29uKVxyXG4gIC8vICAgICAudGhlbigodmFsdWU6IExpbmVPcGVyYXRpb25SZXNwb25zZSkgPT4ge1xyXG4gIC8vICAgICAgIHRoaXMuX2hhbmRsZUxpbmUodmFsdWUpO1xyXG4gIC8vICAgICB9KTtcclxuICAvLyB9XHJcblxyXG4gIC8vIHByaXZhdGUgYXN5bmMgX2hhbmRsZUxpbmUobGluZU9wZXJhdGlvblJlc3BvbnNlOiBMaW5lT3BlcmF0aW9uUmVzcG9uc2UpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAvLyAgIGlmIChsaW5lT3BlcmF0aW9uUmVzcG9uc2UgPT09IHVuZGVmaW5lZCkge1xyXG4gIC8vICAgICByZXR1cm47XHJcbiAgLy8gICB9XHJcbiAgLy8gICB0aGlzLmN1cnJlbnRSZWFzb24gPSBuZXcgUmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uUmVxdWVzdChsaW5lT3BlcmF0aW9uUmVzcG9uc2UubGluZVV1aWQsXHJcbiAgLy8gICAgIGxpbmVPcGVyYXRpb25SZXNwb25zZS5wZW5kaW5nUmVhc29uLCBsaW5lT3BlcmF0aW9uUmVzcG9uc2UucGVuZGluZ1JlYXNvblR5cGUpO1xyXG4gIC8vXHJcbiAgLy8gICBzd2l0Y2ggKGxpbmVPcGVyYXRpb25SZXNwb25zZS5wZW5kaW5nUmVhc29uVHlwZSkge1xyXG4gIC8vICAgICBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLkFCT1JURUQ6XHJcbiAgLy8gICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQ0FOQ0VMTEVEOlxyXG4gIC8vICAgICAgIHRoaXMubG9jYWxBbW91bnQgPSB0aGlzLl9saW5lLmFtb3VudDtcclxuICAvLyAgICAgICBpZiAobGluZU9wZXJhdGlvblJlc3BvbnNlLnBlbmRpbmdSZWFzb24gIT09IFwiVVNFUl9ERUNJU0lPTlwiKSB7XHJcbiAgLy8gICAgICAgICBhd2FpdCB0aGlzLl9wcm9tcHRTZXJ2aWNlLnNob3dOb3RpZmljYXRpb24odGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KGxpbmVPcGVyYXRpb25SZXNwb25zZS5wZW5kaW5nUmVhc29uKSwgXCIgXCIpO1xyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgICBicmVhaztcclxuICAvLyAgICAgY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5DT05GSVJNQVRJT05fTkVFREVEOlxyXG4gIC8vICAgICAgIGF3YWl0IHRoaXMuX2NvbmZpcm1BY3Rpb24obGluZU9wZXJhdGlvblJlc3BvbnNlKTtcclxuICAvLyAgICAgICBicmVhaztcclxuICAvLyAgICAgY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5OT05fQ1JJVElDQUxfRElTQ09OVElOVUFUSU9OOlxyXG4gIC8vICAgICAgIGF3YWl0IHRoaXMuX3Nob3dJbmZvcm1hdGlvbihsaW5lT3BlcmF0aW9uUmVzcG9uc2UpO1xyXG4gIC8vICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLklOVkFMSURfTE9HSVNUSUNTOlxyXG4gIC8vICAgICAgIHRoaXMubG9jYWxBbW91bnQgPSB0aGlzLl9saW5lLmFtb3VudDtcclxuICAvLyAgICAgICBhd2FpdCB0aGlzLl9wcm9tcHRTZXJ2aWNlLnNob3dFcnJvcih0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQobGluZU9wZXJhdGlvblJlc3BvbnNlLnBlbmRpbmdSZWFzb24pLCBcIiBcIik7XHJcbiAgLy8gICAgICAgYnJlYWs7XHJcbiAgLy8gICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuTk9ORTpcclxuICAvLyAgICAgZGVmYXVsdDpcclxuICAvLyAgICAgICBicmVhaztcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIHByaXZhdGUgX3Nob3dBcnRpY2xlVGV4dERpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1RyYW5zYWN0aW9uQXJ0aWNsZVRleHQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGlkZUFydGljbGVUZXh0RGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93VHJhbnNhY3Rpb25BcnRpY2xlVGV4dCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2hvd0FydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dUcmFuc2FjdGlvbkFydGljbGVUZXh0T3ZlcnZpZXcgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGlkZUFydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dUcmFuc2FjdGlvbkFydGljbGVUZXh0T3ZlcnZpZXcgPSBmYWxzZTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { TransactionLineComponent } from "./transaction-line.component";
4
+ import { ButtonModule, InputNumberPickerModule } from "@colijnit/corecomponents_v12";
5
+ import { TransactionArticleTextModule } from "../shared/transaction-article-text/transaction-article-text.module";
6
+ import { TransactionArticleTextOverviewModule } from "../shared/transaction-article-text-overview/transaction-article-text-overview.module";
7
+ import { CoreModule } from "../core/core.module";
8
+ import { PipeModule } from "../../pipe/pipe.module";
9
+ export class TransactionLineModule {
10
+ }
11
+ TransactionLineModule.decorators = [
12
+ { type: NgModule, args: [{
13
+ imports: [
14
+ CommonModule,
15
+ CoreModule,
16
+ ButtonModule,
17
+ InputNumberPickerModule,
18
+ TransactionArticleTextModule,
19
+ TransactionArticleTextOverviewModule,
20
+ PipeModule
21
+ ],
22
+ declarations: [
23
+ TransactionLineComponent
24
+ ],
25
+ exports: [
26
+ TransactionLineComponent
27
+ ]
28
+ },] }
29
+ ];
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLWxpbmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUNoSCxPQUFPLEVBQUMsb0NBQW9DLEVBQUMsTUFBTSxzRkFBc0YsQ0FBQztBQUMxSSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBbUJsRCxNQUFNLE9BQU8scUJBQXFCOzs7WUFqQmpDLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixVQUFVO29CQUNWLFlBQVk7b0JBQ1osdUJBQXVCO29CQUN2Qiw0QkFBNEI7b0JBQzVCLG9DQUFvQztvQkFDcEMsVUFBVTtpQkFDYjtnQkFDSCxZQUFZLEVBQUU7b0JBQ1osd0JBQXdCO2lCQUN6QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1Asd0JBQXdCO2lCQUN6QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVDb21wb25lbnR9IGZyb20gXCIuL3RyYW5zYWN0aW9uLWxpbmUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBJbnB1dE51bWJlclBpY2tlck1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkFydGljbGVUZXh0TW9kdWxlfSBmcm9tIFwiLi4vc2hhcmVkL3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQubW9kdWxlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25BcnRpY2xlVGV4dE92ZXJ2aWV3TW9kdWxlfSBmcm9tIFwiLi4vc2hhcmVkL3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC1vdmVydmlldy90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQtb3ZlcnZpZXcubW9kdWxlXCI7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSBcIi4uL2NvcmUvY29yZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtQaXBlTW9kdWxlfSBmcm9tIFwiLi4vLi4vcGlwZS9waXBlLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgQ29yZU1vZHVsZSxcclxuICAgICAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgSW5wdXROdW1iZXJQaWNrZXJNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25BcnRpY2xlVGV4dE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkFydGljbGVUZXh0T3ZlcnZpZXdNb2R1bGUsXHJcbiAgICAgICAgUGlwZU1vZHVsZVxyXG4gICAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFRyYW5zYWN0aW9uTGluZUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVHJhbnNhY3Rpb25MaW5lQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25MaW5lTW9kdWxlIHt9XHJcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Component, HostBinding, Input, ViewEncapsulation } from "@angular/core";
2
+ export class TransactionLineGridComponent {
3
+ constructor() {
4
+ this.transactionLines = [];
5
+ }
6
+ showClass() {
7
+ return true;
8
+ }
9
+ }
10
+ TransactionLineGridComponent.decorators = [
11
+ { type: Component, args: [{
12
+ selector: "co-transaction-line-grid",
13
+ template: `
14
+
15
+ `,
16
+ encapsulation: ViewEncapsulation.None
17
+ },] }
18
+ ];
19
+ TransactionLineGridComponent.propDecorators = {
20
+ transactionLines: [{ type: Input }],
21
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-line-grid",] }]
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUtZ3JpZC90cmFuc2FjdGlvbi1saW5lLWdyaWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVUvRSxNQUFNLE9BQU8sNEJBQTRCO0lBUHpDO1FBVVMscUJBQWdCLEdBQTBCLEVBQUUsQ0FBQztJQU10RCxDQUFDO0lBSFEsU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7O1lBZkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLFFBQVEsRUFBRTs7R0FFVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7OytCQUdFLEtBQUs7d0JBR0wsV0FBVyxTQUFDLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1saW5lLWdyaWRcIixcclxuICB0ZW1wbGF0ZTogYFxyXG5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uTGluZUdyaWRDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVzOiBUcmFuc2FjdGlvbkxpbmVJbmZvW10gPSBbXTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tbGluZS1ncmlkXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { CoreModule } from "../core/core.module";
4
+ import { TransactionLineGridComponent } from "./transaction-line-grid.component";
5
+ export class TransactionLineGridModule {
6
+ }
7
+ TransactionLineGridModule.decorators = [
8
+ { type: NgModule, args: [{
9
+ imports: [
10
+ CommonModule,
11
+ CoreModule
12
+ ],
13
+ declarations: [
14
+ TransactionLineGridComponent
15
+ ],
16
+ exports: [
17
+ TransactionLineGridComponent
18
+ ]
19
+ },] }
20
+ ];
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1ncmlkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUtZ3JpZC90cmFuc2FjdGlvbi1saW5lLWdyaWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQWMvRSxNQUFNLE9BQU8seUJBQXlCOzs7WUFackMsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFVBQVU7aUJBQ1g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLDRCQUE0QjtpQkFDN0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDRCQUE0QjtpQkFDN0I7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSBcIi4uL2NvcmUvY29yZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVHcmlkQ29tcG9uZW50fSBmcm9tIFwiLi90cmFuc2FjdGlvbi1saW5lLWdyaWQuY29tcG9uZW50XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIENvcmVNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVHJhbnNhY3Rpb25MaW5lR3JpZENvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVHJhbnNhY3Rpb25MaW5lR3JpZENvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uTGluZUdyaWRNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,117 @@
1
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from "@angular/core";
2
+ import { moveItemInArray } from "@angular/cdk/drag-drop";
3
+ import { Icon } from "../../enum/icon.enum";
4
+ import { IconCacheService } from "../../service/icon-cache.service";
5
+ import { TransactionArticleTextComponent } from "../shared/transaction-article-text/transaction-article-text.component";
6
+ import { TransactionLineInfo } from "@colijnit/transactionapi/build/model/transaction-line-info.bo";
7
+ import { TransactionService } from "../../service/transaction.service";
8
+ export class TransactionLinesComponent {
9
+ constructor(iconCacheService, service) {
10
+ this.iconCacheService = iconCacheService;
11
+ this.service = service;
12
+ this.icons = Icon;
13
+ this.transactionLines = [];
14
+ this.preview = false;
15
+ this.saveTransactionLine = new EventEmitter();
16
+ this.showTransactionArticleText = false;
17
+ }
18
+ showClass() {
19
+ return true;
20
+ }
21
+ trackByFn(index, line) {
22
+ return line.lineNr;
23
+ }
24
+ handleCanDragDrop(drag, drop) {
25
+ return drag.data instanceof TransactionLineInfo;
26
+ }
27
+ handleDrop(event) {
28
+ try {
29
+ const from = event.previousIndex;
30
+ const to = event.currentIndex;
31
+ if (from === to) {
32
+ return;
33
+ }
34
+ const beingDropped = this.transactionLines[from];
35
+ const target = this.transactionLines[to];
36
+ // set items in correct order
37
+ moveItemInArray(this.transactionLines, from, to);
38
+ this.service.changeLineSequence(beingDropped.uuid, from > to ? target.lineNr : null, from < to ? target.lineNr : null).catch(() => {
39
+ // something went wrong, reset drop
40
+ moveItemInArray(this.transactionLines, to, from);
41
+ });
42
+ }
43
+ catch (e) {
44
+ console.error(e);
45
+ }
46
+ }
47
+ handleTransactionLineDblClick(line) {
48
+ if (line.isText) {
49
+ this.selectedArticleText = line;
50
+ this.textToEdit = line.text;
51
+ this._showArticleTextDialog();
52
+ }
53
+ else {
54
+ this.textToEdit = undefined;
55
+ this.selectedArticleText = undefined;
56
+ }
57
+ }
58
+ handleTransactionArticleText(event) {
59
+ this.selectedArticleText = undefined;
60
+ this._showArticleTextDialog();
61
+ }
62
+ closeTransactionArticleText(event) {
63
+ this._hideArticleTextDialog();
64
+ }
65
+ saveTransactionArticleLineText(transactionLine) {
66
+ this.saveTransactionLine.next(transactionLine);
67
+ this._hideArticleTextDialog();
68
+ }
69
+ _showArticleTextDialog() {
70
+ this.showTransactionArticleText = true;
71
+ }
72
+ _hideArticleTextDialog() {
73
+ this.showTransactionArticleText = false;
74
+ }
75
+ }
76
+ TransactionLinesComponent.decorators = [
77
+ { type: Component, args: [{
78
+ selector: "co-transaction-lines",
79
+ template: `
80
+ <div cdkDropListGroup class="drop-list-group">
81
+ <div #dropList cdkDropList cdkDropListOrientation="vertical"
82
+ class="transaction-lines-drag-drop-list narrow-scrollbar"
83
+ [cdkDropListDisabled]="preview"
84
+ [cdkDropListData]="transactionLines"
85
+ [cdkDropListEnterPredicate]="handleCanDragDrop"
86
+ (cdkDropListDropped)="handleDrop($event)"
87
+ >
88
+ <div class="draggable-transaction-line" *ngFor="let line of transactionLines; trackBy:trackByFn;" cdkDrag>
89
+ <co-transaction-line [preview]="preview" [line]="line" (dblclick)="handleTransactionLineDblClick(line)"></co-transaction-line>
90
+ </div>
91
+ </div>
92
+ </div>
93
+ <co-button *ngIf=!preview class="add-text-button circle" [iconData]="iconCacheService.getIcon(icons.Txt)" (click)="handleTransactionArticleText($event)"></co-button>
94
+ <co-transaction-article-text *ngIf="showTransactionArticleText"
95
+ [header]="'TEXT' | localize"
96
+ [transactionLine]="selectedArticleText"
97
+ [editText]="textToEdit"
98
+ (saveClick)="saveTransactionArticleLineText($event)"
99
+ (closeClick)="closeTransactionArticleText($event)"
100
+ (cancelClick)="closeTransactionArticleText($event)"
101
+ ></co-transaction-article-text>
102
+ `,
103
+ encapsulation: ViewEncapsulation.None
104
+ },] }
105
+ ];
106
+ TransactionLinesComponent.ctorParameters = () => [
107
+ { type: IconCacheService },
108
+ { type: TransactionService }
109
+ ];
110
+ TransactionLinesComponent.propDecorators = {
111
+ transactionArticleText: [{ type: ViewChild, args: [TransactionArticleTextComponent,] }],
112
+ transactionLines: [{ type: Input }],
113
+ preview: [{ type: Input }],
114
+ saveTransactionLine: [{ type: Output }],
115
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-lines",] }]
116
+ };
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZXMvdHJhbnNhY3Rpb24tbGluZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQW9DLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzFGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSx1RUFBdUUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUVsRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQThCckUsTUFBTSxPQUFPLHlCQUF5QjtJQXdCcEMsWUFDUyxnQkFBa0MsRUFDakMsT0FBMkI7UUFENUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQXpCckIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFNbkMscUJBQWdCLEdBQTBCLEVBQUUsQ0FBQztRQUc3QyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBR3pCLHdCQUFtQixHQUFnRCxJQUFJLFlBQVksRUFBaUMsQ0FBQztRQU9ySCwrQkFBMEIsR0FBWSxLQUFLLENBQUM7SUFRbkQsQ0FBQztJQVpNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFZ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a0NBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q2RrRHJhZywgQ2RrRHJhZ0Ryb3AsIENka0Ryb3BMaXN0LCBtb3ZlSXRlbUluQXJyYXl9IGZyb20gXCJAYW5ndWxhci9jZGsvZHJhZy1kcm9wXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25BcnRpY2xlVGV4dENvbXBvbmVudH0gZnJvbSBcIi4uL3NoYXJlZC90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQvdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tYWRkLXRleHQtbGluZS1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1saW5lc1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNka0Ryb3BMaXN0R3JvdXAgY2xhc3M9XCJkcm9wLWxpc3QtZ3JvdXBcIj5cclxuICAgICAgPGRpdiAjZHJvcExpc3QgY2RrRHJvcExpc3QgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcclxuICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLWRyYWctZHJvcC1saXN0IG5hcnJvdy1zY3JvbGxiYXJcIlxyXG4gICAgICAgICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cInByZXZpZXdcIlxyXG4gICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwidHJhbnNhY3Rpb25MaW5lc1wiXHJcbiAgICAgICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwiaGFuZGxlQ2FuRHJhZ0Ryb3BcIlxyXG4gICAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiaGFuZGxlRHJvcCgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcmFnZ2FibGUtdHJhbnNhY3Rpb24tbGluZVwiICpuZ0Zvcj1cImxldCBsaW5lIG9mIHRyYW5zYWN0aW9uTGluZXM7IHRyYWNrQnk6dHJhY2tCeUZuO1wiIGNka0RyYWc+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZSBbcHJldmlld109XCJwcmV2aWV3XCIgW2xpbmVdPVwibGluZVwiIChkYmxjbGljayk9XCJoYW5kbGVUcmFuc2FjdGlvbkxpbmVEYmxDbGljayhsaW5lKVwiPjwvY28tdHJhbnNhY3Rpb24tbGluZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjby1idXR0b24gKm5nSWY9IXByZXZpZXcgY2xhc3M9XCJhZGQtdGV4dC1idXR0b24gY2lyY2xlXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5UeHQpXCIgKGNsaWNrKT1cImhhbmRsZVRyYW5zYWN0aW9uQXJ0aWNsZVRleHQoJGV2ZW50KVwiPjwvY28tYnV0dG9uPlxyXG4gICAgPGNvLXRyYW5zYWN0aW9uLWFydGljbGUtdGV4dCAqbmdJZj1cInNob3dUcmFuc2FjdGlvbkFydGljbGVUZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlcl09XCInVEVYVCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwic2VsZWN0ZWRBcnRpY2xlVGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0VGV4dF09XCJ0ZXh0VG9FZGl0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNhdmVDbGljayk9XCJzYXZlVHJhbnNhY3Rpb25BcnRpY2xlTGluZVRleHQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cImNsb3NlVHJhbnNhY3Rpb25BcnRpY2xlVGV4dCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhbmNlbENsaWNrKT1cImNsb3NlVHJhbnNhY3Rpb25BcnRpY2xlVGV4dCgkZXZlbnQpXCJcclxuICAgID48L2NvLXRyYW5zYWN0aW9uLWFydGljbGUtdGV4dD5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uTGluZXNDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKFRyYW5zYWN0aW9uQXJ0aWNsZVRleHRDb21wb25lbnQpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uQXJ0aWNsZVRleHQ6IFRyYW5zYWN0aW9uQXJ0aWNsZVRleHRDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uTGluZXM6IFRyYW5zYWN0aW9uTGluZUluZm9bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmV2aWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzYXZlVHJhbnNhY3Rpb25MaW5lOiBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxUcmFuc2FjdGlvbkFkZFRleHRMaW5lUmVxdWVzdD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tbGluZXNcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1RyYW5zYWN0aW9uQXJ0aWNsZVRleHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2VsZWN0ZWRBcnRpY2xlVGV4dDogVHJhbnNhY3Rpb25MaW5lSW5mbztcclxuICBwdWJsaWMgdGV4dFRvRWRpdDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgbGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IGFueSB7XHJcbiAgICByZXR1cm4gbGluZS5saW5lTnI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2FuRHJhZ0Ryb3AoZHJhZzogQ2RrRHJhZywgZHJvcDogQ2RrRHJvcExpc3QpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBkcmFnLmRhdGEgaW5zdGFuY2VvZiBUcmFuc2FjdGlvbkxpbmVJbmZvO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURyb3AoZXZlbnQ6IENka0RyYWdEcm9wPFRyYW5zYWN0aW9uTGluZUluZm9bXT4pOiB2b2lkIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGZyb206IG51bWJlciA9IGV2ZW50LnByZXZpb3VzSW5kZXg7XHJcbiAgICAgIGNvbnN0IHRvOiBudW1iZXIgPSBldmVudC5jdXJyZW50SW5kZXg7XHJcbiAgICAgIGlmIChmcm9tID09PSB0bykge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBiZWluZ0Ryb3BwZWQ6IFRyYW5zYWN0aW9uTGluZUluZm8gPSB0aGlzLnRyYW5zYWN0aW9uTGluZXNbZnJvbV07XHJcbiAgICAgIGNvbnN0IHRhcmdldDogVHJhbnNhY3Rpb25MaW5lSW5mbyA9IHRoaXMudHJhbnNhY3Rpb25MaW5lc1t0b107XHJcbiAgICAgIC8vIHNldCBpdGVtcyBpbiBjb3JyZWN0IG9yZGVyXHJcbiAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLnRyYW5zYWN0aW9uTGluZXMsIGZyb20sIHRvKTtcclxuICAgICAgdGhpcy5zZXJ2aWNlLmNoYW5nZUxpbmVTZXF1ZW5jZShiZWluZ0Ryb3BwZWQudXVpZCwgZnJvbSA+IHRvID8gdGFyZ2V0LmxpbmVOciA6IG51bGwsIGZyb20gPCB0byA/IHRhcmdldC5saW5lTnIgOiBudWxsKS5jYXRjaCgoKSA9PiB7XHJcbiAgICAgICAgLy8gc29tZXRoaW5nIHdlbnQgd3JvbmcsIHJlc2V0IGRyb3BcclxuICAgICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy50cmFuc2FjdGlvbkxpbmVzLCB0bywgZnJvbSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVRyYW5zYWN0aW9uTGluZURibENsaWNrKGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiB2b2lkIHtcclxuICAgIGlmIChsaW5lLmlzVGV4dCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZVRleHQgPSBsaW5lO1xyXG4gICAgICB0aGlzLnRleHRUb0VkaXQgPSBsaW5lLnRleHQ7XHJcbiAgICAgIHRoaXMuX3Nob3dBcnRpY2xlVGV4dERpYWxvZygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50ZXh0VG9FZGl0ID0gdW5kZWZpbmVkO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQXJ0aWNsZVRleHQgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVHJhbnNhY3Rpb25BcnRpY2xlVGV4dChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVUZXh0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5fc2hvd0FydGljbGVUZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VUcmFuc2FjdGlvbkFydGljbGVUZXh0KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLl9oaWRlQXJ0aWNsZVRleHREaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlVHJhbnNhY3Rpb25BcnRpY2xlTGluZVRleHQodHJhbnNhY3Rpb25MaW5lOiBUcmFuc2FjdGlvbkFkZFRleHRMaW5lUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgdGhpcy5zYXZlVHJhbnNhY3Rpb25MaW5lLm5leHQodHJhbnNhY3Rpb25MaW5lKTtcclxuICAgIHRoaXMuX2hpZGVBcnRpY2xlVGV4dERpYWxvZygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2hvd0FydGljbGVUZXh0RGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93VHJhbnNhY3Rpb25BcnRpY2xlVGV4dCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oaWRlQXJ0aWNsZVRleHREaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dUcmFuc2FjdGlvbkFydGljbGVUZXh0ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { DragDropModule } from "@angular/cdk/drag-drop";
4
+ import { ButtonModule } from "@colijnit/corecomponents_v12";
5
+ import { TransactionArticleTextModule } from "../shared/transaction-article-text/transaction-article-text.module";
6
+ import { CoreModule } from "../core/core.module";
7
+ import { TransactionLineModule } from "../transaction-line/transaction-line.module";
8
+ import { TransactionLinesComponent } from "./transaction-lines.component";
9
+ import { PipeModule } from "../../pipe/pipe.module";
10
+ export class TransactionLinesModule {
11
+ }
12
+ TransactionLinesModule.decorators = [
13
+ { type: NgModule, args: [{
14
+ imports: [
15
+ CommonModule,
16
+ CoreModule,
17
+ TransactionLineModule,
18
+ DragDropModule,
19
+ ButtonModule,
20
+ TransactionArticleTextModule,
21
+ PipeModule
22
+ ],
23
+ declarations: [
24
+ TransactionLinesComponent
25
+ ],
26
+ exports: [
27
+ TransactionLinesComponent
28
+ ]
29
+ },] }
30
+ ];
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZXMvdHJhbnNhY3Rpb24tbGluZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDaEgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQW1CbEQsTUFBTSxPQUFPLHNCQUFzQjs7O1lBakJsQyxRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osVUFBVTtvQkFDVixxQkFBcUI7b0JBQ3JCLGNBQWM7b0JBQ2QsWUFBWTtvQkFDWiw0QkFBNEI7b0JBQzVCLFVBQVU7aUJBQ2I7Z0JBQ0gsWUFBWSxFQUFFO29CQUNaLHlCQUF5QjtpQkFDMUI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHlCQUF5QjtpQkFDMUI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7RHJhZ0Ryb3BNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jZGsvZHJhZy1kcm9wXCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQXJ0aWNsZVRleHRNb2R1bGV9IGZyb20gXCIuLi9zaGFyZWQvdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0L3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC5tb2R1bGVcIjtcclxuaW1wb3J0IHtDb3JlTW9kdWxlfSBmcm9tIFwiLi4vY29yZS9jb3JlLm1vZHVsZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZU1vZHVsZX0gZnJvbSBcIi4uL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tbGluZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVzQ29tcG9uZW50fSBmcm9tIFwiLi90cmFuc2FjdGlvbi1saW5lcy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtQaXBlTW9kdWxlfSBmcm9tIFwiLi4vLi4vcGlwZS9waXBlLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgQ29yZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkxpbmVNb2R1bGUsXHJcbiAgICAgICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uQXJ0aWNsZVRleHRNb2R1bGUsXHJcbiAgICAgICAgUGlwZU1vZHVsZVxyXG4gICAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFRyYW5zYWN0aW9uTGluZXNDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFRyYW5zYWN0aW9uTGluZXNDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkxpbmVzTW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -0,0 +1,58 @@
1
+ import { Component, HostBinding, Input, ViewEncapsulation } from "@angular/core";
2
+ import { DictionaryService } from "../../service/dictionary.service";
3
+ import { TransactionService } from "../../service/transaction.service";
4
+ import { ColumnAlign } from "@colijnit/corecomponents_v12";
5
+ export class TransactionLinesGridComponent {
6
+ constructor(_dictionary, _service) {
7
+ this._dictionary = _dictionary;
8
+ this._service = _service;
9
+ this.align = ColumnAlign;
10
+ this.transactionLines = [];
11
+ }
12
+ showClass() {
13
+ return true;
14
+ }
15
+ changeLineAmount(row, amount) {
16
+ this._service.changeTransactionLineQuantity(row.uuid, amount).then((value) => {
17
+ if (!value || !value.isSuccess) {
18
+ return;
19
+ }
20
+ else {
21
+ row.amount = amount;
22
+ }
23
+ });
24
+ }
25
+ handleDrop(data) {
26
+ }
27
+ }
28
+ TransactionLinesGridComponent.decorators = [
29
+ { type: Component, args: [{
30
+ selector: "co-transaction-lines-grid",
31
+ template: `
32
+ <co-simple-grid [data]="transactionLines" [dragDropEnabled]="true" [emitDragDrop]="true" (onDrop)="handleDrop($event)">
33
+ <co-simple-grid-column [headerText]="'ARTICLE_NR' | localize" [field]="'articleNumber'"></co-simple-grid-column>
34
+ <co-simple-grid-column [headerText]="'GOOD_DESCRIPTION' | localize" [field]="'goodDescription'"></co-simple-grid-column>
35
+ <co-simple-grid-column [headerText]="'PRICE' | localize" [field]="'price'" [textAlign]="align.Right"></co-simple-grid-column>
36
+ <co-simple-grid-column [headerText]="'AMOUNT' | localize" [textAlign]="align.Right" [width]="100" [resizable]="false">
37
+ <ng-template let-row = "row">
38
+ <co-input-number-picker class="transaction-lines-grid-amount"
39
+ [model]="row.amount" [min]="0" [readonly]="true" (modelChange)="changeLineAmount(row, $event)"></co-input-number-picker>
40
+ </ng-template>
41
+ </co-simple-grid-column>
42
+ <co-simple-grid-column [headerText]="'PRICE_LIST' | localize" [field]="'priceListCode'" [textAlign]="align.Right"></co-simple-grid-column>
43
+ <co-simple-grid-column [headerText]="'ASSEMBLY_COSTS' | localize" [field]="'assemblyCost'" [textAlign]="align.Right"></co-simple-grid-column>
44
+ <co-simple-grid-column [headerText]="'WAREHOUSE' | localize" [field]="'warehouseNumber'" [textAlign]="align.Right"></co-simple-grid-column>
45
+ </co-simple-grid>
46
+ `,
47
+ encapsulation: ViewEncapsulation.None
48
+ },] }
49
+ ];
50
+ TransactionLinesGridComponent.ctorParameters = () => [
51
+ { type: DictionaryService },
52
+ { type: TransactionService }
53
+ ];
54
+ TransactionLinesGridComponent.propDecorators = {
55
+ transactionLines: [{ type: Input }],
56
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-lines-grid",] }]
57
+ };
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZXMtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lcy1ncmlkL3RyYW5zYWN0aW9uLWxpbmVzLWdyaWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFzQnpELE1BQU0sT0FBTyw2QkFBNkI7SUFXeEMsWUFDVSxXQUE4QixFQUM5QixRQUE0QjtRQUQ1QixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFadEIsVUFBSyxHQUF1QixXQUFXLENBQUM7UUFHakQscUJBQWdCLEdBQTBCLEVBQUUsQ0FBQztJQVdwRCxDQUFDO0lBUk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVFNLGdCQUFnQixDQUFDLEdBQXdCLEVBQUUsTUFBYztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLDZCQUE2QixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBNEIsRUFBRSxFQUFFO1lBQ2xHLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO2dCQUM5QixPQUFPO2FBQ1I7aUJBQU07Z0JBQ0wsR0FBRyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7YUFDckI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxVQUFVLENBQUMsSUFBZ0M7SUFFbEQsQ0FBQzs7O1lBakRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztHQWVUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF4Qk8saUJBQWlCO1lBRWpCLGtCQUFrQjs7OytCQTBCdkIsS0FBSzt3QkFHTCxXQUFXLFNBQUMsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm9cIjtcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7TGluZU9wZXJhdGlvblJlc3BvbnNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2xpbmUtb3BlcmF0aW9uLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q29sdW1uQWxpZ259IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1saW5lcy1ncmlkXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1zaW1wbGUtZ3JpZCBbZGF0YV09XCJ0cmFuc2FjdGlvbkxpbmVzXCIgW2RyYWdEcm9wRW5hYmxlZF09XCJ0cnVlXCIgW2VtaXREcmFnRHJvcF09XCJ0cnVlXCIgKG9uRHJvcCk9XCJoYW5kbGVEcm9wKCRldmVudClcIj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInQVJUSUNMRV9OUicgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCInYXJ0aWNsZU51bWJlcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInR09PRF9ERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCInZ29vZERlc2NyaXB0aW9uJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidQUklDRScgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCIncHJpY2UnXCIgW3RleHRBbGlnbl09XCJhbGlnbi5SaWdodFwiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBTU9VTlQnIHwgbG9jYWxpemVcIiBbdGV4dEFsaWduXT1cImFsaWduLlJpZ2h0XCIgW3dpZHRoXT1cIjEwMFwiIFtyZXNpemFibGVdPVwiZmFsc2VcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXJvdyA9IFwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC1udW1iZXItcGlja2VyIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZXMtZ3JpZC1hbW91bnRcIlxyXG4gICAgICAgICAgICAgIFttb2RlbF09XCJyb3cuYW1vdW50XCIgW21pbl09XCIwXCIgW3JlYWRvbmx5XT1cInRydWVcIiAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlTGluZUFtb3VudChyb3csICRldmVudClcIj48L2NvLWlucHV0LW51bWJlci1waWNrZXI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1BSSUNFX0xJU1QnIHwgbG9jYWxpemVcIiBbZmllbGRdPVwiJ3ByaWNlTGlzdENvZGUnXCIgW3RleHRBbGlnbl09XCJhbGlnbi5SaWdodFwiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBU1NFTUJMWV9DT1NUUycgfCBsb2NhbGl6ZVwiIFtmaWVsZF09XCInYXNzZW1ibHlDb3N0J1wiIFt0ZXh0QWxpZ25dPVwiYWxpZ24uUmlnaHRcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJyB8IGxvY2FsaXplXCIgW2ZpZWxkXT1cIid3YXJlaG91c2VOdW1iZXInXCIgW3RleHRBbGlnbl09XCJhbGlnbi5SaWdodFwiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uTGluZXNHcmlkQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgYWxpZ246IHR5cGVvZiBDb2x1bW5BbGlnbiA9IENvbHVtbkFsaWduO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVzOiBUcmFuc2FjdGlvbkxpbmVJbmZvW10gPSBbXTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tbGluZXMtZ3JpZFwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZGljdGlvbmFyeTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VMaW5lQW1vdW50KHJvdzogVHJhbnNhY3Rpb25MaW5lSW5mbywgYW1vdW50OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NlcnZpY2UuY2hhbmdlVHJhbnNhY3Rpb25MaW5lUXVhbnRpdHkocm93LnV1aWQsIGFtb3VudCkudGhlbigodmFsdWU6IExpbmVPcGVyYXRpb25SZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoIXZhbHVlIHx8ICF2YWx1ZS5pc1N1Y2Nlc3MpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcm93LmFtb3VudCA9IGFtb3VudDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRHJvcChkYXRhOiB7ZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyfSk6IHZvaWQge1xyXG5cclxuICB9XHJcbn1cclxuIl19