@colijnit/transaction 12.1.65 → 12.1.67

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 (168) hide show
  1. package/bundles/colijnit-transaction.umd.js +1620 -680
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +152 -139
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +153 -140
  6. package/esm2015/lib/assets/dictionary/text.properties.js +3 -1
  7. package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +2 -2
  8. package/esm2015/lib/component/checkout/checkout.component.js +36 -11
  9. package/esm2015/lib/component/core/base/transaction-lines-line-base.component.js +2 -3
  10. package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +45 -0
  11. package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.js +23 -0
  12. package/esm2015/lib/component/stepper/stepper.component.js +6 -4
  13. package/esm2015/lib/component/transaction/transaction.component.js +4 -3
  14. package/esm2015/lib/component/transaction/transaction.module.js +4 -2
  15. package/esm2015/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.js +81 -0
  16. package/esm2015/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.js +25 -0
  17. package/esm2015/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.js +3 -3
  18. package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +5 -3
  19. package/esm2015/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.js +3 -3
  20. package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.js +5 -5
  21. package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +6 -3
  22. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +3 -3
  23. package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.js +2 -2
  24. package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +2 -1
  25. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.js +63 -0
  26. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.js +109 -0
  27. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.js +33 -0
  28. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.component.js +2 -1
  29. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +4 -4
  30. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +2 -2
  31. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +2 -2
  32. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.js +4 -12
  33. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.js +10 -5
  34. package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +16 -5
  35. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.js +24 -8
  36. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.js +1 -1
  37. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +9 -2
  38. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.js +4 -4
  39. package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +12 -10
  40. package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.js +4 -4
  41. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.js +81 -0
  42. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +25 -0
  43. package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.js +36 -4
  44. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +4 -2
  45. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +4 -2
  46. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.js +69 -0
  47. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.js +25 -0
  48. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +62 -1
  49. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.js +6 -2
  50. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.js +1 -2
  51. package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.js +3 -3
  52. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.js +7 -3
  53. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +6 -3
  54. package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.js +11 -3
  55. package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.js +4 -3
  56. package/esm2015/lib/component/transaction-search/transaction-search.component.js +13 -3
  57. package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.js +144 -0
  58. package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.js +201 -0
  59. package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.js +50 -0
  60. package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.js +35 -0
  61. package/esm2015/lib/component/transaction-tile/transaction-tile.component.js +3 -2
  62. package/esm2015/lib/enum/icon.enum.js +2 -1
  63. package/esm2015/lib/enum/transaction-type-category.enum.js +2 -1
  64. package/esm2015/lib/model/extended-transaction-line-view-model.js +4 -0
  65. package/esm2015/lib/model/icon-svg.js +2 -1
  66. package/esm2015/lib/service/pending-reason.service.js +3 -1
  67. package/esm2015/lib/service/transaction-connector-adapter.service.js +51 -1
  68. package/esm2015/lib/service/transaction-connector.service.js +21 -1
  69. package/esm2015/lib/service/transaction-event.service.js +2 -1
  70. package/esm2015/lib/service/transaction-mapping.service.js +6 -1
  71. package/esm2015/lib/service/transaction.service.js +24 -8
  72. package/fesm2015/colijnit-transaction.js +1545 -584
  73. package/fesm2015/colijnit-transaction.js.map +1 -1
  74. package/lib/component/checkout/checkout.component.d.ts +13 -6
  75. package/lib/component/core/base/transaction-lines-line-base.component.d.ts +3 -1
  76. package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.d.ts +15 -0
  77. package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.d.ts +2 -0
  78. package/lib/component/dialog/catalog/dialog-catalog/style/_layout.scss +4 -0
  79. package/lib/component/dialog/catalog/dialog-catalog/style/_material-definition.scss +0 -0
  80. package/lib/component/dialog/catalog/dialog-catalog/style/_theme.scss +4 -0
  81. package/lib/component/dialog/catalog/dialog-catalog/style/material.scss +4 -0
  82. package/lib/component/stepper/stepper.component.d.ts +2 -1
  83. package/lib/component/transaction/transaction.component.d.ts +1 -1
  84. package/lib/component/transaction-allocate-goods-history/style/_layout.scss +4 -0
  85. package/lib/component/transaction-allocate-goods-history/style/_material-definition.scss +0 -0
  86. package/lib/component/transaction-allocate-goods-history/style/_theme.scss +4 -0
  87. package/lib/component/transaction-allocate-goods-history/style/material.scss +4 -0
  88. package/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.d.ts +18 -0
  89. package/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.d.ts +2 -0
  90. package/lib/component/transaction-confirmation-details/style/_layout.scss +1 -1
  91. package/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.d.ts +0 -1
  92. package/lib/component/transaction-confirmation-history/style/_layout.scss +4 -0
  93. package/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.d.ts +2 -0
  94. package/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.d.ts +2 -1
  95. package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.d.ts +2 -5
  96. package/lib/component/transaction-header/transaction-header/transaction-header.component.d.ts +1 -0
  97. package/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.d.ts +12 -0
  98. package/lib/component/transaction-line/transaction-goods-allocation-line/style/_layout.scss +27 -0
  99. package/lib/component/transaction-line/transaction-goods-allocation-line/style/_material-definition.scss +0 -0
  100. package/lib/component/transaction-line/transaction-goods-allocation-line/style/_theme.scss +4 -0
  101. package/lib/component/transaction-line/transaction-goods-allocation-line/style/material.scss +4 -0
  102. package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.d.ts +27 -0
  103. package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.d.ts +2 -0
  104. package/lib/component/transaction-line/transaction-line/transaction-line.component.d.ts +2 -2
  105. package/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.d.ts +2 -3
  106. package/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.d.ts +2 -2
  107. package/lib/component/transaction-line-action-buttons/style/_layout.scss +2 -2
  108. package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts +3 -1
  109. package/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.d.ts +7 -3
  110. package/lib/component/transaction-line-image-and-description/style/_layout.scss +1 -0
  111. package/lib/component/transaction-line-image-and-description/style/_material-definition.scss +1 -0
  112. package/lib/component/transaction-line-side-panel/style/_layout.scss +5 -0
  113. package/lib/component/transaction-line-side-panel/style/_material-definition.scss +1 -0
  114. package/lib/component/transaction-line-side-panel/style/material.scss +1 -1
  115. package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.d.ts +2 -3
  116. package/lib/component/transaction-line-side-panel-sales/style/_layout.scss +4 -0
  117. package/lib/component/transaction-line-side-panel-sales/style/_material-definition.scss +0 -0
  118. package/lib/component/transaction-line-side-panel-sales/style/_theme.scss +4 -0
  119. package/lib/component/transaction-line-side-panel-sales/style/material.scss +4 -0
  120. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.d.ts +20 -0
  121. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.d.ts +2 -0
  122. package/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.d.ts +11 -3
  123. package/lib/component/transaction-lines/style/material.scss +1 -0
  124. package/lib/component/transaction-quick-access/transaction-quick-access/style/material.scss +2 -0
  125. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_layout.scss +27 -0
  126. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_material-definition.scss +0 -0
  127. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_theme.scss +4 -0
  128. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/material.scss +4 -0
  129. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.d.ts +20 -0
  130. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.d.ts +2 -0
  131. package/lib/component/transaction-quick-access/transaction-quick-access-overview/style/_layout.scss +3 -0
  132. package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.d.ts +17 -0
  133. package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_layout.scss +6 -14
  134. package/lib/component/transaction-receiving-goods-history/style/_layout.scss +2 -2
  135. package/lib/component/transaction-receiving-goods-history/style/_material-definition.scss +1 -1
  136. package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.d.ts +3 -2
  137. package/lib/component/transaction-search/style/_material-definition.scss +9 -2
  138. package/lib/component/transaction-search/transaction-search-header/style/_layout.scss +12 -0
  139. package/lib/component/transaction-search/transaction-search-header/style/_theme.scss +10 -0
  140. package/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.d.ts +4 -1
  141. package/lib/component/transaction-search/transaction-search.component.d.ts +8 -3
  142. package/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.d.ts +35 -0
  143. package/lib/component/{transaction-receiving-goods-details/transaction-receiving-goods-details.component.d.ts → transaction-side-panel-edit-request-details/components/receive-goods-request.component.d.ts} +16 -16
  144. package/lib/component/transaction-side-panel-edit-request-details/style/_layout.scss +133 -0
  145. package/lib/component/transaction-side-panel-edit-request-details/style/_material-definition.scss +2 -0
  146. package/lib/component/transaction-side-panel-edit-request-details/style/_theme.scss +4 -0
  147. package/lib/component/transaction-side-panel-edit-request-details/style/material.scss +4 -0
  148. package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.d.ts +15 -0
  149. package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.d.ts +2 -0
  150. package/lib/component/transaction-tile/transaction-tile.component.d.ts +2 -0
  151. package/lib/enum/icon.enum.d.ts +1 -0
  152. package/lib/enum/transaction-type-category.enum.d.ts +1 -0
  153. package/lib/model/{receive-good-view-model.d.ts → extended-transaction-line-view-model.d.ts} +3 -1
  154. package/lib/service/pending-reason.service.d.ts +2 -0
  155. package/lib/service/transaction-connector-adapter.service.d.ts +8 -0
  156. package/lib/service/transaction-connector.service.d.ts +8 -0
  157. package/lib/service/transaction-event.service.d.ts +3 -5
  158. package/lib/service/transaction.service.d.ts +9 -1
  159. package/lib/style/_variables.scss +1 -1
  160. package/package.json +8 -6
  161. package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.js +0 -211
  162. package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module.js +0 -30
  163. package/esm2015/lib/model/receive-good-view-model.js +0 -4
  164. package/lib/component/transaction-receiving-goods-details/style/_layout.scss +0 -97
  165. package/lib/component/transaction-receiving-goods-details/style/_material-definition.scss +0 -3
  166. package/lib/component/transaction-receiving-goods-details/style/_theme.scss +0 -7
  167. package/lib/component/transaction-receiving-goods-details/style/material.scss +0 -3
  168. package/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module.d.ts +0 -2
@@ -3,7 +3,6 @@ import * as i0 from '@angular/core';
3
3
  import { Injectable, EventEmitter, Component, ViewEncapsulation, Input, HostBinding, ChangeDetectorRef, Output, Directive, Injector, ComponentFactoryResolver, ApplicationRef, ViewChild, Pipe, NgModule, ElementRef, ContentChildren, HostListener, ViewChildren } from '@angular/core';
4
4
  import { PendingReasonType } from '@colijnit/transactionapi/build/enum/pending-reason-type.enum';
5
5
  import { SequenceName } from '@colijnit/transactionapi/build/enum/sequence-name.enum';
6
- import { TransactionKind } from '@colijnit/transactionapi/build/enum/transaction-kind.enum';
7
6
  import { TransactionLineType } from '@colijnit/transactionapi/build/enum/transaction-line-type.enum';
8
7
  import { BehaviorSubject, Subject, throwError } from 'rxjs';
9
8
  import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/transaction-info-response.bo';
@@ -46,6 +45,8 @@ import { SalesPerson } from '@colijnit/relationapi/build/model/sales-person.bo';
46
45
  import { StockStickersPrintLayouts } from '@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo';
47
46
  import { Sharedapi } from '@colijnit/sharedapi/build/sharedapi';
48
47
  import { AvailableStock } from '@colijnit/transactionapi/build/model/available-stock.bo';
48
+ import { GoodsAllocationStatus } from '@colijnit/transactionapi/build/model/goods-allocation-status.bo';
49
+ import { GoodsAllocationStatusWithHistory } from '@colijnit/transactionapi/build/model/goods-allocation-status-with-history.bo';
49
50
  import { ResolveLinePendingReasonRequest } from '@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo';
50
51
  import { Articles } from '@colijnit/articleapi/build/articles';
51
52
  import { StockLocation } from '@colijnit/articleapi/build/model/stock-location.bo';
@@ -63,6 +64,7 @@ import { RelationApi } from '@colijnit/relationapi';
63
64
  import { SupplierFullObject } from '@colijnit/relationapi/build/model/supplier-full-object.bo';
64
65
  import { RelationListObject } from '@colijnit/relationapi/build/model/relation-list-object.bo';
65
66
  import { BranchLov } from '@colijnit/relationapi/build/model/branch-lov.bo';
67
+ import { TransactionKind } from '@colijnit/transactionapi/build/enum/transaction-kind.enum';
66
68
  import { FormMasterService, CoDialogModule, ButtonModule, CollapsibleModule, InputCheckboxModule, InputTextModule, InputComboBoxModule, FormModule, InputRadioButtonModule, IconModule, InputTextComponent, InputListboxModule, DropDownModule, InputSearchModule, ColumnAlign, SimpleGridColumnDirective, ObserveVisibilityModule, ColorSequenceService, PriceDisplayPipeModule, InputDatePickerModule, Carousel3dModule, CarouselModule, FilterPipeModule, InputDatePickerComponent, InputTextareaComponent, InputTextareaModule, InputNumberPickerModule, CoDialogPromptModule, MultiSelectListModule, PopupModule, CoSidebarModule, CoGridModule, CoRichTextEditorModule, SimpleGridModule, GridToolbarButtonModule, InputDateRangePickerModule, ClickoutsideModule, CheckmarkOverlayModule, CoOrientation, CoDirection, FilterItemModule, PaginationModule, PaginationBarModule, IconCollapseHandleModule } from '@colijnit/corecomponents_v12';
67
69
  import { FlexModule } from '@angular/flex-layout';
68
70
  import { trigger, state, style, transition, animate } from '@angular/animations';
@@ -85,6 +87,8 @@ import { GetPurchaseOrderConfirmation } from '@colijnit/transactionapi/build/mod
85
87
  import { ReceiveGoodsForPurchaseOrderRequest } from '@colijnit/transactionapi/build/model/receive-goods-for-purchase-order-request.bo';
86
88
  import { PurchaseOrderLineReceiptDetails } from '@colijnit/transactionapi/build/model/purchase-order-line-receipt-details.bo';
87
89
  import { StockStatus } from '@colijnit/transactionapi/build/enum/refcode/stock-status.enum';
90
+ import { AllocateGoodsForSalesOrderRequest } from '@colijnit/transactionapi/build/model/allocate-goods-for-sales-order-request';
91
+ import { SalesOrderLineAllocationDetails } from '@colijnit/transactionapi/build/model/sales-order-line-allocation-details';
88
92
  import { RelationRequest } from '@colijnit/relationapi/build/model/relation-request';
89
93
  import { CoDocument } from '@colijnit/sharedapi/build/model/co-document.bo';
90
94
  import { ValidationResult } from '@colijnit/ioneconnector/build/model/validation-result';
@@ -101,6 +105,9 @@ import { ReceiveGoodsForPurchaseOrderCorrectionRequest } from '@colijnit/transac
101
105
  import { PurchaseOrderLineReceiptCorrectionDetails } from '@colijnit/transactionapi/build/model/purchase-order-line-receipt-correction-details.bo';
102
106
  import { GetPurchasePortalLine } from '@colijnit/transactionapi/build/model/get-purchase-portal-line';
103
107
  import { PurchasePortalFilters } from '@colijnit/transactionapi/build/model/purchase-portal-filters.bo';
108
+ import { AllocateGoodsForSalesOrderCorrectionRequest } from '@colijnit/transactionapi/build/model/allocate-goods-for-sales-order-correction-request';
109
+ import { SalesOrderLineAllocationCorrectionDetails } from '@colijnit/transactionapi/build/model/sales-order-line-allocation-correction-details';
110
+ import { IoneCatalogModule } from '@colijnit/catalog';
104
111
  import { GoodsReceiptStatus } from '@colijnit/transactionapi/build/model/goods-receipt-status.bo';
105
112
  import { EmailOrderConfirmation } from '@colijnit/sharedapi/build/model/report/email-order-confirmation';
106
113
  import { PrintOrderConfirmation } from '@colijnit/sharedapi/build/model/report/print-order-confirmation';
@@ -189,6 +196,7 @@ class Dictionary {
189
196
  "COUNTRY": "Land",
190
197
  "CREATE_ACCOUNT": "Maak een account aan",
191
198
  "CREATE_ACCOUNT_IN_2_MIN": "Maak binnen 2 minuten een account aan.",
199
+ "CREATE_TRANSACTION": "Opslaan",
192
200
  "CUSTOMER": "Klant",
193
201
  "CUSTOMER_GROUP": "Klantgroep",
194
202
  "CUSTOMER_NAME": "Klantnaam",
@@ -548,6 +556,7 @@ class Dictionary {
548
556
  "COUNTRY": "Country",
549
557
  "CREATE_ACCOUNT": "Create an account",
550
558
  "CREATE_ACCOUNT_IN_2_MIN": "Create an account in 2 minutes.",
559
+ "CREATE_TRANSACTION": "Save",
551
560
  "CUSTOMER": "Customer",
552
561
  "CUSTOMER_GROUP": "Customergroup",
553
562
  "CUSTOMER_NAME": "Customer name",
@@ -1382,6 +1391,7 @@ var Icon;
1382
1391
  Icon["PalletBoxesSolid"] = "pallet_boxes_solid";
1383
1392
  Icon["PercentSolid"] = "percent_solid";
1384
1393
  Icon["PlusRound"] = "plus_round";
1394
+ Icon["PlusSimple"] = "plus_simple";
1385
1395
  Icon["PrintSolid"] = "print_solid";
1386
1396
  Icon["Purchase"] = "purchase";
1387
1397
  Icon["Resize"] = "resize";
@@ -1455,6 +1465,7 @@ const IconSvg = {
1455
1465
  "pallet_boxes_solid": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><path d=\"M96 255.1L288 256c17.6 0 32-14.4 32-32V31.1c0-17.6-14.4-31.1-32-31.1L96 0c-17.6 0-32 14.4-32 32V224C64 241.6 78.4 255.1 96 255.1zM416 255.1h128c17.6 0 32-14.4 32-31.1v-128c0-17.6-14.4-32-32-32h-128c-17.6 0-32 14.4-32 32v128C384 241.6 398.4 255.1 416 255.1zM624 384c8.75 0 16-7.25 16-16v-32c0-8.75-7.25-16-16-16h-608C7.25 320 0 327.3 0 336v32C0 376.8 7.25 384 16 384H64v64H16C7.25 448 0 455.3 0 464v32C0 504.8 7.25 512 16 512h608c8.75 0 16-7.25 16-16v-32c0-8.75-7.25-16-16-16H576v-64H624zM288 448H128v-64h160V448zM512 448h-160v-64h160V448z\"/></svg>",
1456
1466
  "percent_solid": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><path d=\"M374.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-320 320c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l320-320zM128 128c0-35.3-28.7-64-64-64S0 92.7 0 128s28.7 64 64 64s64-28.7 64-64zM384 384c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\"/></svg>",
1457
1467
  "plus_round": "<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"-288 379 35 35\" enable-background=\"new -288 379 35 35\" ><path fill=\"#29363E\" d=\"M-270.5,381.5c-8.3,0-15,6.7-15,15c0,8.3,6.7,15,15,15s15-6.7,15-15C-255.5,388.2-262.2,381.5-270.5,381.5z M-261.1,397.3c0,0.9-0.7,1.6-1.6,1.6h-5.5v5.5c0,0.9-0.7,1.6-1.6,1.6h-1.6c-0.9,0-1.6-0.7-1.6-1.6v-5.5h-5.5c-0.9,0-1.6-0.7-1.6-1.6v-1.6c0-0.9,0.7-1.6,1.6-1.6h5.5v-5.5c0-0.9,0.7-1.6,1.6-1.6h1.6c0.9,0,1.6,0.7,1.6,1.6v5.5h5.5c0.9,0,1.6,0.7,1.6,1.6V397.3z\"/></svg>",
1468
+ "plus_simple": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\"><g ><g ><path d=\"M13.86,27c-.32,0-.58-.26-.58-.57v-9.72H3.58c-.32,0-.58-.26-.58-.57v-2.29c0-.31,.26-.57,.58-.57H13.29V3.57c0-.31,.26-.57,.58-.57h2.28c.31,0,.57,.26,.57,.57V13.29h9.72c.31,0,.57,.26,.57,.57v2.29c0,.31-.26,.57-.57,.57h-9.72v9.72c0,.31-.26,.57-.57,.57h-2.28Z\" fill=\"#484f60\"/></g></g><g /></svg>",
1458
1469
  "print_solid": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M448 192H64C28.65 192 0 220.7 0 256v96c0 17.67 14.33 32 32 32h32v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h32c17.67 0 32-14.33 32-32V256C512 220.7 483.3 192 448 192zM384 448H128v-96h256V448zM432 296c-13.25 0-24-10.75-24-24c0-13.27 10.75-24 24-24s24 10.73 24 24C456 285.3 445.3 296 432 296zM128 64h229.5L384 90.51V160h64V77.25c0-8.484-3.375-16.62-9.375-22.62l-45.25-45.25C387.4 3.375 379.2 0 370.8 0H96C78.34 0 64 14.33 64 32v128h64V64z\"/></svg>",
1459
1470
  "purchase": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><g opacity=\"0.75\"><polygon points=\"33.34 25.04 27.34 28.52 33.35 31.97 39.34 28.49 33.34 25.04\" fill=\"#484f60\"/><polygon points=\"33.99 33.08 39.99 29.6 40 36.53 34.01 40.01 33.99 33.08\" fill=\"#484f60\" opacity=\"0.5\"/><polygon points=\"26.72 36.55 26.71 29.63 32.71 33.08 32.72 40.01 26.72 36.55\" fill=\"#484f60\" opacity=\"0.25\"/><polygon points=\"12.78 28.54 18.79 32 24.78 28.52 18.77 25.07 12.78 28.54\" fill=\"#484f60\"/><polygon points=\"19.43 33.1 25.42 29.63 25.44 36.56 19.44 40.03 19.43 33.1\" fill=\"#484f60\" opacity=\"0.5\"/><polygon points=\"12.15 36.58 12.14 29.65 18.15 33.11 18.16 40.04 12.15 36.58\" fill=\"#484f60\" opacity=\"0.25\"/><polygon points=\"32.04 15.89 26.03 12.44 22.09 14.73 27.52 14.73 24.03 18.21 26.05 19.37 32.04 15.89\" fill=\"#484f60\"/><polygon points=\"32.68 17 26.69 20.48 26.7 27.41 32.7 23.93 32.68 17\" fill=\"#484f60\" opacity=\"0.5\"/><polygon points=\"23.1 19.15 19.41 22.83 19.41 23.95 25.42 27.41 25.41 20.48 23.1 19.15\" fill=\"#484f60\" opacity=\"0.25\"/></g><polygon points=\"19.03 16.34 19.03 10.3 14.61 10.3 14.61 16.34 14.61 16.34 10 16.34 16.82 23.16 23.64 16.34 19.03 16.34\" fill=\"#484f60\"/></svg>",
1460
1471
  "resize": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 51 51\"><polygon points=\"1.1 49.9 1.1 30.6 7.8 37.3 37.3 8 30.6 1.3 49.9 1.3 49.9 20.6 43.2 13.9 13.7 43.2 20.5 49.9 1.1 49.9\" fill=\"#4d5050\"/></svg>",
@@ -3597,6 +3608,54 @@ class TransactionConnectorAdapterService {
3597
3608
  }
3598
3609
  });
3599
3610
  }
3611
+ allocateGoodsForSalesOrder(request) {
3612
+ return __awaiter(this, void 0, void 0, function* () {
3613
+ const response = yield this.connector.allocateGoodsForSalesOrder(request);
3614
+ if (response && response.validationResult && response.validationResult.success) {
3615
+ return true;
3616
+ }
3617
+ else {
3618
+ this._handleExceptionFromResponse(response);
3619
+ return null;
3620
+ }
3621
+ });
3622
+ }
3623
+ allocateGoodsForSalesOrderCorrection(request) {
3624
+ return __awaiter(this, void 0, void 0, function* () {
3625
+ const response = yield this.connector.allocateGoodsForSalesOrderCorrection(request);
3626
+ if (response && response.validationResult && response.validationResult.success) {
3627
+ return true;
3628
+ }
3629
+ else {
3630
+ this._handleExceptionFromResponse(response);
3631
+ return null;
3632
+ }
3633
+ });
3634
+ }
3635
+ getGoodsAllocationStatus(transId, lineNr) {
3636
+ return __awaiter(this, void 0, void 0, function* () {
3637
+ const response = yield this.connector.getGoodsAllocationStatus(transId, lineNr);
3638
+ if (response && response.resultObject) {
3639
+ return this._boFactory.makeWithRawBackendData(GoodsAllocationStatus, response.resultObject);
3640
+ }
3641
+ else {
3642
+ this._handleExceptionFromResponse(response);
3643
+ return null;
3644
+ }
3645
+ });
3646
+ }
3647
+ getGoodsAllocationStatusWithHistory(transId, lineNr) {
3648
+ return __awaiter(this, void 0, void 0, function* () {
3649
+ const response = yield this.connector.getGoodsAllocationStatusWithHistory(transId, lineNr);
3650
+ if (response && response.resultObject) {
3651
+ return this._boFactory.makeWithRawBackendData(GoodsAllocationStatusWithHistory, response.resultObject);
3652
+ }
3653
+ else {
3654
+ this._handleExceptionFromResponse(response);
3655
+ return null;
3656
+ }
3657
+ });
3658
+ }
3600
3659
  _handleExceptionFromResponse(result) {
3601
3660
  this._errorService.showValidationError(result);
3602
3661
  }
@@ -4148,6 +4207,26 @@ class TransactionConnectorService {
4148
4207
  return yield this._adapterService.getAvailableStockGroupedByWLBSByTransIdLineNr(transId, lineNr);
4149
4208
  });
4150
4209
  }
4210
+ allocateGoodsForSalesOrder(request) {
4211
+ return __awaiter(this, void 0, void 0, function* () {
4212
+ return yield this._adapterService.allocateGoodsForSalesOrder(request);
4213
+ });
4214
+ }
4215
+ allocateGoodsForSalesOrderCorrection(request) {
4216
+ return __awaiter(this, void 0, void 0, function* () {
4217
+ return yield this._adapterService.allocateGoodsForSalesOrderCorrection(request);
4218
+ });
4219
+ }
4220
+ getGoodsAllocationStatus(transId, lineNr) {
4221
+ return __awaiter(this, void 0, void 0, function* () {
4222
+ return yield this._adapterService.getGoodsAllocationStatus(transId, lineNr);
4223
+ });
4224
+ }
4225
+ getGoodsAllocationStatusWithHistory(transId, lineNr) {
4226
+ return __awaiter(this, void 0, void 0, function* () {
4227
+ return yield this._adapterService.getGoodsAllocationStatusWithHistory(transId, lineNr);
4228
+ });
4229
+ }
4151
4230
  }
