@colijnit/transaction 12.1.65 → 12.1.66

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 (156) hide show
  1. package/bundles/colijnit-transaction.umd.js +1556 -645
  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-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.js +3 -3
  18. package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.js +5 -5
  19. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +3 -3
  20. package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.js +2 -2
  21. package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +2 -1
  22. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.js +63 -0
  23. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.js +109 -0
  24. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.js +33 -0
  25. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.component.js +2 -1
  26. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +4 -4
  27. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +2 -2
  28. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +2 -2
  29. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.js +4 -12
  30. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.js +10 -5
  31. package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +16 -5
  32. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.js +1 -1
  33. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.js +1 -1
  34. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +8 -1
  35. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.module.js +4 -4
  36. package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +12 -10
  37. package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.module.js +4 -4
  38. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.js +81 -0
  39. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +25 -0
  40. package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.js +36 -4
  41. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +4 -2
  42. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +4 -2
  43. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.js +69 -0
  44. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.js +25 -0
  45. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +62 -1
  46. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.module.js +6 -2
  47. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.js +1 -2
  48. package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.js +6 -3
  49. package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.js +11 -3
  50. package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.js +4 -3
  51. package/esm2015/lib/component/transaction-search/transaction-search.component.js +13 -3
  52. package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.js +144 -0
  53. package/esm2015/lib/component/transaction-side-panel-edit-request-details/components/receive-goods-request.component.js +195 -0
  54. package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.js +50 -0
  55. package/esm2015/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.js +30 -0
  56. package/esm2015/lib/component/transaction-tile/transaction-tile.component.js +3 -2
  57. package/esm2015/lib/enum/icon.enum.js +2 -1
  58. package/esm2015/lib/enum/transaction-type-category.enum.js +2 -1
  59. package/esm2015/lib/model/extended-transaction-line-view-model.js +4 -0
  60. package/esm2015/lib/model/icon-svg.js +2 -1
  61. package/esm2015/lib/service/pending-reason.service.js +3 -1
  62. package/esm2015/lib/service/transaction-connector-adapter.service.js +51 -1
  63. package/esm2015/lib/service/transaction-connector.service.js +21 -1
  64. package/esm2015/lib/service/transaction-event.service.js +2 -1
  65. package/esm2015/lib/service/transaction-mapping.service.js +6 -1
  66. package/esm2015/lib/service/transaction.service.js +24 -8
  67. package/fesm2015/colijnit-transaction.js +1500 -565
  68. package/fesm2015/colijnit-transaction.js.map +1 -1
  69. package/lib/component/checkout/checkout.component.d.ts +13 -6
  70. package/lib/component/core/base/transaction-lines-line-base.component.d.ts +3 -1
  71. package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.d.ts +15 -0
  72. package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.d.ts +2 -0
  73. package/lib/component/dialog/catalog/dialog-catalog/style/_layout.scss +4 -0
  74. package/lib/component/dialog/catalog/dialog-catalog/style/_material-definition.scss +0 -0
  75. package/lib/component/dialog/catalog/dialog-catalog/style/_theme.scss +4 -0
  76. package/lib/component/dialog/catalog/dialog-catalog/style/material.scss +4 -0
  77. package/lib/component/stepper/stepper.component.d.ts +2 -1
  78. package/lib/component/transaction/transaction.component.d.ts +1 -1
  79. package/lib/component/transaction-allocate-goods-history/style/_layout.scss +4 -0
  80. package/lib/component/transaction-allocate-goods-history/style/_material-definition.scss +0 -0
  81. package/lib/component/transaction-allocate-goods-history/style/_theme.scss +4 -0
  82. package/lib/component/transaction-allocate-goods-history/style/material.scss +4 -0
  83. package/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.component.d.ts +18 -0
  84. package/lib/component/transaction-allocate-goods-history/transaction-allocate-goods-history.module.d.ts +2 -0
  85. package/lib/component/transaction-confirmation-details/style/_layout.scss +1 -1
  86. package/lib/component/transaction-grid/transaction-available-stock-grid/transaction-available-stock-grid.component.d.ts +2 -1
  87. package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.d.ts +2 -5
  88. package/lib/component/transaction-line/transaction-goods-allocation-line/service/transaction-allocate-goods.service.d.ts +12 -0
  89. package/lib/component/transaction-line/transaction-goods-allocation-line/style/_layout.scss +27 -0
  90. package/lib/component/transaction-line/transaction-goods-allocation-line/style/_material-definition.scss +0 -0
  91. package/lib/component/transaction-line/transaction-goods-allocation-line/style/_theme.scss +4 -0
  92. package/lib/component/transaction-line/transaction-goods-allocation-line/style/material.scss +4 -0
  93. package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.d.ts +27 -0
  94. package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.d.ts +2 -0
  95. package/lib/component/transaction-line/transaction-line/transaction-line.component.d.ts +2 -2
  96. package/lib/component/transaction-line/transaction-receive-goods-line/service/transaction-receive-goods.service.d.ts +2 -3
  97. package/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.d.ts +2 -2
  98. package/lib/component/transaction-line-action-buttons/style/_layout.scss +2 -2
  99. package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts +3 -1
  100. package/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.d.ts +3 -3
  101. package/lib/component/transaction-line-image-and-description/style/_layout.scss +1 -0
  102. package/lib/component/transaction-line-image-and-description/style/_material-definition.scss +1 -0
  103. package/lib/component/transaction-line-side-panel/style/material.scss +1 -1
  104. package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.d.ts +2 -3
  105. package/lib/component/transaction-line-side-panel-sales/style/_layout.scss +4 -0
  106. package/lib/component/transaction-line-side-panel-sales/style/_material-definition.scss +0 -0
  107. package/lib/component/transaction-line-side-panel-sales/style/_theme.scss +4 -0
  108. package/lib/component/transaction-line-side-panel-sales/style/material.scss +4 -0
  109. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.d.ts +20 -0
  110. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.d.ts +2 -0
  111. package/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.d.ts +11 -3
  112. package/lib/component/transaction-lines/style/material.scss +1 -0
  113. package/lib/component/transaction-quick-access/transaction-quick-access/style/material.scss +2 -0
  114. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_layout.scss +27 -0
  115. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_material-definition.scss +0 -0
  116. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/_theme.scss +4 -0
  117. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/style/material.scss +4 -0
  118. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.d.ts +20 -0
  119. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.module.d.ts +2 -0
  120. package/lib/component/transaction-quick-access/transaction-quick-access-overview/style/_layout.scss +3 -0
  121. package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.d.ts +17 -0
  122. package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/style/_layout.scss +1 -6
  123. package/lib/component/transaction-receiving-goods-history/style/_layout.scss +2 -2
  124. package/lib/component/transaction-receiving-goods-history/style/_material-definition.scss +1 -1
  125. package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.d.ts +6 -4
  126. package/lib/component/transaction-search/style/_material-definition.scss +9 -2
  127. package/lib/component/transaction-search/transaction-search-header/style/_layout.scss +12 -0
  128. package/lib/component/transaction-search/transaction-search-header/style/_theme.scss +10 -0
  129. package/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.d.ts +4 -1
  130. package/lib/component/transaction-search/transaction-search.component.d.ts +8 -3
  131. package/lib/component/transaction-side-panel-edit-request-details/components/allocation-request.component.d.ts +35 -0
  132. 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} +9 -12
  133. package/lib/component/{transaction-receiving-goods-details → transaction-side-panel-edit-request-details}/style/_layout.scss +16 -19
  134. package/lib/component/transaction-side-panel-edit-request-details/style/_material-definition.scss +3 -0
  135. package/lib/component/transaction-side-panel-edit-request-details/style/_theme.scss +4 -0
  136. package/lib/component/transaction-side-panel-edit-request-details/style/material.scss +4 -0
  137. package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.component.d.ts +15 -0
  138. package/lib/component/transaction-side-panel-edit-request-details/transaction-side-panel-edit-request-details.module.d.ts +2 -0
  139. package/lib/component/transaction-tile/transaction-tile.component.d.ts +2 -0
  140. package/lib/enum/icon.enum.d.ts +1 -0
  141. package/lib/enum/transaction-type-category.enum.d.ts +1 -0
  142. package/lib/model/{receive-good-view-model.d.ts → extended-transaction-line-view-model.d.ts} +3 -1
  143. package/lib/service/pending-reason.service.d.ts +2 -0
  144. package/lib/service/transaction-connector-adapter.service.d.ts +8 -0
  145. package/lib/service/transaction-connector.service.d.ts +8 -0
  146. package/lib/service/transaction-event.service.d.ts +3 -5
  147. package/lib/service/transaction.service.d.ts +9 -1
  148. package/lib/style/_variables.scss +1 -1
  149. package/package.json +8 -6
  150. package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.js +0 -211
  151. package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module.js +0 -30
  152. package/esm2015/lib/model/receive-good-view-model.js +0 -4
  153. package/lib/component/transaction-receiving-goods-details/style/_material-definition.scss +0 -3
  154. package/lib/component/transaction-receiving-goods-details/style/_theme.scss +0 -7
  155. package/lib/component/transaction-receiving-goods-details/style/material.scss +0 -3
  156. 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) : ''"
@@ -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,14 +15152,14 @@ 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 {
@@ -15240,9 +15657,9 @@ TransactionHeaderPaymentComponent.decorators = [
15240
15657
  <div class="header-block-balance" *ngIf="transactionInfo.transactionKind !== transactionKind.PurchaseOrder" (click)="openPayment($event)">
15241
15658
  <co-icon class="payment-icon" [iconData]="iconService.getIcon(icons.CreditCardSolid)"></co-icon>
15242
15659
  <div class="payment-payed-wrapper">
15243
- <span class="payment-to-pay" [textContent]="toPay | priceDisplay"></span>
15660
+ <span class="payment-to-pay" [textContent]="(toPay | priceDisplay) || 0"></span>
15244
15661
  <span class="payment-divider" [textContent]="'/'"></span>
15245
- <span class="payment-paid" [class.success]="paid >= toPay" [textContent]="paid | priceDisplay"></span>
15662
+ <span class="payment-paid" [class.success]="paid >= toPay" [textContent]="(paid | priceDisplay) || 0"></span>
15246
15663
  </div>
15247
15664
  </div>
15248
15665
  </ng-template>
@@ -15350,9 +15767,11 @@ TransactionHeaderModule.decorators = [
15350
15767
  ];
15351
15768
 
15352
15769
  class TransactionLineStatusbarComponent {
15353
- constructor(_dictionary) {
15770
+ constructor(_dictionary, _transactionEventService) {
15354
15771
  this._dictionary = _dictionary;
15772
+ this._transactionEventService = _transactionEventService;
15355
15773
  this.showClass = true;
15774
+ this._subscriptions = [];
15356
15775
  }
15357
15776
  set transaction(value) {
15358
15777
  this._transaction = value;
@@ -15363,6 +15782,15 @@ class TransactionLineStatusbarComponent {
15363
15782
  }
15364
15783
  ngOnInit() {
15365
15784
  this.setStatusbarData();
15785
+ this._subscriptions.push(this._transactionEventService.transactionLineChanged.subscribe((line) => {
15786
+ if (line.lineNr === this.transaction.lineNr) {
15787
+ this.transaction.quantityAllocatedFromStock = line.quantityAllocated;
15788
+ this.setStatusbarData();
15789
+ }
15790
+ }));
15791
+ }
15792
+ ngOnDestroy() {
15793
+ this._subscriptions.forEach((subscription) => subscription.unsubscribe());
15366
15794
  }
15367
15795
  setStatusbarData() {
15368
15796
  if (this.transactionKind === TransactionKind.PurchaseOrder) {
@@ -15371,6 +15799,7 @@ class TransactionLineStatusbarComponent {
15371
15799
  else {
15372
15800
  this.setStatusbardataForSalesOrder();
15373
15801
  }
15802
+ this.setFocusedStatusBlock();
15374
15803
  }
15375
15804
  setStatusbardataForSalesOrder() {
15376
15805
  const transaction = this._transaction;
@@ -15406,22 +15835,40 @@ class TransactionLineStatusbarComponent {
15406
15835
  }
15407
15836
  return Math.floor((amount / totalAmount) * 100);
15408
15837
  }
15838
+ setFocusedStatusBlock() {
15839
+ switch (this.transactionTypeCategory) {
15840
+ case TransactionTypeCategory.SalesOrderPurchase:
15841
+ this.focusedStatusIndex = 0;
15842
+ break;
15843
+ case TransactionTypeCategory.SalesOrderAllocation:
15844
+ this.focusedStatusIndex = 1;
15845
+ break;
15846
+ case TransactionTypeCategory.SalesOrderDeliveryNote:
15847
+ this.focusedStatusIndex = 7;
15848
+ break;
15849
+ case TransactionTypeCategory.SalesOrderInvoice:
15850
+ this.focusedStatusIndex = 8;
15851
+ break;
15852
+ }
15853
+ }
15409
15854
  }
15410
15855
  TransactionLineStatusbarComponent.decorators = [
15411
15856
  { type: Component, args: [{
15412
15857
  selector: "co-transaction-line-statusbar",
15413
15858
  template: `
15414
- <co-statusbar [statusbarData]="statusbarData"></co-statusbar>
15859
+ <co-statusbar [statusbarData]="statusbarData" [focusedStatusIndex]="focusedStatusIndex"></co-statusbar>
15415
15860
  `,
15416
15861
  encapsulation: ViewEncapsulation.None
15417
15862
  },] }
15418
15863
  ];
15419
15864
  TransactionLineStatusbarComponent.ctorParameters = () => [
15420
- { type: DictionaryService }
15865
+ { type: DictionaryService },
15866
+ { type: TransactionEventService }
15421
15867
  ];
15422
15868
  TransactionLineStatusbarComponent.propDecorators = {
15423
15869
  transaction: [{ type: Input }],
15424
15870
  transactionKind: [{ type: Input }],
15871
+ transactionTypeCategory: [{ type: Input }],
15425
15872
  showClass: [{ type: HostBinding, args: ["class.co-transaction-line-statusbar",] }]
15426
15873
  };
15427
15874
 
@@ -16931,12 +17378,15 @@ class TransactionReceivingGoodsHistoryComponent {
16931
17378
  showClass() {
16932
17379
  return true;
16933
17380
  }
17381
+ ngAfterViewInit() {
17382
+ this.reloadReceivingGoodsHistory.next();
17383
+ }
16934
17384
  handleDeleteSelectedRow(row) {
16935
17385
  if (row && row.type !== 'correction') {
16936
17386
  const request = new ReceiveGoodsForPurchaseOrderCorrectionRequest();
16937
17387
  const correctionDetails = new PurchaseOrderLineReceiptCorrectionDetails();
16938
17388
  request.allowedToRemovePickedAllocations = false;
16939
- request.transId = this.transactionId;
17389
+ request.transId = this.transactionInfo.id;
16940
17390
  request.purchaseOrderLineReceiptCorrectionDetailsDTOS = [correctionDetails];
16941
17391
  correctionDetails.lineNr = this.transactionLine.lineNr;
16942
17392
  correctionDetails.quantityToCorrect = row.quantity;
@@ -16983,8 +17433,8 @@ TransactionReceivingGoodsHistoryComponent.ctorParameters = () => [
16983
17433
  ];
16984
17434
  TransactionReceivingGoodsHistoryComponent.propDecorators = {
16985
17435
  goodsReceiptHistory: [{ type: Input }],
17436
+ transactionInfo: [{ type: Input }],
16986
17437
  transactionLine: [{ type: Input }],
16987
- transactionId: [{ type: Input }],
16988
17438
  reloadReceivingGoodsHistory: [{ type: Output }],
16989
17439
  showClass: [{ type: HostBinding, args: ["class.co-transaction-receiving-goods-history",] }]
16990
17440
  };
@@ -17012,268 +17462,19 @@ TransactionReceivingGoodsHistoryModule.decorators = [
17012
17462
  },] }
17013
17463
  ];
17014
17464
 
17015
- class ArticleService {
17016
- constructor(_articleConnectorService, _selectMultipleCacheService) {
17017
- this._articleConnectorService = _articleConnectorService;
17018
- this._selectMultipleCacheService = _selectMultipleCacheService;
17465
+ class TransactionButtonBarComponent {
17466
+ constructor(_mappingService) {
17467
+ this._mappingService = _mappingService;
17468
+ this.buttonClicked = new EventEmitter();
17469
+ this.buttons = [];
17470
+ this._transactionType = TransactionKind.SalesOrder;
17019
17471
  }
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
- }
17472
+ set transactionType(value) {
17473
+ this._transactionType = value;
17474
+ this.buttons = this._mappingService.getButtonBar(this._transactionType);
17475
+ if (this.buttons && this.buttons.length > 0 && !this.selectedCategory) {
17476
+ this.selectCategory(0);
17477
+ }
17277
17478
  }
17278
17479
  get transactionType() {
17279
17480
  return this._transactionType;
@@ -17796,15 +17997,15 @@ class TransactionLineSidePanelPurchaseComponent {
17796
17997
  showClass() {
17797
17998
  return true;
17798
17999
  }
17799
- ngAfterViewInit() {
17800
- this.getGoodsReceiptStatusWithHistory();
17801
- }
17802
18000
  getGoodsReceiptStatusWithHistory() {
17803
18001
  return __awaiter(this, void 0, void 0, function* () {
17804
18002
  this._service.getGoodsReceiptStatusWithHistory(this._transactionInfo.id, this.transactionLine.lineNr)
17805
18003
  .then((result) => {
17806
18004
  this.goodsReceiptStatus = result;
17807
- this._transactionEventService.transactionLineChanged.next({ transactionLine: this.transactionLine, goodsReceiptStatus: result });
18005
+ const tempViewModel = Object.assign(new ExtendedTransactionLineViewModel(), this.transactionLine);
18006
+ tempViewModel.quantityReceived = result.quantityReceived;
18007
+ tempViewModel.quantityToReceive = result.quantityToReceive;
18008
+ this._transactionEventService.transactionLineChanged.next(tempViewModel);
17808
18009
  this.quantityToReceiveChange.next(result.quantityToReceive);
17809
18010
  });
17810
18011
  });
@@ -17816,47 +18017,670 @@ class TransactionLineSidePanelPurchaseComponent {
17816
18017
  this.isDocBatchSaved = data;
17817
18018
  }
17818
18019
  }
17819
- TransactionLineSidePanelPurchaseComponent.decorators = [
18020
+ TransactionLineSidePanelPurchaseComponent.decorators = [
18021
+ { type: Component, args: [{
18022
+ selector: "co-transaction-line-side-panel-purchase",
18023
+ template: `
18024
+ <ng-container [ngSwitch]="category">
18025
+ <ng-container *ngSwitchCase="categories.PurchaseOrderOrderConfirmation">
18026
+ <co-transaction-confirmation-details
18027
+ [transactionInfoNr]="transactionInfo.transactionNr"
18028
+ [transactionLines]="transactionLine"
18029
+ [newDocBatchArray]="selectedLineDocBatchArray"
18030
+ (docBatchSaved)="docBatchSaved($event)"
18031
+ ></co-transaction-confirmation-details>
18032
+ <co-transaction-confirmation-history
18033
+ [transactionLines]="transactionLine"
18034
+ [transactionInfoNr]="transactionInfo.transactionNr"
18035
+ [transactionId]="transactionInfo.id"
18036
+ (lineSelected)="fillInputOnClick($event)"
18037
+ [isDocBatchSaved]="isDocBatchSaved"
18038
+ (docBatchApplied)="docBatchSaved($event)"
18039
+ ></co-transaction-confirmation-history>
18040
+ </ng-container>
18041
+
18042
+ <ng-container *ngSwitchCase="categories.PurchaseOrderReceivedGoods">
18043
+ <co-transaction-side-panel-edit-request-details
18044
+ [category]="categories.PurchaseOrderReceivedGoods"
18045
+ [transactionInfo]="transactionInfo"
18046
+ [transactionLine]="transactionLine"
18047
+ [amountLeftToReceive]="goodsReceiptStatus.quantityToReceive"
18048
+ (reloadReceivingGoodsHistory)="getGoodsReceiptStatusWithHistory()"
18049
+ ></co-transaction-side-panel-edit-request-details>
18050
+ <co-transaction-receiving-goods-history
18051
+ *ngIf="transactionLine.amount >= 0"
18052
+ [transactionInfo]="transactionInfo"
18053
+ [transactionLine]="transactionLine"
18054
+ [goodsReceiptHistory]="goodsReceiptStatus.goodsReceiptHistory"
18055
+ (reloadReceivingGoodsHistory)="getGoodsReceiptStatusWithHistory()"
18056
+ ></co-transaction-receiving-goods-history>
18057
+ <co-transaction-available-stock-grid
18058
+ *ngIf="transactionLine.amount < 0"
18059
+ [transactionInfo]="transactionInfo"
18060
+ [transactionLine]="transactionLine"
18061
+ ></co-transaction-available-stock-grid>
18062
+ </ng-container>
18063
+
18064
+ <ng-container *ngSwitchDefault>
18065
+ <co-transaction-line-side-panel-default
18066
+ [transactionInfo]="transactionInfo"
18067
+ [transactionLine]="transactionLine"
18068
+ ></co-transaction-line-side-panel-default>
18069
+ </ng-container>
18070
+ </ng-container>
18071
+ `,
18072
+ encapsulation: ViewEncapsulation.None
18073
+ },] }
18074
+ ];
18075
+ TransactionLineSidePanelPurchaseComponent.ctorParameters = () => [
18076
+ { type: TransactionService },
18077
+ { type: TransactionEventService }
18078
+ ];
18079
+ TransactionLineSidePanelPurchaseComponent.propDecorators = {
18080
+ transactionLine: [{ type: Input }],
18081
+ transactionInfo: [{ type: Input }],
18082
+ category: [{ type: Input }],
18083
+ quantityToReceiveChange: [{ type: Output }],
18084
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-line-side-panel-purchase",] }]
18085
+ };
18086
+
18087
+ class TransactionAvailableStockGridComponent {
18088
+ constructor(iconsService, _transactionService, _transactionReceiveGoodsService) {
18089
+ this.iconsService = iconsService;
18090
+ this._transactionService = _transactionService;
18091
+ this._transactionReceiveGoodsService = _transactionReceiveGoodsService;
18092
+ this.icons = Icon;
18093
+ this._subscriptions = [];
18094
+ }
18095
+ showClass() {
18096
+ return true;
18097
+ }
18098
+ ngOnInit() {
18099
+ this._subscriptions.push(this._transactionReceiveGoodsService.reloadAvailableStockData.subscribe(() => this._getAvailableStock()));
18100
+ this._getAvailableStock();
18101
+ }
18102
+ ngOnDestroy() {
18103
+ this._subscriptions.forEach((subscription) => subscription.unsubscribe());
18104
+ }
18105
+ handleSelectRow(availableStock) {
18106
+ this.selectedStock = availableStock;
18107
+ this._transactionReceiveGoodsService.returnArticleSelected.next(availableStock);
18108
+ }
18109
+ handleDeleteClick() {
18110
+ }
18111
+ _getAvailableStock() {
18112
+ return __awaiter(this, void 0, void 0, function* () {
18113
+ this.collection = yield this._transactionService.getAvailableStockGroupedByWLBSByTransIdLineNr(this.transactionInfo.id, this.transactionLine.lineNr);
18114
+ });
18115
+ }
18116
+ }
18117
+ TransactionAvailableStockGridComponent.decorators = [
18118
+ { type: Component, args: [{
18119
+ selector: "co-transaction-available-stock-grid",
18120
+ template: `
18121
+ <div class="history-grid-wrapper">
18122
+ <co-simple-grid [data]="collection" (selectRow)="handleSelectRow($event)">
18123
+ <co-simple-grid-column [headerText]="'ARTICLE' | localize">
18124
+ <ng-template #template let-row="row">
18125
+ <span [textContent]="row.articleNumber"></span>
18126
+ </ng-template>
18127
+ </co-simple-grid-column>
18128
+
18129
+ <co-simple-grid-column [headerText]="'WAREHOUSE' | localize">
18130
+ <ng-template #template let-row="row">
18131
+ <span [textContent]="row.warehouseNumber"></span>
18132
+ </ng-template>
18133
+ </co-simple-grid-column>
18134
+
18135
+ <co-simple-grid-column [headerText]="'LOCATION' | localize">
18136
+ <ng-template #template let-row="row">
18137
+ <span [textContent]="row.locationNumber"></span>
18138
+ </ng-template>
18139
+ </co-simple-grid-column>
18140
+
18141
+ <co-simple-grid-column [headerText]="'BATCH' | localize">
18142
+ <ng-template #template let-row="row">
18143
+ <span [textContent]="row.batchNumber"></span>
18144
+ </ng-template>
18145
+ </co-simple-grid-column>
18146
+
18147
+ <co-simple-grid-column [headerText]="'SERIAL_NUMBER' | localize">
18148
+ <ng-template #template let-row="row">
18149
+ <span [textContent]="row.serialNumber"></span>
18150
+ </ng-template>
18151
+ </co-simple-grid-column>
18152
+
18153
+ <co-simple-grid-column [headerText]="'AMOUNT' | localize">
18154
+ <ng-template #template let-row="row">
18155
+ <span [textContent]="row.availableQuantity"></span>
18156
+ </ng-template>
18157
+ </co-simple-grid-column>
18158
+ </co-simple-grid>
18159
+ </div>
18160
+ `,
18161
+ encapsulation: ViewEncapsulation.None
18162
+ },] }
18163
+ ];
18164
+ TransactionAvailableStockGridComponent.ctorParameters = () => [
18165
+ { type: IconCacheService },
18166
+ { type: TransactionService },
18167
+ { type: TransactionReceiveGoodsService }
18168
+ ];
18169
+ TransactionAvailableStockGridComponent.propDecorators = {
18170
+ transactionInfo: [{ type: Input }],
18171
+ transactionLine: [{ type: Input }],
18172
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-available-stock-grid",] }]
18173
+ };
18174
+
18175
+ class TransactionAvailableStockGridModule {
18176
+ }
18177
+ TransactionAvailableStockGridModule.decorators = [
18178
+ { type: NgModule, args: [{
18179
+ imports: [
18180
+ CommonModule,
18181
+ SimpleGridModule,
18182
+ GridToolbarButtonModule,
18183
+ PipeModule
18184
+ ],
18185
+ declarations: [
18186
+ TransactionAvailableStockGridComponent
18187
+ ],
18188
+ exports: [
18189
+ TransactionAvailableStockGridComponent
18190
+ ]
18191
+ },] }
18192
+ ];
18193
+
18194
+ class TransactionSidePanelEditRequestDetailsComponent {
18195
+ constructor() {
18196
+ this.categories = TransactionTypeCategory;
18197
+ this.reloadReceivingGoodsHistory = new EventEmitter();
18198
+ this.reloadAllocationGoodsHistory = new EventEmitter();
18199
+ }
18200
+ showClass() {
18201
+ return true;
18202
+ }
18203
+ }
18204
+ TransactionSidePanelEditRequestDetailsComponent.decorators = [
18205
+ { type: Component, args: [{
18206
+ selector: "co-transaction-side-panel-edit-request-details",
18207
+ template: `
18208
+ <div class="edit-request-details-wrapper">
18209
+ <ng-container [ngSwitch]="category">
18210
+ <ng-container *ngSwitchCase="categories.SalesOrderAllocation">
18211
+ <co-allocation-request
18212
+ [transactionInfo]="transactionInfo"
18213
+ [transactionLine]="transactionLine"
18214
+ [amountLeftToAllocate]="amountLeftToAllocate"
18215
+ (reloadAllocationGoodsHistory)="reloadAllocationGoodsHistory.next()"
18216
+ ></co-allocation-request>
18217
+ </ng-container>
18218
+ <ng-container *ngSwitchCase="categories.PurchaseOrderReceivedGoods">
18219
+ <co-receive-goods-request
18220
+ [transactionLine]="transactionLine"
18221
+ [amountLeftToReceive]="amountLeftToReceive"
18222
+ (reloadReceivingGoodsHistory)="reloadReceivingGoodsHistory.next()"
18223
+ ></co-receive-goods-request>
18224
+ </ng-container>
18225
+ </ng-container>
18226
+ </div>
18227
+ `,
18228
+ encapsulation: ViewEncapsulation.None
18229
+ },] }
18230
+ ];
18231
+ TransactionSidePanelEditRequestDetailsComponent.propDecorators = {
18232
+ category: [{ type: Input }],
18233
+ transactionInfo: [{ type: Input }],
18234
+ transactionLine: [{ type: Input }],
18235
+ amountLeftToReceive: [{ type: Input }],
18236
+ amountLeftToAllocate: [{ type: Input }],
18237
+ reloadReceivingGoodsHistory: [{ type: Output }],
18238
+ reloadAllocationGoodsHistory: [{ type: Output }],
18239
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-side-panel-edit-request-details",] }]
18240
+ };
18241
+
18242
+ class AllocationRequestComponent {
18243
+ constructor(iconCacheService, _formMaster, _service, _dialogService) {
18244
+ this.iconCacheService = iconCacheService;
18245
+ this._formMaster = _formMaster;
18246
+ this._service = _service;
18247
+ this._dialogService = _dialogService;
18248
+ this.icons = Icon;
18249
+ this.reloadAllocationGoodsHistory = new EventEmitter();
18250
+ this.allocationRequest = new AllocateGoodsForSalesOrderRequest();
18251
+ this.allocationDetails = new SalesOrderLineAllocationDetails();
18252
+ this.readonly = false;
18253
+ this.saveButtonDisabled = false;
18254
+ this._subscriptions = [];
18255
+ this.allocationRequest.salesOrderLineAllocationDetailsDTOS = [this.allocationDetails];
18256
+ }
18257
+ set amountLeftToAllocate(value) {
18258
+ this._amountLeftToAllocate = value;
18259
+ this.allocationDetails.quantityToAllocate = value;
18260
+ }
18261
+ set transactionLine(value) {
18262
+ this._transactionLine = value;
18263
+ this.readonly = this._transactionLine.hasInvoices;
18264
+ this.allocationDetails.warehouseNr = value.warehouseNumber;
18265
+ this.allocationDetails.lineNr = value.lineNr;
18266
+ }
18267
+ get amountLeftToAllocate() {
18268
+ return this._amountLeftToAllocate;
18269
+ }
18270
+ get transactionLine() {
18271
+ return this._transactionLine;
18272
+ }
18273
+ showClass() {
18274
+ return true;
18275
+ }
18276
+ submit() {
18277
+ return this._formMaster.submitSlaves();
18278
+ }
18279
+ handleSaveDetailsEdit() {
18280
+ const valid = this.submit();
18281
+ if (valid) {
18282
+ this.saveButtonDisabled = true;
18283
+ const request = this.allocationRequest;
18284
+ request.transId = this.transactionInfo.id;
18285
+ this._service.allocateGoodsForSalesOrder(request).then((success) => {
18286
+ if (success) {
18287
+ this.allocationDetails.locationNr = undefined;
18288
+ this.reloadAllocationGoodsHistory.next();
18289
+ }
18290
+ else {
18291
+ this.saveButtonDisabled = false;
18292
+ }
18293
+ }).catch((e) => {
18294
+ this.saveButtonDisabled = false;
18295
+ });
18296
+ }
18297
+ }
18298
+ openWarehouseLocationDialog() {
18299
+ if (this.amountLeftToAllocate > 0) {
18300
+ this._dialogService.showWarehouseLocation(this.allocationDetails.warehouseNr, true, true, true, this.transactionLine)
18301
+ .then(() => this.allocationDetails.locationNr = this.transactionLine.locationNr);
18302
+ }
18303
+ }
18304
+ }
18305
+ AllocationRequestComponent.decorators = [
18306
+ { type: Component, args: [{
18307
+ selector: "co-allocation-request",
18308
+ template: `
18309
+ <co-form>
18310
+ <div class="details-header" [textContent]="'ALLOCATE_DETAILS' | localize | uppercase"></div>
18311
+ <div class="columns-wrapper">
18312
+ <div class="details-column">
18313
+ <co-input-text class="details-input"
18314
+ [max]="amountLeftToAllocate"
18315
+ [(model)]="allocationDetails.serialNr ? 1 : allocationDetails.quantityToAllocate"
18316
+ [disabled]="!!allocationDetails.serialNr || allocationDetails.quantityToAllocate === 0"
18317
+ [readonly]="!!allocationDetails.serialNr || allocationDetails.quantityToAllocate === 0 || readonly"
18318
+ [required]="true"
18319
+ [type]="'number'"
18320
+ [min]="1"
18321
+ [placeholder]="'AMOUNT' | localize"></co-input-text>
18322
+ <co-input-text class="details-input" [(model)]="allocationDetails.warehouseNr"
18323
+ [type]="'number'"
18324
+ [hideArrowButtons]="true"
18325
+ [readonly]="transactionLine.warehouseNumber !== undefined || readonly"
18326
+ [disabled]="transactionLine.warehouseNumber !== undefined"
18327
+ [required]="transactionLine.isWarehouseRequired"
18328
+ [placeholder]="'WAREHOUSE' | localize"></co-input-text>
18329
+ <div class="location-wrapper clickable" (click)="openWarehouseLocationDialog()">
18330
+ <span *ngIf="!allocationDetails.locationNr && transactionLine.isLocationRequired" class="required" [textContent]="'*'"></span>
18331
+ <co-icon *ngIf="allocationDetails.locationNr" [iconData]="iconCacheService.getIcon(icons.ShelvesLight)"></co-icon>
18332
+ <div [textContent]="allocationDetails.locationNr ? allocationDetails.locationNr : ('LOCATION' | localize)"></div>
18333
+ </div>
18334
+ </div>
18335
+ <div class="divider-wrapper">
18336
+ <div class="divider"></div>
18337
+ </div>
18338
+ <div class="details-column">
18339
+ <co-input-text *ngIf="transactionLine.isBatchNrRequired" class="details-input" [(model)]="allocationDetails.batchNr"
18340
+ [type]="'number'"
18341
+ [hideArrowButtons]="true"
18342
+ [readonly]="readonly"
18343
+ [required]="transactionLine.isBatchNrRequired"
18344
+ [placeholder]="'BATCH_NUMBER' | localize"></co-input-text>
18345
+ <co-input-text *ngIf="transactionLine.isSerialNrRequired" class="details-input" [(model)]="allocationDetails.serialNr"
18346
+ [type]="'number'"
18347
+ [hideArrowButtons]="true"
18348
+ [readonly]="readonly"
18349
+ [required]="transactionLine.isSerialNrRequired"
18350
+ [placeholder]="'SERIAL_NUMBER' | localize"></co-input-text>
18351
+ </div>
18352
+ </div>
18353
+ </co-form>
18354
+
18355
+ <div class="commit-button-wrapper">
18356
+ <div class="commit-button" [class.clickable]="amountLeftToAllocate > 0" *ngIf="!readonly" (click)="handleSaveDetailsEdit()" [class.disabled]="saveButtonDisabled || amountLeftToAllocate === 0">
18357
+ <span class="commit-text" [textContent]="'ALLOCATE' | localize"></span>
18358
+ </div>
18359
+ </div>
18360
+ `,
18361
+ encapsulation: ViewEncapsulation.None
18362
+ },] }
18363
+ ];
18364
+ AllocationRequestComponent.ctorParameters = () => [
18365
+ { type: IconCacheService },
18366
+ { type: FormMasterService },
18367
+ { type: TransactionService },
18368
+ { type: DialogService }
18369
+ ];
18370
+ AllocationRequestComponent.propDecorators = {
18371
+ amountLeftToAllocate: [{ type: Input }],
18372
+ transactionLine: [{ type: Input }],
18373
+ transactionInfo: [{ type: Input }],
18374
+ reloadAllocationGoodsHistory: [{ type: Output }],
18375
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-allocate-goods-details",] }]
18376
+ };
18377
+
18378
+ class ArticleService {
18379
+ constructor(_articleConnectorService, _selectMultipleCacheService) {
18380
+ this._articleConnectorService = _articleConnectorService;
18381
+ this._selectMultipleCacheService = _selectMultipleCacheService;
18382
+ }
18383
+ getWarehouseLocations(warehouseNr) {
18384
+ return __awaiter(this, void 0, void 0, function* () {
18385
+ // @ts-ignore
18386
+ return this._selectMultipleCacheService.requestCache(StockLocation, () => {
18387
+ return this._articleConnectorService.getWarehouseLocations(warehouseNr);
18388
+ }).getValue();
18389
+ });
18390
+ }
18391
+ }
18392
+ ArticleService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ArticleService_Factory() { return new ArticleService(i0.ɵɵinject(ArticleConnectorService), i0.ɵɵinject(SelectMultipleCacheService)); }, token: ArticleService, providedIn: "root" });
18393
+ ArticleService.decorators = [
18394
+ { type: Injectable, args: [{
18395
+ providedIn: "root"
18396
+ },] }
18397
+ ];
18398
+ ArticleService.ctorParameters = () => [
18399
+ { type: ArticleConnectorService },
18400
+ { type: SelectMultipleCacheService }
18401
+ ];
18402
+
18403
+ class ReceiveGoodsRequestComponent {
18404
+ constructor(iconCacheService, _formMaster, _service, _articleService, _dialogService, _receiveGoodsService) {
18405
+ this.iconCacheService = iconCacheService;
18406
+ this._formMaster = _formMaster;
18407
+ this._service = _service;
18408
+ this._articleService = _articleService;
18409
+ this._dialogService = _dialogService;
18410
+ this._receiveGoodsService = _receiveGoodsService;
18411
+ this.icons = Icon;
18412
+ this.reloadReceivingGoodsHistory = new EventEmitter();
18413
+ this.receiptDetails = new PurchaseOrderLineReceiptDetails();
18414
+ this.request = new ReceiveGoodsForPurchaseOrderRequest();
18415
+ this.saveButtonDisabled = false;
18416
+ this.locationDropdownFields = { text: "locationNo", value: "locationNo" };
18417
+ this.readonly = false;
18418
+ this._subscriptions = [];
18419
+ this.request.purchaseOrderLineReceiptDetailsDTOS = [this.receiptDetails];
18420
+ const timeElapsed = Date.now();
18421
+ this.request.receivedDate = new Date(timeElapsed);
18422
+ }
18423
+ set amountLeftToReceive(value) {
18424
+ this._amountLeftToReceive = value;
18425
+ this.receiptDetails.quantityToReceive = value;
18426
+ }
18427
+ set transactionLine(value) {
18428
+ this._transactionLine = value;
18429
+ this.readonly = this._transactionLine.hasInvoices;
18430
+ this.receiptDetails.warehouseNr = value.warehouseNumber;
18431
+ this.receiptDetails.lineNr = value.lineNr;
18432
+ }
18433
+ showClass() {
18434
+ return true;
18435
+ }
18436
+ get amountLeftToReceive() {
18437
+ return this._amountLeftToReceive;
18438
+ }
18439
+ get transactionLine() {
18440
+ return this._transactionLine;
18441
+ }
18442
+ ngOnInit() {
18443
+ this._subscriptions.push(this._receiveGoodsService.returnArticleSelected.subscribe((availableStock) => {
18444
+ this._handleReturnStock(availableStock);
18445
+ }));
18446
+ }
18447
+ ngOnDestroy() {
18448
+ this._subscriptions.forEach((subscription) => subscription.unsubscribe());
18449
+ }
18450
+ submit() {
18451
+ return this._formMaster.submitSlaves();
18452
+ }
18453
+ locationRequired() {
18454
+ return this._transactionLine.isLocationRequired ||
18455
+ this._transactionLine.isBatchNrRequired ||
18456
+ this._transactionLine.isSerialNrRequired;
18457
+ }
18458
+ handleSaveDetailsEdit() {
18459
+ const valid = this.submit();
18460
+ if (valid) {
18461
+ this.saveButtonDisabled = true;
18462
+ const request = this.request;
18463
+ this.receiptDetails.quantityToReceive = this.returnStockMode() ?
18464
+ -this.receiptDetails.quantityToReceive : this.receiptDetails.quantityToReceive;
18465
+ request.transId = this._service.currentTransaction.transactionInfo.id;
18466
+ this._service.receiveGoodsForPurchaseOrder(request).then(() => {
18467
+ if (this.returnStockMode()) {
18468
+ this._receiveGoodsService.reloadAvailableStockData.next();
18469
+ this.receiptDetails.locationNr = undefined;
18470
+ }
18471
+ this.reloadReceivingGoodsHistory.next();
18472
+ }).catch((e) => {
18473
+ this.saveButtonDisabled = false;
18474
+ });
18475
+ this.saveButtonDisabled = false;
18476
+ }
18477
+ }
18478
+ openWarehouseLocationDialog() {
18479
+ if (!this.returnStockMode()) {
18480
+ this._dialogService.showWarehouseLocation(this.receiptDetails.warehouseNr, true, true, true, this.transactionLine)
18481
+ .then(() => this.receiptDetails.locationNr = this.transactionLine.locationNr);
18482
+ }
18483
+ }
18484
+ returnStockMode() {
18485
+ return this.transactionLine.amount < 0;
18486
+ }
18487
+ _handleReturnStock(availableStock) {
18488
+ const maxToReturn = this.amountLeftToReceive < 0 ? Math.abs(this.amountLeftToReceive) : this.amountLeftToReceive;
18489
+ this.returnMaxToReceive = maxToReturn > availableStock.availableQuantity ? availableStock.availableQuantity : maxToReturn;
18490
+ this.receiptDetails.quantityToReceive = this.returnMaxToReceive;
18491
+ this.receiptDetails.warehouseNr = availableStock.warehouseNumber;
18492
+ this.receiptDetails.locationNr = availableStock.locationNumber;
18493
+ this.receiptDetails.serialNr = availableStock.serialNumber;
18494
+ this.receiptDetails.batchNr = availableStock.batchNumber;
18495
+ this.receiptDetails.lineNr = this.transactionLine.lineNr;
18496
+ }
18497
+ }
18498
+ ReceiveGoodsRequestComponent.decorators = [
18499
+ { type: Component, args: [{
18500
+ selector: "co-receive-goods-request",
18501
+ template: `
18502
+ <co-form>
18503
+ <div class="details-header" [textContent]="returnStockMode() ? ('RETURN_DETAILS' | localize | uppercase) : ('RECEIPT_DETAILS' | localize | uppercase)"></div>
18504
+ <div class="columns-wrapper">
18505
+ <div class="details-column">
18506
+ <co-input-text class="details-input"
18507
+ [max]="returnStockMode() ? returnMaxToReceive : amountLeftToReceive"
18508
+ [(model)]="receiptDetails.serialNr ? 1 : receiptDetails.quantityToReceive"
18509
+ [disabled]="!!receiptDetails.serialNr || receiptDetails.quantityToReceive === 0"
18510
+ [readonly]="!!receiptDetails.serialNr || receiptDetails.quantityToReceive === 0 || readonly"
18511
+ [required]="true"
18512
+ [type]="'number'"
18513
+ [min]="1"
18514
+ [placeholder]="'AMOUNT' | localize"></co-input-text>
18515
+ <co-input-text class="details-input" [(model)]="receiptDetails.warehouseNr"
18516
+ [type]="'number'"
18517
+ [hideArrowButtons]="true"
18518
+ [readonly]="transactionLine.warehouseNumber !== undefined || readonly || returnStockMode()"
18519
+ [disabled]="transactionLine.warehouseNumber !== undefined || returnStockMode()"
18520
+ [required]="transactionLine.isWarehouseRequired"
18521
+ [placeholder]="'WAREHOUSE' | localize"></co-input-text>
18522
+ <div class="location-wrapper" [class.clickable]="!returnStockMode()" (click)="openWarehouseLocationDialog()">
18523
+ <span *ngIf="!receiptDetails.locationNr && transactionLine.isLocationRequired" class="required" [textContent]="'*'"></span>
18524
+ <co-icon *ngIf="receiptDetails.locationNr" [iconData]="iconCacheService.getIcon(icons.ShelvesLight)"></co-icon>
18525
+ <div [textContent]="receiptDetails.locationNr ? receiptDetails.locationNr : ('LOCATION' | localize)"></div>
18526
+ </div>
18527
+ <co-input-text class="details-input"
18528
+ *ngIf="!returnStockMode()"
18529
+ [(model)]="request.packingSlipNr"
18530
+ [placeholder]="'PACKING_SLIP' | localize"
18531
+ [required]="true"
18532
+ [readonly]="readonly"
18533
+ ></co-input-text>
18534
+ </div>
18535
+ <div class="divider-wrapper">
18536
+ <div class="divider"></div>
18537
+ </div>
18538
+ <div class="details-column">
18539
+ <co-input-date class="details-input"
18540
+ [(model)]="request.receivedDate"
18541
+ [readonly]="readonly"
18542
+ ></co-input-date>
18543
+ <co-input-text *ngIf="transactionLine.isBatchNrRequired" class="details-input" [(model)]="receiptDetails.batchNr"
18544
+ [type]="'number'"
18545
+ [hideArrowButtons]="true"
18546
+ [readonly]="readonly || returnStockMode()"
18547
+ [disabled]="returnStockMode()"
18548
+ [required]="transactionLine.isBatchNrRequired"
18549
+ [placeholder]="'BATCH_NUMBER' | localize"></co-input-text>
18550
+ <co-input-text *ngIf="transactionLine.isSerialNrRequired" class="details-input" [(model)]="receiptDetails.serialNr"
18551
+ [type]="'number'"
18552
+ [hideArrowButtons]="true"
18553
+ [readonly]="readonly || returnStockMode()"
18554
+ [disabled]="returnStockMode()"
18555
+ [required]="transactionLine.isSerialNrRequired"
18556
+ [placeholder]="'SERIAL_NUMBER' | localize"></co-input-text>
18557
+ </div>
18558
+ </div>
18559
+ </co-form>
18560
+
18561
+ <div class="commit-button-wrapper">
18562
+ <div class="commit-button clickable" *ngIf="!readonly" (click)="handleSaveDetailsEdit()" [class.disabled]="saveButtonDisabled || amountLeftToReceive === 0">
18563
+ <span class="commit-text" [textContent]="returnStockMode() ? ('RETURN_STOCK' | localize) : ('RECEIVE' | localize)"></span>
18564
+ </div>
18565
+ </div>
18566
+ `,
18567
+ providers: [
18568
+ FormMasterService
18569
+ ],
18570
+ encapsulation: ViewEncapsulation.None
18571
+ },] }
18572
+ ];
18573
+ ReceiveGoodsRequestComponent.ctorParameters = () => [
18574
+ { type: IconCacheService },
18575
+ { type: FormMasterService },
18576
+ { type: TransactionService },
18577
+ { type: ArticleService },
18578
+ { type: DialogService },
18579
+ { type: TransactionReceiveGoodsService }
18580
+ ];
18581
+ ReceiveGoodsRequestComponent.propDecorators = {
18582
+ amountLeftToReceive: [{ type: Input }],
18583
+ transactionLine: [{ type: Input }],
18584
+ reloadReceivingGoodsHistory: [{ type: Output }],
18585
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-receiving-goods-details",] }]
18586
+ };
18587
+
18588
+ class TransactionSidePanelEditRequestDetailsModule {
18589
+ }
18590
+ TransactionSidePanelEditRequestDetailsModule.decorators = [
18591
+ { type: NgModule, args: [{
18592
+ imports: [
18593
+ CommonModule,
18594
+ FormModule,
18595
+ InputTextModule,
18596
+ PipeModule,
18597
+ IconModule,
18598
+ InputDatePickerModule
18599
+ ],
18600
+ declarations: [
18601
+ TransactionSidePanelEditRequestDetailsComponent,
18602
+ AllocationRequestComponent,
18603
+ ReceiveGoodsRequestComponent
18604
+ ],
18605
+ exports: [
18606
+ TransactionSidePanelEditRequestDetailsComponent
18607
+ ]
18608
+ },] }
18609
+ ];
18610
+
18611
+ class TransactionLineSidePanelPurchaseModule {
18612
+ }
18613
+ TransactionLineSidePanelPurchaseModule.decorators = [
18614
+ { type: NgModule, args: [{
18615
+ imports: [
18616
+ CommonModule,
18617
+ TransactionConfirmationHistoryModule,
18618
+ TransactionReceivingGoodsHistoryModule,
18619
+ ButtonModule,
18620
+ PipeModule,
18621
+ TransactionLineSidePanelDefaultModule,
18622
+ TransactionConfirmationDetailsModule,
18623
+ TransactionAvailableStockGridModule,
18624
+ TransactionSidePanelEditRequestDetailsModule
18625
+ ],
18626
+ declarations: [
18627
+ TransactionLineSidePanelPurchaseComponent
18628
+ ],
18629
+ exports: [
18630
+ TransactionLineSidePanelPurchaseComponent
18631
+ ]
18632
+ },] }
18633
+ ];
18634
+
18635
+ class TransactionLineSidePanelSalesComponent {
18636
+ constructor(_service, _transactionEventService) {
18637
+ this._service = _service;
18638
+ this._transactionEventService = _transactionEventService;
18639
+ this.categories = TransactionTypeCategory;
18640
+ this.goodsAllocationStatus = new GoodsAllocationStatusWithHistory();
18641
+ this._transactionInfo = new TransactionInfo();
18642
+ }
18643
+ set transactionInfo(value) {
18644
+ this._transactionInfo = value;
18645
+ }
18646
+ get transactionInfo() {
18647
+ return this._transactionInfo;
18648
+ }
18649
+ showClass() {
18650
+ return true;
18651
+ }
18652
+ getGoodsAllocationStatusWithHistory() {
18653
+ return __awaiter(this, void 0, void 0, function* () {
18654
+ this._service.getGoodsAllocationStatusWithHistory(this._transactionInfo.id, this.transactionLine.lineNr)
18655
+ .then((result) => {
18656
+ this.goodsAllocationStatus = result;
18657
+ const tempViewModel = Object.assign(new ExtendedTransactionLineViewModel(), this.transactionLine);
18658
+ tempViewModel.quantityToAllocate = result.quantityToAllocate;
18659
+ tempViewModel.quantityAllocated = result.quantityAllocated;
18660
+ this._transactionEventService.transactionLineChanged.next(tempViewModel);
18661
+ });
18662
+ });
18663
+ }
18664
+ }
18665
+ TransactionLineSidePanelSalesComponent.decorators = [
17820
18666
  { type: Component, args: [{
17821
- selector: "co-transaction-line-side-panel-purchase",
18667
+ selector: "co-transaction-line-side-panel-sales",
17822
18668
  template: `
17823
18669
  <ng-container [ngSwitch]="category">
17824
- <ng-container *ngSwitchCase="categories.PurchaseOrderOrderConfirmation">
17825
- <co-transaction-confirmation-details
17826
- [transactionInfoNr]="transactionInfo.transactionNr"
17827
- [transactionLines]="transactionLine"
17828
- [newDocBatchArray]="selectedLineDocBatchArray"
17829
- (docBatchSaved)="docBatchSaved($event)"
17830
- ></co-transaction-confirmation-details>
17831
- <co-transaction-confirmation-history
17832
- [transactionLines]="transactionLine"
17833
- [transactionInfoNr]="transactionInfo.transactionNr"
17834
- [transactionId]="transactionInfo.id"
17835
- (lineSelected)="fillInputOnClick($event)"
17836
- [isDocBatchSaved]="isDocBatchSaved"
17837
- (docBatchApplied)="docBatchSaved($event)"
17838
- ></co-transaction-confirmation-history>
17839
- </ng-container>
17840
-
17841
- <ng-container *ngSwitchCase="categories.PurchaseOrderReceivedGoods">
17842
- <co-transaction-receiving-goods-details
17843
- [transactionId]="transactionInfo.id"
17844
- [transactionLine]="transactionLine"
17845
- [amountLeftToReceive]="goodsReceiptStatus.quantityToReceive"
17846
- (reloadReceivingGoodsHistory)="getGoodsReceiptStatusWithHistory()"
17847
- ></co-transaction-receiving-goods-details>
17848
- <co-transaction-receiving-goods-history
17849
- *ngIf="transactionLine.amount >= 0"
17850
- [transactionId]="transactionInfo.id"
17851
- [transactionLine]="transactionLine"
17852
- [goodsReceiptHistory]="goodsReceiptStatus.goodsReceiptHistory"
17853
- (reloadReceivingGoodsHistory)="getGoodsReceiptStatusWithHistory()"
17854
- ></co-transaction-receiving-goods-history>
17855
- <co-transaction-available-stock-grid
17856
- *ngIf="transactionLine.amount < 0"
17857
- [transactionId]="transactionInfo.id"
18670
+ <ng-container *ngSwitchCase="categories.SalesOrderAllocation">
18671
+ <co-transaction-side-panel-edit-request-details
18672
+ [category]="categories.SalesOrderAllocation"
18673
+ [transactionInfo]="transactionInfo"
18674
+ [transactionLine]="transactionLine"
18675
+ [amountLeftToAllocate]="goodsAllocationStatus.quantityToAllocate"
18676
+ (reloadAllocationGoodsHistory)="getGoodsAllocationStatusWithHistory()"
18677
+ ></co-transaction-side-panel-edit-request-details>
18678
+ <co-transaction-allocate-goods-history
18679
+ [transactionInfo]="transactionInfo"
17858
18680
  [transactionLine]="transactionLine"
17859
- ></co-transaction-available-stock-grid>
18681
+ [goodsAllocationHistory]="goodsAllocationStatus.goodsAllocationHistory"
18682
+ (reloadAllocationGoodsHistory)="getGoodsAllocationStatusWithHistory()"
18683
+ ></co-transaction-allocate-goods-history>
17860
18684
  </ng-container>
17861
18685
 
17862
18686
  <ng-container *ngSwitchDefault>
@@ -17866,149 +18690,132 @@ TransactionLineSidePanelPurchaseComponent.decorators = [
17866
18690
  ></co-transaction-line-side-panel-default>
17867
18691
  </ng-container>
17868
18692
  </ng-container>
17869
- `,
18693
+ `,
17870
18694
  encapsulation: ViewEncapsulation.None
17871
18695
  },] }
17872
18696
  ];
17873
- TransactionLineSidePanelPurchaseComponent.ctorParameters = () => [
18697
+ TransactionLineSidePanelSalesComponent.ctorParameters = () => [
17874
18698
  { type: TransactionService },
17875
18699
  { type: TransactionEventService }
17876
18700
  ];
17877
- TransactionLineSidePanelPurchaseComponent.propDecorators = {
18701
+ TransactionLineSidePanelSalesComponent.propDecorators = {
17878
18702
  transactionLine: [{ type: Input }],
17879
18703
  transactionInfo: [{ type: Input }],
17880
18704
  category: [{ type: Input }],
17881
- quantityToReceiveChange: [{ type: Output }],
17882
- showClass: [{ type: HostBinding, args: ["class.co-transaction-line-side-panel-purchase",] }]
18705
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-line-side-panel-sales",] }]
17883
18706
  };
17884
18707
 
17885
- class TransactionAvailableStockGridComponent {
17886
- constructor(iconsService, _transactionService, _transactionReceiveGoodsService) {
17887
- this.iconsService = iconsService;
17888
- this._transactionService = _transactionService;
17889
- this._transactionReceiveGoodsService = _transactionReceiveGoodsService;
17890
- this.icons = Icon;
17891
- this._subscriptions = [];
17892
- }
17893
- showClass() {
17894
- return true;
18708
+ class TransactionAllocateGoodsHistoryComponent {
18709
+ constructor(_service) {
18710
+ this._service = _service;
18711
+ this.reloadAllocationGoodsHistory = new EventEmitter();
17895
18712
  }
17896
- ngOnInit() {
17897
- this._subscriptions.push(this._transactionReceiveGoodsService.reloadAvailableStockData.subscribe(() => this._getAvailableStock()));
17898
- this._getAvailableStock();
18713
+ set goodsAllocationHistory(value) {
18714
+ if (value) {
18715
+ this._goodsAllocationHistory = value.reverse();
18716
+ }
17899
18717
  }
17900
- ngOnDestroy() {
17901
- this._subscriptions.forEach((subscription) => subscription.unsubscribe());
18718
+ get goodsAllocationHistory() {
18719
+ return this._goodsAllocationHistory;
17902
18720
  }
17903
- handleSelectRow(availableStock) {
17904
- this.selectedStock = availableStock;
17905
- this._transactionReceiveGoodsService.returnArticleSelected.next(availableStock);
18721
+ showClass() {
18722
+ return true;
17906
18723
  }
17907
- handleDeleteClick() {
18724
+ ngAfterViewInit() {
18725
+ this.reloadAllocationGoodsHistory.next();
17908
18726
  }
17909
- _getAvailableStock() {
17910
- return __awaiter(this, void 0, void 0, function* () {
17911
- this.collection = yield this._transactionService.getAvailableStockGroupedByWLBSByTransIdLineNr(this.transactionId, this.transactionLine.lineNr);
17912
- });
18727
+ handleDeleteSelectedRow(row) {
18728
+ if (row && row.type !== 'correction') {
18729
+ const request = new AllocateGoodsForSalesOrderCorrectionRequest();
18730
+ const correctionDetails = new SalesOrderLineAllocationCorrectionDetails();
18731
+ request.allowedToRemovePickedAllocations = false;
18732
+ request.transId = this.transactionInfo.id;
18733
+ request.salesOrderLineAllocationCorrectionDetailsDTOS = [correctionDetails];
18734
+ correctionDetails.lineNr = this.transactionLine.lineNr;
18735
+ correctionDetails.quantityToCorrect = row.quantity;
18736
+ correctionDetails.documentId = row.documentId;
18737
+ correctionDetails.documentLineNr = row.lineNumber;
18738
+ this._service.allocateGoodsForSalesOrderCorrection(request).then(() => {
18739
+ this.reloadAllocationGoodsHistory.next();
18740
+ });
18741
+ }
17913
18742
  }
17914
18743
  }
17915
- TransactionAvailableStockGridComponent.decorators = [
18744
+ TransactionAllocateGoodsHistoryComponent.decorators = [
17916
18745
  { type: Component, args: [{
17917
- selector: "co-transaction-available-stock-grid",
18746
+ selector: "co-transaction-allocate-goods-history",
17918
18747
  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>
18748
+ <co-transaction-history-grid
18749
+ [collection]="goodsAllocationHistory"
18750
+ (deleteSelectedRow)="handleDeleteSelectedRow($event)"
18751
+ >
18752
+ <co-simple-grid-column [headerText]="'WAREHOUSE' | localize" [order]="40">
18753
+ <ng-template #template let-row="row">
18754
+ <div class="row-container">
18755
+ <span class="row" [textContent]="row.warehouseNumber"></span>
18756
+ <span class="correction" *ngFor="let correction of row.corrections" [textContent]="correction.warehouseNumber"></span>
18757
+ </div>
18758
+ </ng-template>
18759
+ </co-simple-grid-column>
17950
18760
 
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
- `,
18761
+ <co-simple-grid-column [headerText]="'LOCATION' | localize" [order]="60">
18762
+ <ng-template #template let-row="row">
18763
+ <div class="row-container">
18764
+ <span class="row" [textContent]="row.locationNumber"></span>
18765
+ <span class="correction" *ngFor="let correction of row.corrections" [textContent]="correction.locationNumber"></span>
18766
+ </div>
18767
+ </ng-template>
18768
+ </co-simple-grid-column>
18769
+ </co-transaction-history-grid>
18770
+ `,
17959
18771
  encapsulation: ViewEncapsulation.None
17960
18772
  },] }
17961
18773
  ];
17962
- TransactionAvailableStockGridComponent.ctorParameters = () => [
17963
- { type: IconCacheService },
17964
- { type: TransactionService },
17965
- { type: TransactionReceiveGoodsService }
18774
+ TransactionAllocateGoodsHistoryComponent.ctorParameters = () => [
18775
+ { type: TransactionService }
17966
18776
  ];
17967
- TransactionAvailableStockGridComponent.propDecorators = {
18777
+ TransactionAllocateGoodsHistoryComponent.propDecorators = {
18778
+ goodsAllocationHistory: [{ type: Input }],
18779
+ transactionInfo: [{ type: Input }],
17968
18780
  transactionLine: [{ type: Input }],
17969
- transactionId: [{ type: Input }],
17970
- showClass: [{ type: HostBinding, args: ["class.co-transaction-available-stock-grid",] }]
18781
+ reloadAllocationGoodsHistory: [{ type: Output }],
18782
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-allocate-goods-history",] }]
17971
18783
  };
17972
18784
 
17973
- class TransactionAvailableStockGridModule {
18785
+ class TransactionAllocateGoodsHistoryModule {
17974
18786
  }
17975
- TransactionAvailableStockGridModule.decorators = [
18787
+ TransactionAllocateGoodsHistoryModule.decorators = [
17976
18788
  { type: NgModule, args: [{
17977
18789
  imports: [
17978
18790
  CommonModule,
17979
18791
  SimpleGridModule,
17980
- GridToolbarButtonModule,
18792
+ TransactionHistoryGridModule,
17981
18793
  PipeModule
17982
18794
  ],
17983
18795
  declarations: [
17984
- TransactionAvailableStockGridComponent
18796
+ TransactionAllocateGoodsHistoryComponent
17985
18797
  ],
17986
18798
  exports: [
17987
- TransactionAvailableStockGridComponent
18799
+ TransactionAllocateGoodsHistoryComponent
17988
18800
  ]
17989
18801
  },] }
17990
18802
  ];
17991
18803
 
17992
- class TransactionLineSidePanelPurchaseModule {
18804
+ class TransactionLineSidePanelSalesModule {
17993
18805
  }
17994
- TransactionLineSidePanelPurchaseModule.decorators = [
18806
+ TransactionLineSidePanelSalesModule.decorators = [
17995
18807
  { type: NgModule, args: [{
17996
18808
  imports: [
17997
18809
  CommonModule,
17998
- TransactionConfirmationHistoryModule,
17999
- TransactionReceivingGoodsDetailsModule,
18000
- TransactionReceivingGoodsHistoryModule,
18001
- ButtonModule,
18002
- PipeModule,
18003
18810
  TransactionLineSidePanelDefaultModule,
18004
- TransactionConfirmationDetailsModule,
18005
- TransactionAvailableStockGridModule
18811
+ TransactionSidePanelEditRequestDetailsModule,
18812
+ TransactionAllocateGoodsHistoryModule
18006
18813
  ],
18007
18814
  declarations: [
18008
- TransactionLineSidePanelPurchaseComponent
18815
+ TransactionLineSidePanelSalesComponent
18009
18816
  ],
18010
18817
  exports: [
18011
- TransactionLineSidePanelPurchaseComponent
18818
+ TransactionLineSidePanelSalesComponent
18012
18819
  ]
18013
18820
  },] }
18014
18821
  ];
@@ -18022,7 +18829,6 @@ TransactionLineSidePanelModule.decorators = [
18022
18829
  CoreModule,
18023
18830
  TransactionLineSidePanelDefaultModule,
18024
18831
  TransactionReceivingGoodsHistoryModule,
18025
- TransactionReceivingGoodsDetailsModule,
18026
18832
  PipeModule,
18027
18833
  ButtonModule,
18028
18834
  TransactionButtonBarModule,
@@ -18030,7 +18836,8 @@ TransactionLineSidePanelModule.decorators = [
18030
18836
  TransactionConfirmationHistoryModule,
18031
18837
  TransactionLineSidePanelPurchaseModule,
18032
18838
  TransactionConfirmationHistoryModule,
18033
- TransactionConfirmationDetailsModule
18839
+ TransactionConfirmationDetailsModule,
18840
+ TransactionLineSidePanelSalesModule
18034
18841
  ],
18035
18842
  declarations: [
18036
18843
  TransactionLineSidePanelComponent
@@ -18858,6 +19665,67 @@ TransactionQuickAccessReceivedGoodsModule.decorators = [
18858
19665
  },] }
18859
19666
  ];
18860
19667
 
19668
+ class DialogCatalogComponent {
19669
+ constructor(_optionsService) {
19670
+ this._optionsService = _optionsService;
19671
+ this.showNavigation = true;
19672
+ this.closeClick = new EventEmitter();
19673
+ this.articleClicked = new EventEmitter();
19674
+ }
19675
+ showClass() {
19676
+ return true;
19677
+ }
19678
+ ngOnInit() {
19679
+ this.catalogSettings = this._optionsService.options;
19680
+ this.catalogSettings.options = this.options;
19681
+ }
19682
+ }
19683
+ DialogCatalogComponent.decorators = [
19684
+ { type: Component, args: [{
19685
+ selector: "co-dialog-catalog",
19686
+ template: `
19687
+ <co-dialog (closeClick)="closeClick.emit($event)">
19688
+ <app-ione-catalog-navigation *ngIf="showNavigation"></app-ione-catalog-navigation>
19689
+ <app-ione-catalog
19690
+ [settings]="catalogSettings"
19691
+ [parameters]="parameters"
19692
+ (onArticleClick)="articleClicked.emit($event)"
19693
+ ></app-ione-catalog>
19694
+ </co-dialog>
19695
+ `,
19696
+ encapsulation: ViewEncapsulation.None
19697
+ },] }
19698
+ ];
19699
+ DialogCatalogComponent.ctorParameters = () => [
19700
+ { type: OptionsService }
19701
+ ];
19702
+ DialogCatalogComponent.propDecorators = {
19703
+ options: [{ type: Input }],
19704
+ parameters: [{ type: Input }],
19705
+ showNavigation: [{ type: Input }],
19706
+ closeClick: [{ type: Output }],
19707
+ articleClicked: [{ type: Output }],
19708
+ showClass: [{ type: HostBinding, args: ["class.co-dialog-catalog",] }]
19709
+ };
19710
+
19711
+ class DialogCatalogModule {
19712
+ }
19713
+ DialogCatalogModule.decorators = [
19714
+ { type: NgModule, args: [{
19715
+ imports: [
19716
+ CommonModule,
19717
+ CoDialogModule,
19718
+ IoneCatalogModule
19719
+ ],
19720
+ declarations: [
19721
+ DialogCatalogComponent
19722
+ ],
19723
+ exports: [
19724
+ DialogCatalogComponent
19725
+ ]
19726
+ },] }
19727
+ ];
19728
+
18861
19729
  class TransactionQuickAccessOverviewModule {
18862
19730
  }
18863
19731
  TransactionQuickAccessOverviewModule.decorators = [
@@ -18865,7 +19733,9 @@ TransactionQuickAccessOverviewModule.decorators = [
18865
19733
  imports: [
18866
19734
  CommonModule,
18867
19735
  InputSearchModule,
18868
- PipeModule
19736
+ PipeModule,
19737
+ DialogCatalogModule,
19738
+ IoneCatalogModule
18869
19739
  ],
18870
19740
  declarations: [
18871
19741
  TransactionQuickAccessOverviewComponent
@@ -19009,6 +19879,26 @@ TransactionQuickAccessOrderPurchaseModule.decorators = [
19009
19879
  },] }
19010
19880
  ];
19011
19881
 
19882
+ class TransactionQuickAccessGoodsAllocationModule {
19883
+ }
19884
+ TransactionQuickAccessGoodsAllocationModule.decorators = [
19885
+ { type: NgModule, args: [{
19886
+ imports: [
19887
+ CommonModule,
19888
+ InputCheckboxModule,
19889
+ PipeModule,
19890
+ CheckmarkOverlayModule,
19891
+ IconModule
19892
+ ],
19893
+ declarations: [
19894
+ TransactionQuickAccessGoodsAllocationComponent
19895
+ ],
19896
+ exports: [
19897
+ TransactionQuickAccessGoodsAllocationComponent
19898
+ ]
19899
+ },] }
19900
+ ];
19901
+
19012
19902
  class TransactionQuickAccessModule {
19013
19903
  }
19014
19904
  TransactionQuickAccessModule.decorators = [
@@ -19024,7 +19914,8 @@ TransactionQuickAccessModule.decorators = [
19024
19914
  TransactionQuickAccessReceivedGoodsModule,
19025
19915
  TransactionQuickAccessOverviewModule,
19026
19916
  TransactionQuickAccessOrderDeliveryModule,
19027
- TransactionQuickAccessOrderPurchaseModule
19917
+ TransactionQuickAccessOrderPurchaseModule,
19918
+ TransactionQuickAccessGoodsAllocationModule
19028
19919
  ],
19029
19920
  declarations: [
19030
19921
  TransactionQuickAccessComponent
@@ -19321,10 +20212,10 @@ class TransactionReceivedGoodsGridComponent extends TransactionGridBaseComponent
19321
20212
  }
19322
20213
  });
19323
20214
  }
19324
- handleTransactionLineChanged(change) {
19325
- const receiveGoodsViewModel = this.rowViewModels.get(change.transactionLine);
19326
- receiveGoodsViewModel.goodsReceiptStatus.quantityToReceive = change.goodsReceiptStatus.quantityToReceive;
19327
- receiveGoodsViewModel.toReceive = change.goodsReceiptStatus.quantityToReceive;
20215
+ handleTransactionLineChanged(viewModel) {
20216
+ // const receiveGoodsViewModel: ReceiveGoodsViewModel = this.rowViewModels.get(viewModel.transactionLine);
20217
+ // receiveGoodsViewModel.goodsReceiptStatus.quantityToReceive = change.goodsReceiptStatus.quantityToReceive;
20218
+ // receiveGoodsViewModel.toReceive = change.goodsReceiptStatus.quantityToReceive;
19328
20219
  }
19329
20220
  }
19330
20221
  TransactionReceivedGoodsGridComponent.decorators = [
@@ -19602,7 +20493,7 @@ TransactionTileComponent.decorators = [
19602
20493
  </div>
19603
20494
 
19604
20495
  <div class="transaction-order-status-row">
19605
- <co-transaction-line-statusbar [transaction]="transactionLine" [transactionKind]="transactionType"></co-transaction-line-statusbar>
20496
+ <co-transaction-line-statusbar [transaction]="transactionLine" [transactionKind]="transactionType" [transactionTypeCategory]="activeCategory"></co-transaction-line-statusbar>
19606
20497
  </div>
19607
20498
 
19608
20499
  <div class="transaction-data-row center">
@@ -19653,6 +20544,7 @@ TransactionTileComponent.ctorParameters = () => [
19653
20544
  ];
19654
20545
  TransactionTileComponent.propDecorators = {
19655
20546
  transactionType: [{ type: Input }],
20547
+ activeCategory: [{ type: Input }],
19656
20548
  transactionLine: [{ type: Input }],
19657
20549
  showSidePanelClicked: [{ type: Output }],
19658
20550
  showClass: [{ type: HostBinding, args: ["class.co-transaction-tile",] }]
@@ -19813,6 +20705,7 @@ TransactionBaseLineComponent.decorators = [
19813
20705
  <ng-content></ng-content>
19814
20706
  <div *ngIf="!preview && actionButtons" class="transaction-line-buttons">
19815
20707
  <co-transaction-line-action-buttons
20708
+ [showActionButtons]="selected"
19816
20709
  [transactionLine]="line"
19817
20710
  (waitingForUserAction)="waitingForUserAction.next($event)"
19818
20711
  (sidePanelButtonClicked)="handleShowSidePanel($event)"
@@ -20539,6 +21432,30 @@ QuickSendButtonModule.decorators = [
20539
21432
  },] }
20540
21433
  ];
20541
21434
 
21435
+ class TransactionGoodsAllocationLineModule {
21436
+ }
21437
+ TransactionGoodsAllocationLineModule.decorators = [
21438
+ { type: NgModule, args: [{
21439
+ imports: [
21440
+ CommonModule,
21441
+ TransactionBaseLineModule,
21442
+ TransactionLineWarehouseButtonModule,
21443
+ TransactionLineWarehouseLocationButtonModule,
21444
+ EditableLabelModule,
21445
+ InputNumberPickerModule,
21446
+ InputCheckboxModule,
21447
+ ObserveVisibilityModule,
21448
+ TransactionLineStatusbarModule
21449
+ ],
21450
+ declarations: [
21451
+ TransactionGoodsAllocationLineComponent
21452
+ ],
21453
+ exports: [
21454
+ TransactionGoodsAllocationLineComponent
21455
+ ]
21456
+ },] }
21457
+ ];
21458
+
20542
21459
  class TransactionModule {
20543
21460
  }
20544
21461
  TransactionModule.decorators = [
@@ -20569,7 +21486,8 @@ TransactionModule.decorators = [
20569
21486
  TransactionOrderDeliveryLineModule,
20570
21487
  TransactionReceiveGoodsLineModule,
20571
21488
  TransactionPurchaseLineModule,
20572
- QuickSendButtonModule
21489
+ QuickSendButtonModule,
21490
+ TransactionGoodsAllocationLineModule
20573
21491
  ],
20574
21492
  declarations: [
20575
21493
  TransactionComponent
@@ -20601,13 +21519,17 @@ ShoppingCartModule.decorators = [
20601
21519
  ];
20602
21520
 
20603
21521
  class TransactionSearchComponent {
20604
- constructor(transactionSearchService) {
21522
+ constructor(transactionSearchService, _transactionEventService) {
20605
21523
  this.transactionSearchService = transactionSearchService;
21524
+ this._transactionEventService = _transactionEventService;
20606
21525
  this.searchViewModes = SearchViewMode;
20607
21526
  this.orientations = CoOrientation;
20608
21527
  this.directionRight = CoDirection.Right;
20609
21528
  this.transactionClick = new EventEmitter();
20610
21529
  this.searchViewModeChange = new EventEmitter();
21530
+ this.createTransactionClick = new EventEmitter();
21531
+ this._subs = [];
21532
+ this._subs.push(this._transactionEventService.createTransaction.subscribe(() => this.createTransactionClick.emit()));
20611
21533
  }
20612
21534
  set transactionType(value) {
20613
21535
  this._transactionType = value;
@@ -20619,6 +21541,9 @@ class TransactionSearchComponent {
20619
21541
  showClass() {
20620
21542
  return true;
20621
21543
  }
21544
+ ngOnDestroy() {
21545
+ this._subs.forEach(s => s.unsubscribe());
21546
+ }
20622
21547
  onTransactionClick(transaction) {
20623
21548
  if (this.transactionSearchService.activeSearchViewMode === this.searchViewModes.FullScreen) {
20624
21549
  this.collapseSearchBar();
@@ -20721,12 +21646,14 @@ TransactionSearchComponent.decorators = [
20721
21646
  },] }
20722
21647
  ];
20723
21648
  TransactionSearchComponent.ctorParameters = () => [
20724
- { type: TransactionSearchService }
21649
+ { type: TransactionSearchService },
21650
+ { type: TransactionEventService }
20725
21651
  ];
20726
21652
  TransactionSearchComponent.propDecorators = {
20727
21653
  transactionType: [{ type: Input }],
20728
21654
  transactionClick: [{ type: Output }],
20729
21655
  searchViewModeChange: [{ type: Output }],
21656
+ createTransactionClick: [{ type: Output }],
20730
21657
  showClass: [{ type: HostBinding, args: ["class.co-transaction-search",] }]
20731
21658
  };
20732
21659
 
@@ -22015,10 +22942,11 @@ TransactionSearchSalesOrderGridModule.decorators = [
22015
22942
  ];
22016
22943
 
22017
22944
  class TransactionSearchHeaderComponent {
22018
- constructor(searchService, iconCacheService, _dictionary) {
22945
+ constructor(searchService, iconCacheService, _dictionary, _transactionEventService) {
22019
22946
  this.searchService = searchService;
22020
22947
  this.iconCacheService = iconCacheService;
22021
22948
  this._dictionary = _dictionary;
22949
+ this._transactionEventService = _transactionEventService;
22022
22950
  this.icon = Icon;
22023
22951
  this.contentViewModes = ContentViewMode;
22024
22952
  this.searchViewModes = SearchViewMode;
@@ -22051,6 +22979,9 @@ class TransactionSearchHeaderComponent {
22051
22979
  onViewModeChange(viewMode) {
22052
22980
  this.viewModeChange.emit(viewMode);
22053
22981
  }
22982
+ handleAddTransactionClick() {
22983
+ this._transactionEventService.createTransaction.next();
22984
+ }
22054
22985
  }
22055
22986
  TransactionSearchHeaderComponent.decorators = [
22056
22987
  { type: Component, args: [{
@@ -22069,6 +23000,8 @@ TransactionSearchHeaderComponent.decorators = [
22069
23000
  </div>
22070
23001
  <div class="header-searchbar-wrapper">
22071
23002
  <div class="header-searchbar-title" [textContent]="label | localize" *ngIf="fullscreen" @showHideLabel></div>
23003
+ <co-icon class="transaction-add-button" [iconData]="iconCacheService.getIcon(icon.PlusSimple)"
23004
+ (click)="handleAddTransactionClick()"></co-icon>
22072
23005
  <co-input-search class="transaction-search-general"
22073
23006
  [ngClass]="fullscreen ? 'fullscreen' : 'sidebar'"
22074
23007
  [centerLabel]="true"
@@ -22109,7 +23042,8 @@ TransactionSearchHeaderComponent.decorators = [
22109
23042
  TransactionSearchHeaderComponent.ctorParameters = () => [
22110
23043
  { type: TransactionSearchService },
22111
23044
  { type: IconCacheService },
22112
- { type: DictionaryService }
23045
+ { type: DictionaryService },
23046
+ { type: TransactionEventService }
22113
23047
  ];
22114
23048
  TransactionSearchHeaderComponent.propDecorators = {
22115
23049
  transactionType: [{ type: Input }],
@@ -22131,7 +23065,8 @@ TransactionSearchHeaderModule.decorators = [
22131
23065
  PipeModule,
22132
23066
  ButtonModule,
22133
23067
  InputSearchModule,
22134
- ViewModeButtonsModule
23068
+ ViewModeButtonsModule,
23069
+ IconModule
22135
23070
  ],
22136
23071
  declarations: [
22137
23072
  TransactionSearchHeaderComponent
@@ -23267,5 +24202,5 @@ TransactionLineGridModule.decorators = [
23267
24202
  * Generated bundle index. Do not edit.
23268
24203
  */
23269
24204
 
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 };
24205
+ 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, TransactionSidePanelEditRequestDetailsComponent as ɵhu, AllocationRequestComponent as ɵhv, ReceiveGoodsRequestComponent as ɵhw, ArticleService as ɵhx, TransactionLineSidePanelPurchaseComponent as ɵhy, TransactionLineSidePanelSalesModule as ɵhz, BusinessObjectCacheManagerService as ɵi, TransactionAllocateGoodsHistoryModule as ɵia, TransactionAllocateGoodsHistoryComponent as ɵib, TransactionLineSidePanelSalesComponent as ɵic, TransactionLineSidePanelComponent as ɵid, DynamicBaseComponent as ɵie, TransactionLineActionButtonsModule as ɵif, TransactionArticleTextOverviewModule as ɵig, TransactionArticleTextOverviewComponent as ɵih, TransactionLineActionButtonsComponent as ɵii, TransactionBaseGridComponent as ɵij, TransactionGridBaseComponent as ɵik, DialogTransactionLineCommissionCodeModule as ɵil, DialogTransactionLineCommissionCodeComponent as ɵim, DialogTransactionLineBaseComponent as ɵin, DialogTransactionLineWarehouseModule as ɵio, DialogTransactionLineWarehouseComponent as ɵip, DialogTransactionLineWarehouseCcModule as ɵiq, DialogTransactionLineWarehouseCcComponent as ɵir, DialogTransactionLineDeliveryMethodModule as ɵis, DialogTransactionLineDeliveryMethodComponent as ɵit, DialogTransactionLineVatModule as ɵiu, DialogTransactionLineVatComponent as ɵiv, DialogTransactionLineDiscountModule as ɵiw, DialogTransactionLinePriceListModule as ɵix, DialogTransactionLinePriceListComponent as ɵiy, DialogTransactionLineDiscountComponent as ɵiz, CacheField as ɵj, TransactionLinesGridComponent as ɵja, DiscountModule as ɵjb, DiscountComponent as ɵjc, TransactionQuickAccessOverviewModule as ɵjd, DialogCatalogModule as ɵje, DialogCatalogComponent as ɵjf, TransactionQuickAccessOverviewComponent as ɵjg, TransactionQuickAccessOrderDeliveryModule as ɵjh, TransactionSendButtonDialogModule as ɵji, TransactionSendButtonDialogComponent as ɵjj, TransactionQuickAccessOrderDeliveryComponent as ɵjk, TransactionOrderDeliveryService as ɵjl, TransactionQuickAccessOrderPurchaseModule as ɵjm, TransactionQuickAccessOrderPurchaseComponent as ɵjn, TransactionQuickAccessGoodsAllocationModule as ɵjo, TransactionQuickAccessGoodsAllocationComponent as ɵjp, TransactionAllocateGoodsService as ɵjq, TransactionOrderConfirmationGridModule as ɵjr, TransactionOrderConfirmationGridComponent as ɵjs, TransactionReceivedGoodsGridModule as ɵjt, DialogTransactionLineWarehouseLocationModule as ɵju, TransactionLineWarehouseLocationModule as ɵjv, TransactionLineWarehouseLocationComponent as ɵjw, DialogTransactionLineWarehouseLocationComponent as ɵjx, TransactionLineWarehouseLocationButtonModule as ɵjy, TransactionLineWarehouseLocationButtonComponent 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
24206
  //# sourceMappingURL=colijnit-transaction.js.map