4152
4231
  TransactionConnectorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionConnectorService_Factory() { return new TransactionConnectorService(i0.ɵɵinject(TransactionConnectorAdapterService), i0.ɵɵinject(SelectSingleCacheService), i0.ɵɵinject(SelectMultipleCacheService), i0.ɵɵinject(SelectMultipleParameterizedCacheService)); }, token: TransactionConnectorService, providedIn: "root" });
4153
4232
  TransactionConnectorService.decorators = [
@@ -4186,6 +4265,7 @@ class TransactionEventService {
4186
4265
  this.generateCommissionOrders = new Subject();
4187
4266
  this.allowPartialDeliveryChanged = new Subject();
4188
4267
  this.connectionInitialized = new BehaviorSubject(false);
4268
+ this.createTransaction = new Subject();
4189
4269
  }
4190
4270
  }
4191
4271
  TransactionEventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionEventService_Factory() { return new TransactionEventService(); }, token: TransactionEventService, providedIn: "root" });
@@ -4478,6 +4558,7 @@ class PendingReasonService {
4478
4558
  this.relationUpdated = new BehaviorSubject(undefined);
4479
4559
  this.applicationUser = false;
4480
4560
  this.invoiceAddressSameAsDelivery = true;
4561
+ this.transactionKind = TransactionKind.SalesOrder;
4481
4562
  this.currentTransaction = new TransactionInfoResponse();
4482
4563
  this.purchasePortalLine = [];
4483
4564
  this.docDeliveryBatch = new DocDeliveryBatch();
@@ -5041,7 +5122,7 @@ class TransactionService extends PendingReasonService {
5041
5122
  createTransaction() {
5042
5123
  return __awaiter(this, void 0, void 0, function* () {
5043
5124
  return new Promise((resolve, reject) => {
5044
- this.connector.createTransaction(TransactionKind.SalesOrder, "1").then((response) => {
5125
+ this.connector.createTransaction(this.transactionKind, "1").then((response) => {
5045
5126
  this.rememberCurrentTransaction(response);
5046
5127
  resolve(true);
5047
5128
  }, (error) => {
@@ -5091,14 +5172,11 @@ class TransactionService extends PendingReasonService {
5091
5172
  commit() {
5092
5173
  return this.connector.commit();
5093
5174
  }
5094
- saveTransaction(close = false) {
5175
+ saveTransaction() {
5095
5176
  return __awaiter(this, void 0, void 0, function* () {
5096
5177
  const response = yield this.connector.saveTransaction(this.currentTransaction.transactionInfo.uuid);
5097
5178
  if (response && response.isSuccess) {
5098
- const lockSuccess = yield this.tryToLockTransaction(response.transactionInfo.id, response.transactionInfo.version);
5099
- if (lockSuccess) {
5100
- this.rememberCurrentTransaction(response);
5101
- }
5179
+ this.rememberCurrentTransaction(response);
5102
5180
  }
5103
5181
  return response;
5104
5182
  });
@@ -5371,6 +5449,26 @@ class TransactionService extends PendingReasonService {
5371
5449
  return yield this.connector.getAvailableStockGroupedByWLBSByTransIdLineNr(transId, lineNr);
5372
5450
  });
5373
5451
  }
5452
+ allocateGoodsForSalesOrder(request) {
5453
+ return __awaiter(this, void 0, void 0, function* () {
5454
+ return yield this.connector.allocateGoodsForSalesOrder(request);
5455
+ });
5456
+ }
5457
+ allocateGoodsForSalesOrderCorrection(request) {
5458
+ return __awaiter(this, void 0, void 0, function* () {
5459
+ return yield this.connector.allocateGoodsForSalesOrderCorrection(request);
5460
+ });
5461
+ }
5462
+ getGoodsAllocationStatus(transId, lineNr) {
5463
+ return __awaiter(this, void 0, void 0, function* () {
5464
+ return yield this.connector.getGoodsAllocationStatus(transId, lineNr);
5465
+ });
5466
+ }
5467
+ getGoodsAllocationStatusWithHistory(transId, lineNr) {
5468
+ return __awaiter(this, void 0, void 0, function* () {
5469
+ return yield this.connector.getGoodsAllocationStatusWithHistory(transId, lineNr);
5470
+ });
5471
+ }
5374
5472
  // private _cleanRelationBeforeSave(): void {
5375
5473
  // ArrayUtils.RemoveElementsByFilter(this.currentTransaction.transactionInfo.relation.contactOptions, ((item: ContactOption) => {
5376
5474
  // return isNill(item.value);
@@ -5398,6 +5496,8 @@ class CheckoutComponent {
5398
5496
  this.service = service;
5399
5497
  this._dictionary = _dictionary;
5400
5498
  this._dialogService = _dialogService;
5499
+ this.transactionType = TransactionKind.SalesOrder;
5500
+ this.showCreateTransactionButton = false;
5401
5501
  this.transactionFinished = new EventEmitter();
5402
5502
  this.deliveryAddressNawNr = 0;
5403
5503
  this.invoiceAddressNawNr = 0;
@@ -5409,9 +5509,30 @@ class CheckoutComponent {
5409
5509
  // TODO: return this.userService.isApplicationUser;
5410
5510
  return true;
5411
5511
  }
5512
+ ngOnInit() {
5513
+ this.service.transactionKind = this.transactionType;
5514
+ }
5412
5515
  // ngOnDestroy(): void {
5413
5516
  // this._subscriptions.forEach(subscription => subscription.unsubscribe());
5414
5517
  // }
5518
+ handleCreateTransaction(event) {
5519
+ return __awaiter(this, void 0, void 0, function* () {
5520
+ if (this.stepper.activeStep === 0 && (yield this.handleRelationValidation())) {
5521
+ const success = yield this.service.saveRelation();
5522
+ if (success) {
5523
+ yield this.service.updateHeaderTransactionDefinitive(this.service.currentTransaction.transactionInfo.uuid, true);
5524
+ }
5525
+ }
5526
+ const response = yield this.service.saveTransaction();
5527
+ if (response && response.isSuccess) {
5528
+ const id = this.service.currentTransaction.transactionInfo.id;
5529
+ this.service.currentTransaction = new TransactionInfoResponse();
5530
+ this.service.relation = new CustomerFullObject();
5531
+ this.service.articleAmount = 0;
5532
+ this.transactionFinished.emit({ id: id, fromCheckout: this.showCreateTransactionButton });
5533
+ }
5534
+ });
5535
+ }
5415
5536
  handleRelationValidation() {
5416
5537
  return __awaiter(this, void 0, void 0, function* () {
5417
5538
  if (this.checkoutRelation && this.stepRelation) {
@@ -5419,6 +5540,7 @@ class CheckoutComponent {
5419
5540
  if (valid) {
5420
5541
  this.stepRelation.completed = yield this.saveRelation();
5421
5542
  }
5543
+ return valid;
5422
5544
  }
5423
5545
  });
5424
5546
  }
@@ -5435,13 +5557,7 @@ class CheckoutComponent {
5435
5557
  }
5436
5558
  }
5437
5559
  }
5438
- }
5439
- });
5440
- }
5441
- handleFinishStep() {
5442
- return __awaiter(this, void 0, void 0, function* () {
5443
- if ( /*this.checkoutDelivery && */this.stepPay) {
5444
- this.stepPay.completed = true;
5560
+ return valid;
5445
5561
  }
5446
5562
  });
5447
5563
  }
@@ -5475,14 +5591,18 @@ class CheckoutComponent {
5475
5591
  this.service.currentTransaction = new TransactionInfoResponse();
5476
5592
  this.service.relation = new CustomerFullObject();
5477
5593
  this.service.articleAmount = 0;
5478
- this.transactionFinished.emit(id);
5594
+ this.transactionFinished.emit({ id: id, fromCheckout: this.showCreateTransactionButton });
5479
5595
  }
5480
5596
  }
5481
5597
  CheckoutComponent.decorators = [
5482
5598
  { type: Component, args: [{
5483
5599
  selector: "co-checkout",
5484
5600
  template: `
5485
- <co-stepper #stepper [finishButtonLabel]="'CHECKOUT_FINISH' | localize" (finishStep)="handleFinishStep()">
5601
+ <co-stepper #stepper
5602
+ [finishButtonLabel]="'CHECKOUT_FINISH' | localize"
5603
+ [showCreate]="showCreateTransactionButton"
5604
+ (createClicked)="handleCreateTransaction($event)"
5605
+ >
5486
5606
  <co-stepper-step #stepRelation [index]="1" [label]="'YOUR_DATA' | localize" (validateStep)="handleRelationValidation()">
5487
5607
  <co-checkout-overview-relation-edit #checkoutRelation *ngIf="stepRelation.show" [(relation)]="service.relation"
5488
5608
  [deliveryAddressNawNr]="deliveryAddressNawNr"
@@ -5510,7 +5630,7 @@ CheckoutComponent.decorators = [
5510
5630
  <div class="co-checkout-right-panel-relation">
5511
5631
  <co-avatar [relationId]="sellerId"></co-avatar>
5512
5632
  </div>
5513
- <co-shopping-cart-preview [showCheckoutButton]="false" [withoutBorder]="true"></co-shopping-cart-preview>
5633
+ <co-shopping-cart-preview *ngIf="!showCreateTransactionButton" [showCheckoutButton]="false" [withoutBorder]="true"></co-shopping-cart-preview>
5514
5634
  </div>
5515
5635
  </co-stepper>
5516
5636
  `,
@@ -5532,6 +5652,8 @@ CheckoutComponent.propDecorators = {
5532
5652
  checkoutDelivery: [{ type: ViewChild, args: ["checkoutDelivery",] }],
5533
5653
  checkoutPayment: [{ type: ViewChild, args: ["checkoutPayment",] }],
5534
5654
  sellerId: [{ type: Input }],
5655
+ transactionType: [{ type: Input }],
5656
+ showCreateTransactionButton: [{ type: Input }],
5535
5657
  transactionFinished: [{ type: Output }],
5536
5658
  showClass: [{ type: HostBinding, args: ["class.co-checkout",] }]
5537
5659
  };
@@ -7224,7 +7346,8 @@ StepperStepComponent.propDecorators = {
7224
7346
  class StepperComponent {
7225
7347
  constructor() {
7226
7348
  this.icons = Icon;
7227
- this.finishStep = new EventEmitter();
7349
+ this.showCreate = false;
7350
+ this.createClicked = new EventEmitter();
7228
7351
  this.firstStep = 0;
7229
7352
  this.truckPosition = 0;
7230
7353
  this._activeStep = 0;
@@ -7327,7 +7450,7 @@ StepperComponent.decorators = [
7327
7450
  <div class="stepper-button-wrapper">
7328
7451
  <co-button [label]="'BACK' | localize" *ngIf="canPrevious" (click)="gotoPrevious()"></co-button>
7329
7452
  <co-button [label]="'CONTINUE' | localize" *ngIf="canNext" (click)="gotoNext()"></co-button>
7330
- <co-button [label]="finishButtonLabel" *ngIf="finished" (click)="finishStep.emit()"></co-button>
7453
+ <co-button [label]="'CREATE_TRANSACTION' | localize" *ngIf="showCreate" (click)="createClicked.emit($event)"></co-button>
7331
7454
  </div>
7332
7455
  </ng-template>
7333
7456
  `,
@@ -7338,7 +7461,8 @@ StepperComponent.propDecorators = {
7338
7461
  content: [{ type: ContentChildren, args: [StepperStepComponent,] }],
7339
7462
  child: [{ type: ViewChild, args: ['deliveryTruck', { read: ElementRef },] }],
7340
7463
  finishButtonLabel: [{ type: Input }],
7341
- finishStep: [{ type: Output }],
7464
+ showCreate: [{ type: Input }],
7465
+ createClicked: [{ type: Output }],
7342
7466
  showClass: [{ type: HostBinding, args: ["class.co-stepper",] }]
7343
7467
  };
7344
7468
 
@@ -9074,6 +9198,7 @@ var TransactionTypeCategory;
9074
9198
  TransactionTypeCategory["PurchaseOrderMenu"] = "purchaseOrderMenu";
9075
9199
  TransactionTypeCategory["SalesOrderOverview"] = "salesOrderOverview";
9076
9200
  TransactionTypeCategory["SalesOrderPurchase"] = "salesOrderPurchase";
9201
+ TransactionTypeCategory["SalesOrderAllocation"] = "salesOrderAllocation";
9077
9202
  TransactionTypeCategory["SalesOrderLogistics"] = "salesOrderLogistics";
9078
9203
  TransactionTypeCategory["SalesOrderPlanning"] = "salesOrderPlanning";
9079
9204
  TransactionTypeCategory["SalesOrderDeliveryNote"] = "salesOrderDeliveryNote";
@@ -9226,9 +9351,7 @@ class TransactionReceiveGoodsService {
9226
9351
  this._subscriptions = [];
9227
9352
  this._subscriptions.push(this._transactionEventService.commitReceivePurchaseOrders.subscribe((value => {
9228
9353
  this.handleReceiveSelectedPurchaseOrders(value);
9229
- })), this._transactionEventService.transactionLineChanged.subscribe((value) => {
9230
- this._handleTransactionLineChanged(value);
9231
- }));
9354
+ })));
9232
9355
  }
9233
9356
  handleReceiveSelectedPurchaseOrders(value) {
9234
9357
  return __awaiter(this, void 0, void 0, function* () {
@@ -9260,15 +9383,9 @@ class TransactionReceiveGoodsService {
9260
9383
  selectedLines.forEach((line) => {
9261
9384
  line.quantityReceived += line.quantityToReceive;
9262
9385
  line.quantityToReceive -= line.quantityToReceive;
9263
- this._transactionEventService.selectAllLines.next(false);
9386
+ this._transactionEventService.transactionLineChanged.next(line);
9264
9387
  });
9265
- }
9266
- _handleTransactionLineChanged(change) {
9267
- const receiveGoodViewModel = this.lines.find((line) => line.lineNr === change.transactionLine.lineNr);
9268
- if (receiveGoodViewModel) {
9269
- receiveGoodViewModel.quantityToReceive = change.goodsReceiptStatus.quantityToReceive;
9270
- receiveGoodViewModel.quantityReceived = change.goodsReceiptStatus.quantityReceived;
9271
- }
9388
+ this._transactionEventService.selectAllLines.next(false);
9272
9389
  }
9273
9390
  }
9274
9391
  TransactionReceiveGoodsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionReceiveGoodsService_Factory() { return new TransactionReceiveGoodsService(i0.ɵɵinject(TransactionService), i0.ɵɵinject(TransactionEventService)); }, token: TransactionReceiveGoodsService, providedIn: "root" });
@@ -9341,7 +9458,6 @@ TransactionQuickAccessReceivedGoodsComponent.decorators = [
9341
9458
  <div class="button-wrapper receive" (click)="handleCommitEvent({date: this.commitDate, id: this.commitReferenceId})">
9342
9459
  <co-checkmark-overlay [successful]="resultSuccessful" [visible]="awaitingResult"></co-checkmark-overlay>
9343
9460
  <co-icon class="button-icon" [iconData]="iconService.getIcon(icons.GearSolid)" [class.hidden]="!iconVisible"></co-icon>
9344
- <!-- <span class="button-title" [textContent]="'INSIDE' | localize"></span>-->
9345
9461
  </div>
9346
9462
  <div class="button-wrapper print">
9347
9463
  <co-icon class="button-icon" [iconData]="iconService.getIcon(icons.PrintSolid)"></co-icon>
@@ -9367,22 +9483,79 @@ TransactionQuickAccessReceivedGoodsComponent.propDecorators = {
9367
9483
  };
9368
9484
 
9369
9485
  class TransactionQuickAccessOverviewComponent extends TransactionBaseComponent {
9486
+ constructor(iconService, service) {
9487
+ super(service);
9488
+ this.iconService = iconService;
9489
+ this.service = service;
9490
+ this.icons = Icon;
9491
+ this.catalogOptions = {
9492
+ searchOnStart: true,
9493
+ showAddToCart: false,
9494
+ showLookAtArticleButton: false,
9495
+ showAddArticleButton: false
9496
+ };
9497
+ this.catalogParameters = {};
9498
+ this.showCatalog = false;
9499
+ this.searchText = "";
9500
+ }
9370
9501
  showClass() {
9371
9502
  return true;
9372
9503
  }
9504
+ handleSearch(text) {
9505
+ this.showCatalogDialog();
9506
+ }
9507
+ handleAddArticle(event) {
9508
+ event.preventDefault();
9509
+ event.stopPropagation();
9510
+ this.service.addArticle(this.searchText);
9511
+ }
9512
+ handleSearchCatalog(event) {
9513
+ this.showCatalogDialog();
9514
+ }
9515
+ handleCatalogArticleClick(article) {
9516
+ return __awaiter(this, void 0, void 0, function* () {
9517
+ if (yield this.service.addArticle(article.articleNumber)) {
9518
+ this.showCatalog = false;
9519
+ }
9520
+ });
9521
+ }
9522
+ showCatalogDialog() {
9523
+ this.catalogParameters.general = this.searchText;
9524
+ this.catalogParameters.publicationCode = 71; // todo: fix this?
9525
+ this.showCatalog = true;
9526
+ }
9373
9527
  }
9374
9528
  TransactionQuickAccessOverviewComponent.decorators = [
9375
9529
  { type: Component, args: [{
9376
9530
  selector: "co-transaction-quick-access-overview",
9377
9531
  template: `
9378
9532
  <co-input-search
9533
+ [(model)]="searchText"
9379
9534
  [placeholder]="'SEARCH_ADD_ARTICLE' | localize"
9380
9535
  [centerLabel]="true"
9536
+ [useLeftIcon]="true"
9537
+ [leftIconData]="iconService.getIcon(icons.CartShoppingSolid)"
9538
+ [useRightIcon]="true"
9539
+ (leftIconClick)="handleAddArticle($event)"
9540
+ (rightIconClick)="handleSearchCatalog($event)"
9541
+ (search)="handleSearch($event)"
9381
9542
  ></co-input-search>
9543
+ <co-dialog-catalog *ngIf="showCatalog"
9544
+ [options]="catalogOptions"
9545
+ [parameters]="catalogParameters"
9546
+ [showNavigation]="true"
9547
+ (closeClick)="showCatalog = false"
9548
+ (articleClicked)="handleCatalogArticleClick($event)"
9549
+ >
9550
+ </co-dialog-catalog>
9382
9551
  `,
9383
9552
  encapsulation: ViewEncapsulation.None
9384
9553
  },] }
9385
9554
  ];
9555
+ TransactionQuickAccessOverviewComponent.ctorParameters = () => [
9556
+ { type: IconCacheService },
9557
+ { type: TransactionService }
9558
+ ];
9386
9559
  TransactionQuickAccessOverviewComponent.propDecorators = {
9387
9560
  showClass: [{ type: HostBinding, args: ["class.co-transaction-quick-access-overview",] }]
9388
9561
  };
@@ -9615,11 +9788,11 @@ class TransactionLineActionButtonsComponent {
9615
9788
  this.alignDirection = Direction.Down;
9616
9789
  this.waitingForUserAction = new EventEmitter();
9617
9790
  this.sidePanelButtonClicked = new EventEmitter();
9618
- this.showActionButtons = false;
9619
9791
  this.showActionButtonsDelayed = false;
9620
9792
  this.showTransactionArticleText = false;
9621
9793
  this.showTransactionArticleTextOverview = false;
9622
9794
  this.readonly = false;
9795
+ this._showActionButtons = false;
9623
9796
  }
9624
9797
  set transactionLine(value) {
9625
9798
  this._transactionLine = value;
@@ -9628,6 +9801,15 @@ class TransactionLineActionButtonsComponent {
9628
9801
  get transactionLine() {
9629
9802
  return this._transactionLine;
9630
9803
  }
9804
+ set showActionButtons(value) {
9805
+ this._showActionButtons = value;
9806
+ setTimeout(() => {
9807
+ this.showActionButtonsDelayed = this._showActionButtons;
9808
+ });
9809
+ }
9810
+ get showActionButtons() {
9811
+ return this._showActionButtons;
9812
+ }
9631
9813
  showClass() {
9632
9814
  return true;
9633
9815
  }
@@ -9705,6 +9887,7 @@ TransactionLineActionButtonsComponent.decorators = [
9705
9887
  selector: "co-transaction-line-action-buttons",
9706
9888
  template: `
9707
9889
  <div class="transaction-line-action-buttons-wrapper">
9890
+ <!--
9708
9891
  <div class="menu-button-container">
9709
9892
  <co-button
9710
9893
  class="action-menu-button circle"
@@ -9712,11 +9895,11 @@ TransactionLineActionButtonsComponent.decorators = [
9712
9895
  (click)="handleShowHideClick()">
9713
9896
  </co-button>
9714
9897
  </div>
9898
+ -->
9715
9899
 
9716
- <div class="action-buttons-container" clickOutside
9900
+ <div class="action-buttons-container"
9717
9901
  *ngIf="showActionButtons"
9718
- [ngClass]="alignDirection"
9719
- (clickOutside)="handleShowHideClick()">
9902
+ [ngClass]="alignDirection">
9720
9903
 
9721
9904
  <co-button
9722
9905
  class="transaction-line-overview-button circle action-button"
@@ -9768,6 +9951,7 @@ TransactionLineActionButtonsComponent.ctorParameters = () => [
9768
9951
  TransactionLineActionButtonsComponent.propDecorators = {
9769
9952
  transactionLine: [{ type: Input }],
9770
9953
  alignDirection: [{ type: Input }],
9954
+ showActionButtons: [{ type: Input }],
9771
9955
  waitingForUserAction: [{ type: Output }],
9772
9956
  sidePanelButtonClicked: [{ type: Output }],
9773
9957
  showClass: [{ type: HostBinding, args: ["class.co-transaction-line-action-buttons",] }]
@@ -9786,7 +9970,6 @@ class TransactionLinesLineBaseComponent {
9786
9970
  this._line = value;
9787
9971
  this.isText = this._line.isText;
9788
9972
  this.isArticle = this._line.isArticle;
9789
- this.isSelected = this._line.isSelected;
9790
9973
  this.readonly = this._line.hasInvoices;
9791
9974
  this.transactionLineSet();
9792
9975
  }
@@ -9810,7 +9993,7 @@ TransactionLinesLineBaseComponent.propDecorators = {
9810
9993
  waitingForUserAction: [{ type: Output }],
9811
9994
  showClass: [{ type: HostBinding, args: ["class.co-transaction-base-line",] }],
9812
9995
  preview: [{ type: HostBinding, args: ["class.preview",] }, { type: Input }],
9813
- isSelected: [{ type: HostBinding, args: ["class.is-selected",] }, { type: Input, args: ['selected',] }],
9996
+ selected: [{ type: HostBinding, args: ["class.is-selected",] }, { type: Input }],
9814
9997
  isText: [{ type: HostBinding, args: ["class.is-text",] }],
9815
9998
  isArticle: [{ type: HostBinding, args: ["class.is-article",] }]
9816
9999
  };
@@ -9861,7 +10044,7 @@ TransactionOverviewLineComponent.decorators = [
9861
10044
  { type: Component, args: [{
9862
10045
  selector: "co-transaction-overview-line",
9863
10046
  template: `
9864
- <co-transaction-base-line [line]="line" [preview]="preview">
10047
+ <co-transaction-base-line [line]="line" [preview]="preview" [selected]="selected">
9865
10048
  <ng-container *ngIf="line.isArticle">
9866
10049
  <div class="transaction-line-wrapper">
9867
10050
  <div *ngIf=!preview class="transaction-line-extended-wrapper">
@@ -10003,7 +10186,7 @@ TransactionOrderDeliveryLineComponent.decorators = [
10003
10186
  </div>
10004
10187
  <div class="row-2">
10005
10188
  <co-transaction-line-delivery-date-button [transactionLine]="line"></co-transaction-line-delivery-date-button>
10006
- <co-transaction-line-statusbar [transaction]="line" [transactionKind]="transactionKind"></co-transaction-line-statusbar>
10189
+ <co-transaction-line-statusbar [transaction]="line" [transactionKind]="transactionKind" [transactionTypeCategory]="activeCategory"></co-transaction-line-statusbar>
10007
10190
  </div>
10008
10191
  </div>
10009
10192
  <div class="transaction-line-totals-custom-grid" [class.hidden]="!deliveryOrderStatus">
@@ -10027,7 +10210,7 @@ TransactionOrderDeliveryLineComponent.decorators = [
10027
10210
  ></co-editable-label>
10028
10211
  <div class="transaction-line-totals-amount" *ngIf="deliveryOrderStatus?.quantityToDeliver !== 0 && service.currentTransaction.transactionInfo.allowPartialDelivery"
10029
10212
  [class.fully-delivered]="line.quantityDelivered === line.amount"
10030
- [class.partially-delivered]="line.quantityDelivered !== line.amount">
10213
+ [class.partially-delivered]="line.quantityDelivered !== line.amount && line.quantityDelivered !== 0">
10031
10214
  <co-input-number-picker class="amount-number-picker"
10032
10215
  [(model)]="localAmount"
10033
10216
  [min]="!service.currentTransaction.transactionInfo.allowPartialDelivery ? line.amount : 1"
@@ -10037,7 +10220,7 @@ TransactionOrderDeliveryLineComponent.decorators = [
10037
10220
  </div>
10038
10221
  <co-editable-label class="transaction-line-totals-total price" *ngIf="deliveryOrderStatus?.quantityToDeliver === 0 || !service.currentTransaction.transactionInfo.allowPartialDelivery"
10039
10222
  [class.fully-delivered]="line.quantityDelivered === line.amount"
10040
- [class.partially-delivered]="line.quantityDelivered !== line.amount"
10223
+ [class.partially-delivered]="line.quantityDelivered !== line.amount && line.quantityDelivered !== 0"
10041
10224
  [model]="deliveryOrderStatus?.quantityToDeliver.toString()"
10042
10225
  [readonly]="true"
10043
10226
  ></co-editable-label>
@@ -10117,7 +10300,7 @@ TransactionQuickAccessOrderDeliveryComponent.propDecorators = {
10117
10300
  showClass: [{ type: HostBinding, args: ["class.co-transaction-quick-access-order-delivery",] }]
10118
10301
  };
10119
10302
 
10120
- class ReceiveGoodViewModel extends TransactionLineInfo {
10303
+ class ExtendedTransactionLineViewModel extends TransactionLineInfo {
10121
10304
  }
10122
10305
 
10123
10306
  class TransactionReceiveGoodsLineComponent extends TransactionLinesLineBaseComponent {
@@ -10129,7 +10312,7 @@ class TransactionReceiveGoodsLineComponent extends TransactionLinesLineBaseCompo
10129
10312
  this._transactionEventService = _transactionEventService;
10130
10313
  this._transactionReceiveGoodsService = _transactionReceiveGoodsService;
10131
10314
  this.icons = Icon;
10132
- this.viewModel = new ReceiveGoodViewModel();
10315
+ this.viewModel = new ExtendedTransactionLineViewModel();
10133
10316
  this._subscriptions = [];
10134
10317
  }
10135
10318
  showClass() {
@@ -10140,7 +10323,12 @@ class TransactionReceiveGoodsLineComponent extends TransactionLinesLineBaseCompo
10140
10323
  this._initViewModel();
10141
10324
  this._subscriptions.push(this._transactionEventService.selectAllLines.subscribe((value) => {
10142
10325
  this.viewModel.selected = this.viewModel.quantityReceived === this.viewModel.amount || this.viewModel.quantityToReceive < 0 ? false : value;
10143
- }), this.lineVisible.subscribe(() => this.handleRowVisible()));
10326
+ }), this._transactionEventService.transactionLineChanged.subscribe((line) => {
10327
+ if (line.lineNr === this.viewModel.lineNr) {
10328
+ this.viewModel.quantityToReceive = line.quantityToReceive;
10329
+ this.viewModel.quantityReceived = line.quantityReceived;
10330
+ }
10331
+ }));
10144
10332
  }
10145
10333
  ngOnDestroy() {
10146
10334
  this._subscriptions.forEach(s => s.unsubscribe());
@@ -10187,7 +10375,7 @@ TransactionReceiveGoodsLineComponent.decorators = [
10187
10375
  ></co-editable-label>
10188
10376
  <div class="transaction-line-totals-amount"
10189
10377
  [class.fully-delivered]="viewModel.quantityReceived === viewModel.amount"
10190
- [class.partially-delivered]="viewModel.quantityReceived !== viewModel.amount">
10378
+ [class.partially-delivered]="viewModel.quantityReceived !== viewModel.amount && viewModel.quantityReceived !== 0">
10191
10379
  <co-input-number-picker class="amount-number-picker"
10192
10380
  [(model)]="viewModel.quantityToReceive"
10193
10381
  [min]="!allowPartialDelivery ? viewModel.amount : 1"
@@ -10262,7 +10450,7 @@ TransactionPurchaseLineComponent.decorators = [
10262
10450
  </div>
10263
10451
  <div class="column2">
10264
10452
  <co-transaction-line-delivery-button [transactionLine]="line" [transactionInfo]="service.currentTransaction.transactionInfo"></co-transaction-line-delivery-button>
10265
- <co-transaction-line-statusbar [transaction]="line" [transactionKind]="service.currentTransaction.transactionInfo.transactionKind"></co-transaction-line-statusbar>
10453
+ <co-transaction-line-statusbar [transaction]="line" [transactionKind]="service.currentTransaction.transactionInfo.transactionKind" [transactionTypeCategory]="activeCategory"></co-transaction-line-statusbar>
10266
10454
  </div>
10267
10455
  <div class="column3">
10268
10456
  <co-transaction-line-supplier-button [transactionLine]="line" [transactionInfo]="service.currentTransaction.transactionInfo"></co-transaction-line-supplier-button>
@@ -10427,110 +10615,328 @@ TransactionSalesPurchaseButtonBarButtonComponent.propDecorators = {
10427
10615
  showClass: [{ type: HostBinding, args: ['class.co-transaction-sales-purchase-button-bar-button',] }]
10428
10616
  };
10429
10617
 
10430
- class TransactionMappingService {
10431
- constructor() {
10432
- this._buttonBarTransaction = new Map([
10433
- [TransactionKind.PurchaseOrder, [
10434
- { title: 'OVERVIEW', icon: Icon.CartShoppingSolid, category: TransactionTypeCategory.PurchaseOrderOverview },
10435
- { title: 'CONFIRMATION', icon: Icon.MemoCircleCheckSolid, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation },
10436
- { title: 'TRANSPORT', icon: Icon.TruckContainerSolid, category: TransactionTypeCategory.PurchaseOrderTransport },
10437
- { title: 'RECEIVED', icon: Icon.CartFlatbedBoxesSolid, category: TransactionTypeCategory.PurchaseOrderReceivedGoods },
10438
- { title: 'INVOICE_CHECK', icon: Icon.Tag, category: TransactionTypeCategory.PurchaseOrderInvoiceCheck },
10439
- { title: 'MENU', icon: Icon.Tag, category: TransactionTypeCategory.PurchaseOrderMenu }
10440
- ]],
10441
- [TransactionKind.SalesOrder, [
10442
- { title: 'OVERVIEW', icon: Icon.CartShoppingSolid, category: TransactionTypeCategory.SalesOrderOverview },
10443
- { title: 'PURCHASE', icon: Icon.PalletBoxesSolid, category: TransactionTypeCategory.SalesOrderPurchase, component: TransactionSalesPurchaseButtonBarButtonComponent },
10444
- { title: 'LOGISTICS', icon: Icon.ShelvesSolid, category: TransactionTypeCategory.SalesOrderLogistics },
10445
- { title: 'PLANNING', icon: Icon.TruckMovingSolid, category: TransactionTypeCategory.SalesOrderPlanning },
10446
- { title: 'DELIVERY_NOTE', icon: Icon.MemoCircleCheckSolid, category: TransactionTypeCategory.SalesOrderDeliveryNote },
10447
- { title: 'INVOICE', icon: Icon.CartCheck, category: TransactionTypeCategory.SalesOrderInvoice }
10448
- ]],
10449
- ]);
10450
- this._quickAccessComponent = new Map([
10451
- [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation }, TransactionQuickAccessOrderConfirmationComponent],
10452
- [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderReceivedGoods }, TransactionQuickAccessReceivedGoodsComponent],
10453
- [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderOverview }, TransactionQuickAccessOverviewComponent],
10454
- [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderPurchase }, TransactionQuickAccessOrderPurchaseComponent],
10455
- [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderDeliveryNote }, TransactionQuickAccessOrderDeliveryComponent]
10456
- ]);
10457
- this._transactionGridComponent = new Map([
10458
- [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOverview }, TransactionLinesGridComponent],
10459
- [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation }, TransactionOrderConfirmationGridComponent],
10460
- [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderOverview }, TransactionLinesGridComponent]
10461
- ]);
10462
- this._transactionLineComponent = new Map([
10463
- [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderOverview }, TransactionOverviewLineComponent],
10464
- [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderPurchase }, TransactionPurchaseLineComponent],
10465
- [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderDeliveryNote }, TransactionOrderDeliveryLineComponent],
10466
- [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderInvoice }, TransactionOrderDeliveryLineComponent],
10467
- [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderReceivedGoods }, TransactionReceiveGoodsLineComponent],
10468
- ]);
10469
- this._transactionFilterComponent = new Map([
10470
- [{ type: TransactionKind.SalesOrder }, TransactionSalesOrderFilterComponent],
10471
- [{ type: TransactionKind.PurchaseOrder }, TransactionPurchaseOrderFilterComponent],
10472
- ]);
10473
- this._transactionSearchGridComponent = new Map([
10474
- [{ type: TransactionKind.SalesOrder }, TransactionSearchSalesOrderGridComponent],
10475
- [{ type: TransactionKind.PurchaseOrder }, TransactionSearchPurchaseOrderGridComponent],
10476
- ]);
10477
- this._transactionSearchTileComponent = new Map([
10478
- [{ type: TransactionKind.SalesOrder }, TransactionSearchSalesOrderTileComponent],
10479
- [{ type: TransactionKind.PurchaseOrder }, TransactionSearchPurchaseOrderTileComponent],
10480
- ]);
10481
- }
10482
- getButtonBar(type) {
10483
- if (this._buttonBarTransaction.has(type)) {
10484
- return this._buttonBarTransaction.get(type);
10485
- }
10486
- return [];
10618
+ class TransactionAllocateGoodsService {
10619
+ constructor(_transactionService, _transactionEventService) {
10620
+ this._transactionService = _transactionService;
10621
+ this._transactionEventService = _transactionEventService;
10622
+ this.lines = [];
10623
+ this._subscriptions = [];
10624
+ this._subscriptions.push(this._transactionEventService.commitReceivePurchaseOrders.subscribe(() => {
10625
+ this.handleAllocateSelectedPurchaseOrders();
10626
+ }));
10487
10627
  }
10488
- getQuickAccessComponent(type, category) {
10489
- const key = {
10490
- type: type,
10491
- category: category
10492
- };
10493
- let entry;
10494
- this._quickAccessComponent.forEach((v, t, m) => {
10495
- if (t.type === key.type && t.category === key.category) {
10496
- entry = v;
10497
- return;
10628
+ handleAllocateSelectedPurchaseOrders() {
10629
+ return __awaiter(this, void 0, void 0, function* () {
10630
+ const selectedLines = this.lines.filter((line) => line.selected && line.quantityToAllocate > 0);
10631
+ if (selectedLines.length > 0) {
10632
+ const allocateGoodsRequest = new AllocateGoodsForSalesOrderRequest();
10633
+ allocateGoodsRequest.transId = selectedLines[0].transId;
10634
+ allocateGoodsRequest.salesOrderLineAllocationDetailsDTOS = [];
10635
+ selectedLines.forEach((line) => {
10636
+ const detail = new SalesOrderLineAllocationDetails();
10637
+ detail.lineNr = line.lineNr;
10638
+ detail.quantityToAllocate = line.quantityToAllocate;
10639
+ detail.warehouseNr = line.warehouseNumber;
10640
+ detail.locationNr = line.locationNr;
10641
+ allocateGoodsRequest.salesOrderLineAllocationDetailsDTOS.push(detail);
10642
+ });
10643
+ const success = yield this._transactionService.allocateGoodsForSalesOrder(allocateGoodsRequest);
10644
+ if (success) {
10645
+ this._handleAfterCommitReceivedOrders(selectedLines);
10646
+ }
10647
+ return !!success;
10498
10648
  }
10649
+ return false;
10499
10650
  });
10500
- return entry;
10501
10651
  }
10502
- getTransactionGridComponent(type, category) {
10503
- const key = {
10504
- type: type,
10505
- category: category
10506
- };
10507
- let entry;
10508
- this._transactionGridComponent.forEach((v, t, m) => {
10509
- if (t.type === key.type && t.category === key.category) {
10510
- entry = v;
10511
- return;
10512
- }
10652
+ _handleAfterCommitReceivedOrders(selectedLines) {
10653
+ selectedLines.forEach((line) => {
10654
+ line.quantityAllocated += line.quantityToAllocate;
10655
+ line.quantityToAllocate -= line.quantityToAllocate;
10656
+ this._transactionEventService.transactionLineChanged.next(line);
10513
10657
  });
10514
- return entry;
10658
+ this._transactionEventService.selectAllLines.next(false);
10515
10659
  }
10516
- getTransactionLineComponent(type, category) {
10517
- const key = {
10518
- type: type,
10519
- category: category
10520
- };
10521
- let entry;
10522
- this._transactionLineComponent.forEach((v, t) => {
10523
- if (t.type === key.type && t.category === key.category) {
10524
- entry = v;
10525
- return;
10660
+ }
10661
+ TransactionAllocateGoodsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionAllocateGoodsService_Factory() { return new TransactionAllocateGoodsService(i0.ɵɵinject(TransactionService), i0.ɵɵinject(TransactionEventService)); }, token: TransactionAllocateGoodsService, providedIn: "root" });
10662
+ TransactionAllocateGoodsService.decorators = [
10663
+ { type: Injectable, args: [{
10664
+ providedIn: "root"
10665
+ },] }
10666
+ ];
10667
+ TransactionAllocateGoodsService.ctorParameters = () => [
10668
+ { type: TransactionService },
10669
+ { type: TransactionEventService }
10670
+ ];
10671
+
10672
+ class TransactionGoodsAllocationLineComponent extends TransactionLinesLineBaseComponent {
10673
+ constructor(iconCacheService, service, _transactionService, _transactionEventService, _transactionAllocateGoodsService) {
10674
+ super();
10675
+ this.iconCacheService = iconCacheService;
10676
+ this.service = service;
10677
+ this._transactionService = _transactionService;
10678
+ this._transactionEventService = _transactionEventService;
10679
+ this._transactionAllocateGoodsService = _transactionAllocateGoodsService;
10680
+ this.icons = Icon;
10681
+ this.viewModel = new ExtendedTransactionLineViewModel();
10682
+ this._subscriptions = [];
10683
+ }
10684
+ showClass() {
10685
+ return true;
10686
+ }
10687
+ ngOnInit() {
10688
+ this._initViewModel();
10689
+ this.transactionKind = this.service.currentTransaction.transactionInfo.transactionKind;
10690
+ this._subscriptions.push(this._transactionEventService.selectAllLines.subscribe((value) => {
10691
+ this.viewModel.selected = this.viewModel.quantityAllocated === this.viewModel.amount || this.viewModel.quantityToAllocate < 0 ? false : value;
10692
+ }), this._transactionEventService.transactionLineChanged.subscribe((line) => {
10693
+ if (line.lineNr === this.viewModel.lineNr) {
10694
+ this.viewModel.quantityToAllocate = line.quantityToAllocate;
10695
+ this.viewModel.quantityAllocated = line.quantityAllocated;
10526
10696
  }
10527
- });
10528
- return entry;
10697
+ }));
10529
10698
  }
10530
- getTransactionFilterComponent(type) {
10531
- const key = {
10532
- type: type
10533
- };
10699
+ ngOnDestroy() {
10700
+ this._subscriptions.forEach(s => s.unsubscribe());
10701
+ this._transactionAllocateGoodsService.lines = [];
10702
+ }
10703
+ handleRowVisible() {
10704
+ return __awaiter(this, void 0, void 0, function* () {
10705
+ if (this.line.isArticle) {
10706
+ const goodsAllocationStatus = yield this._transactionService.getGoodsAllocationStatus(this.transactionId, this.line.lineNr);
10707
+ this.viewModel.quantityToAllocate = goodsAllocationStatus.quantityToAllocate;
10708
+ this.viewModel.quantityAllocated = goodsAllocationStatus.quantityAllocated;
10709
+ this.viewModel.selected = this.viewModel.quantityAllocated !== this.viewModel.amount && !this.viewModel.isSerialNrRequired && !this.viewModel.isBatchNrRequired && this.viewModel.quantityToAllocate > 0;
10710
+ this._transactionAllocateGoodsService.lines.push(this.viewModel);
10711
+ }
10712
+ });
10713
+ }
10714
+ handleLineClicked(mouseClick) {
10715
+ const target = mouseClick.target;
10716
+ if (target && target.dataset && target.dataset['action'] && target.dataset['action'] === 'openSidePanel') {
10717
+ this._transactionEventService.openSidePanel.next(this.line);
10718
+ }
10719
+ }
10720
+ _initViewModel() {
10721
+ Object.assign(this.viewModel, this.line);
10722
+ this.viewModel.quantityToAllocate = 0;
10723
+ this.viewModel.quantityAllocated = 0;
10724
+ this.viewModel.lineNr = this.line.lineNr;
10725
+ this.viewModel.transId = this.transactionId;
10726
+ }
10727
+ }
10728
+ TransactionGoodsAllocationLineComponent.decorators = [
10729
+ { type: Component, args: [{
10730
+ selector: "co-transaction-goods-allocation-line",
10731
+ template: `
10732
+ <co-transaction-base-line [line]="viewModel" [preview]="preview" [actionButtons]="false" (click)="handleLineClicked($event)" observeVisibility (visible)="handleRowVisible()">
10733
+ <div class="line-content-wrapper" data-action="openSidePanel">
10734
+ <co-transaction-line-warehouse-button [transactionLine]="viewModel" [readonly]="viewModel.quantityAllocated === viewModel.amount" [transactionInfo]="service.currentTransaction.transactionInfo"></co-transaction-line-warehouse-button>
10735
+ <co-transaction-line-warehouse-location-button [readonly]="viewModel.quantityAllocated === viewModel.amount || !viewModel.isLocationRequired" [line]="viewModel"></co-transaction-line-warehouse-location-button>
10736
+ <co-editable-label class="transaction-line-totals-total price"
10737
+ [model]="viewModel.amount.toString() + 'x'"
10738
+ [readonly]="true"
10739
+ ></co-editable-label>
10740
+ <co-transaction-line-statusbar class="status-bar-wrapper" [transaction]="line" [transactionKind]="transactionKind" [transactionTypeCategory]="activeCategory"></co-transaction-line-statusbar>
10741
+ <div class="transaction-line-totals-amount"
10742
+ [class.fully-delivered]="viewModel.quantityAllocated === viewModel.amount"
10743
+ [class.partially-delivered]="viewModel.quantityAllocated !== viewModel.amount && viewModel.quantityAllocated !== 0">
10744
+ <co-input-number-picker class="amount-number-picker"
10745
+ [(model)]="viewModel.quantityToAllocate"
10746
+ [min]="1"
10747
+ [max]="viewModel.amount - viewModel.quantityAllocated"
10748
+ [readonly]="readonly || viewModel.quantityAllocated === viewModel.amount"
10749
+ ></co-input-number-picker>
10750
+ </div>
10751
+ <co-input-checkbox class="transaction-line-checkbox"
10752
+ [(model)]="viewModel.selected"
10753
+ [disabled]="viewModel.quantityAllocated === viewModel.amount"
10754
+ ></co-input-checkbox>
10755
+ </div>
10756
+ </co-transaction-base-line>
10757
+ `,
10758
+ encapsulation: ViewEncapsulation.None
10759
+ },] }
10760
+ ];
10761
+ TransactionGoodsAllocationLineComponent.ctorParameters = () => [
10762
+ { type: IconCacheService },
10763
+ { type: TransactionService },
10764
+ { type: TransactionService },
10765
+ { type: TransactionEventService },
10766
+ { type: TransactionAllocateGoodsService }
10767
+ ];
10768
+ TransactionGoodsAllocationLineComponent.propDecorators = {
10769
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-goods-allocation-line",] }]
10770
+ };
10771
+
10772
+ class TransactionQuickAccessGoodsAllocationComponent extends TransactionBaseComponent {
10773
+ constructor(iconService, _transactionService, _transactionEventService, _allocateGoodsService) {
10774
+ super(_transactionService);
10775
+ this.iconService = iconService;
10776
+ this._transactionService = _transactionService;
10777
+ this._transactionEventService = _transactionEventService;
10778
+ this._allocateGoodsService = _allocateGoodsService;
10779
+ this.icons = Icon;
10780
+ this.awaitingResult = false;
10781
+ this.resultSuccessful = false;
10782
+ this.iconVisible = true;
10783
+ }
10784
+ showClass() {
10785
+ return true;
10786
+ }
10787
+ handleSelectAllLines(value) {
10788
+ this._transactionEventService.selectAllLines.next(value);
10789
+ }
10790
+ handleCommitEvent() {
10791
+ return __awaiter(this, void 0, void 0, function* () {
10792
+ this.iconVisible = false;
10793
+ this.resultSuccessful = false;
10794
+ this.awaitingResult = true;
10795
+ this.resultSuccessful = yield this._allocateGoodsService.handleAllocateSelectedPurchaseOrders();
10796
+ this.awaitingResult = false;
10797
+ setTimeout(() => {
10798
+ this.iconVisible = true;
10799
+ }, 600);
10800
+ });
10801
+ }
10802
+ }
10803
+ TransactionQuickAccessGoodsAllocationComponent.decorators = [
10804
+ { type: Component, args: [{
10805
+ selector: "co-transaction-quick-access-goods-allocation",
10806
+ template: `
10807
+ <div class="quick-access-content-wrapper">
10808
+ <div class="select-all-wrapper">
10809
+ <co-input-checkbox
10810
+ [label]="'SELECT_ALL_LINES' | localize"
10811
+ (modelChange)="handleSelectAllLines($event)"
10812
+ ></co-input-checkbox>
10813
+ </div>
10814
+ <div class="button-wrapper" (click)="handleCommitEvent()">
10815
+ <co-checkmark-overlay [successful]="resultSuccessful" [visible]="awaitingResult"></co-checkmark-overlay>
10816
+ <co-icon class="button-icon" [iconData]="iconService.getIcon(icons.GearSolid)" [class.hidden]="!iconVisible"></co-icon>
10817
+ </div>
10818
+ </div>
10819
+ `,
10820
+ encapsulation: ViewEncapsulation.None
10821
+ },] }
10822
+ ];
10823
+ TransactionQuickAccessGoodsAllocationComponent.ctorParameters = () => [
10824
+ { type: IconCacheService },
10825
+ { type: TransactionService },
10826
+ { type: TransactionEventService },
10827
+ { type: TransactionAllocateGoodsService }
10828
+ ];
10829
+ TransactionQuickAccessGoodsAllocationComponent.propDecorators = {
10830
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-quick-access-goods-allocation",] }]
10831
+ };
10832
+
10833
+ class TransactionMappingService {
10834
+ constructor() {
10835
+ this._buttonBarTransaction = new Map([
10836
+ [TransactionKind.PurchaseOrder, [
10837
+ { title: 'OVERVIEW', icon: Icon.CartShoppingSolid, category: TransactionTypeCategory.PurchaseOrderOverview },
10838
+ { title: 'CONFIRMATION', icon: Icon.MemoCircleCheckSolid, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation },
10839
+ { title: 'TRANSPORT', icon: Icon.TruckContainerSolid, category: TransactionTypeCategory.PurchaseOrderTransport },
10840
+ { title: 'RECEIVED', icon: Icon.CartFlatbedBoxesSolid, category: TransactionTypeCategory.PurchaseOrderReceivedGoods },
10841
+ { title: 'INVOICE_CHECK', icon: Icon.Tag, category: TransactionTypeCategory.PurchaseOrderInvoiceCheck },
10842
+ { title: 'MENU', icon: Icon.Tag, category: TransactionTypeCategory.PurchaseOrderMenu }
10843
+ ]],
10844
+ [TransactionKind.SalesOrder, [
10845
+ { title: 'OVERVIEW', icon: Icon.CartShoppingSolid, category: TransactionTypeCategory.SalesOrderOverview },
10846
+ { title: 'PURCHASE', icon: Icon.PalletBoxesSolid, category: TransactionTypeCategory.SalesOrderPurchase, component: TransactionSalesPurchaseButtonBarButtonComponent },
10847
+ { title: 'ALLOCATION', icon: Icon.ShelvesSolid, category: TransactionTypeCategory.SalesOrderAllocation },
10848
+ { title: 'LOGISTICS', icon: Icon.ShelvesSolid, category: TransactionTypeCategory.SalesOrderLogistics },
10849
+ { title: 'PLANNING', icon: Icon.TruckMovingSolid, category: TransactionTypeCategory.SalesOrderPlanning },
10850
+ { title: 'DELIVERY_NOTE', icon: Icon.MemoCircleCheckSolid, category: TransactionTypeCategory.SalesOrderDeliveryNote },
10851
+ { title: 'INVOICE', icon: Icon.CartCheck, category: TransactionTypeCategory.SalesOrderInvoice }
10852
+ ]],
10853
+ ]);
10854
+ this._quickAccessComponent = new Map([
10855
+ [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation }, TransactionQuickAccessOrderConfirmationComponent],
10856
+ [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderReceivedGoods }, TransactionQuickAccessReceivedGoodsComponent],
10857
+ [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderOverview }, TransactionQuickAccessOverviewComponent],
10858
+ [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderPurchase }, TransactionQuickAccessOrderPurchaseComponent],
10859
+ [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderAllocation }, TransactionQuickAccessGoodsAllocationComponent],
10860
+ [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderDeliveryNote }, TransactionQuickAccessOrderDeliveryComponent]
10861
+ ]);
10862
+ this._transactionGridComponent = new Map([
10863
+ [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOverview }, TransactionLinesGridComponent],
10864
+ [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation }, TransactionOrderConfirmationGridComponent],
10865
+ [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderOverview }, TransactionLinesGridComponent]
10866
+ ]);
10867
+ this._transactionLineComponent = new Map([
10868
+ [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderOverview }, TransactionOverviewLineComponent],
10869
+ [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderPurchase }, TransactionPurchaseLineComponent],
10870
+ [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderAllocation }, TransactionGoodsAllocationLineComponent],
10871
+ [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderDeliveryNote }, TransactionOrderDeliveryLineComponent],
10872
+ [{ type: TransactionKind.SalesOrder, category: TransactionTypeCategory.SalesOrderInvoice }, TransactionOrderDeliveryLineComponent],
10873
+ [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderReceivedGoods }, TransactionReceiveGoodsLineComponent],
10874
+ ]);
10875
+ this._transactionFilterComponent = new Map([
10876
+ [{ type: TransactionKind.SalesOrder }, TransactionSalesOrderFilterComponent],
10877
+ [{ type: TransactionKind.PurchaseOrder }, TransactionPurchaseOrderFilterComponent],
10878
+ ]);
10879
+ this._transactionSearchGridComponent = new Map([
10880
+ [{ type: TransactionKind.SalesOrder }, TransactionSearchSalesOrderGridComponent],
10881
+ [{ type: TransactionKind.PurchaseOrder }, TransactionSearchPurchaseOrderGridComponent],
10882
+ ]);
10883
+ this._transactionSearchTileComponent = new Map([
10884
+ [{ type: TransactionKind.SalesOrder }, TransactionSearchSalesOrderTileComponent],
10885
+ [{ type: TransactionKind.PurchaseOrder }, TransactionSearchPurchaseOrderTileComponent],
10886
+ ]);
10887
+ }
10888
+ getButtonBar(type) {
10889
+ if (this._buttonBarTransaction.has(type)) {
10890
+ return this._buttonBarTransaction.get(type);
10891
+ }
10892
+ return [];
10893
+ }
10894
+ getQuickAccessComponent(type, category) {
10895
+ const key = {
10896
+ type: type,
10897
+ category: category
10898
+ };
10899
+ let entry;
10900
+ this._quickAccessComponent.forEach((v, t, m) => {
10901
+ if (t.type === key.type && t.category === key.category) {
10902
+ entry = v;
10903
+ return;
10904
+ }
10905
+ });
10906
+ return entry;
10907
+ }
10908
+ getTransactionGridComponent(type, category) {
10909
+ const key = {
10910
+ type: type,
10911
+ category: category
10912
+ };
10913
+ let entry;
10914
+ this._transactionGridComponent.forEach((v, t, m) => {
10915
+ if (t.type === key.type && t.category === key.category) {
10916
+ entry = v;
10917
+ return;
10918
+ }
10919
+ });
10920
+ return entry;
10921
+ }
10922
+ getTransactionLineComponent(type, category) {
10923
+ const key = {
10924
+ type: type,
10925
+ category: category
10926
+ };
10927
+ let entry;
10928
+ this._transactionLineComponent.forEach((v, t) => {
10929
+ if (t.type === key.type && t.category === key.category) {
10930
+ entry = v;
10931
+ return;
10932
+ }
10933
+ });
10934
+ return entry;
10935
+ }
10936
+ getTransactionFilterComponent(type) {
10937
+ const key = {
10938
+ type: type
10939
+ };
10534
10940
  let entry;
10535
10941
  this._transactionFilterComponent.forEach((v, t, m) => {
10536
10942
  if (t.type === key.type) {
@@ -10638,6 +11044,7 @@ class TransactionLineComponent {
10638
11044
  this._componentRef.instance.selected = this.selected;
10639
11045
  this._componentRef.instance.line = this.line;
10640
11046
  this._componentRef.instance.transactionId = this.transactionId;
11047
+ this._componentRef.instance.activeCategory = this.activeCategory;
10641
11048
  this._componentRef.instance.waitingForUserAction = this.waitingForUserAction;
10642
11049
  this._componentRef.instance.lineVisible = this.lineVisible;
10643
11050
  }
@@ -10817,7 +11224,9 @@ TransactionLinesComponent.decorators = [
10817
11224
  </div>
10818
11225
  </div>
10819
11226
  </div>
10820
- <co-button *ngIf=!preview class="add-text-button circle" [iconData]="iconCacheService.getIcon(icons.TextSolid)" (click)="handleTransactionArticleText($event)"></co-button>
11227
+ <co-button *ngIf="!preview && transactionLines.length === 0" class="add-text-button circle"
11228
+ [iconData]="iconCacheService.getIcon(icons.TextSolid)"
11229
+ (click)="handleTransactionArticleText($event)"></co-button>
10821
11230
  <co-transaction-article-text *ngIf="showTransactionArticleText"
10822
11231
  [header]="'PRODUCT_DESCRIPTION_AND_TEXTS' | localize"
10823
11232
  [transactionLine]="selectedArticleText"
@@ -12671,7 +13080,7 @@ CheckoutOverviewPaymentComponent.decorators = [
12671
13080
  </div>
12672
13081
  <co-payment
12673
13082
  [transactionUuid]="transaction.transactionInfo.uuid"
12674
- [amount]="transaction.transactionTotal.netAmount"
13083
+ [amount]="transaction.transactionInfo.toDownPayAmount"
12675
13084
  [currencyId]="transaction.transactionInfo.currencyId"
12676
13085
  (payed)="handlePayed()"
12677
13086
  ></co-payment>
@@ -13981,7 +14390,7 @@ TransactionHeaderDownpaymentAmountComponent.decorators = [
13981
14390
  { type: Component, args: [{
13982
14391
  selector: "co-transaction-header-downpayment-amount",
13983
14392
  template: `
13984
- <span *ngIf="(!editMode || readonly) && !defaultEditMode" [textContent]="transactionInfo.toDownPayAmount | coCurrency"></span>
14393
+ <span *ngIf="(!editMode || readonly) && !defaultEditMode" [textContent]="(transactionInfo.toDownPayAmount | coCurrency) || '...'"></span>
13985
14394
  <co-input-text #input *ngIf="editMode || defaultEditMode"
13986
14395
  [type]="'number'"
13987
14396
  [placeholder]="showLabel ? ('DOWNPAYMENT' | localize) : ''"
@@ -14524,7 +14933,7 @@ TransactionLineSidePanelComponent.decorators = [
14524
14933
  <span class="side-panel-header-field" [textContent]="transactionLine.amount"></span>
14525
14934
  </div>
14526
14935
  <div class="side-panel-header-divider"></div>
14527
- <div class="transaction-line-side-panel-header-item">
14936
+ <div class="transaction-line-side-panel-header-item hidden">
14528
14937
  <span class="side-panel-header-label"
14529
14938
  [textContent]="activeCategory === categories.PurchaseOrderReceivedGoods ? ('OPEN' | localize) : ('PRICE' | localize)"></span>
14530
14939
  <span class="side-panel-header-field"
@@ -14548,6 +14957,13 @@ TransactionLineSidePanelComponent.decorators = [
14548
14957
  (quantityToReceiveChange)="quantityToReceive = $event"
14549
14958
  ></co-transaction-line-side-panel-purchase>
14550
14959
  </ng-container>
14960
+ <ng-container *ngSwitchCase="transactionTypes.SalesOrder">
14961
+ <co-transaction-line-side-panel-sales
14962
+ [transactionLine]="transactionLine"
14963
+ [transactionInfo]="transactionInfo"
14964
+ [category]="activeCategory"
14965
+ ></co-transaction-line-side-panel-sales>
14966
+ </ng-container>
14551
14967
  <ng-container *ngSwitchDefault>
14552
14968
  <co-transaction-line-side-panel-purchase
14553
14969
  [transactionLine]="transactionLine"
@@ -14688,6 +15104,7 @@ TransactionComponent.decorators = [
14688
15104
  <co-transaction-tile
14689
15105
  *ngFor="let transaction of transaction.transactionLines"
14690
15106
  [transactionLine]="transaction"
15107
+ [activeCategory]="activeCategory"
14691
15108
  (showSidePanelClicked)="handleShowSidePanel($event)"
14692
15109
  ></co-transaction-tile>
14693
15110
  </div>
@@ -14735,25 +15152,27 @@ TransactionComponent.ctorParameters = () => [
14735
15152
  { type: TransactionEventService }
14736
15153
  ];
14737
15154
  TransactionComponent.propDecorators = {
15155
+ sidePanelComponents: [{ type: ViewChildren, args: [TransactionLineSidePanelComponent,] }],
14738
15156
  relation: [{ type: Input }],
14739
15157
  transaction: [{ type: Input }],
14740
15158
  transactionId: [{ type: Input }],
14741
15159
  showHeader: [{ type: Input }],
14742
15160
  showQuickAccess: [{ type: HostBinding, args: ['class.show-quick-access',] }, { type: Input }],
14743
15161
  showButtonBar: [{ type: HostBinding, args: ['class.show-button-bar',] }, { type: Input }],
14744
- showClass: [{ type: HostBinding, args: ["class.co-transaction",] }],
14745
- sidePanelComponents: [{ type: ViewChildren, args: [TransactionLineSidePanelComponent,] }]
15162
+ showClass: [{ type: HostBinding, args: ["class.co-transaction",] }]
14746
15163
  };
14747
15164
 
14748
15165
  class TransactionHeaderComponent {
14749
15166
  constructor() {
14750
15167
  this.icons = Icon;
14751
15168
  this.relation = new CustomerFullObject();
15169
+ this.isPurchaseOrder = false;
14752
15170
  this._transaction = new TransactionInfoResponse();
14753
15171
  }
14754
15172
  set transaction(value) {
14755
15173
  if (value) {
14756
15174
  this._transaction = value;
15175
+ this.isPurchaseOrder = this._transaction.transactionInfo.transactionKind === TransactionKind.PurchaseOrder;
14757
15176
  }
14758
15177
  }
14759
15178
  get transaction() {
@@ -14770,8 +15189,8 @@ TransactionHeaderComponent.decorators = [
14770
15189
  <div class="transaction-header-wrapper">
14771
15190
  <co-carousel>
14772
15191
  <co-transaction-header-relation #carouselItem [relation]="relation"></co-transaction-header-relation>
14773
- <div class="transaction-header-divider">&nbsp;</div>
14774
- <co-transaction-header-order #carouselItem [transaction]="transaction"></co-transaction-header-order>
15192
+ <div class="transaction-header-divider" *ngIf="!isPurchaseOrder">&nbsp;</div>
15193
+ <co-transaction-header-order *ngIf="!isPurchaseOrder" #carouselItem [transaction]="transaction"></co-transaction-header-order>
14775
15194
  <div class="transaction-header-divider">&nbsp;</div>
14776
15195
  <co-transaction-header-payment #carouselItem [transaction]="transaction"></co-transaction-header-payment>
14777
15196
  <div class="transaction-header-divider">&nbsp;</div>
@@ -15240,9 +15659,9 @@ TransactionHeaderPaymentComponent.decorators = [
15240
15659
  <div class="header-block-balance" *ngIf="transactionInfo.transactionKind !== transactionKind.PurchaseOrder" (click)="openPayment($event)">
15241
15660
  <co-icon class="payment-icon" [iconData]="iconService.getIcon(icons.CreditCardSolid)"></co-icon>
15242
15661
  <div class="payment-payed-wrapper">
15243
- <span class="payment-to-pay" [textContent]="toPay | priceDisplay"></span>
15662
+ <span class="payment-to-pay" [textContent]="(toPay | priceDisplay) || 0"></span>
15244
15663
  <span class="payment-divider" [textContent]="'/'"></span>
15245
- <span class="payment-paid" [class.success]="paid >= toPay" [textContent]="paid | priceDisplay"></span>
15664
+ <span class="payment-paid" [class.success]="paid >= toPay" [textContent]="(paid | priceDisplay) || 0"></span>
15246
15665
  </div>
15247
15666
  </div>
15248
15667
  </ng-template>
@@ -15350,9 +15769,11 @@ TransactionHeaderModule.decorators = [
15350
15769
  ];
15351
15770
 
15352
15771
  class TransactionLineStatusbarComponent {
15353
- constructor(_dictionary) {
15772
+ constructor(_dictionary, _transactionEventService) {
15354
15773
  this._dictionary = _dictionary;
15774
+ this._transactionEventService = _transactionEventService;
15355
15775
  this.showClass = true;
15776
+ this._subscriptions = [];
15356
15777
  }
15357
15778
  set transaction(value) {
15358
15779
  this._transaction = value;
@@ -15363,6 +15784,15 @@ class TransactionLineStatusbarComponent {
15363
15784
  }
15364
15785
  ngOnInit() {
15365
15786
  this.setStatusbarData();
15787
+ this._subscriptions.push(this._transactionEventService.transactionLineChanged.subscribe((line) => {
15788
+ if (line.lineNr === this.transaction.lineNr) {
15789
+ this.transaction.quantityAllocatedFromStock = line.quantityAllocated;
15790
+ this.setStatusbarData();
15791
+ }
15792
+ }));
15793
+ }
15794
+ ngOnDestroy() {
15795
+ this._subscriptions.forEach((subscription) => subscription.unsubscribe());
15366
15796
  }
15367
15797
  setStatusbarData() {
15368
15798
  if (this.transactionKind === TransactionKind.PurchaseOrder) {
@@ -15371,6 +15801,7 @@ class TransactionLineStatusbarComponent {
15371
15801
  else {
15372
15802
  this.setStatusbardataForSalesOrder();
15373
15803
  }
15804
+ this.setFocusedStatusBlock();
15374
15805
  }
15375
15806
  setStatusbardataForSalesOrder() {
15376
15807
  const transaction = this._transaction;
@@ -15406,22 +15837,40 @@ class TransactionLineStatusbarComponent {
15406
15837
  }
15407
15838
  return Math.floor((amount / totalAmount) * 100);
15408
15839
  }
15840
+ setFocusedStatusBlock() {
15841
+ switch (this.transactionTypeCategory) {
15842
+ case TransactionTypeCategory.SalesOrderPurchase:
15843
+ this.focusedStatusIndex = 0;
15844
+ break;
15845
+ case TransactionTypeCategory.SalesOrderAllocation:
15846
+ this.focusedStatusIndex = 1;
15847
+ break;
15848
+ case TransactionTypeCategory.SalesOrderDeliveryNote:
15849
+ this.focusedStatusIndex = 7;
15850
+ break;
15851
+ case TransactionTypeCategory.SalesOrderInvoice:
15852
+ this.focusedStatusIndex = 8;
15853
+ break;
15854
+ }
15855
+ }
15409
15856
  }
15410
15857
  TransactionLineStatusbarComponent.decorators = [
15411
15858
  { type: Component, args: [{
15412
15859
  selector: "co-transaction-line-statusbar",
15413
15860
  template: `
15414
- <co-statusbar [statusbarData]="statusbarData"></co-statusbar>
15861
+ <co-statusbar [statusbarData]="statusbarData" [focusedStatusIndex]="focusedStatusIndex"></co-statusbar>
15415
15862
  `,
15416
15863
  encapsulation: ViewEncapsulation.None
15417
15864
  },] }
15418
15865
  ];
15419
15866
  TransactionLineStatusbarComponent.ctorParameters = () => [
15420
- { type: DictionaryService }
15867
+ { type: DictionaryService },
15868
+ { type: TransactionEventService }
15421
15869
  ];
15422
15870
  TransactionLineStatusbarComponent.propDecorators = {
15423
15871
  transaction: [{ type: Input }],
15424
15872
  transactionKind: [{ type: Input }],
15873
+ transactionTypeCategory: [{ type: Input }],
15425
15874
  showClass: [{ type: HostBinding, args: ["class.co-transaction-line-statusbar",] }]
15426
15875
  };
15427
15876
 
@@ -16936,7 +17385,7 @@ class TransactionReceivingGoodsHistoryComponent {
16936
17385
  const request = new ReceiveGoodsForPurchaseOrderCorrectionRequest();
16937
17386
  const correctionDetails = new PurchaseOrderLineReceiptCorrectionDetails();
16938
17387
  request.allowedToRemovePickedAllocations = false;
16939
- request.transId = this.transactionId;
17388
+ request.transId = this.transactionInfo.id;
16940
17389
  request.purchaseOrderLineReceiptCorrectionDetailsDTOS = [correctionDetails];
16941
17390
  correctionDetails.lineNr = this.transactionLine.lineNr;
16942
17391
  correctionDetails.quantityToCorrect = row.quantity;
@@ -16983,8 +17432,8 @@ TransactionReceivingGoodsHistoryComponent.ctorParameters = () => [
16983
17432
  ];
16984
17433
  TransactionReceivingGoodsHistoryComponent.propDecorators = {
16985
17434
  goodsReceiptHistory: [{ type: Input }],
17435
+ transactionInfo: [{ type: Input }],
16986
17436
  transactionLine: [{ type: Input }],
16987
- transactionId: [{ type: Input }],
16988
17437
  reloadReceivingGoodsHistory: [{ type: Output }],
16989
17438
  showClass: [{ type: HostBinding, args: ["class.co-transaction-receiving-goods-history",] }]
16990
17439
  };
@@ -17012,268 +17461,19 @@ TransactionReceivingGoodsHistoryModule.decorators = [
17012
17461
  },] }
17013
17462
  ];
17014
17463
 
17015
- class ArticleService {
17016
- constructor(_articleConnectorService, _selectMultipleCacheService) {
17017
- this._articleConnectorService = _articleConnectorService;
17018
- this._selectMultipleCacheService = _selectMultipleCacheService;
17464
+ class TransactionButtonBarComponent {
17465
+ constructor(_mappingService) {
17466
+ this._mappingService = _mappingService;
17467
+ this.buttonClicked = new EventEmitter();
17468
+ this.buttons = [];
17469
+ this._transactionType = TransactionKind.SalesOrder;
17019
17470
  }
17020
- getWarehouseLocations(warehouseNr) {
17021
- return __awaiter(this, void 0, void 0, function* () {
17022
- // @ts-ignore
17023
- return this._selectMultipleCacheService.requestCache(StockLocation, () => {
17024
- return this._articleConnectorService.getWarehouseLocations(warehouseNr);
17025
- }).getValue();
17026
- });
17027
- }
17028
- }
17029
- ArticleService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ArticleService_Factory() { return new ArticleService(i0.ɵɵinject(ArticleConnectorService), i0.ɵɵinject(SelectMultipleCacheService)); }, token: ArticleService, providedIn: "root" });
17030
- ArticleService.decorators = [
17031
- { type: Injectable, args: [{
17032
- providedIn: "root"
17033
- },] }
17034
- ];
17035
- ArticleService.ctorParameters = () => [
17036
- { type: ArticleConnectorService },
17037
- { type: SelectMultipleCacheService }
17038
- ];
17039
-
17040
- class TransactionReceivingGoodsDetailsComponent {
17041
- constructor(iconCacheService, _formMaster, _service, _articleService, _dialogService, _receiveGoodsService) {
17042
- this.iconCacheService = iconCacheService;
17043
- this._formMaster = _formMaster;
17044
- this._service = _service;
17045
- this._articleService = _articleService;
17046
- this._dialogService = _dialogService;
17047
- this._receiveGoodsService = _receiveGoodsService;
17048
- this.icons = Icon;
17049
- this.reloadReceivingGoodsHistory = new EventEmitter();
17050
- this.receiptDetails = new PurchaseOrderLineReceiptDetails();
17051
- this.request = new ReceiveGoodsForPurchaseOrderRequest();
17052
- this.saveButtonDisabled = false;
17053
- this.locationDropdownFields = { text: "locationNo", value: "locationNo" };
17054
- this.readonly = false;
17055
- this._subscriptions = [];
17056
- this.request.purchaseOrderLineReceiptDetailsDTOS = [this.receiptDetails];
17057
- const timeElapsed = Date.now();
17058
- this.request.receivedDate = new Date(timeElapsed);
17059
- }
17060
- set amountLeftToReceive(value) {
17061
- this._amountLeftToReceive = value;
17062
- this.receiptDetails.quantityToReceive = value;
17063
- }
17064
- set transactionLine(value) {
17065
- this._transactionLine = value;
17066
- this.readonly = this._transactionLine.hasInvoices;
17067
- this.receiptDetails.warehouseNr = value.warehouseNumber;
17068
- this.receiptDetails.lineNr = value.lineNr;
17069
- }
17070
- showClass() {
17071
- return true;
17072
- }
17073
- get amountLeftToReceive() {
17074
- return this._amountLeftToReceive;
17075
- }
17076
- get transactionLine() {
17077
- return this._transactionLine;
17078
- }
17079
- ngOnInit() {
17080
- this._subscriptions.push(this._receiveGoodsService.returnArticleSelected.subscribe((availableStock) => {
17081
- this._handleReturnStock(availableStock);
17082
- }));
17083
- }
17084
- ngOnDestroy() {
17085
- this._subscriptions.forEach((subscription) => subscription.unsubscribe());
17086
- }
17087
- submit() {
17088
- return this._formMaster.submitSlaves();
17089
- }
17090
- locationRequired() {
17091
- return this._transactionLine.isLocationRequired ||
17092
- this._transactionLine.isBatchNrRequired ||
17093
- this._transactionLine.isSerialNrRequired;
17094
- }
17095
- handleSaveDetailsEdit() {
17096
- const valid = this.submit();
17097
- if (valid) {
17098
- this.saveButtonDisabled = true;
17099
- const request = this.request;
17100
- this.receiptDetails.quantityToReceive = this.returnStockMode() ?
17101
- -this.receiptDetails.quantityToReceive : this.receiptDetails.quantityToReceive;
17102
- request.transId = this.transactionId;
17103
- this._service.receiveGoodsForPurchaseOrder(request).then(() => {
17104
- if (this.returnStockMode()) {
17105
- this._receiveGoodsService.reloadAvailableStockData.next();
17106
- this.receiptDetails.locationNr = undefined;
17107
- }
17108
- this.reloadReceivingGoodsHistory.next();
17109
- }).catch((e) => {
17110
- this.saveButtonDisabled = false;
17111
- });
17112
- this.saveButtonDisabled = false;
17113
- }
17114
- }
17115
- handleCancelDetailsEdit() {
17116
- // Velden resetten
17117
- }
17118
- handleDropDownSelected(warehouseNr) {
17119
- return __awaiter(this, void 0, void 0, function* () {
17120
- if (!this.locations) {
17121
- this.locations = yield this._articleService.getWarehouseLocations(warehouseNr);
17122
- }
17123
- });
17124
- }
17125
- openWarehouseLocationDialog() {
17126
- if (!this.returnStockMode()) {
17127
- this._dialogService.showWarehouseLocation(this.receiptDetails.warehouseNr, true, true, true, this.transactionLine)
17128
- .then(() => this.receiptDetails.locationNr = this.transactionLine.locationNr);
17129
- }
17130
- }
17131
- returnStockMode() {
17132
- return this.transactionLine.amount < 0;
17133
- }
17134
- _handleReturnStock(availableStock) {
17135
- const maxToReturn = this.amountLeftToReceive < 0 ? Math.abs(this.amountLeftToReceive) : this.amountLeftToReceive;
17136
- this.returnMaxToReceive = maxToReturn > availableStock.availableQuantity ? availableStock.availableQuantity : maxToReturn;
17137
- this.receiptDetails.quantityToReceive = this.returnMaxToReceive;
17138
- this.receiptDetails.warehouseNr = availableStock.warehouseNumber;
17139
- this.receiptDetails.locationNr = availableStock.locationNumber;
17140
- this.receiptDetails.serialNr = availableStock.serialNumber;
17141
- this.receiptDetails.batchNr = availableStock.batchNumber;
17142
- this.receiptDetails.lineNr = this.transactionLine.lineNr;
17143
- }
17144
- }
17145
- TransactionReceivingGoodsDetailsComponent.decorators = [
17146
- { type: Component, args: [{
17147
- selector: 'co-transaction-receiving-goods-details',
17148
- template: `
17149
- <div class="receipt-details-wrapper">
17150
- <co-form>
17151
- <div class="details-header" [textContent]="returnStockMode() ? ('RETURN_DETAILS' | localize | uppercase) : ('RECEIPT_DETAILS' | localize | uppercase)"></div>
17152
- <div class="columns-wrapper">
17153
- <div class="details-column">
17154
- <co-input-text class="details-input"
17155
- [max]="returnStockMode() ? returnMaxToReceive : amountLeftToReceive"
17156
- [(model)]="receiptDetails.serialNr ? 1 : receiptDetails.quantityToReceive"
17157
- [disabled]="!!receiptDetails.serialNr || receiptDetails.quantityToReceive === 0"
17158
- [readonly]="!!receiptDetails.serialNr || receiptDetails.quantityToReceive === 0 || readonly"
17159
- [required]="true"
17160
- [type]="'number'"
17161
- [min]="1"
17162
- [placeholder]="'AMOUNT' | localize"></co-input-text>
17163
- <co-input-text class="details-input" [(model)]="receiptDetails.warehouseNr"
17164
- [type]="'number'"
17165
- [hideArrowButtons]="true"
17166
- [readonly]="transactionLine.warehouseNumber !== undefined || readonly || returnStockMode()"
17167
- [disabled]="transactionLine.warehouseNumber !== undefined || returnStockMode()"
17168
- [required]="transactionLine.isWarehouseRequired"
17169
- [placeholder]="'WAREHOUSE' | localize"></co-input-text>
17170
- <div class="location-wrapper" [class.clickable]="!returnStockMode()" (click)="openWarehouseLocationDialog()">
17171
- <span *ngIf="!receiptDetails.locationNr && transactionLine.isLocationRequired" class="required" [textContent]="'*'"></span>
17172
- <co-icon *ngIf="receiptDetails.locationNr" [iconData]="iconCacheService.getIcon(icons.ShelvesLight)"></co-icon>
17173
- <div [textContent]="receiptDetails.locationNr ? receiptDetails.locationNr : ('LOCATION' | localize)"></div>
17174
- </div>
17175
- <co-input-text class="details-input"
17176
- *ngIf="!returnStockMode()"
17177
- [(model)]="request.packingSlipNr"
17178
- [placeholder]="'PACKING_SLIP' | localize"
17179
- [required]="true"
17180
- [readonly]="readonly"
17181
- ></co-input-text>
17182
- </div>
17183
- <div class="divider-wrapper">
17184
- <div class="divider"></div>
17185
- </div>
17186
- <div class="details-column">
17187
- <co-input-date class="details-input"
17188
- [(model)]="request.receivedDate"
17189
- [readonly]="readonly"
17190
- ></co-input-date>
17191
- <co-input-text *ngIf="transactionLine.isBatchNrRequired" class="details-input" [(model)]="receiptDetails.batchNr"
17192
- [type]="'number'"
17193
- [hideArrowButtons]="true"
17194
- [readonly]="readonly || returnStockMode()"
17195
- [disabled]="returnStockMode()"
17196
- [required]="transactionLine.isBatchNrRequired"
17197
- [placeholder]="'BATCH_NUMBER' | localize"></co-input-text>
17198
- <co-input-text *ngIf="transactionLine.isSerialNrRequired" class="details-input" [(model)]="receiptDetails.serialNr"
17199
- [type]="'number'"
17200
- [hideArrowButtons]="true"
17201
- [readonly]="readonly || returnStockMode()"
17202
- [disabled]="returnStockMode()"
17203
- [required]="transactionLine.isSerialNrRequired"
17204
- [placeholder]="'SERIAL_NUMBER' | localize"></co-input-text>
17205
- <!-- <co-input-text class="details-input" [(model)]="receiptDetails.refLineNr"-->
17206
- <!-- [placeholder]="'REFERENCE_ID' | localize"></co-input-text>-->
17207
- </div>
17208
- </div>
17209
- </co-form>
17210
-
17211
- <div class="receive-button-wrapper">
17212
- <div class="receive-button clickable" *ngIf="!readonly" (click)="handleSaveDetailsEdit()" [class.disabled]="saveButtonDisabled || amountLeftToReceive === 0">
17213
- <span class="receive-text" [textContent]="returnStockMode() ? ('RETURN_STOCK' | localize) : ('RECEIVE' | localize)"></span>
17214
- </div>
17215
- </div>
17216
- </div>
17217
- `,
17218
- providers: [
17219
- FormMasterService
17220
- ],
17221
- encapsulation: ViewEncapsulation.None
17222
- },] }
17223
- ];
17224
- TransactionReceivingGoodsDetailsComponent.ctorParameters = () => [
17225
- { type: IconCacheService },
17226
- { type: FormMasterService },
17227
- { type: TransactionService },
17228
- { type: ArticleService },
17229
- { type: DialogService },
17230
- { type: TransactionReceiveGoodsService }
17231
- ];
17232
- TransactionReceivingGoodsDetailsComponent.propDecorators = {
17233
- amountLeftToReceive: [{ type: Input }],
17234
- transactionId: [{ type: Input }],
17235
- transactionLine: [{ type: Input }],
17236
- reloadReceivingGoodsHistory: [{ type: Output }],
17237
- showClass: [{ type: HostBinding, args: ["class.co-transaction-receiving-goods-details",] }]
17238
- };
17239
-
17240
- class TransactionReceivingGoodsDetailsModule {
17241
- }
17242
- TransactionReceivingGoodsDetailsModule.decorators = [
17243
- { type: NgModule, args: [{
17244
- imports: [
17245
- CommonModule,
17246
- CoreModule,
17247
- PipeModule,
17248
- InputTextModule,
17249
- FormModule,
17250
- InputDatePickerModule,
17251
- ButtonModule,
17252
- DropDownModule,
17253
- IconModule,
17254
- ],
17255
- declarations: [
17256
- TransactionReceivingGoodsDetailsComponent
17257
- ],
17258
- exports: [
17259
- TransactionReceivingGoodsDetailsComponent
17260
- ]
17261
- },] }
17262
- ];
17263
-
17264
- class TransactionButtonBarComponent {
17265
- constructor(_mappingService) {
17266
- this._mappingService = _mappingService;
17267
- this.buttonClicked = new EventEmitter();
17268
- this.buttons = [];
17269
- this._transactionType = TransactionKind.SalesOrder;
17270
- }
17271
- set transactionType(value) {
17272
- this._transactionType = value;
17273
- this.buttons = this._mappingService.getButtonBar(this._transactionType);
17274
- if (this.buttons && this.buttons.length > 0 && !this.selectedCategory) {
17275
- this.selectCategory(0);
17276
- }
17471
+ set transactionType(value) {
17472
+ this._transactionType = value;
17473
+ this.buttons = this._mappingService.getButtonBar(this._transactionType);
17474
+ if (this.buttons && this.buttons.length > 0 && !this.selectedCategory) {
17475
+ this.selectCategory(0);
17476
+ }
17277
17477
  }
17278
17478
  get transactionType() {
17279
17479
  return this._transactionType;
@@ -17462,6 +17662,7 @@ class TransactionConfirmationHistoryComponent {
17462
17662
  this.docBatchApplied = new EventEmitter();
17463
17663
  this.getPurchasePortalLine = new GetPurchasePortalLine();
17464
17664
  this.purchasePortalFilter = new PurchasePortalFilters();
17665
+ this.filteredDocBatchArray = [];
17465
17666
  }
17466
17667
  set isDocBatchSaved(data) {
17467
17668
  if (data === true) {
@@ -17485,8 +17686,9 @@ class TransactionConfirmationHistoryComponent {
17485
17686
  this.purchasePortalFilter.lineId = this.transactionLines.lineNr.toString();
17486
17687
  this.getPurchasePortalLine.transIdPurchase = this.transactionId;
17487
17688
  this.getPurchasePortalLine.filterObject = this.purchasePortalFilter;
17488
- this.transactionService.getPurchasePortalLines(this.getPurchasePortalLine).then(result => {
17689
+ this.transactionService.getPurchasePortalLines(this.getPurchasePortalLine).then((result) => {
17489
17690
  this.transactionService.purchasePortalLine = result;
17691
+ this.filteredDocBatchArray = this.transactionService.purchasePortalLine[0].docBatchArray.filter(value => value.historical === 'G');
17490
17692
  });
17491
17693
  });
17492
17694
  }
@@ -17514,7 +17716,7 @@ TransactionConfirmationHistoryComponent.decorators = [
17514
17716
  <div class="history-grid-wrapper">
17515
17717
  <co-simple-grid (selectRow)="selectedLineDocBatchArray($event)"
17516
17718
  *ngIf="transactionService.purchasePortalLine[0]"
17517
- [data]="transactionService.purchasePortalLine[0].docBatchArray"
17719
+ [data]="filteredDocBatchArray"
17518
17720
  [showToolbar]="true"
17519
17721
  [rowsPerPage]="20"
17520
17722
  [showDelete]="true"
@@ -17599,7 +17801,6 @@ class TransactionConfirmationDetailsComponent {
17599
17801
  handleOkClick() {
17600
17802
  return __awaiter(this, void 0, void 0, function* () {
17601
17803
  if (this.newDocBatchArray.docAmount && this.newDocBatchArray.confirmedPrice) {
17602
- this.newDocBatchArray.docAmountOrg = 0;
17603
17804
  this.newDocBatchArray.docDateOrg = new Date();
17604
17805
  this.newDocBatchArray.deleteLine = "F";
17605
17806
  this.newDocBatchArray.historical = "G";
@@ -17641,11 +17842,13 @@ TransactionConfirmationDetailsComponent.decorators = [
17641
17842
  </co-input-text>
17642
17843
  <co-input-date class="details-input"
17643
17844
  [(model)]="newDocBatchArray.docDate"
17845
+ required
17644
17846
  >
17645
17847
  </co-input-date>
17646
17848
  <co-input-text class="details-input"
17647
17849
  [(model)]="newDocBatchArray.confirmedPrice"
17648
17850
  [placeholder]="'CONFIRMED_PRICE' | localize"
17851
+ required
17649
17852
  >
17650
17853
  </co-input-text>
17651
17854
  </div>
@@ -17686,7 +17889,6 @@ TransactionConfirmationDetailsComponent.ctorParameters = () => [
17686
17889
  TransactionConfirmationDetailsComponent.propDecorators = {
17687
17890
  transactionLines: [{ type: Input }],
17688
17891
  transactionInfoNr: [{ type: Input }],
17689
- testLines: [{ type: Input }],
17690
17892
  showClass: [{ type: HostBinding, args: ["class.co-transaction-confirmation-details",] }],
17691
17893
  newDocBatchArray: [{ type: Input }],
17692
17894
  docBatchSaved: [{ type: Output }]
@@ -17796,15 +17998,15 @@ class TransactionLineSidePanelPurchaseComponent {
17796
17998
  showClass() {
17797
17999
  return true;
17798
18000
  }
17799
- ngAfterViewInit() {
17800
- this.getGoodsReceiptStatusWithHistory();
17801
- }
17802
18001
  getGoodsReceiptStatusWithHistory() {
17803
18002
  return __awaiter(this, void 0, void 0, function* () {
17804
18003
  this._service.getGoodsReceiptStatusWithHistory(this._transactionInfo.id, this.transactionLine.lineNr)
17805
18004
  .then((result) => {
17806
18005
  this.goodsReceiptStatus = result;
17807
- this._transactionEventService.transactionLineChanged.next({ transactionLine: this.transactionLine, goodsReceiptStatus: result });
18006
+ const tempViewModel = Object.assign(new ExtendedTransactionLineViewModel(), this.transactionLine);
18007
+ tempViewModel.quantityReceived = result.quantityReceived;
18008
+ tempViewModel.quantityToReceive = result.quantityToReceive;
18009
+ this._transactionEventService.transactionLineChanged.next(tempViewModel);
17808
18010
  this.quantityToReceiveChange.next(result.quantityToReceive);
17809
18011
  });
17810
18012
  });
@@ -17839,22 +18041,23 @@ TransactionLineSidePanelPurchaseComponent.decorators = [
17839
18041
  </ng-container>
17840
18042
 
17841
18043
  <ng-container *ngSwitchCase="categories.PurchaseOrderReceivedGoods">
17842
- <co-transaction-receiving-goods-details
17843
- [transactionId]="transactionInfo.id"
18044
+ <co-transaction-side-panel-edit-request-details
18045
+ [category]="categories.PurchaseOrderReceivedGoods"
18046
+ [transactionInfo]="transactionInfo"
17844
18047
  [transactionLine]="transactionLine"
17845
18048
  [amountLeftToReceive]="goodsReceiptStatus.quantityToReceive"
17846
18049
  (reloadReceivingGoodsHistory)="getGoodsReceiptStatusWithHistory()"
17847
- ></co-transaction-receiving-goods-details>
18050
+ ></co-transaction-side-panel-edit-request-details>
17848
18051
  <co-transaction-receiving-goods-history
17849
18052
  *ngIf="transactionLine.amount >= 0"
17850
- [transactionId]="transactionInfo.id"
18053
+ [transactionInfo]="transactionInfo"
17851
18054
  [transactionLine]="transactionLine"
17852
18055
  [goodsReceiptHistory]="goodsReceiptStatus.goodsReceiptHistory"
17853
18056
  (reloadReceivingGoodsHistory)="getGoodsReceiptStatusWithHistory()"
17854
18057
  ></co-transaction-receiving-goods-history>
17855
18058
  <co-transaction-available-stock-grid
17856
18059
  *ngIf="transactionLine.amount < 0"
17857
- [transactionId]="transactionInfo.id"
18060
+ [transactionInfo]="transactionInfo"
17858
18061
  [transactionLine]="transactionLine"
17859
18062
  ></co-transaction-available-stock-grid>
17860
18063
  </ng-container>
@@ -17893,122 +18096,803 @@ class TransactionAvailableStockGridComponent {
17893
18096
  showClass() {
17894
18097
  return true;
17895
18098
  }
17896
- ngOnInit() {
17897
- this._subscriptions.push(this._transactionReceiveGoodsService.reloadAvailableStockData.subscribe(() => this._getAvailableStock()));
17898
- this._getAvailableStock();
18099
+ ngOnInit() {
18100
+ this._subscriptions.push(this._transactionReceiveGoodsService.reloadAvailableStockData.subscribe(() => this._getAvailableStock()));
18101
+ this._getAvailableStock();
18102
+ }
18103
+ ngOnDestroy() {
18104
+ this._subscriptions.forEach((subscription) => subscription.unsubscribe());
18105
+ }
18106
+ handleSelectRow(availableStock) {
18107
+ this.selectedStock = availableStock;
18108
+ this._transactionReceiveGoodsService.returnArticleSelected.next(availableStock);
18109
+ }
18110
+ handleDeleteClick() {
18111
+ }
18112
+ _getAvailableStock() {
18113
+ return __awaiter(this, void 0, void 0, function* () {
18114
+ this.collection = yield this._transactionService.getAvailableStockGroupedByWLBSByTransIdLineNr(this.transactionInfo.id, this.transactionLine.lineNr);
18115
+ });
18116
+ }
18117
+ }
18118
+ TransactionAvailableStockGridComponent.decorators = [
18119
+ { type: Component, args: [{
18120
+ selector: "co-transaction-available-stock-grid",
18121
+ template: `
18122
+ <div class="history-grid-wrapper">
18123
+ <co-simple-grid [data]="collection" (selectRow)="handleSelectRow($event)">
18124
+ <co-simple-grid-column [headerText]="'ARTICLE' | localize">
18125
+ <ng-template #template let-row="row">
18126
+ <span [textContent]="row.articleNumber"></span>
18127
+ </ng-template>
18128
+ </co-simple-grid-column>
18129
+
18130
+ <co-simple-grid-column [headerText]="'WAREHOUSE' | localize">
18131
+ <ng-template #template let-row="row">
18132
+ <span [textContent]="row.warehouseNumber"></span>
18133
+ </ng-template>
18134
+ </co-simple-grid-column>
18135
+
18136
+ <co-simple-grid-column [headerText]="'LOCATION' | localize">
18137
+ <ng-template #template let-row="row">
18138
+ <span [textContent]="row.locationNumber"></span>
18139
+ </ng-template>
18140
+ </co-simple-grid-column>
18141
+
18142
+ <co-simple-grid-column [headerText]="'BATCH' | localize">
18143
+ <ng-template #template let-row="row">
18144
+ <span [textContent]="row.batchNumber"></span>
18145
+ </ng-template>
18146
+ </co-simple-grid-column>
18147
+
18148
+ <co-simple-grid-column [headerText]="'SERIAL_NUMBER' | localize">
18149
+ <ng-template #template let-row="row">
18150
+ <span [textContent]="row.serialNumber"></span>
18151
+ </ng-template>
18152
+ </co-simple-grid-column>
18153
+
18154
+ <co-simple-grid-column [headerText]="'AMOUNT' | localize">
18155
+ <ng-template #template let-row="row">
18156
+ <span [textContent]="row.availableQuantity"></span>
18157
+ </ng-template>
18158
+ </co-simple-grid-column>
18159
+ </co-simple-grid>
18160
+ </div>
18161
+ `,
18162
+ encapsulation: ViewEncapsulation.None
18163
+ },] }
18164
+ ];
18165
+ TransactionAvailableStockGridComponent.ctorParameters = () => [
18166
+ { type: IconCacheService },
18167
+ { type: TransactionService },
18168
+ { type: TransactionReceiveGoodsService }
18169
+ ];
18170
+ TransactionAvailableStockGridComponent.propDecorators = {
18171
+ transactionInfo: [{ type: Input }],
18172
+ transactionLine: [{ type: Input }],
18173
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-available-stock-grid",] }]
18174
+ };
18175
+
18176
+ class TransactionAvailableStockGridModule {
18177
+ }
18178
+ TransactionAvailableStockGridModule.decorators = [
18179
+ { type: NgModule, args: [{
18180
+ imports: [
18181
+ CommonModule,
18182
+ SimpleGridModule,
18183
+ GridToolbarButtonModule,
18184
+ PipeModule
18185
+ ],
18186
+ declarations: [
18187
+ TransactionAvailableStockGridComponent
18188
+ ],
18189
+ exports: [
18190
+ TransactionAvailableStockGridComponent
18191
+ ]
18192
+ },] }
18193
+ ];
18194
+
18195
+ class TransactionSidePanelEditRequestDetailsComponent {
18196
+ constructor() {
18197
+ this.categories = TransactionTypeCategory;
18198
+ this.reloadReceivingGoodsHistory = new EventEmitter();
18199
+ this.reloadAllocationGoodsHistory = new EventEmitter();
18200
+ }
18201
+ showClass() {
18202
+ return true;
18203
+ }
18204
+ }
18205
+ TransactionSidePanelEditRequestDetailsComponent.decorators = [
18206
+ { type: Component, args: [{
18207
+ selector: "co-transaction-side-panel-edit-request-details",
18208
+ template: `
18209
+ <div class="edit-request-details-wrapper">
18210
+ <ng-container [ngSwitch]="category">
18211
+ <ng-container *ngSwitchCase="categories.SalesOrderAllocation">
18212
+ <co-allocation-request
18213
+ [transactionInfo]="transactionInfo"
18214
+ [transactionLine]="transactionLine"
18215
+ [amountLeftToAllocate]="amountLeftToAllocate"
18216
+ (reloadAllocationGoodsHistory)="reloadAllocationGoodsHistory.next()"
18217
+ ></co-allocation-request>
18218
+ </ng-container>
18219
+ <ng-container *ngSwitchCase="categories.PurchaseOrderReceivedGoods">
18220
+ <co-receive-goods-request
18221
+ [transactionLine]="transactionLine"
18222
+ [amountLeftToReceive]="amountLeftToReceive"
18223
+ (reloadReceivingGoodsHistory)="reloadReceivingGoodsHistory.next()"
18224
+ ></co-receive-goods-request>
18225
+ </ng-container>
18226
+ </ng-container>
18227
+ </div>
18228
+ `,
18229
+ encapsulation: ViewEncapsulation.None
18230
+ },] }
18231
+ ];
18232
+ TransactionSidePanelEditRequestDetailsComponent.propDecorators = {
18233
+ category: [{ type: Input }],
18234
+ transactionInfo: [{ type: Input }],
18235
+ transactionLine: [{ type: Input }],
18236
+ amountLeftToReceive: [{ type: Input }],
18237
+ amountLeftToAllocate: [{ type: Input }],
18238
+ reloadReceivingGoodsHistory: [{ type: Output }],
18239
+ reloadAllocationGoodsHistory: [{ type: Output }],
18240
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-side-panel-edit-request-details",] }]
18241
+ };
18242
+
18243
+ class AllocationRequestComponent {
18244
+ constructor(iconCacheService, _formMaster, _service, _dialogService) {
18245
+ this.iconCacheService = iconCacheService;
18246
+ this._formMaster = _formMaster;
18247
+ this._service = _service;
18248
+ this._dialogService = _dialogService;
18249
+ this.icons = Icon;
18250
+ this.reloadAllocationGoodsHistory = new EventEmitter();
18251
+ this.allocationRequest = new AllocateGoodsForSalesOrderRequest();
18252
+ this.allocationDetails = new SalesOrderLineAllocationDetails();
18253
+ this.readonly = false;
18254
+ this.saveButtonDisabled = false;
18255
+ this._subscriptions = [];
18256
+ this.allocationRequest.salesOrderLineAllocationDetailsDTOS = [this.allocationDetails];
18257
+ }
18258
+ set amountLeftToAllocate(value) {
18259
+ this._amountLeftToAllocate = value;
18260
+ this.allocationDetails.quantityToAllocate = value;
18261
+ }
18262
+ set transactionLine(value) {
18263
+ this._transactionLine = value;
18264
+ this.readonly = this._transactionLine.hasInvoices;
18265
+ this.allocationDetails.warehouseNr = value.warehouseNumber;
18266
+ this.allocationDetails.lineNr = value.lineNr;
18267
+ }
18268
+ get amountLeftToAllocate() {
18269
+ return this._amountLeftToAllocate;
18270
+ }
18271
+ get transactionLine() {
18272
+ return this._transactionLine;
18273
+ }
18274
+ showClass() {
18275
+ return true;
18276
+ }
18277
+ submit() {
18278
+ return this._formMaster.submitSlaves();
18279
+ }
18280
+ handleSaveDetailsEdit() {
18281
+ const valid = this.submit();
18282
+ if (valid) {
18283
+ this.saveButtonDisabled = true;
18284
+ const request = this.allocationRequest;
18285
+ request.transId = this.transactionInfo.id;
18286
+ this._service.allocateGoodsForSalesOrder(request).then((success) => {
18287
+ if (success) {
18288
+ this.allocationDetails.locationNr = undefined;
18289
+ this.reloadAllocationGoodsHistory.next();
18290
+ }
18291
+ else {
18292
+ this.saveButtonDisabled = false;
18293
+ }
18294
+ }).catch((e) => {
18295
+ this.saveButtonDisabled = false;
18296
+ });
18297
+ }
18298
+ }
18299
+ openWarehouseLocationDialog() {
18300
+ if (this.amountLeftToAllocate > 0) {
18301
+ this._dialogService.showWarehouseLocation(this.allocationDetails.warehouseNr, true, true, true, this.transactionLine)
18302
+ .then(() => this.allocationDetails.locationNr = this.transactionLine.locationNr);
18303
+ }
18304
+ }
18305
+ }
18306
+ AllocationRequestComponent.decorators = [
18307
+ { type: Component, args: [{
18308
+ selector: "co-allocation-request",
18309
+ template: `
18310
+ <co-form>
18311
+ <div class="details-header" [textContent]="'ALLOCATE_DETAILS' | localize | uppercase"></div>
18312
+ <div class="columns-wrapper">
18313
+ <div class="details-column">
18314
+ <co-input-text class="details-input"
18315
+ [max]="amountLeftToAllocate"
18316
+ [(model)]="allocationDetails.serialNr ? 1 : allocationDetails.quantityToAllocate"
18317
+ [disabled]="!!allocationDetails.serialNr || allocationDetails.quantityToAllocate === 0"
18318
+ [readonly]="!!allocationDetails.serialNr || allocationDetails.quantityToAllocate === 0 || readonly"
18319
+ [required]="true"
18320
+ [type]="'number'"
18321
+ [min]="1"
18322
+ [placeholder]="'AMOUNT' | localize"></co-input-text>
18323
+ <co-input-text class="details-input" [(model)]="allocationDetails.warehouseNr"
18324
+ [type]="'number'"
18325
+ [hideArrowButtons]="true"
18326
+ [readonly]="transactionLine.warehouseNumber !== undefined || readonly"
18327
+ [disabled]="transactionLine.warehouseNumber !== undefined"
18328
+ [required]="transactionLine.isWarehouseRequired"
18329
+ [placeholder]="'WAREHOUSE' | localize"></co-input-text>
18330
+ <div class="location-wrapper clickable" (click)="openWarehouseLocationDialog()">
18331
+ <span *ngIf="!allocationDetails.locationNr && transactionLine.isLocationRequired" class="required" [textContent]="'*'"></span>
18332
+ <co-icon *ngIf="allocationDetails.locationNr" [iconData]="iconCacheService.getIcon(icons.ShelvesLight)"></co-icon>
18333
+ <div [textContent]="allocationDetails.locationNr ? allocationDetails.locationNr : ('LOCATION' | localize)"></div>
18334
+ </div>
18335
+ </div>
18336
+ <div class="divider-wrapper">
18337
+ <div class="divider"></div>
18338
+ </div>
18339
+ <div class="details-column">
18340
+ <co-input-text *ngIf="transactionLine.isBatchNrRequired" class="details-input" [(model)]="allocationDetails.batchNr"
18341
+ [type]="'number'"
18342
+ [hideArrowButtons]="true"
18343
+ [readonly]="readonly"
18344
+ [required]="transactionLine.isBatchNrRequired"
18345
+ [placeholder]="'BATCH_NUMBER' | localize"></co-input-text>
18346
+ <co-input-text *ngIf="transactionLine.isSerialNrRequired" class="details-input" [(model)]="allocationDetails.serialNr"
18347
+ [type]="'number'"
18348
+ [hideArrowButtons]="true"
18349
+ [readonly]="readonly"
18350
+ [required]="transactionLine.isSerialNrRequired"
18351
+ [placeholder]="'SERIAL_NUMBER' | localize"></co-input-text>
18352
+ </div>
18353
+ </div>
18354
+ </co-form>
18355
+
18356
+ <div class="commit-button-wrapper">
18357
+ <div class="commit-button" [class.clickable]="amountLeftToAllocate > 0" *ngIf="!readonly" (click)="handleSaveDetailsEdit()" [class.disabled]="saveButtonDisabled || amountLeftToAllocate === 0">
18358
+ <span class="commit-text" [textContent]="'ALLOCATE' | localize"></span>
18359
+ </div>
18360
+ </div>
18361
+ `,
18362
+ encapsulation: ViewEncapsulation.None
18363
+ },] }
18364
+ ];
18365
+ AllocationRequestComponent.ctorParameters = () => [
18366
+ { type: IconCacheService },
18367
+ { type: FormMasterService },
18368
+ { type: TransactionService },
18369
+ { type: DialogService }
18370
+ ];
18371
+ AllocationRequestComponent.propDecorators = {
18372
+ amountLeftToAllocate: [{ type: Input }],
18373
+ transactionLine: [{ type: Input }],
18374
+ transactionInfo: [{ type: Input }],
18375
+ reloadAllocationGoodsHistory: [{ type: Output }],
18376
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-allocate-goods-details",] }]
18377
+ };
18378
+
18379
+ class ArticleService {
18380
+ constructor(_articleConnectorService, _selectMultipleCacheService) {
18381
+ this._articleConnectorService = _articleConnectorService;
18382
+ this._selectMultipleCacheService = _selectMultipleCacheService;
18383
+ }
18384
+ getWarehouseLocations(warehouseNr) {
18385
+ return __awaiter(this, void 0, void 0, function* () {
18386
+ // @ts-ignore
18387
+ return this._selectMultipleCacheService.requestCache(StockLocation, () => {
18388
+ return this._articleConnectorService.getWarehouseLocations(warehouseNr);
18389
+ }).getValue();
18390
+ });
18391
+ }
18392
+ }
18393
+ ArticleService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ArticleService_Factory() { return new ArticleService(i0.ɵɵinject(ArticleConnectorService), i0.ɵɵinject(SelectMultipleCacheService)); }, token: ArticleService, providedIn: "root" });
18394
+ ArticleService.decorators = [
18395
+ { type: Injectable, args: [{
18396
+ providedIn: "root"
18397
+ },] }
18398
+ ];
18399
+ ArticleService.ctorParameters = () => [
18400
+ { type: ArticleConnectorService },
18401
+ { type: SelectMultipleCacheService }
18402
+ ];
18403
+
18404
+ class ReceiveGoodsRequestComponent {
18405
+ constructor(iconCacheService, _formMaster, _service, _articleService, _dialogService, _receiveGoodsService) {
18406
+ this.iconCacheService = iconCacheService;
18407
+ this._formMaster = _formMaster;
18408
+ this._service = _service;
18409
+ this._articleService = _articleService;
18410
+ this._dialogService = _dialogService;
18411
+ this._receiveGoodsService = _receiveGoodsService;
18412
+ this.icons = Icon;
18413
+ this.transactionKind = TransactionKind;
18414
+ this.transactionTypeCategory = TransactionTypeCategory;
18415
+ this.reloadReceivingGoodsHistory = new EventEmitter();
18416
+ this.receiptDetails = new PurchaseOrderLineReceiptDetails();
18417
+ this.request = new ReceiveGoodsForPurchaseOrderRequest();
18418
+ this.saveButtonDisabled = false;
18419
+ this.readonly = false;
18420
+ this._subscriptions = [];
18421
+ }
18422
+ set transactionLine(value) {
18423
+ this._transactionLine = value;
18424
+ this.readonly = this._transactionLine.hasInvoices;
18425
+ this.receiptDetails.warehouseNr = value.warehouseNumber;
18426
+ this.receiptDetails.lineNr = value.lineNr;
18427
+ }
18428
+ set amountLeftToReceive(value) {
18429
+ this._amountLeftToReceive = value;
18430
+ if (!this.returnStockMode()) {
18431
+ this.receiptDetails.quantityToReceive = value;
18432
+ }
18433
+ }
18434
+ showClass() {
18435
+ return true;
18436
+ }
18437
+ get amountLeftToReceive() {
18438
+ return this._amountLeftToReceive;
18439
+ }
18440
+ get transactionLine() {
18441
+ return this._transactionLine;
18442
+ }
18443
+ ngOnInit() {
18444
+ this._subscriptions.push(this._receiveGoodsService.returnArticleSelected.subscribe((availableStock) => {
18445
+ this._handleReturnStock(availableStock);
18446
+ }));
18447
+ this.request.purchaseOrderLineReceiptDetailsDTOS = [this.receiptDetails];
18448
+ const timeElapsed = Date.now();
18449
+ this.request.receivedDate = new Date(timeElapsed);
18450
+ }
18451
+ ngOnDestroy() {
18452
+ this._subscriptions.forEach((subscription) => subscription.unsubscribe());
18453
+ }
18454
+ ngAfterViewInit() {
18455
+ this.reloadReceivingGoodsHistory.next();
18456
+ }
18457
+ submit() {
18458
+ return this._formMaster.submitSlaves();
18459
+ }
18460
+ locationRequired() {
18461
+ return this._transactionLine.isLocationRequired ||
18462
+ this._transactionLine.isBatchNrRequired ||
18463
+ this._transactionLine.isSerialNrRequired;
18464
+ }
18465
+ handleSaveDetailsEdit() {
18466
+ const valid = this.submit();
18467
+ if (valid) {
18468
+ this.saveButtonDisabled = true;
18469
+ const request = this.request;
18470
+ this.receiptDetails.quantityToReceive = this.returnStockMode() ?
18471
+ -this.receiptDetails.quantityToReceive : this.receiptDetails.quantityToReceive;
18472
+ request.transId = this._service.currentTransaction.transactionInfo.id;
18473
+ this._service.receiveGoodsForPurchaseOrder(request).then(() => {
18474
+ if (this.returnStockMode()) {
18475
+ this._receiveGoodsService.reloadAvailableStockData.next();
18476
+ this.receiptDetails.locationNr = undefined;
18477
+ }
18478
+ this.reloadReceivingGoodsHistory.next();
18479
+ }).catch((e) => {
18480
+ this.saveButtonDisabled = false;
18481
+ });
18482
+ this.saveButtonDisabled = false;
18483
+ }
18484
+ }
18485
+ returnStockMode() {
18486
+ return this.transactionLine.amount < 0;
18487
+ }
18488
+ _handleReturnStock(availableStock) {
18489
+ const maxToReturn = this.amountLeftToReceive < 0 ? Math.abs(this.amountLeftToReceive) : this.amountLeftToReceive;
18490
+ this.returnMaxToReceive = maxToReturn > availableStock.availableQuantity ? availableStock.availableQuantity : maxToReturn;
18491
+ this.receiptDetails.quantityToReceive = this.returnMaxToReceive;
18492
+ this.receiptDetails.warehouseNr = availableStock.warehouseNumber;
18493
+ this.receiptDetails.locationNr = availableStock.locationNumber;
18494
+ this.selectedLocation = this.receiptDetails.locationNr;
18495
+ this.receiptDetails.serialNr = availableStock.serialNumber;
18496
+ this.receiptDetails.batchNr = availableStock.batchNumber;
18497
+ this.receiptDetails.lineNr = this.transactionLine.lineNr;
18498
+ }
18499
+ }
18500
+ ReceiveGoodsRequestComponent.decorators = [
18501
+ { type: Component, args: [{
18502
+ selector: "co-receive-goods-request",
18503
+ template: `
18504
+ <co-form>
18505
+ <div class="header-wrapper">
18506
+ <div class="details-header" [textContent]="returnStockMode() ? ('RETURN_DETAILS' | localize | uppercase) : ('RECEIPT_DETAILS' | localize | uppercase)"></div>
18507
+ <co-transaction-line-statusbar class="status-bar-wrapper" [transaction]="transactionLine" [transactionKind]="transactionKind.SalesOrder" [transactionTypeCategory]="transactionTypeCategory.PurchaseOrderReceivedGoods"></co-transaction-line-statusbar>
18508
+ </div>
18509
+ <div class="columns-wrapper">
18510
+ <div class="details-column">
18511
+ <div class="transaction-line-totals-amount">
18512
+ <co-input-number-picker class="amount-number-picker"
18513
+ [max]="returnStockMode() ? returnMaxToReceive : amountLeftToReceive"
18514
+ [(model)]="receiptDetails.serialNr ? 1 : receiptDetails.quantityToReceive"
18515
+ [min]="1"
18516
+ [readonly]="!!receiptDetails.serialNr || receiptDetails.quantityToReceive === 0 || !receiptDetails.quantityToReceive || readonly"
18517
+ [disabled]="!!receiptDetails.serialNr || receiptDetails.quantityToReceive === 0 || !receiptDetails.quantityToReceive"
18518
+ [required]="true"
18519
+ ></co-input-number-picker>
18520
+ </div>
18521
+ <co-input-text class="details-input" [(model)]="receiptDetails.warehouseNr"
18522
+ [type]="'number'"
18523
+ [hideArrowButtons]="true"
18524
+ [readonly]="transactionLine.warehouseNumber !== undefined || readonly || returnStockMode()"
18525
+ [disabled]="transactionLine.warehouseNumber !== undefined || returnStockMode()"
18526
+ [required]="transactionLine.isWarehouseRequired"
18527
+ [placeholder]="'WAREHOUSE' | localize"></co-input-text>
18528
+ <div class="location-wrapper">
18529
+ <!-- <span *ngIf="!receiptDetails.locationNr && transactionLine.isLocationRequired" class="required" [textContent]="'*'"></span>-->
18530
+ <co-transaction-line-warehouse-location-button [locationNr]="selectedLocation" [readonly]="returnStockMode() || receiptDetails.quantityToReceive === 0" [line]="transactionLine" (locationSelected)="receiptDetails.locationNr = $event"></co-transaction-line-warehouse-location-button>
18531
+ </div>
18532
+ <co-input-text class="details-input"
18533
+ *ngIf="!returnStockMode()"
18534
+ [(model)]="request.packingSlipNr"
18535
+ [placeholder]="'PACKING_SLIP' | localize"
18536
+ [required]="true"
18537
+ [readonly]="readonly"
18538
+ ></co-input-text>
18539
+ </div>
18540
+ <div class="divider-wrapper">
18541
+ <div class="divider"></div>
18542
+ </div>
18543
+ <div class="details-column">
18544
+ <co-input-date class="details-input"
18545
+ [(model)]="request.receivedDate"
18546
+ [readonly]="readonly"
18547
+ ></co-input-date>
18548
+ <co-input-text *ngIf="transactionLine.isBatchNrRequired" class="details-input" [(model)]="receiptDetails.batchNr"
18549
+ [type]="'number'"
18550
+ [hideArrowButtons]="true"
18551
+ [readonly]="readonly || returnStockMode()"
18552
+ [disabled]="returnStockMode()"
18553
+ [required]="transactionLine.isBatchNrRequired"
18554
+ [placeholder]="'BATCH_NUMBER' | localize"></co-input-text>
18555
+ <co-input-text *ngIf="transactionLine.isSerialNrRequired" class="details-input" [(model)]="receiptDetails.serialNr"
18556
+ [type]="'number'"
18557
+ [hideArrowButtons]="true"
18558
+ [readonly]="readonly || returnStockMode()"
18559
+ [disabled]="returnStockMode()"
18560
+ [required]="transactionLine.isSerialNrRequired"
18561
+ [placeholder]="'SERIAL_NUMBER' | localize"></co-input-text>
18562
+ </div>
18563
+ </div>
18564
+ </co-form>
18565
+
18566
+ <div class="commit-button-wrapper">
18567
+ <div class="commit-button clickable" *ngIf="!readonly" (click)="handleSaveDetailsEdit()" [class.disabled]="saveButtonDisabled || amountLeftToReceive === 0">
18568
+ <span class="commit-text" [textContent]="returnStockMode() ? ('RETURN_STOCK' | localize) : ('RECEIVE' | localize)"></span>
18569
+ </div>
18570
+ </div>
18571
+ `,
18572
+ providers: [
18573
+ FormMasterService
18574
+ ],
18575
+ encapsulation: ViewEncapsulation.None
18576
+ },] }
18577
+ ];
18578
+ ReceiveGoodsRequestComponent.ctorParameters = () => [
18579
+ { type: IconCacheService },
18580
+ { type: FormMasterService },
18581
+ { type: TransactionService },
18582
+ { type: ArticleService },
18583
+ { type: DialogService },
18584
+ { type: TransactionReceiveGoodsService }
18585
+ ];
18586
+ ReceiveGoodsRequestComponent.propDecorators = {
18587
+ transactionLine: [{ type: Input }],
18588
+ amountLeftToReceive: [{ type: Input }],
18589
+ reloadReceivingGoodsHistory: [{ type: Output }],
18590
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-receiving-goods-details",] }]
18591
+ };
18592
+
18593
+ class TransactionLineWarehouseLocationButtonComponent {
18594
+ constructor(iconCacheService, _dialogService) {
18595
+ this.iconCacheService = iconCacheService;
18596
+ this._dialogService = _dialogService;
18597
+ this.icons = Icon;
18598
+ this.readonly = false;
18599
+ this.locationSelected = new EventEmitter();
18600
+ }
18601
+ showClass() {
18602
+ return true;
18603
+ }
18604
+ openWarehouseLocationDialog() {
18605
+ return __awaiter(this, void 0, void 0, function* () {
18606
+ if (!this.readonly) {
18607
+ const response = yield this._dialogService.showWarehouseLocation(this.line.warehouseNumber, false, true, true, this.line);
18608
+ if (response && response.output) {
18609
+ this.locationNr = response.output;
18610
+ if (this.line instanceof TransactionLineInfo) {
18611
+ this.locationSelected.next(response.output);
18612
+ }
18613
+ else {
18614
+ this.line.locationNr = response.output;
18615
+ }
18616
+ }
18617
+ }
18618
+ });
18619
+ }
18620
+ }
18621
+ TransactionLineWarehouseLocationButtonComponent.decorators = [
18622
+ { type: Component, args: [{
18623
+ selector: "co-transaction-line-warehouse-location-button",
18624
+ template: `
18625
+ <div class="transaction-line-button" [class.no-pointer]="readonly" (click)="openWarehouseLocationDialog()">
18626
+ <co-icon [iconData]="iconCacheService.getIcon(icons.ShelvesLight)"></co-icon>
18627
+ <span class="co-transaction-overflow-ellipsis" [textContent]="locationNr ? locationNr : '-'"></span>
18628
+ </div>
18629
+ `,
18630
+ encapsulation: ViewEncapsulation.None
18631
+ },] }
18632
+ ];
18633
+ TransactionLineWarehouseLocationButtonComponent.ctorParameters = () => [
18634
+ { type: IconCacheService },
18635
+ { type: DialogService }
18636
+ ];
18637
+ TransactionLineWarehouseLocationButtonComponent.propDecorators = {
18638
+ line: [{ type: Input }],
18639
+ locationNr: [{ type: Input }],
18640
+ readonly: [{ type: Input }],
18641
+ locationSelected: [{ type: Output }],
18642
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-line-warehouse-location-button",] }]
18643
+ };
18644
+
18645
+ class TransactionLineWarehouseLocationButtonModule {
18646
+ }
18647
+ TransactionLineWarehouseLocationButtonModule.decorators = [
18648
+ { type: NgModule, args: [{
18649
+ imports: [
18650
+ CommonModule,
18651
+ IconModule
18652
+ ],
18653
+ declarations: [
18654
+ TransactionLineWarehouseLocationButtonComponent
18655
+ ],
18656
+ exports: [
18657
+ TransactionLineWarehouseLocationButtonComponent
18658
+ ]
18659
+ },] }
18660
+ ];
18661
+
18662
+ class TransactionSidePanelEditRequestDetailsModule {
18663
+ }
18664
+ TransactionSidePanelEditRequestDetailsModule.decorators = [
18665
+ { type: NgModule, args: [{
18666
+ imports: [
18667
+ CommonModule,
18668
+ FormModule,
18669
+ InputTextModule,
18670
+ PipeModule,
18671
+ IconModule,
18672
+ InputDatePickerModule,
18673
+ TransactionLineWarehouseLocationButtonModule,
18674
+ InputNumberPickerModule,
18675
+ TransactionLineStatusbarModule
18676
+ ],
18677
+ declarations: [
18678
+ TransactionSidePanelEditRequestDetailsComponent,
18679
+ AllocationRequestComponent,
18680
+ ReceiveGoodsRequestComponent
18681
+ ],
18682
+ exports: [
18683
+ TransactionSidePanelEditRequestDetailsComponent
18684
+ ]
18685
+ },] }
18686
+ ];
18687
+
18688
+ class TransactionLineSidePanelPurchaseModule {
18689
+ }
18690
+ TransactionLineSidePanelPurchaseModule.decorators = [
18691
+ { type: NgModule, args: [{
18692
+ imports: [
18693
+ CommonModule,
18694
+ TransactionConfirmationHistoryModule,
18695
+ TransactionReceivingGoodsHistoryModule,
18696
+ ButtonModule,
18697
+ PipeModule,
18698
+ TransactionLineSidePanelDefaultModule,
18699
+ TransactionConfirmationDetailsModule,
18700
+ TransactionAvailableStockGridModule,
18701
+ TransactionSidePanelEditRequestDetailsModule
18702
+ ],
18703
+ declarations: [
18704
+ TransactionLineSidePanelPurchaseComponent
18705
+ ],
18706
+ exports: [
18707
+ TransactionLineSidePanelPurchaseComponent
18708
+ ]
18709
+ },] }
18710
+ ];
18711
+
18712
+ class TransactionLineSidePanelSalesComponent {
18713
+ constructor(_service, _transactionEventService) {
18714
+ this._service = _service;
18715
+ this._transactionEventService = _transactionEventService;
18716
+ this.categories = TransactionTypeCategory;
18717
+ this.goodsAllocationStatus = new GoodsAllocationStatusWithHistory();
18718
+ this._transactionInfo = new TransactionInfo();
18719
+ }
18720
+ set transactionInfo(value) {
18721
+ this._transactionInfo = value;
18722
+ }
18723
+ get transactionInfo() {
18724
+ return this._transactionInfo;
18725
+ }
18726
+ showClass() {
18727
+ return true;
18728
+ }
18729
+ getGoodsAllocationStatusWithHistory() {
18730
+ return __awaiter(this, void 0, void 0, function* () {
18731
+ this._service.getGoodsAllocationStatusWithHistory(this._transactionInfo.id, this.transactionLine.lineNr)
18732
+ .then((result) => {
18733
+ this.goodsAllocationStatus = result;
18734
+ const tempViewModel = Object.assign(new ExtendedTransactionLineViewModel(), this.transactionLine);
18735
+ tempViewModel.quantityToAllocate = result.quantityToAllocate;
18736
+ tempViewModel.quantityAllocated = result.quantityAllocated;
18737
+ this._transactionEventService.transactionLineChanged.next(tempViewModel);
18738
+ });
18739
+ });
18740
+ }
18741
+ }
18742
+ TransactionLineSidePanelSalesComponent.decorators = [
18743
+ { type: Component, args: [{
18744
+ selector: "co-transaction-line-side-panel-sales",
18745
+ template: `
18746
+ <ng-container [ngSwitch]="category">
18747
+ <ng-container *ngSwitchCase="categories.SalesOrderAllocation">
18748
+ <co-transaction-side-panel-edit-request-details
18749
+ [category]="categories.SalesOrderAllocation"
18750
+ [transactionInfo]="transactionInfo"
18751
+ [transactionLine]="transactionLine"
18752
+ [amountLeftToAllocate]="goodsAllocationStatus.quantityToAllocate"
18753
+ (reloadAllocationGoodsHistory)="getGoodsAllocationStatusWithHistory()"
18754
+ ></co-transaction-side-panel-edit-request-details>
18755
+ <co-transaction-allocate-goods-history
18756
+ [transactionInfo]="transactionInfo"
18757
+ [transactionLine]="transactionLine"
18758
+ [goodsAllocationHistory]="goodsAllocationStatus.goodsAllocationHistory"
18759
+ (reloadAllocationGoodsHistory)="getGoodsAllocationStatusWithHistory()"
18760
+ ></co-transaction-allocate-goods-history>
18761
+ </ng-container>
18762
+
18763
+ <ng-container *ngSwitchDefault>
18764
+ <co-transaction-line-side-panel-default
18765
+ [transactionInfo]="transactionInfo"
18766
+ [transactionLine]="transactionLine"
18767
+ ></co-transaction-line-side-panel-default>
18768
+ </ng-container>
18769
+ </ng-container>
18770
+ `,
18771
+ encapsulation: ViewEncapsulation.None
18772
+ },] }
18773
+ ];
18774
+ TransactionLineSidePanelSalesComponent.ctorParameters = () => [
18775
+ { type: TransactionService },
18776
+ { type: TransactionEventService }
18777
+ ];
18778
+ TransactionLineSidePanelSalesComponent.propDecorators = {
18779
+ transactionLine: [{ type: Input }],
18780
+ transactionInfo: [{ type: Input }],
18781
+ category: [{ type: Input }],
18782
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-line-side-panel-sales",] }]
18783
+ };
18784
+
18785
+ class TransactionAllocateGoodsHistoryComponent {
18786
+ constructor(_service) {
18787
+ this._service = _service;
18788
+ this.reloadAllocationGoodsHistory = new EventEmitter();
18789
+ }
18790
+ set goodsAllocationHistory(value) {
18791
+ if (value) {
18792
+ this._goodsAllocationHistory = value.reverse();
18793
+ }
17899
18794
  }
17900
- ngOnDestroy() {
17901
- this._subscriptions.forEach((subscription) => subscription.unsubscribe());
18795
+ get goodsAllocationHistory() {
18796
+ return this._goodsAllocationHistory;
17902
18797
  }
17903
- handleSelectRow(availableStock) {
17904
- this.selectedStock = availableStock;
17905
- this._transactionReceiveGoodsService.returnArticleSelected.next(availableStock);
18798
+ showClass() {
18799
+ return true;
17906
18800
  }
17907
- handleDeleteClick() {
18801
+ ngAfterViewInit() {
18802
+ this.reloadAllocationGoodsHistory.next();
17908
18803
  }
17909
- _getAvailableStock() {
17910
- return __awaiter(this, void 0, void 0, function* () {
17911
- this.collection = yield this._transactionService.getAvailableStockGroupedByWLBSByTransIdLineNr(this.transactionId, this.transactionLine.lineNr);
17912
- });
18804
+ handleDeleteSelectedRow(row) {
18805
+ if (row && row.type !== 'correction') {
18806
+ const request = new AllocateGoodsForSalesOrderCorrectionRequest();
18807
+ const correctionDetails = new SalesOrderLineAllocationCorrectionDetails();
18808
+ request.allowedToRemovePickedAllocations = false;
18809
+ request.transId = this.transactionInfo.id;
18810
+ request.salesOrderLineAllocationCorrectionDetailsDTOS = [correctionDetails];
18811
+ correctionDetails.lineNr = this.transactionLine.lineNr;
18812
+ correctionDetails.quantityToCorrect = row.quantity;
18813
+ correctionDetails.documentId = row.documentId;
18814
+ correctionDetails.documentLineNr = row.lineNumber;
18815
+ this._service.allocateGoodsForSalesOrderCorrection(request).then(() => {
18816
+ this.reloadAllocationGoodsHistory.next();
18817
+ });
18818
+ }
17913
18819
  }
17914
18820
  }
17915
- TransactionAvailableStockGridComponent.decorators = [
18821
+ TransactionAllocateGoodsHistoryComponent.decorators = [
17916
18822
  { type: Component, args: [{
17917
- selector: "co-transaction-available-stock-grid",
18823
+ selector: "co-transaction-allocate-goods-history",
17918
18824
  template: `
17919
- <div class="history-grid-wrapper">
17920
- <co-simple-grid [data]="collection" (selectRow)="handleSelectRow($event)">
17921
- <co-simple-grid-column [headerText]="'ARTICLE' | localize">
17922
- <ng-template #template let-row="row">
17923
- <span [textContent]="row.articleNumber"></span>
17924
- </ng-template>
17925
- </co-simple-grid-column>
17926
-
17927
- <co-simple-grid-column [headerText]="'WAREHOUSE' | localize">
17928
- <ng-template #template let-row="row">
17929
- <span [textContent]="row.warehouseNumber"></span>
17930
- </ng-template>
17931
- </co-simple-grid-column>
17932
-
17933
- <co-simple-grid-column [headerText]="'LOCATION' | localize">
17934
- <ng-template #template let-row="row">
17935
- <span [textContent]="row.locationNumber"></span>
17936
- </ng-template>
17937
- </co-simple-grid-column>
17938
-
17939
- <co-simple-grid-column [headerText]="'BATCH' | localize">
17940
- <ng-template #template let-row="row">
17941
- <span [textContent]="row.batchNumber"></span>
17942
- </ng-template>
17943
- </co-simple-grid-column>
17944
-
17945
- <co-simple-grid-column [headerText]="'SERIAL_NUMBER' | localize">
17946
- <ng-template #template let-row="row">
17947
- <span [textContent]="row.serialNumber"></span>
17948
- </ng-template>
17949
- </co-simple-grid-column>
18825
+ <co-transaction-history-grid
18826
+ [collection]="goodsAllocationHistory"
18827
+ (deleteSelectedRow)="handleDeleteSelectedRow($event)"
18828
+ >
18829
+ <co-simple-grid-column [headerText]="'WAREHOUSE' | localize" [order]="40">
18830
+ <ng-template #template let-row="row">
18831
+ <div class="row-container">
18832
+ <span class="row" [textContent]="row.warehouseNumber"></span>
18833
+ <span class="correction" *ngFor="let correction of row.corrections" [textContent]="correction.warehouseNumber"></span>
18834
+ </div>
18835
+ </ng-template>
18836
+ </co-simple-grid-column>
17950
18837
 
17951
- <co-simple-grid-column [headerText]="'AMOUNT' | localize">
17952
- <ng-template #template let-row="row">
17953
- <span [textContent]="row.availableQuantity"></span>
17954
- </ng-template>
17955
- </co-simple-grid-column>
17956
- </co-simple-grid>
17957
- </div>
17958
- `,
18838
+ <co-simple-grid-column [headerText]="'LOCATION' | localize" [order]="60">
18839
+ <ng-template #template let-row="row">
18840
+ <div class="row-container">
18841
+ <span class="row" [textContent]="row.locationNumber"></span>
18842
+ <span class="correction" *ngFor="let correction of row.corrections" [textContent]="correction.locationNumber"></span>
18843
+ </div>
18844
+ </ng-template>
18845
+ </co-simple-grid-column>
18846
+ </co-transaction-history-grid>
18847
+ `,
17959
18848
  encapsulation: ViewEncapsulation.None
17960
18849
  },] }
17961
18850
  ];
17962
- TransactionAvailableStockGridComponent.ctorParameters = () => [
17963
- { type: IconCacheService },
17964
- { type: TransactionService },
17965
- { type: TransactionReceiveGoodsService }
18851
+ TransactionAllocateGoodsHistoryComponent.ctorParameters = () => [
18852
+ { type: TransactionService }
17966
18853
  ];
17967
- TransactionAvailableStockGridComponent.propDecorators = {
18854
+ TransactionAllocateGoodsHistoryComponent.propDecorators = {
18855
+ goodsAllocationHistory: [{ type: Input }],
18856
+ transactionInfo: [{ type: Input }],
17968
18857
  transactionLine: [{ type: Input }],
17969
- transactionId: [{ type: Input }],
17970
- showClass: [{ type: HostBinding, args: ["class.co-transaction-available-stock-grid",] }]
18858
+ reloadAllocationGoodsHistory: [{ type: Output }],
18859
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-allocate-goods-history",] }]
17971
18860
  };
17972
18861
 
17973
- class TransactionAvailableStockGridModule {
18862
+ class TransactionAllocateGoodsHistoryModule {
17974
18863
  }
17975
- TransactionAvailableStockGridModule.decorators = [
18864
+ TransactionAllocateGoodsHistoryModule.decorators = [
17976
18865
  { type: NgModule, args: [{
17977
18866
  imports: [
17978
18867
  CommonModule,
17979
18868
  SimpleGridModule,
17980
- GridToolbarButtonModule,
18869
+ TransactionHistoryGridModule,
17981
18870
  PipeModule
17982
18871
  ],
17983
18872
  declarations: [
17984
- TransactionAvailableStockGridComponent
18873
+ TransactionAllocateGoodsHistoryComponent
17985
18874
  ],
17986
18875
  exports: [
17987
- TransactionAvailableStockGridComponent
18876
+ TransactionAllocateGoodsHistoryComponent
17988
18877
  ]
17989
18878
  },] }
17990
18879
  ];
17991
18880
 
17992
- class TransactionLineSidePanelPurchaseModule {
18881
+ class TransactionLineSidePanelSalesModule {
17993
18882
  }
17994
- TransactionLineSidePanelPurchaseModule.decorators = [
18883
+ TransactionLineSidePanelSalesModule.decorators = [
17995
18884
  { type: NgModule, args: [{
17996
18885
  imports: [
17997
18886
  CommonModule,
17998
- TransactionConfirmationHistoryModule,
17999
- TransactionReceivingGoodsDetailsModule,
18000
- TransactionReceivingGoodsHistoryModule,
18001
- ButtonModule,
18002
- PipeModule,
18003
18887
  TransactionLineSidePanelDefaultModule,
18004
- TransactionConfirmationDetailsModule,
18005
- TransactionAvailableStockGridModule
18888
+ TransactionSidePanelEditRequestDetailsModule,
18889
+ TransactionAllocateGoodsHistoryModule
18006
18890
  ],
18007
18891
  declarations: [
18008
- TransactionLineSidePanelPurchaseComponent
18892
+ TransactionLineSidePanelSalesComponent
18009
18893
  ],
18010
18894
  exports: [
18011
- TransactionLineSidePanelPurchaseComponent
18895
+ TransactionLineSidePanelSalesComponent
18012
18896
  ]
18013
18897
  },] }
18014
18898
  ];
@@ -18022,7 +18906,6 @@ TransactionLineSidePanelModule.decorators = [
18022
18906
  CoreModule,
18023
18907
  TransactionLineSidePanelDefaultModule,
18024
18908
  TransactionReceivingGoodsHistoryModule,
18025
- TransactionReceivingGoodsDetailsModule,
18026
18909
  PipeModule,
18027
18910
  ButtonModule,
18028
18911
  TransactionButtonBarModule,
@@ -18030,7 +18913,8 @@ TransactionLineSidePanelModule.decorators = [
18030
18913
  TransactionConfirmationHistoryModule,
18031
18914
  TransactionLineSidePanelPurchaseModule,
18032
18915
  TransactionConfirmationHistoryModule,
18033
- TransactionConfirmationDetailsModule
18916
+ TransactionConfirmationDetailsModule,
18917
+ TransactionLineSidePanelSalesModule
18034
18918
  ],
18035
18919
  declarations: [
18036
18920
  TransactionLineSidePanelComponent
@@ -18858,6 +19742,67 @@ TransactionQuickAccessReceivedGoodsModule.decorators = [
18858
19742
  },] }
18859
19743
  ];
18860
19744
 
19745
+ class DialogCatalogComponent {
19746
+ constructor(_optionsService) {
19747
+ this._optionsService = _optionsService;
19748
+ this.showNavigation = true;
19749
+ this.closeClick = new EventEmitter();
19750
+ this.articleClicked = new EventEmitter();
19751
+ }
19752
+ showClass() {
19753
+ return true;
19754
+ }
19755
+ ngOnInit() {
19756
+ this.catalogSettings = this._optionsService.options;
19757
+ this.catalogSettings.options = this.options;
19758
+ }
19759
+ }
19760
+ DialogCatalogComponent.decorators = [
19761
+ { type: Component, args: [{
19762
+ selector: "co-dialog-catalog",
19763
+ template: `
19764
+ <co-dialog (closeClick)="closeClick.emit($event)">
19765
+ <app-ione-catalog-navigation *ngIf="showNavigation"></app-ione-catalog-navigation>
19766
+ <app-ione-catalog
19767
+ [settings]="catalogSettings"
19768
+ [parameters]="parameters"
19769
+ (onArticleClick)="articleClicked.emit($event)"
19770
+ ></app-ione-catalog>
19771
+ </co-dialog>
19772
+ `,
19773
+ encapsulation: ViewEncapsulation.None
19774
+ },] }
19775
+ ];
19776
+ DialogCatalogComponent.ctorParameters = () => [
19777
+ { type: OptionsService }
19778
+ ];
19779
+ DialogCatalogComponent.propDecorators = {
19780
+ options: [{ type: Input }],
19781
+ parameters: [{ type: Input }],
19782
+ showNavigation: [{ type: Input }],
19783
+ closeClick: [{ type: Output }],
19784
+ articleClicked: [{ type: Output }],
19785
+ showClass: [{ type: HostBinding, args: ["class.co-dialog-catalog",] }]
19786
+ };
19787
+
19788
+ class DialogCatalogModule {
19789
+ }
19790
+ DialogCatalogModule.decorators = [
19791
+ { type: NgModule, args: [{
19792
+ imports: [
19793
+ CommonModule,
19794
+ CoDialogModule,
19795
+ IoneCatalogModule
19796
+ ],
19797
+ declarations: [
19798
+ DialogCatalogComponent
19799
+ ],
19800
+ exports: [
19801
+ DialogCatalogComponent
19802
+ ]
19803
+ },] }
19804
+ ];
19805
+
18861
19806
  class TransactionQuickAccessOverviewModule {
18862
19807
  }
18863
19808
  TransactionQuickAccessOverviewModule.decorators = [
@@ -18865,7 +19810,9 @@ TransactionQuickAccessOverviewModule.decorators = [
18865
19810
  imports: [
18866
19811
  CommonModule,
18867
19812
  InputSearchModule,
18868
- PipeModule
19813
+ PipeModule,
19814
+ DialogCatalogModule,
19815
+ IoneCatalogModule
18869
19816
  ],
18870
19817
  declarations: [
18871
19818
  TransactionQuickAccessOverviewComponent
@@ -19009,6 +19956,26 @@ TransactionQuickAccessOrderPurchaseModule.decorators = [
19009
19956
  },] }
19010
19957
  ];
19011
19958
 
19959
+ class TransactionQuickAccessGoodsAllocationModule {
19960
+ }
19961
+ TransactionQuickAccessGoodsAllocationModule.decorators = [
19962
+ { type: NgModule, args: [{
19963
+ imports: [
19964
+ CommonModule,
19965
+ InputCheckboxModule,
19966
+ PipeModule,
19967
+ CheckmarkOverlayModule,
19968
+ IconModule
19969
+ ],
19970
+ declarations: [
19971
+ TransactionQuickAccessGoodsAllocationComponent
19972
+ ],
19973
+ exports: [
19974
+ TransactionQuickAccessGoodsAllocationComponent
19975
+ ]
19976
+ },] }
19977
+ ];
19978
+
19012
19979
  class TransactionQuickAccessModule {
19013
19980
  }
19014
19981
  TransactionQuickAccessModule.decorators = [
@@ -19024,7 +19991,8 @@ TransactionQuickAccessModule.decorators = [
19024
19991
  TransactionQuickAccessReceivedGoodsModule,
19025
19992
  TransactionQuickAccessOverviewModule,
19026
19993
  TransactionQuickAccessOrderDeliveryModule,
19027
- TransactionQuickAccessOrderPurchaseModule
19994
+ TransactionQuickAccessOrderPurchaseModule,
19995
+ TransactionQuickAccessGoodsAllocationModule
19028
19996
  ],
19029
19997
  declarations: [
19030
19998
  TransactionQuickAccessComponent
@@ -19321,10 +20289,10 @@ class TransactionReceivedGoodsGridComponent extends TransactionGridBaseComponent
19321
20289
  }
19322
20290
  });
19323
20291
  }
19324
- handleTransactionLineChanged(change) {
19325
- const receiveGoodsViewModel = this.rowViewModels.get(change.transactionLine);
19326
- receiveGoodsViewModel.goodsReceiptStatus.quantityToReceive = change.goodsReceiptStatus.quantityToReceive;
19327
- receiveGoodsViewModel.toReceive = change.goodsReceiptStatus.quantityToReceive;
20292
+ handleTransactionLineChanged(viewModel) {
20293
+ // const receiveGoodsViewModel: ReceiveGoodsViewModel = this.rowViewModels.get(viewModel.transactionLine);
20294
+ // receiveGoodsViewModel.goodsReceiptStatus.quantityToReceive = change.goodsReceiptStatus.quantityToReceive;
20295
+ // receiveGoodsViewModel.toReceive = change.goodsReceiptStatus.quantityToReceive;
19328
20296
  }
19329
20297
  }
19330
20298
  TransactionReceivedGoodsGridComponent.decorators = [
@@ -19464,61 +20432,6 @@ DialogTransactionLineWarehouseLocationModule.decorators = [
19464
20432
  },] }
19465
20433
  ];
19466
20434
 
19467
- class TransactionLineWarehouseLocationButtonComponent {
19468
- constructor(iconCacheService, _dialogService) {
19469
- this.iconCacheService = iconCacheService;
19470
- this._dialogService = _dialogService;
19471
- this.icons = Icon;
19472
- this.readonly = false;
19473
- }
19474
- showClass() {
19475
- return true;
19476
- }
19477
- openWarehouseLocationDialog(line) {
19478
- if (!this.readonly) {
19479
- this._dialogService.showWarehouseLocation(line.warehouseNumber, true, true, true, line);
19480
- }
19481
- }
19482
- }
19483
- TransactionLineWarehouseLocationButtonComponent.decorators = [
19484
- { type: Component, args: [{
19485
- selector: "co-transaction-line-warehouse-location-button",
19486
- template: `
19487
- <div class="transaction-line-button" [class.no-pointer]="readonly" (click)="openWarehouseLocationDialog(line)">
19488
- <co-icon [iconData]="iconCacheService.getIcon(icons.ShelvesLight)"></co-icon>
19489
- <span class="co-transaction-overflow-ellipsis" [textContent]="line.locationNr ? line.locationNr : '-'"></span>
19490
- </div>
19491
- `,
19492
- encapsulation: ViewEncapsulation.None
19493
- },] }
19494
- ];
19495
- TransactionLineWarehouseLocationButtonComponent.ctorParameters = () => [
19496
- { type: IconCacheService },
19497
- { type: DialogService }
19498
- ];
19499
- TransactionLineWarehouseLocationButtonComponent.propDecorators = {
19500
- line: [{ type: Input }],
19501
- readonly: [{ type: Input }],
19502
- showClass: [{ type: HostBinding, args: ["class.co-transaction-line-warehouse-location-button",] }]
19503
- };
19504
-
19505
- class TransactionLineWarehouseLocationButtonModule {
19506
- }
19507
- TransactionLineWarehouseLocationButtonModule.decorators = [
19508
- { type: NgModule, args: [{
19509
- imports: [
19510
- CommonModule,
19511
- IconModule
19512
- ],
19513
- declarations: [
19514
- TransactionLineWarehouseLocationButtonComponent
19515
- ],
19516
- exports: [
19517
- TransactionLineWarehouseLocationButtonComponent
19518
- ]
19519
- },] }
19520
- ];
19521
-
19522
20435
  class TransactionReceivedGoodsGridModule {
19523
20436
  }
19524
20437
  TransactionReceivedGoodsGridModule.decorators = [
@@ -19602,7 +20515,7 @@ TransactionTileComponent.decorators = [
19602
20515
  </div>
19603
20516
 
19604
20517
  <div class="transaction-order-status-row">
19605
- <co-transaction-line-statusbar [transaction]="transactionLine" [transactionKind]="transactionType"></co-transaction-line-statusbar>
20518
+ <co-transaction-line-statusbar [transaction]="transactionLine" [transactionKind]="transactionType" [transactionTypeCategory]="activeCategory"></co-transaction-line-statusbar>
19606
20519
  </div>
19607
20520
 
19608
20521
  <div class="transaction-data-row center">
@@ -19653,6 +20566,7 @@ TransactionTileComponent.ctorParameters = () => [
19653
20566
  ];
19654
20567
  TransactionTileComponent.propDecorators = {
19655
20568
  transactionType: [{ type: Input }],
20569
+ activeCategory: [{ type: Input }],
19656
20570
  transactionLine: [{ type: Input }],
19657
20571
  showSidePanelClicked: [{ type: Output }],
19658
20572
  showClass: [{ type: HostBinding, args: ["class.co-transaction-tile",] }]
@@ -19813,6 +20727,7 @@ TransactionBaseLineComponent.decorators = [
19813
20727
  <ng-content></ng-content>
19814
20728
  <div *ngIf="!preview && actionButtons" class="transaction-line-buttons">
19815
20729
  <co-transaction-line-action-buttons
20730
+ [showActionButtons]="selected"
19816
20731
  [transactionLine]="line"
19817
20732
  (waitingForUserAction)="waitingForUserAction.next($event)"
19818
20733
  (sidePanelButtonClicked)="handleShowSidePanel($event)"
@@ -20539,6 +21454,30 @@ QuickSendButtonModule.decorators = [
20539
21454
  },] }
20540
21455
  ];
20541
21456
 
21457
+ class TransactionGoodsAllocationLineModule {
21458
+ }
21459
+ TransactionGoodsAllocationLineModule.decorators = [
21460
+ { type: NgModule, args: [{
21461
+ imports: [
21462
+ CommonModule,
21463
+ TransactionBaseLineModule,
21464
+ TransactionLineWarehouseButtonModule,
21465
+ TransactionLineWarehouseLocationButtonModule,
21466
+ EditableLabelModule,
21467
+ InputNumberPickerModule,
21468
+ InputCheckboxModule,
21469
+ ObserveVisibilityModule,
21470
+ TransactionLineStatusbarModule
21471
+ ],
21472
+ declarations: [
21473
+ TransactionGoodsAllocationLineComponent
21474
+ ],
21475
+ exports: [
21476
+ TransactionGoodsAllocationLineComponent
21477
+ ]
21478
+ },] }
21479
+ ];
21480
+
20542
21481
  class TransactionModule {
20543
21482
  }
20544
21483
  TransactionModule.decorators = [
@@ -20569,7 +21508,8 @@ TransactionModule.decorators = [
20569
21508
  TransactionOrderDeliveryLineModule,
20570
21509
  TransactionReceiveGoodsLineModule,
20571
21510
  TransactionPurchaseLineModule,
20572
- QuickSendButtonModule
21511
+ QuickSendButtonModule,
21512
+ TransactionGoodsAllocationLineModule
20573
21513
  ],
20574
21514
  declarations: [
20575
21515
  TransactionComponent
@@ -20601,13 +21541,17 @@ ShoppingCartModule.decorators = [
20601
21541
  ];
20602
21542
 
20603
21543
  class TransactionSearchComponent {
20604
- constructor(transactionSearchService) {
21544
+ constructor(transactionSearchService, _transactionEventService) {
20605
21545
  this.transactionSearchService = transactionSearchService;
21546
+ this._transactionEventService = _transactionEventService;
20606
21547
  this.searchViewModes = SearchViewMode;
20607
21548
  this.orientations = CoOrientation;
20608
21549
  this.directionRight = CoDirection.Right;
20609
21550
  this.transactionClick = new EventEmitter();
20610
21551
  this.searchViewModeChange = new EventEmitter();
21552
+ this.createTransactionClick = new EventEmitter();
21553
+ this._subs = [];
21554
+ this._subs.push(this._transactionEventService.createTransaction.subscribe(() => this.createTransactionClick.emit()));
20611
21555
  }
20612
21556
  set transactionType(value) {
20613
21557
  this._transactionType = value;
@@ -20619,6 +21563,9 @@ class TransactionSearchComponent {
20619
21563
  showClass() {
20620
21564
  return true;
20621
21565
  }
21566
+ ngOnDestroy() {
21567
+ this._subs.forEach(s => s.unsubscribe());
21568
+ }
20622
21569
  onTransactionClick(transaction) {
20623
21570
  if (this.transactionSearchService.activeSearchViewMode === this.searchViewModes.FullScreen) {
20624
21571
  this.collapseSearchBar();
@@ -20721,12 +21668,14 @@ TransactionSearchComponent.decorators = [
20721
21668
  },] }
20722
21669
  ];
20723
21670
  TransactionSearchComponent.ctorParameters = () => [
20724
- { type: TransactionSearchService }
21671
+ { type: TransactionSearchService },
21672
+ { type: TransactionEventService }
20725
21673
  ];
20726
21674
  TransactionSearchComponent.propDecorators = {
20727
21675
  transactionType: [{ type: Input }],
20728
21676
  transactionClick: [{ type: Output }],
20729
21677
  searchViewModeChange: [{ type: Output }],
21678
+ createTransactionClick: [{ type: Output }],
20730
21679
  showClass: [{ type: HostBinding, args: ["class.co-transaction-search",] }]
20731
21680
  };
20732
21681
 
@@ -21627,7 +22576,7 @@ class TransactionPurchaseOrderFilterContentOrderComponent extends TransactionFil
21627
22576
  this.relationService = relationService;
21628
22577
  this.purchasePersonsFields = { text: "name", value: "relationId" };
21629
22578
  this.tagsFields = { text: "description", value: "tagValueId" };
21630
- this.branchFields = { text: "description", value: "relationId" };
22579
+ this.branchFields = { text: "familyName", value: "relationId" };
21631
22580
  this.onHoldCodeFields = { text: "description", value: "onHoldCode" };
21632
22581
  this.commissionCodeFields = { text: "description", value: "code" };
21633
22582
  }
@@ -21662,7 +22611,9 @@ class TransactionPurchaseOrderFilterContentOrderComponent extends TransactionFil
21662
22611
  }
21663
22612
  //Branches
21664
22613
  _setBranches() {
21665
- this.relationService.getBranches().then((branches) => {
22614
+ const request = new RelationRequest();
22615
+ request.relationType = RelationKind$1.Branch;
22616
+ this.relationService.getRelationListObjects(request).then((branches) => {
21666
22617
  this.branches = new FilterViewmodel(branches, this.branchFields).filterItems;
21667
22618
  });
21668
22619
  }
@@ -22015,10 +22966,11 @@ TransactionSearchSalesOrderGridModule.decorators = [
22015
22966
  ];
22016
22967
 
22017
22968
  class TransactionSearchHeaderComponent {
22018
- constructor(searchService, iconCacheService, _dictionary) {
22969
+ constructor(searchService, iconCacheService, _dictionary, _transactionEventService) {
22019
22970
  this.searchService = searchService;
22020
22971
  this.iconCacheService = iconCacheService;
22021
22972
  this._dictionary = _dictionary;
22973
+ this._transactionEventService = _transactionEventService;
22022
22974
  this.icon = Icon;
22023
22975
  this.contentViewModes = ContentViewMode;
22024
22976
  this.searchViewModes = SearchViewMode;
@@ -22051,6 +23003,9 @@ class TransactionSearchHeaderComponent {
22051
23003
  onViewModeChange(viewMode) {
22052
23004
  this.viewModeChange.emit(viewMode);
22053
23005
  }
23006
+ handleAddTransactionClick() {
23007
+ this._transactionEventService.createTransaction.next();
23008
+ }
22054
23009
  }
22055
23010
  TransactionSearchHeaderComponent.decorators = [
22056
23011
  { type: Component, args: [{
@@ -22069,6 +23024,8 @@ TransactionSearchHeaderComponent.decorators = [
22069
23024
  </div>
22070
23025
  <div class="header-searchbar-wrapper">
22071
23026
  <div class="header-searchbar-title" [textContent]="label | localize" *ngIf="fullscreen" @showHideLabel></div>
23027
+ <co-icon class="transaction-add-button" [iconData]="iconCacheService.getIcon(icon.PlusSimple)"
23028
+ (click)="handleAddTransactionClick()"></co-icon>
22072
23029
  <co-input-search class="transaction-search-general"
22073
23030
  [ngClass]="fullscreen ? 'fullscreen' : 'sidebar'"
22074
23031
  [centerLabel]="true"
@@ -22109,7 +23066,8 @@ TransactionSearchHeaderComponent.decorators = [
22109
23066
  TransactionSearchHeaderComponent.ctorParameters = () => [
22110
23067
  { type: TransactionSearchService },
22111
23068
  { type: IconCacheService },
22112
- { type: DictionaryService }
23069
+ { type: DictionaryService },
23070
+ { type: TransactionEventService }
22113
23071
  ];
22114
23072
  TransactionSearchHeaderComponent.propDecorators = {
22115
23073
  transactionType: [{ type: Input }],
@@ -22131,7 +23089,8 @@ TransactionSearchHeaderModule.decorators = [
22131
23089
  PipeModule,
22132
23090
  ButtonModule,
22133
23091
  InputSearchModule,
22134
- ViewModeButtonsModule
23092
+ ViewModeButtonsModule,
23093
+ IconModule
22135
23094
  ],
22136
23095
  declarations: [
22137
23096
  TransactionSearchHeaderComponent
@@ -22928,7 +23887,7 @@ class TransactionSalesOrderFilterContentOrderComponent extends TransactionFilter
22928
23887
  this.relationService = relationService;
22929
23888
  this.salesPersonsFields = { text: "name", value: "relationId" };
22930
23889
  this.tagsFields = { text: "description", value: "tagValueId" };
22931
- this.branchFields = { text: "description", value: "relationId" };
23890
+ this.branchFields = { text: "familyName", value: "relationId" };
22932
23891
  this.onHoldCodeFields = { text: "description", value: "onHoldCode" };
22933
23892
  this.commissionCodeFields = { text: "description", value: "code" };
22934
23893
  this.customerGroupFields = { text: "naam", value: "groepsnummer" };
@@ -22972,7 +23931,9 @@ class TransactionSalesOrderFilterContentOrderComponent extends TransactionFilter
22972
23931
  }
22973
23932
  //Branches
22974
23933
  _setBranches() {
22975
- this.relationService.getBranches().then((branches) => {
23934
+ const request = new RelationRequest();
23935
+ request.relationType = RelationKind$1.Branch;
23936
+ this.relationService.getRelationListObjects(request).then((branches) => {
22976
23937
  this.branches = new FilterViewmodel(branches, this.branchFields).filterItems;
22977
23938
  });
22978
23939
  }
@@ -23267,5 +24228,5 @@ TransactionLineGridModule.decorators = [
23267
24228
  * Generated bundle index. Do not edit.
23268
24229
  */
23269
24230
 
23270
- export { CheckoutComponent, CheckoutModule, LoaderComponent, LoaderModule, RelationService, SearchViewMode, SearchbarViewMode, ShoppingCartComponent, ShoppingCartModule, ShoppingCartPreviewComponent, ShoppingCartPreviewModule, TransactionComponent, TransactionConfirmationDetailsComponent, TransactionConfirmationDetailsModule, TransactionConfirmationHistoryComponent, TransactionConfirmationHistoryModule, TransactionHeaderComponent, TransactionHeaderDeliveryComponent, TransactionHeaderDeliveryModule, TransactionHeaderModule, TransactionHeaderOrderComponent, TransactionHeaderOrderModule, TransactionHeaderRelationComponent, TransactionHeaderRelationModule, TransactionLineGridComponent, TransactionLineGridModule, TransactionLineStatusbarComponent, TransactionLineStatusbarModule, TransactionLinesComponent, TransactionLinesModule, TransactionModule, TransactionQuickAccessComponent, TransactionQuickAccessModule, TransactionQuickAccessOrderConfirmationComponent, TransactionQuickAccessOrderConfirmationModule, TransactionQuickAccessReceivedGoodsComponent, TransactionQuickAccessReceivedGoodsModule, TransactionSearchComponent, TransactionSearchModule, TransactionSearchService, TransactionService, TransactionStatusbarComponent, TransactionStatusbarModule, TransactionTotalsComponent, TransactionTotalsModule, PendingReasonService as ɵa, DialogService as ɵb, ConfirmationDialogComponent as ɵba, DialogBaseComponent as ɵbb, IconCacheService as ɵbc, CharacteristicAnswerModule as ɵbd, CharacteristicAnswerComponent as ɵbe, WarehouseModule as ɵbf, WarehouseComponent as ɵbg, ImageDisplayComponent as ɵbh, IconComponent as ɵbi, CustomerGroupsComponent as ɵbj, StockStatusIndicatorComponent as ɵbk, LazyRenderMasterDirective as ɵbl, LazyRenderDirective as ɵbm, RelationAddressModule as ɵbn, RelationAddressComponent as ɵbo, RelationBaseComponent as ɵbp, RelationAddressSelectModule as ɵbq, RelationAddressTileModule as ɵbr, TileModule as ɵbs, TileComponent as ɵbt, RelationAddressTileComponent as ɵbu, RelationAddressSelectComponent as ɵbv, StepperModule as ɵbw, StepperComponent as ɵbx, StepperStepComponent as ɵby, TransactionLineModule as ɵbz, DynamicComponentService as ɵc, TransactionLineComponent as ɵca, TransactionMappingService as ɵcb, TransactionArticleTextModule as ɵcc, TransactionLineImageAndDescriptionModule as ɵcd, TransactionLineDescriptionModule as ɵce, TransactionLineDescriptionComponent as ɵcf, TransactionLineBaseComponent as ɵcg, TransactionLineImageAndDescriptionComponent as ɵch, TransactionImageService as ɵci, TransactionArticleTextComponent as ɵcj, TransactionReceiveGoodsService as ɵck, DialogTransactionHeaderDiscountModule as ɵcl, TransactionHeaderDiscountPercentageModule as ɵcm, TransactionHeaderDiscountPercentageComponent as ɵcn, TransactionHeaderBaseComponent as ɵco, TransactionHeaderFilterPopupBaseComponent as ɵcp, TransactionHeaderDiscountAmountModule as ɵcq, TransactionHeaderDiscountAmountComponent as ɵcr, TransactionHeaderDiscountTransactionTotalModule as ɵcs, TransactionHeaderDiscountTransactionTotalComponent as ɵct, DialogTransactionHeaderDiscountComponent as ɵcu, DialogTransactionHeaderBaseComponent as ɵcv, AvatarModule as ɵcw, AvatarComponent as ɵcx, SharedService as ɵcy, SharedConnectorService as ɵcz, OptionsService as ɵd, DeliveryTypeTileModule as ɵda, DeliveryTypeTileComponent as ɵdb, PaymentModule as ɵdc, PaymentTileModule as ɵdd, PaymentTileComponent as ɵde, PaymentQrCodeModule as ɵdf, PaymentQrCodeComponent as ɵdg, DownPaymentModule as ɵdh, DownPaymentComponent as ɵdi, PaymentService as ɵdj, PaymentComponent as ɵdk, RelationTypeModule as ɵdl, RelationTypeComponent as ɵdm, RelationGeneralModule as ɵdn, RelationSuggestionsListModule as ɵdo, RelationSuggestionsListItemModule as ɵdp, RelationSuggestionsListItemComponent as ɵdq, RelationSuggestionsListComponent as ɵdr, RelationGeneralComponent as ɵds, RelationAddressesModule as ɵdt, RelationAddressesComponent as ɵdu, RelationContactDetailsModule as ɵdv, RelationContactDetailsComponent as ɵdw, RelationPreferencesModule as ɵdx, RelationPreferencesComponent as ɵdy, TransactionHeaderBlockModule as ɵdz, DictionaryService as ɵe, TransactionHeaderBlockComponent as ɵea, TransactionHeaderDeliveryDateModule as ɵeb, TransactionHeaderDeliveryDateComponent as ɵec, TransactionHeaderDeliveryOptionsModule as ɵed, TransactionHeaderDeliveryOptionsComponent as ɵee, TransactionHeaderRemarksModule as ɵef, TransactionHeaderRemarksComponent as ɵeg, TransactionHeaderReferenceModule as ɵeh, TransactionHeaderReferenceComponent as ɵei, TransactionHeaderRelationReferenceModule as ɵej, TransactionHeaderRelationReferenceComponent as ɵek, TransactionHeaderDeliveryMethodModule as ɵel, TransactionLineCheckboxModule as ɵem, TransactionLineCheckboxListComponent as ɵen, TransactionHeaderDeliveryMethodComponent as ɵeo, TransactionHeaderPreferredDeliveryDateModule as ɵep, TransactionHeaderPreferredDeliveryDateComponent as ɵeq, DialogTransactionHeaderDeliveryMethodModule as ɵer, DialogHeaderSearchModule as ɵes, DialogHeaderSearchComponent as ɵet, DialogTransactionHeaderDeliveryMethodComponent as ɵeu, TransactionHeaderPartialDeliveryModule as ɵev, TransactionHeaderPartialDeliveryComponent as ɵew, TransactionBaseComponent as ɵex, TransactionHeaderDownpaymentPercentageModule as ɵey, TransactionHeaderDownpaymentPercentageComponent as ɵez, TransactionConnectorService as ɵf, TransactionHeaderDownpaymentAmountModule as ɵfa, TransactionHeaderDownpaymentAmountComponent as ɵfb, TransactionHeaderDefinitiveModule as ɵfc, TransactionHeaderDefinitiveComponent as ɵfd, TransactionHeaderBranchModule as ɵfe, TransactionHeaderBranchComponent as ɵff, TransactionHeaderAdministrativeRelationModule as ɵfg, TransactionHeaderAdministrativeRelationComponent as ɵfh, TransactionHeaderMarketingModule as ɵfi, TransactionHeaderMarketingComponent as ɵfj, CheckoutOverviewRelationEditComponent as ɵfk, CheckoutOverviewDeliveryEditComponent as ɵfl, CheckoutOverviewDeliveryAddressComponent as ɵfm, CheckoutOverviewPaymentComponent as ɵfn, CheckoutLoginComponent as ɵfo, TransactionFilterCategoriesModule as ɵfp, TransactionFilterCategoriesComponent as ɵfq, TransactionHeaderPaymentModule as ɵfr, TransactionHeaderPaymentComponent as ɵfs, TransactionLinesGridModule as ɵft, TransactionBaseGridModule as ɵfu, TransactionLineSidePanelModule as ɵfv, TransactionLineSidePanelDefaultModule as ɵfw, TransactionLinePriceListModule as ɵfx, TransactionLinePriceListComponent as ɵfy, TransactionFilterPopupBaseComponent as ɵfz, TransactionConnectorAdapterService as ɵg, TransactionLineVatModule as ɵga, TransactionLineVatComponent as ɵgb, TransactionLineQuantityModule as ɵgc, TransactionLineQuantityComponent as ɵgd, TransactionLineLineDiscountModule as ɵge, TransactionLineLineDiscountComponent as ɵgf, TransactionLineDeliveryMethodModule as ɵgg, TransactionLineDeliveryMethodComponent as ɵgh, TransactionLineDeliveryDateModule as ɵgi, TransactionLineDeliveryDateComponent as ɵgj, TransactionLineReferenceModule as ɵgk, TransactionLineReferenceComponent as ɵgl, TransactionLineCommissionCodeModule as ɵgm, TransactionLineCommissionCodeComponent as ɵgn, TransactionLineWarehouseModule as ɵgo, TransactionLineWarehouseComponent as ɵgp, TransactionLineDiscountAmountModule as ɵgq, TransactionLineDiscountAmountComponent as ɵgr, TransactionLineQuantumDiscountModule as ɵgs, TransactionLineQuantumDiscountComponent as ɵgt, TransactionLineSpecialDiscountModule as ɵgu, TransactionLineSpecialDiscountComponent as ɵgv, TransactionLineSupplierModule as ɵgw, TransactionLineSupplierComponent as ɵgx, TransactionLinePriceModule as ɵgy, TransactionLinePriceComponent as ɵgz, SelectMultipleCacheService as ɵh, TransactionLineSidePanelDefaultComponent as ɵha, TransactionReceivingGoodsHistoryModule as ɵhb, TransactionHistoryGridModule as ɵhc, TransactionHistoryGridStatusModule as ɵhd, TransactionHistoryGridStatusComponent as ɵhe, TransactionHistoryGridComponent as ɵhf, TransactionReceivingGoodsHistoryComponent as ɵhg, TransactionReceivingGoodsDetailsModule as ɵhh, TransactionReceivingGoodsDetailsComponent as ɵhi, ArticleService as ɵhj, TransactionButtonBarModule as ɵhk, AnimatedCheckboxModule as ɵhl, AnimatedCheckboxComponent as ɵhm, TransactionButtonBarComponent as ɵhn, TransactionButtonBarButtonComponent as ɵho, TransactionButtonBarButtonBaseComponent as ɵhp, TransactionSalesPurchaseButtonBarButtonComponent as ɵhq, TransactionLineSidePanelPurchaseModule as ɵhr, DefaultOkCancelButtonsModule as ɵhs, DefaultOkCancelButtonsComponent as ɵht, TransactionAvailableStockGridModule as ɵhu, TransactionAvailableStockGridComponent as ɵhv, TransactionLineSidePanelPurchaseComponent as ɵhw, TransactionLineSidePanelComponent as ɵhx, DynamicBaseComponent as ɵhy, TransactionLineActionButtonsModule as ɵhz, BusinessObjectCacheManagerService as ɵi, TransactionArticleTextOverviewModule as ɵia, TransactionArticleTextOverviewComponent as ɵib, TransactionLineActionButtonsComponent as ɵic, TransactionBaseGridComponent as ɵid, TransactionGridBaseComponent as ɵie, DialogTransactionLineCommissionCodeModule as ɵif, DialogTransactionLineCommissionCodeComponent as ɵig, DialogTransactionLineBaseComponent as ɵih, DialogTransactionLineWarehouseModule as ɵii, DialogTransactionLineWarehouseComponent as ɵij, DialogTransactionLineWarehouseCcModule as ɵik, DialogTransactionLineWarehouseCcComponent as ɵil, DialogTransactionLineDeliveryMethodModule as ɵim, DialogTransactionLineDeliveryMethodComponent as ɵin, DialogTransactionLineVatModule as ɵio, DialogTransactionLineVatComponent as ɵip, DialogTransactionLineDiscountModule as ɵiq, DialogTransactionLinePriceListModule as ɵir, DialogTransactionLinePriceListComponent as ɵis, DialogTransactionLineDiscountComponent as ɵit, TransactionLinesGridComponent as ɵiu, DiscountModule as ɵiv, DiscountComponent as ɵiw, TransactionQuickAccessOverviewModule as ɵix, TransactionQuickAccessOverviewComponent as ɵiy, TransactionQuickAccessOrderDeliveryModule as ɵiz, CacheField as ɵj, TransactionSendButtonDialogModule as ɵja, TransactionSendButtonDialogComponent as ɵjb, TransactionQuickAccessOrderDeliveryComponent as ɵjc, TransactionOrderDeliveryService as ɵjd, TransactionQuickAccessOrderPurchaseModule as ɵje, TransactionQuickAccessOrderPurchaseComponent as ɵjf, TransactionOrderConfirmationGridModule as ɵjg, TransactionOrderConfirmationGridComponent as ɵjh, TransactionReceivedGoodsGridModule as ɵji, DialogTransactionLineWarehouseLocationModule as ɵjj, TransactionLineWarehouseLocationModule as ɵjk, TransactionLineWarehouseLocationComponent as ɵjl, DialogTransactionLineWarehouseLocationComponent as ɵjm, TransactionLineWarehouseLocationButtonModule as ɵjn, TransactionLineWarehouseLocationButtonComponent as ɵjo, TransactionReceivedGoodsGridComponent as ɵjp, ViewModeButtonsModule as ɵjq, ViewModeButtonsComponent as ɵjr, TransactionGridModule as ɵjs, TransactionGridComponent as ɵjt, TransactionTileModule as ɵju, TransactionTileComponent as ɵjv, TransactionOverviewLineModule as ɵjw, EditableLabelModule as ɵjx, EditableLabelComponent as ɵjy, TransactionBaseLineModule as ɵjz, SelectMultipleParameterizedCacheService as ɵk, TransactionBaseLineComponent as ɵka, TransactionLinesLineBaseComponent as ɵkb, TransactionLineCommissionButtonModule as ɵkc, TransactionLineCommissionButtonComponent as ɵkd, TransactionLineWarehouseButtonModule as ɵke, TransactionLineWarehouseButtonComponent as ɵkf, TransactionLineDeliveryButtonModule as ɵkg, TransactionLineDeliveryButtonComponent as ɵkh, TransactionLineDeliveryDateButtonModule as ɵki, TransactionLineDeliveryDateButtonComponent as ɵkj, TransactionLineAmountModule as ɵkk, TransactionLineAmountComponent as ɵkl, TransactionOverviewLineComponent as ɵkm, TransactionOrderDeliveryLineModule as ɵkn, TransactionOrderDeliveryLineComponent as ɵko, TransactionReceiveGoodsLineModule as ɵkp, TransactionReceiveGoodsLineComponent as ɵkq, TransactionPurchaseLineModule as ɵkr, TransactionLineSupplierButtonModule as ɵks, DialogTransactionLineSupplierModule as ɵkt, DialogTransactionLineSupplierComponent as ɵku, TransactionLineSupplierButtonComponent as ɵkv, TransactionPurchaseLineComponent as ɵkw, QuickSendButtonModule as ɵkx, QuickSendButtonComponent as ɵky, TransactionSearchResultModule as ɵkz, ErrorService as ɵl, TransactionSearchSalesOrderTileModule as ɵla, TransactionSearchSalesOrderTileComponent as ɵlb, TransactionSearchTileBaseComponent as ɵlc, TransactionSearchPurchaseOrderTileModule as ɵld, TransactionSearchPurchaseOrderTileComponent as ɵle, TransactionSearchSalesOrderGridModule as ɵlf, TransactionSearchSalesOrderGridComponent as ɵlg, TransactionSearchGridBaseComponent as ɵlh, TransactionSearchPurchaseOrderGridModule as ɵli, TransactionSearchPurchaseOrderGridComponent as ɵlj, TransactionSearchHeaderModule as ɵlk, TransactionSearchHeaderComponent as ɵll, TransactionSearchGridModule as ɵlm, TransactionSearchGridComponent as ɵln, TransactionSearchTileModule as ɵlo, TransactionSearchTileComponent as ɵlp, TransactionSearchResultComponent as ɵlq, TransactionSalesOrderFilterModule as ɵlr, TransactionSalesOrderFilterContentOrderModule as ɵls, TransactionFilterItemModule as ɵlt, TransactionFilterItemComponent as ɵlu, TransactionSalesOrderFilterContentOrderComponent as ɵlv, TransactionFilterContentBaseComponent as ɵlw, FilterRequestService as ɵlx, TransactionSalesOrderFilterContentLogisticsModule as ɵly, TransactionFilterHistoricStateModule as ɵlz, SelectSingleCacheService as ɵm, TransactionFilterHistoricStateComponent as ɵma, TransactionSalesOrderFilterContentLogisticsComponent as ɵmb, TransactionSalesOrderFilterContentArticleModule as ɵmc, TransactionSalesOrderFilterContentArticleComponent as ɵmd, TransactionSalesOrderFilterComponent as ɵme, TransactionFilterBaseComponent as ɵmf, TransactionPurchaseOrderFilterModule as ɵmg, TransactionPurchaseOrderFilterContentOrderModule as ɵmh, TransactionPurchaseOrderFilterContentOrderComponent as ɵmi, TransactionPurchaseOrderFilterContentLogisticsModule as ɵmj, TransactionPurchaseOrderFilterContentLogisticsComponent as ɵmk, TransactionPurchaseOrderFilterContentArticleModule as ɵml, TransactionPurchaseOrderFilterContentArticleComponent as ɵmm, TransactionPurchaseOrderFilterComponent as ɵmn, TransactionFilterModule as ɵmo, TransactionFilterComponent as ɵmp, ArticleConnectorService as ɵn, TransactionEventService as ɵo, RelationConnectorService as ɵp, CoreModule as ɵq, ConfirmationDialogModule as ɵr, PipeModule as ɵs, AppendPipe as ɵt, DeliveryTimePipe as ɵu, DateDurationPipe as ɵv, LocalizePipe as ɵw, CoCurrencyPipe as ɵx, SafeStylePipe as ɵy, SafeHtmlPipe as ɵz };
24231
+ export { CheckoutComponent, CheckoutModule, LoaderComponent, LoaderModule, RelationService, SearchViewMode, SearchbarViewMode, ShoppingCartComponent, ShoppingCartModule, ShoppingCartPreviewComponent, ShoppingCartPreviewModule, TransactionComponent, TransactionConfirmationDetailsComponent, TransactionConfirmationDetailsModule, TransactionConfirmationHistoryComponent, TransactionConfirmationHistoryModule, TransactionHeaderComponent, TransactionHeaderDeliveryComponent, TransactionHeaderDeliveryModule, TransactionHeaderModule, TransactionHeaderOrderComponent, TransactionHeaderOrderModule, TransactionHeaderRelationComponent, TransactionHeaderRelationModule, TransactionLineGridComponent, TransactionLineGridModule, TransactionLineStatusbarComponent, TransactionLineStatusbarModule, TransactionLinesComponent, TransactionLinesModule, TransactionModule, TransactionQuickAccessComponent, TransactionQuickAccessModule, TransactionQuickAccessOrderConfirmationComponent, TransactionQuickAccessOrderConfirmationModule, TransactionQuickAccessReceivedGoodsComponent, TransactionQuickAccessReceivedGoodsModule, TransactionSearchComponent, TransactionSearchModule, TransactionSearchService, TransactionService, TransactionStatusbarComponent, TransactionStatusbarModule, TransactionTotalsComponent, TransactionTotalsModule, PendingReasonService as ɵa, DialogService as ɵb, ConfirmationDialogComponent as ɵba, DialogBaseComponent as ɵbb, IconCacheService as ɵbc, CharacteristicAnswerModule as ɵbd, CharacteristicAnswerComponent as ɵbe, WarehouseModule as ɵbf, WarehouseComponent as ɵbg, ImageDisplayComponent as ɵbh, IconComponent as ɵbi, CustomerGroupsComponent as ɵbj, StockStatusIndicatorComponent as ɵbk, LazyRenderMasterDirective as ɵbl, LazyRenderDirective as ɵbm, RelationAddressModule as ɵbn, RelationAddressComponent as ɵbo, RelationBaseComponent as ɵbp, RelationAddressSelectModule as ɵbq, RelationAddressTileModule as ɵbr, TileModule as ɵbs, TileComponent as ɵbt, RelationAddressTileComponent as ɵbu, RelationAddressSelectComponent as ɵbv, StepperModule as ɵbw, StepperComponent as ɵbx, StepperStepComponent as ɵby, TransactionLineModule as ɵbz, DynamicComponentService as ɵc, TransactionLineComponent as ɵca, TransactionMappingService as ɵcb, TransactionArticleTextModule as ɵcc, TransactionLineImageAndDescriptionModule as ɵcd, TransactionLineDescriptionModule as ɵce, TransactionLineDescriptionComponent as ɵcf, TransactionLineBaseComponent as ɵcg, TransactionLineImageAndDescriptionComponent as ɵch, TransactionImageService as ɵci, TransactionArticleTextComponent as ɵcj, TransactionReceiveGoodsService as ɵck, DialogTransactionHeaderDiscountModule as ɵcl, TransactionHeaderDiscountPercentageModule as ɵcm, TransactionHeaderDiscountPercentageComponent as ɵcn, TransactionHeaderBaseComponent as ɵco, TransactionHeaderFilterPopupBaseComponent as ɵcp, TransactionHeaderDiscountAmountModule as ɵcq, TransactionHeaderDiscountAmountComponent as ɵcr, TransactionHeaderDiscountTransactionTotalModule as ɵcs, TransactionHeaderDiscountTransactionTotalComponent as ɵct, DialogTransactionHeaderDiscountComponent as ɵcu, DialogTransactionHeaderBaseComponent as ɵcv, AvatarModule as ɵcw, AvatarComponent as ɵcx, SharedService as ɵcy, SharedConnectorService as ɵcz, OptionsService as ɵd, DeliveryTypeTileModule as ɵda, DeliveryTypeTileComponent as ɵdb, PaymentModule as ɵdc, PaymentTileModule as ɵdd, PaymentTileComponent as ɵde, PaymentQrCodeModule as ɵdf, PaymentQrCodeComponent as ɵdg, DownPaymentModule as ɵdh, DownPaymentComponent as ɵdi, PaymentService as ɵdj, PaymentComponent as ɵdk, RelationTypeModule as ɵdl, RelationTypeComponent as ɵdm, RelationGeneralModule as ɵdn, RelationSuggestionsListModule as ɵdo, RelationSuggestionsListItemModule as ɵdp, RelationSuggestionsListItemComponent as ɵdq, RelationSuggestionsListComponent as ɵdr, RelationGeneralComponent as ɵds, RelationAddressesModule as ɵdt, RelationAddressesComponent as ɵdu, RelationContactDetailsModule as ɵdv, RelationContactDetailsComponent as ɵdw, RelationPreferencesModule as ɵdx, RelationPreferencesComponent as ɵdy, TransactionHeaderBlockModule as ɵdz, DictionaryService as ɵe, TransactionHeaderBlockComponent as ɵea, TransactionHeaderDeliveryDateModule as ɵeb, TransactionHeaderDeliveryDateComponent as ɵec, TransactionHeaderDeliveryOptionsModule as ɵed, TransactionHeaderDeliveryOptionsComponent as ɵee, TransactionHeaderRemarksModule as ɵef, TransactionHeaderRemarksComponent as ɵeg, TransactionHeaderReferenceModule as ɵeh, TransactionHeaderReferenceComponent as ɵei, TransactionHeaderRelationReferenceModule as ɵej, TransactionHeaderRelationReferenceComponent as ɵek, TransactionHeaderDeliveryMethodModule as ɵel, TransactionLineCheckboxModule as ɵem, TransactionLineCheckboxListComponent as ɵen, TransactionHeaderDeliveryMethodComponent as ɵeo, TransactionHeaderPreferredDeliveryDateModule as ɵep, TransactionHeaderPreferredDeliveryDateComponent as ɵeq, DialogTransactionHeaderDeliveryMethodModule as ɵer, DialogHeaderSearchModule as ɵes, DialogHeaderSearchComponent as ɵet, DialogTransactionHeaderDeliveryMethodComponent as ɵeu, TransactionHeaderPartialDeliveryModule as ɵev, TransactionHeaderPartialDeliveryComponent as ɵew, TransactionBaseComponent as ɵex, TransactionHeaderDownpaymentPercentageModule as ɵey, TransactionHeaderDownpaymentPercentageComponent as ɵez, TransactionConnectorService as ɵf, TransactionHeaderDownpaymentAmountModule as ɵfa, TransactionHeaderDownpaymentAmountComponent as ɵfb, TransactionHeaderDefinitiveModule as ɵfc, TransactionHeaderDefinitiveComponent as ɵfd, TransactionHeaderBranchModule as ɵfe, TransactionHeaderBranchComponent as ɵff, TransactionHeaderAdministrativeRelationModule as ɵfg, TransactionHeaderAdministrativeRelationComponent as ɵfh, TransactionHeaderMarketingModule as ɵfi, TransactionHeaderMarketingComponent as ɵfj, CheckoutOverviewRelationEditComponent as ɵfk, CheckoutOverviewDeliveryEditComponent as ɵfl, CheckoutOverviewDeliveryAddressComponent as ɵfm, CheckoutOverviewPaymentComponent as ɵfn, CheckoutLoginComponent as ɵfo, TransactionFilterCategoriesModule as ɵfp, TransactionFilterCategoriesComponent as ɵfq, TransactionHeaderPaymentModule as ɵfr, TransactionHeaderPaymentComponent as ɵfs, TransactionLinesGridModule as ɵft, TransactionBaseGridModule as ɵfu, TransactionLineSidePanelModule as ɵfv, TransactionLineSidePanelDefaultModule as ɵfw, TransactionLinePriceListModule as ɵfx, TransactionLinePriceListComponent as ɵfy, TransactionFilterPopupBaseComponent as ɵfz, TransactionConnectorAdapterService as ɵg, TransactionLineVatModule as ɵga, TransactionLineVatComponent as ɵgb, TransactionLineQuantityModule as ɵgc, TransactionLineQuantityComponent as ɵgd, TransactionLineLineDiscountModule as ɵge, TransactionLineLineDiscountComponent as ɵgf, TransactionLineDeliveryMethodModule as ɵgg, TransactionLineDeliveryMethodComponent as ɵgh, TransactionLineDeliveryDateModule as ɵgi, TransactionLineDeliveryDateComponent as ɵgj, TransactionLineReferenceModule as ɵgk, TransactionLineReferenceComponent as ɵgl, TransactionLineCommissionCodeModule as ɵgm, TransactionLineCommissionCodeComponent as ɵgn, TransactionLineWarehouseModule as ɵgo, TransactionLineWarehouseComponent as ɵgp, TransactionLineDiscountAmountModule as ɵgq, TransactionLineDiscountAmountComponent as ɵgr, TransactionLineQuantumDiscountModule as ɵgs, TransactionLineQuantumDiscountComponent as ɵgt, TransactionLineSpecialDiscountModule as ɵgu, TransactionLineSpecialDiscountComponent as ɵgv, TransactionLineSupplierModule as ɵgw, TransactionLineSupplierComponent as ɵgx, TransactionLinePriceModule as ɵgy, TransactionLinePriceComponent as ɵgz, SelectMultipleCacheService as ɵh, TransactionLineSidePanelDefaultComponent as ɵha, TransactionReceivingGoodsHistoryModule as ɵhb, TransactionHistoryGridModule as ɵhc, TransactionHistoryGridStatusModule as ɵhd, TransactionHistoryGridStatusComponent as ɵhe, TransactionHistoryGridComponent as ɵhf, TransactionReceivingGoodsHistoryComponent as ɵhg, TransactionButtonBarModule as ɵhh, AnimatedCheckboxModule as ɵhi, AnimatedCheckboxComponent as ɵhj, TransactionButtonBarComponent as ɵhk, TransactionButtonBarButtonComponent as ɵhl, TransactionButtonBarButtonBaseComponent as ɵhm, TransactionSalesPurchaseButtonBarButtonComponent as ɵhn, TransactionLineSidePanelPurchaseModule as ɵho, DefaultOkCancelButtonsModule as ɵhp, DefaultOkCancelButtonsComponent as ɵhq, TransactionAvailableStockGridModule as ɵhr, TransactionAvailableStockGridComponent as ɵhs, TransactionSidePanelEditRequestDetailsModule as ɵht, TransactionLineWarehouseLocationButtonModule as ɵhu, TransactionLineWarehouseLocationButtonComponent as ɵhv, TransactionSidePanelEditRequestDetailsComponent as ɵhw, AllocationRequestComponent as ɵhx, ReceiveGoodsRequestComponent as ɵhy, ArticleService as ɵhz, BusinessObjectCacheManagerService as ɵi, TransactionLineSidePanelPurchaseComponent as ɵia, TransactionLineSidePanelSalesModule as ɵib, TransactionAllocateGoodsHistoryModule as ɵic, TransactionAllocateGoodsHistoryComponent as ɵid, TransactionLineSidePanelSalesComponent as ɵie, TransactionLineSidePanelComponent as ɵif, DynamicBaseComponent as ɵig, TransactionLineActionButtonsModule as ɵih, TransactionArticleTextOverviewModule as ɵii, TransactionArticleTextOverviewComponent as ɵij, TransactionLineActionButtonsComponent as ɵik, TransactionBaseGridComponent as ɵil, TransactionGridBaseComponent as ɵim, DialogTransactionLineCommissionCodeModule as ɵin, DialogTransactionLineCommissionCodeComponent as ɵio, DialogTransactionLineBaseComponent as ɵip, DialogTransactionLineWarehouseModule as ɵiq, DialogTransactionLineWarehouseComponent as ɵir, DialogTransactionLineWarehouseCcModule as ɵis, DialogTransactionLineWarehouseCcComponent as ɵit, DialogTransactionLineDeliveryMethodModule as ɵiu, DialogTransactionLineDeliveryMethodComponent as ɵiv, DialogTransactionLineVatModule as ɵiw, DialogTransactionLineVatComponent as ɵix, DialogTransactionLineDiscountModule as ɵiy, DialogTransactionLinePriceListModule as ɵiz, CacheField as ɵj, DialogTransactionLinePriceListComponent as ɵja, DialogTransactionLineDiscountComponent as ɵjb, TransactionLinesGridComponent as ɵjc, DiscountModule as ɵjd, DiscountComponent as ɵje, TransactionQuickAccessOverviewModule as ɵjf, DialogCatalogModule as ɵjg, DialogCatalogComponent as ɵjh, TransactionQuickAccessOverviewComponent as ɵji, TransactionQuickAccessOrderDeliveryModule as ɵjj, TransactionSendButtonDialogModule as ɵjk, TransactionSendButtonDialogComponent as ɵjl, TransactionQuickAccessOrderDeliveryComponent as ɵjm, TransactionOrderDeliveryService as ɵjn, TransactionQuickAccessOrderPurchaseModule as ɵjo, TransactionQuickAccessOrderPurchaseComponent as ɵjp, TransactionQuickAccessGoodsAllocationModule as ɵjq, TransactionQuickAccessGoodsAllocationComponent as ɵjr, TransactionAllocateGoodsService as ɵjs, TransactionOrderConfirmationGridModule as ɵjt, TransactionOrderConfirmationGridComponent as ɵju, TransactionReceivedGoodsGridModule as ɵjv, DialogTransactionLineWarehouseLocationModule as ɵjw, TransactionLineWarehouseLocationModule as ɵjx, TransactionLineWarehouseLocationComponent as ɵjy, DialogTransactionLineWarehouseLocationComponent as ɵjz, SelectMultipleParameterizedCacheService as ɵk, TransactionReceivedGoodsGridComponent as ɵka, ViewModeButtonsModule as ɵkb, ViewModeButtonsComponent as ɵkc, TransactionGridModule as ɵkd, TransactionGridComponent as ɵke, TransactionTileModule as ɵkf, TransactionTileComponent as ɵkg, TransactionOverviewLineModule as ɵkh, EditableLabelModule as ɵki, EditableLabelComponent as ɵkj, TransactionBaseLineModule as ɵkk, TransactionBaseLineComponent as ɵkl, TransactionLinesLineBaseComponent as ɵkm, TransactionLineCommissionButtonModule as ɵkn, TransactionLineCommissionButtonComponent as ɵko, TransactionLineWarehouseButtonModule as ɵkp, TransactionLineWarehouseButtonComponent as ɵkq, TransactionLineDeliveryButtonModule as ɵkr, TransactionLineDeliveryButtonComponent as ɵks, TransactionLineDeliveryDateButtonModule as ɵkt, TransactionLineDeliveryDateButtonComponent as ɵku, TransactionLineAmountModule as ɵkv, TransactionLineAmountComponent as ɵkw, TransactionOverviewLineComponent as ɵkx, TransactionOrderDeliveryLineModule as ɵky, TransactionOrderDeliveryLineComponent as ɵkz, ErrorService as ɵl, TransactionReceiveGoodsLineModule as ɵla, TransactionReceiveGoodsLineComponent as ɵlb, TransactionPurchaseLineModule as ɵlc, TransactionLineSupplierButtonModule as ɵld, DialogTransactionLineSupplierModule as ɵle, DialogTransactionLineSupplierComponent as ɵlf, TransactionLineSupplierButtonComponent as ɵlg, TransactionPurchaseLineComponent as ɵlh, QuickSendButtonModule as ɵli, QuickSendButtonComponent as ɵlj, TransactionGoodsAllocationLineModule as ɵlk, TransactionGoodsAllocationLineComponent as ɵll, TransactionSearchResultModule as ɵlm, TransactionSearchSalesOrderTileModule as ɵln, TransactionSearchSalesOrderTileComponent as ɵlo, TransactionSearchTileBaseComponent as ɵlp, TransactionSearchPurchaseOrderTileModule as ɵlq, TransactionSearchPurchaseOrderTileComponent as ɵlr, TransactionSearchSalesOrderGridModule as ɵls, TransactionSearchSalesOrderGridComponent as ɵlt, TransactionSearchGridBaseComponent as ɵlu, TransactionSearchPurchaseOrderGridModule as ɵlv, TransactionSearchPurchaseOrderGridComponent as ɵlw, TransactionSearchHeaderModule as ɵlx, TransactionSearchHeaderComponent as ɵly, TransactionSearchGridModule as ɵlz, SelectSingleCacheService as ɵm, TransactionSearchGridComponent as ɵma, TransactionSearchTileModule as ɵmb, TransactionSearchTileComponent as ɵmc, TransactionSearchResultComponent as ɵmd, TransactionSalesOrderFilterModule as ɵme, TransactionSalesOrderFilterContentOrderModule as ɵmf, TransactionFilterItemModule as ɵmg, TransactionFilterItemComponent as ɵmh, TransactionSalesOrderFilterContentOrderComponent as ɵmi, TransactionFilterContentBaseComponent as ɵmj, FilterRequestService as ɵmk, TransactionSalesOrderFilterContentLogisticsModule as ɵml, TransactionFilterHistoricStateModule as ɵmm, TransactionFilterHistoricStateComponent as ɵmn, TransactionSalesOrderFilterContentLogisticsComponent as ɵmo, TransactionSalesOrderFilterContentArticleModule as ɵmp, TransactionSalesOrderFilterContentArticleComponent as ɵmq, TransactionSalesOrderFilterComponent as ɵmr, TransactionFilterBaseComponent as ɵms, TransactionPurchaseOrderFilterModule as ɵmt, TransactionPurchaseOrderFilterContentOrderModule as ɵmu, TransactionPurchaseOrderFilterContentOrderComponent as ɵmv, TransactionPurchaseOrderFilterContentLogisticsModule as ɵmw, TransactionPurchaseOrderFilterContentLogisticsComponent as ɵmx, TransactionPurchaseOrderFilterContentArticleModule as ɵmy, TransactionPurchaseOrderFilterContentArticleComponent as ɵmz, ArticleConnectorService as ɵn, TransactionPurchaseOrderFilterComponent as ɵna, TransactionFilterModule as ɵnb, TransactionFilterComponent as ɵnc, TransactionEventService as ɵo, RelationConnectorService as ɵp, CoreModule as ɵq, ConfirmationDialogModule as ɵr, PipeModule as ɵs, AppendPipe as ɵt, DeliveryTimePipe as ɵu, DateDurationPipe as ɵv, LocalizePipe as ɵw, CoCurrencyPipe as ɵx, SafeStylePipe as ɵy, SafeHtmlPipe as ɵz };
23271
24232
  //# sourceMappingURL=colijnit-transaction.js.map