@colijnit/transaction 261.20.11 → 261.20.12

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.
@@ -239,6 +239,11 @@ import { QuantityInHistoricState } from '@colijnit/transactionapi/build/enum/qua
239
239
  import { TagCategory } from '@colijnit/mainapi/build/enum/tab-category.enum';
240
240
  import { BatchTransactionSendingRequest } from '@colijnit/transactionapi/build/model/batch-transaction-sending-request';
241
241
  import { ChangeHeadersTransactionsDefinitiveRequest } from '@colijnit/transactionapi/build/model/change-headers-transactions-definitive-request';
242
+ import { SetMultipleTransportNotificationsInContainerOnSelectedLinesRequest } from '@colijnit/transactionapi/build/model/set-multiple-transport-notifications-in-container-on-selected-lines-request';
243
+ import { SetTransportNotificationInContainerOnTransactionRequest } from '@colijnit/transactionapi/build/model/set-transport-notification-in-container-on-transaction-request';
244
+ import { TransportNotificationInContainerLineSelectRequest } from '@colijnit/transactionapi/build/model/transport-notification-in-container-line-select-request';
245
+ import { RemoveFromContainerRequest } from '@colijnit/transactionapi/build/model/remove-from-container-request';
246
+ import { RemoveTransactionFromContainerRequest } from '@colijnit/transactionapi/build/model/remove-transaction-from-container-request';
242
247
  import { LayoutCode as LayoutCode$1 } from '@colijnit/mainapi/build/enum/layout-code.enum';
243
248
  import { PriorityType } from '@colijnit/mainapi/build/enum/priority-type.enum';
244
249
  import { ChangeHeaderDropshipmentInfoRequest } from '@colijnit/transactionapi/build/model/change-header-dropshipment-info-request';
@@ -330,8 +335,8 @@ import { DateField } from '@colijnit/ioneconnector/build/factory/decorators/date
330
335
  class Version {
331
336
  name = "@colijnit/transaction";
332
337
  description = "Colijn IT transaction package";
333
- symVer = "261.20.11";
334
- publishDate = "20-2-2026, 18:31:11";
338
+ symVer = "261.20.12";
339
+ publishDate = "24-2-2026, 18:16:14";
335
340
  }
336
341
 
337
342
  class CheckoutModuleService extends BaseModuleService {
@@ -500,6 +505,7 @@ var Icon;
500
505
  Icon["CircleInfoRegular"] = "circle_info_regular";
501
506
  Icon["CloseDialog"] = "close_dialog";
502
507
  Icon["CodeRegular"] = "code_regular";
508
+ Icon["ContainerStorageRegularFull"] = "container_storage_regular_full";
503
509
  Icon["CreditCardRegular"] = "credit_card_regular";
504
510
  Icon["CreditCardRegularCheck"] = "credit_card_regular_check";
505
511
  Icon["CreditCardSolid"] = "credit_card_solid";
@@ -572,6 +578,10 @@ var Icon;
572
578
  Icon["RegularCartShoppingCircleQuestion"] = "regular_cart_shopping_circle_question";
573
579
  Icon["RegularCartShoppingClock"] = "regular_cart_shopping_clock";
574
580
  Icon["RegularCartShoppingTag"] = "regular_cart_shopping_tag";
581
+ Icon["RegularContainerStorageCircleArrowLeft"] = "regular_container_storage_circle_arrow_left";
582
+ Icon["RegularContainerStorageCircleArrowRight"] = "regular_container_storage_circle_arrow_right";
583
+ Icon["RegularContainerStorageCircleCheck"] = "regular_container_storage_circle_check";
584
+ Icon["RegularContainerStorageCircleInfo"] = "regular_container_storage_circle_info";
575
585
  Icon["RegularEuroSignMinus"] = "regular_euro_sign_minus";
576
586
  Icon["RegularIndustryClock"] = "regular_industry_clock";
577
587
  Icon["RegularIndustryTag"] = "regular_industry_tag";
@@ -1199,6 +1209,7 @@ const IconSvg = {
1199
1209
  "circle_info_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-88c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 64-24 0zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"/></svg>",
1200
1210
  "close_dialog": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><path d=\"M326.6 166.6L349.3 144 304 98.7l-22.6 22.6L192 210.7l-89.4-89.4L80 98.7 34.7 144l22.6 22.6L146.7 256 57.4 345.4 34.7 368 80 413.3l22.6-22.6L192 301.3l89.4 89.4L304 413.3 349.3 368l-22.6-22.6L237.3 256l89.4-89.4z\"/></svg>",
1201
1211
  "code_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><path d=\"M369.1 80.9C373 68.2 386.5 61.2 399.1 65.1C411.7 69 418.8 82.5 414.9 95.1L270.9 559.1C267 571.8 253.5 578.8 240.9 574.9C228.3 571 221.2 557.5 225.1 544.9L369.1 80.9zM177 199C186.4 208.4 186.4 223.6 177 232.9L90 319.9L177 406.9C186.4 416.3 186.4 431.5 177 440.8C167.6 450.1 152.4 450.2 143.1 440.8L39 337C29.6 327.6 29.6 312.4 39 303.1L143 199C152.4 189.6 167.6 189.6 176.9 199zM463 199C472.4 189.6 487.6 189.6 496.9 199L601 303C610.4 312.4 610.4 327.6 601 336.9L497 441C487.6 450.4 472.4 450.4 463.1 441C453.8 431.6 453.7 416.4 463.1 407.1L550.1 320.1L463.1 233.1C453.7 223.7 453.7 208.5 463.1 199.2z\"/></svg>",
1212
+ "container_storage_regular_full": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><path d=\"M32 120C32 106.7 42.7 96 56 96L584 96C597.3 96 608 106.7 608 120C608 133.3 597.3 144 584 144L576 144L576 496L584 496C597.3 496 608 506.7 608 520C608 533.3 597.3 544 584 544L56 544C42.7 544 32 533.3 32 520C32 506.7 42.7 496 56 496L64 496L64 144L56 144C42.7 144 32 133.3 32 120zM112 144L112 496L528 496L528 144L112 144zM152 216C152 202.7 162.7 192 176 192C189.3 192 200 202.7 200 216L200 424C200 437.3 189.3 448 176 448C162.7 448 152 437.3 152 424L152 216zM368 192C381.3 192 392 202.7 392 216L392 424C392 437.3 381.3 448 368 448C354.7 448 344 437.3 344 424L344 216C344 202.7 354.7 192 368 192zM440 216C440 202.7 450.7 192 464 192C477.3 192 488 202.7 488 216L488 424C488 437.3 477.3 448 464 448C450.7 448 440 437.3 440 424L440 216zM272 192C285.3 192 296 202.7 296 216L296 424C296 437.3 285.3 448 272 448C258.7 448 248 437.3 248 424L248 216C248 202.7 258.7 192 272 192z\"/></svg>",
1202
1213
  "credit_card_regular": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path d=\"M512 80c8.8 0 16 7.2 16 16v32H48V96c0-8.8 7.2-16 16-16H512zm16 144V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224H528zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 304c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"/></svg>",
1203
1214
  "credit_card_regular_check": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><path d=\"M0 96C0 60.7 28.7 32 64 32c149.3 0 298.6 0 448 0c35.3 0 64 28.7 64 64c0 38.4 0 76.8 0 115.2c-24-12.3-51.2-19.2-80-19.2c-37.7 0-72.6 11.8-101.2 32c-115.6 0-231.2 0-346.8 0c0 64 0 128 0 192c0 8.8 7.2 16 16 16c89.3 0 178.7 0 268 0c6.9 17.5 16.5 33.7 28.3 48c-98.7 0-197.5 0-296.3 0c-35.3 0-64-28.7-64-64C0 309.3 0 202.7 0 96zm48 0c0 10.7 0 21.3 0 32c160 0 320 0 480 0c0-10.7 0-21.3 0-32c0-8.8-7.2-16-16-16c-149.3 0-298.6 0-448 0c-8.8 0-16 7.2-16 16zM96 360c0-13.3 10.7-24 24-24c16 0 32 0 48 0c13.3 0 24 10.7 24 24s-10.7 24-24 24c-16 0-32 0-48 0c-13.3 0-24-10.7-24-24zm128 0c0-13.3 10.7-24 24-24c25 0 49.9 0 74.9 0c-1.9 10.4-2.9 21.1-2.9 32c0 5.4 .2 10.7 .7 16c-24.2 0-48.5 0-72.7 0c-13.3 0-24-10.7-24-24zm128 8c0-79.5 64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144s-144-64.5-144-144zm76.7-11.3c-6.2 6.2-6.2 16.4 0 22.6c13.3 13.3 26.7 26.7 40 40c6.2 6.2 16.4 6.2 22.6 0c24-24 48-48 72-72c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0c-20.2 20.2-40.5 40.5-60.7 60.7c-9.6-9.6-19.1-19.1-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0z\"/></svg>",
1204
1215
  "credit_card_solid": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path d=\"M512 32C547.3 32 576 60.65 576 96V128H0V96C0 60.65 28.65 32 64 32H512zM576 416C576 451.3 547.3 480 512 480H64C28.65 480 0 451.3 0 416V224H576V416zM112 352C103.2 352 96 359.2 96 368C96 376.8 103.2 384 112 384H176C184.8 384 192 376.8 192 368C192 359.2 184.8 352 176 352H112zM240 384H368C376.8 384 384 376.8 384 368C384 359.2 376.8 352 368 352H240C231.2 352 224 359.2 224 368C224 376.8 231.2 384 240 384z\"/></svg>",
@@ -1271,6 +1282,10 @@ const IconSvg = {
1271
1282
  "regular_cart_shopping_circle_question": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><path d=\"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48c15.2 0 30.3 0 45.5 0c3.8 0 7.1 2.7 7.9 6.5c17.2 90.4 34.4 180.7 51.6 271c6.5 34 36.2 58.5 70.7 58.5c40.3 0 80.7 0 121 0c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32c-41.1 0-82.1 0-123.2 0c-11.5 0-21.4-8.2-23.6-19.5c-1.8-9.5-3.6-19-5.4-28.5c56.2 0 112.3 0 168.5 0c9.2-18 21.4-34.2 36-48c-71.2 0-142.4 0-213.6 0c-10.2-53.3-20.3-106.7-30.5-160c129.9 0 259.7 0 389.6 0c-10.1 37.4-20.1 74.7-30.2 112.1c1.8-.1 3.7-.1 5.5-.1c14.8 0 29.1 1.8 42.8 5.2c10.3-38.3 20.6-76.6 30.9-114.8C576.6 57 557.4 32 531.1 32c-137 0-274 0-411 0C111 12.8 91.6 0 69.5 0C54.3 0 39.2 0 24 0zM176 512c17.1 0 33-9.1 41.6-24s8.6-33.1 0-48s-24.4-24-41.6-24s-33 9.1-41.6 24s-8.6 33.1 0 48s24.4 24 41.6 24zM640 368c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM496 416c-13.3 0-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24s-10.7-24-24-24zM473.6 280c-23 0-41.6 18.6-41.6 41.6c0 2.1 0 4.3 0 6.4c0 8.8 7.2 16 16 16s16-7.2 16-16c0-2.1 0-4.3 0-6.4c0-5.3 4.3-9.6 9.6-9.6c13.5 0 27 0 40.5 0c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3c-10.7 5.6-21.3 11.2-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2c0 4.9 0 9.8 0 14.8c0 8.8 7.2 16 16 16s16-7.2 16-16c0-1.7 0-3.4 0-5.1c7.8-4.1 15.6-8.2 23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9c-13.5 0-27 0-40.5 0z\"/></svg>",
1272
1283
  "regular_cart_shopping_clock": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><path d=\"M0 24C0 10.7 10.7 0 24 0L69.5 0C91.6 0 111 12.8 120.1 32l411 0c26.3 0 45.5 25 38.6 50.4L538.8 197.2c-13.7-3.4-28-5.2-42.8-5.2c-1.8 0-3.7 0-5.5 .1L520.7 80 131.1 80l30.5 160 213.6 0c-14.6 13.8-26.8 30-36 48l-168.5 0 5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5l123.2 0c-1.9 10.4-2.9 21.1-2.9 32c0 5.4 .2 10.7 .7 16l-121 0c-34.5 0-64.2-24.5-70.7-58.5L77.4 54.5c-.8-3.8-4.1-6.5-7.9-6.5L24 48C10.7 48 0 37.3 0 24zM134.4 440c8.6-14.9 24.4-24 41.6-24s33 9.1 41.6 24s8.6 33.1 0 48s-24.4 24-41.6 24s-33-9.1-41.6-24s-8.6-33.1 0-48zM352 368c0-79.5 64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144s-144-64.5-144-144zm128-64l0 64c0 8.8 7.2 16 16 16l48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"/></svg>",
1273
1284
  "regular_cart_shopping_tag": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><path d=\"M0 24C0 10.7 10.7 0 24 0L69.5 0C91.6 0 111 12.8 120.1 32l411 0c26.3 0 45.5 25 38.6 50.4l-37 137.3-4.4-4.4c-10.6-10.6-23.9-17.9-38.3-21.3L520.7 80 131.1 80l30.5 160 160.3 0c-1.2 5-1.9 10.2-1.9 15.5l0 32.5-149.3 0 5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5L320 336l0 8.2c0 14.1 3.8 27.8 10.7 39.8l-131 0c-34.5 0-64.2-24.5-70.7-58.5L77.4 54.5c-.8-3.8-4.1-6.5-7.9-6.5L24 48C10.7 48 0 37.3 0 24zM134.4 440c8.6-14.9 24.4-24 41.6-24s33 9.1 41.6 24s8.6 33.1 0 48s-24.4 24-41.6 24s-33-9.1-41.6-24s-8.6-33.1 0-48zM359 262.6c0-17.6 14.3-32 32-32l82.7 0c17 0 33.3 6.7 45.3 18.7L626.3 356.7c18.7 18.7 18.7 49.1 0 67.9l-73.4 73.3c-18.7 18.7-49.1 18.7-67.9 0L377.7 390.6c-12-12-18.7-28.3-18.7-45.2l0-82.8zm56 48c0 13.3 10.7 24 24 24s24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24zm2.1 163.6l36.7 36.8c-4.8-1-9.4-2.8-13.8-5.3c-11.9-6.8-20.1-18.3-22.9-31.4z\"/></svg>",
1285
+ "regular_container_storage_circle_arrow_left": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><path d=\"M0 56C0 42.7 10.7 32 24 32l32 0 528 0 32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 152.3c-14.3-11.8-30.5-21.4-48-28.3l0-124L80 80l0 352 252 0c6.9 17.5 16.5 33.7 28.3 48L56 480l-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0L32 80l-8 0C10.7 80 0 69.3 0 56zm128 96c0-13.3 10.7-24 24-24s24 10.7 24 24l0 208c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208zm112 0c0-13.3 10.7-24 24-24s24 10.7 24 24l0 208c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208zm112 0c0-13.3 10.7-24 24-24s24 10.7 24 24l0 68.5c-18.8 12.3-35.1 28-48 46.3L352 152zm19.3 144c25.7-44.6 73.3-72 124.7-72s99 27.4 124.7 72s25.7 99.4 0 144S547.4 512 496 512s-99-27.4-124.7-72s-25.7-99.4 0-144zm49.4 60.7c-6.3 6.2-6.3 16.4 0 22.6c18.7 18.7 37.3 37.3 56 56c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L470.6 384l89.4 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-89.4 0 28.7-28.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-56 56zM464 152c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40.7c-5.3-.5-10.6-.7-16-.7c-10.9 0-21.6 1-32 2.9l0-42.9z\"/></svg>",
1286
+ "regular_container_storage_circle_arrow_right": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><path d=\"M0 56C0 42.7 10.7 32 24 32l32 0 528 0 32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 152.3c-14.3-11.8-30.5-21.4-48-28.3l0-124-480 0 0 352 252 0c6.9 17.5 16.5 33.7 28.3 48L56 480 24 480c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0 0-352-8 0C10.7 80 0 69.3 0 56zm128 96c0-13.3 10.7-24 24-24s24 10.7 24 24l0 208c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208zm112 0c0-13.3 10.7-24 24-24s24 10.7 24 24l0 208c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208zm112 0c0-13.3 10.7-24 24-24s24 10.7 24 24l0 68.5c-18.8 12.3-35.1 28-48 46.3L352 152zm0 216c0-79.5 64.5-144 144-144s144 64.5 144 144-64.5 144-144 144-144-64.5-144-144zm64 0c0 8.8 7.2 16 16 16l89.4 0-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56-56c6.2-6.2 6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l28.7 28.7-89.4 0c-8.8 0-16 7.2-16 16zm48-216c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40.7c-5.3-.5-10.6-.7-16-.7-10.9 0-21.6 1-32 2.9l0-42.9z\"/></svg>",
1287
+ "regular_container_storage_circle_check": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><path d=\"M0 56C0 42.7 10.7 32 24 32l32 0 528 0 32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 152.3c-14.3-11.8-30.5-21.4-48-28.3l0-124L80 80l0 352 252 0c6.9 17.5 16.5 33.7 28.3 48L56 480l-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0L32 80l-8 0C10.7 80 0 69.3 0 56zm128 96c0-13.3 10.7-24 24-24s24 10.7 24 24l0 208c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208zm112 0c0-13.3 10.7-24 24-24s24 10.7 24 24l0 208c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208zm112 0c0-13.3 10.7-24 24-24s24 10.7 24 24l0 68.5c-18.8 12.3-35.1 28-48 46.3L352 152zm0 216c0-79.5 64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144s-144-64.5-144-144zm76.7-11.3c-6.2 6.2-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0zM464 152c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40.7c-5.3-.5-10.6-.7-16-.7c-10.9 0-21.6 1-32 2.9l0-42.9z\"/></svg>",
1288
+ "regular_container_storage_circle_info": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><path d=\"M0 56C0 42.7 10.7 32 24 32l32 0 528 0 32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 152.3c-14.3-11.8-30.5-21.4-48-28.3l0-124L80 80l0 352 252 0c6.9 17.5 16.5 33.7 28.3 48L56 480l-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0L32 80l-8 0C10.7 80 0 69.3 0 56zm128 96c0-13.3 10.7-24 24-24s24 10.7 24 24l0 208c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208zm112 0c0-13.3 10.7-24 24-24s24 10.7 24 24l0 208c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208zm112 0c0-13.3 10.7-24 24-24s24 10.7 24 24l0 68.5c-18.8 12.3-35.1 28-48 46.3L352 152zm0 216c0-79.5 64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144s-144-64.5-144-144zM464 152c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40.7c-5.3-.5-10.6-.7-16-.7c-10.9 0-21.6 1-32 2.9l0-42.9zm0 216c0 8.8 7.2 16 16 16c0 16 0 32 0 48c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l0-64c0-8.8-7.2-16-16-16l-16 0c-8.8 0-16 7.2-16 16zm8-72c0 13.3 10.7 24 24 24s24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24z\"/></svg>",
1274
1289
  "regular_euro_sign_minus": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path d=\"M0 216c0-13.3 10.7-24 24-24l33.3 0C84.8 99.5 170.5 32 272 32l24 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-24 0c-74.6 0-138.4 46.4-164 112l156 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L96.7 240c-.5 5.3-.7 10.6-.7 16s.2 10.7 .7 16L264 272c6.4 0 12.1 2.5 16.4 6.5c-7.6 12.9-13.6 26.8-17.8 41.5L108 320c25.1 64.4 87.1 110.3 160 112c6.9 17.6 16.5 33.7 28.3 48c-.1 0-.2 0-.3 0l-24 0C170.5 480 84.8 412.5 57.3 320L24 320c-13.3 0-24-10.7-24-24s10.7-24 24-24l24.6 0c-.4-5.3-.6-10.6-.6-16s.2-10.7 .6-16L24 240c-13.3 0-24-10.7-24-24zM288 368c0-79.5 64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144s-144-64.5-144-144zm64 0c0 8.8 7.2 16 16 16l128 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-128 0c-8.8 0-16 7.2-16 16z\"/></svg>",
1275
1290
  "regular_industry_clock": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><path d=\"M88 80c-4.4 0-8 3.6-8 8c0 72 0 144 0 216c0 16 0 32 0 48c0 18.7 0 37.3 0 56c0 13.3 10.7 24 24 24c76 0 152 0 228 0c6.9 17.5 16.5 33.7 28.3 48c-85.4 0-170.9 0-256.3 0c-39.8 0-72-32.2-72-72c0-18.7 0-37.3 0-56c0-16 0-32 0-48c0-72 0-144 0-216c0-30.9 25.1-56 56-56c16 0 32 0 48 0c30.9 0 56 25.1 56 56c0 28.3 0 56.6 0 84.9c34.6-20.2 69.2-40.4 103.8-60.6c32-18.7 72.2 4.4 72.2 41.5c0 9 0 18 0 27c34-21.8 68.1-43.6 102.1-65.4c32-20.4 73.9 2.5 73.9 40.5c0 14.2 0 28.5 0 42.7c-15.3-4.3-31.4-6.6-48-6.6c0-12 0-24.1 0-36.1c-46.4 29.7-92.7 59.3-139.1 89c-7.4 4.7-16.8 5-24.5 .8s-12.5-12.3-12.5-21.1c0-23.6 0-47.3 0-70.9c-46.6 27.2-93.2 54.5-139.8 81.7c-7.4 4.3-16.6 4.4-24 .1s-12-12.2-12-20.8c0-42.2 0-84.5 0-126.7c0-4.4-3.6-8-8-8c-16 0-32.1 0-48.1 0zM352 368c0-79.5 64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144s-144-64.5-144-144zm160-64c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 21.3 0 42.7 0 64c0 8.8 7.2 16 16 16c16 0 32 0 48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16c-10.7 0-21.3 0-32 0c0-16 0-32 0-48z\"/></svg>",
1276
1291
  "regular_industry_tag": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><path d=\"M88 80c-4.4 0-8 3.6-8 8c0 72 0 144 0 216c0 16 0 32 0 48c0 18.7 0 37.3 0 56c0 13.3 10.7 24 24 24c90.3 0 180.7 0 271 0c16 16 32 32 48 48c-106.3 0-212.6 0-318.9 0c-39.8 0-72-32.2-72-72c0-18.7 0-37.3 0-56c0-16 0-32 0-48c0-72 0-144 0-216c0-30.9 25.1-56 56-56c16 0 32 0 48 0c30.9 0 56 25.1 56 56c0 28.3 0 56.6 0 84.9c34.6-20.2 69.2-40.4 103.8-60.6c32-18.7 72.2 4.4 72.2 41.5c0 9 0 18 0 27c34-21.8 68.1-43.6 102.1-65.4c32-20.4 73.9 2.5 73.9 40.5c0 25 0 50.1 0 75.1c-5.2-5.2-10.5-10.5-15.7-15.7c-9.1-9.1-20.2-15.8-32.3-19.6c0-13.3 0-26.5 0-39.8c-18.8 12-37.6 24.1-56.4 36.1c-18.7 0-37.4 0-56.1 0c-28.4 0-52.4 18.6-60.6 44.3c-2-3.5-3-7.5-3-11.7c0-23.6 0-47.3 0-70.9c-46.6 27.2-93.2 54.5-139.8 81.7c-7.4 4.3-16.6 4.4-24 .1s-12-12.2-12-20.8c0-42.2 0-84.5 0-126.7c0-4.4-3.6-8-8-8c-16 0-32.1 0-48.1 0zM359 262.6c0-17.6 14.3-32 32-32c27.6 0 55.1 0 82.7 0c17 0 33.3 6.7 45.3 18.7c35.8 35.8 71.5 71.6 107.3 107.4c18.7 18.7 18.7 49.1 0 67.9c-24.5 24.4-48.9 48.9-73.4 73.3c-18.7 18.7-49.1 18.7-67.9 0c-35.8-35.8-71.5-71.5-107.3-107.3c-12-12-18.7-28.3-18.7-45.2c0-27.6 0-55.2 0-82.8zm80 72c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z\"/></svg>",
@@ -1963,6 +1978,16 @@ class TransactionEventService {
1963
1978
  lineUserFormResponseRequest = new BehaviorSubject(undefined);
1964
1979
  refreshHistoricReports = new Subject();
1965
1980
  transactionCommitted = new BehaviorSubject(false);
1981
+ transportContainerChosen = new BehaviorSubject;
1982
+ transportTransactionRequestUpdated = new BehaviorSubject;
1983
+ transportTransactionRemoveRequestUpdated = new BehaviorSubject;
1984
+ removalModeContainerInfo = new BehaviorSubject;
1985
+ transportTransactionSelectionChanged = new Subject;
1986
+ transportTransactionLineSelectionChanged = new Subject;
1987
+ fillContainerRequested = new Subject;
1988
+ fillContainerSuccess = new Subject;
1989
+ removeFromContainerRequested = new Subject;
1990
+ removeFromContainerSuccess = new Subject;
1966
1991
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1967
1992
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionEventService, providedIn: "root" });
1968
1993
  }
@@ -7196,6 +7221,26 @@ class TransactionConnectorAdapterService {
7196
7221
  return null;
7197
7222
  }
7198
7223
  }
7224
+ async setMultipleTransportNotificationInContainerOnSelectedLines(request) {
7225
+ const response = await this.connector.setMultipleTransportNotificationInContainerOnSelectedLines(request);
7226
+ if (response && response.validationResult && response.validationResult.success) {
7227
+ return true;
7228
+ }
7229
+ else {
7230
+ this._handleExceptionFromResponse(response);
7231
+ return false;
7232
+ }
7233
+ }
7234
+ async removeFromContainerWithSelectedLines(request) {
7235
+ const response = await this.connector.removeFromContainerWithSelectedLines(request);
7236
+ if (response && response.validationResult && response.validationResult.success) {
7237
+ return true;
7238
+ }
7239
+ else {
7240
+ this._handleExceptionFromResponse(response);
7241
+ return false;
7242
+ }
7243
+ }
7199
7244
  async getTransportNotificationInfosByTransactionLine(lineUuid) {
7200
7245
  const response = await this.connector.getTransportNotificationInfosByTransactionLine(lineUuid);
7201
7246
  if (response && response.validationResult && response.validationResult.success) {
@@ -7226,6 +7271,16 @@ class TransactionConnectorAdapterService {
7226
7271
  return null;
7227
7272
  }
7228
7273
  }
7274
+ async getContainer(containerId) {
7275
+ const response = await this.mainConnector.getContainer(containerId);
7276
+ if (response && response.validationResult && response.validationResult.success) {
7277
+ return this._boFactory.makeWithRawBackendData(Container, response.resultObject);
7278
+ }
7279
+ else {
7280
+ this._handleExceptionFromResponse(response);
7281
+ return null;
7282
+ }
7283
+ }
7229
7284
  async getContainerInfo(containerId) {
7230
7285
  const response = await this.mainConnector.getContainerInfo(containerId);
7231
7286
  if (response && response.validationResult && response.validationResult.success) {
@@ -8806,6 +8861,12 @@ class TransactionConnectorService {
8806
8861
  async setTransportNotificationInContainer(request) {
8807
8862
  return await this._adapterService.setTransportNotificationInContainer(request);
8808
8863
  }
8864
+ async setMultipleTransportNotificationInContainerOnSelectedLines(request) {
8865
+ return await this._adapterService.setMultipleTransportNotificationInContainerOnSelectedLines(request);
8866
+ }
8867
+ async removeFromContainerWithSelectedLines(request) {
8868
+ return await this._adapterService.removeFromContainerWithSelectedLines(request);
8869
+ }
8809
8870
  async getTransportNotificationInfosByTransactionLine(lineUuid) {
8810
8871
  return await this._adapterService.getTransportNotificationInfosByTransactionLine(lineUuid);
8811
8872
  }
@@ -8815,6 +8876,9 @@ class TransactionConnectorService {
8815
8876
  async getContainers() {
8816
8877
  return await this._adapterService.getContainers();
8817
8878
  }
8879
+ async getContainer(containerId) {
8880
+ return await this._adapterService.getContainer(containerId);
8881
+ }
8818
8882
  async getContainerInfo(containerId) {
8819
8883
  return await this._adapterService.getContainerInfo(containerId);
8820
8884
  }
@@ -12324,6 +12388,9 @@ class TransactionService extends PendingReasonService {
12324
12388
  async getContainers(showLoader) {
12325
12389
  return await this.connector.getContainers();
12326
12390
  }
12391
+ async getContainer(containerId, showLoader) {
12392
+ return await this.connector.getContainer(containerId);
12393
+ }
12327
12394
  async getContainerInfo(containerId, showLoader) {
12328
12395
  return await this.connector.getContainerInfo(containerId);
12329
12396
  }
@@ -20285,14 +20352,10 @@ class TransactionLinePurchaseTransportComponent extends TransactionLineSidepanel
20285
20352
  });
20286
20353
  }
20287
20354
  async handleSaveClick() {
20288
- if (this.lineQuantityTransportNotification === this.transactionLine.amount) {
20355
+ if (this.transactionLine.articleLineStatus && this.transactionLine.articleLineStatus.isFullyTransportNotified) {
20289
20356
  return;
20290
20357
  }
20291
- //if (this.request.containerId && !isNaN(this.request.containerId)) {
20292
- //await this.transactionService.setTransportNotificationInContainer(this.request);
20293
- //} else {
20294
20358
  await this.transactionService.setTransportNotification(this.request);
20295
- //}
20296
20359
  }
20297
20360
  async handleDeleteSelectedRow(row) {
20298
20361
  if (row) {
@@ -20353,15 +20416,8 @@ class TransactionLinePurchaseTransportComponent extends TransactionLineSidepanel
20353
20416
  </div>
20354
20417
  </div>
20355
20418
  </div>
20356
- <!--<div class="side-panel-input-row">
20357
- <div class="inside-field">
20358
- <co-transaction-line-label [insideLabel]="'CONTAINER'"></co-transaction-line-label>
20359
- <co-list-of-values [collection]="containers"
20360
- [displayField]="'containerNr'"
20361
- [(model)]="request.containerId">
20362
- </co-list-of-values>
20363
- </div>
20364
- </div>-->
20419
+ <div class="side-panel-input-row">
20420
+ </div>
20365
20421
  </div>
20366
20422
  <div class="save-cancel-wrapper">
20367
20423
  <co-button [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
@@ -20418,15 +20474,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
20418
20474
  </div>
20419
20475
  </div>
20420
20476
  </div>
20421
- <!--<div class="side-panel-input-row">
20422
- <div class="inside-field">
20423
- <co-transaction-line-label [insideLabel]="'CONTAINER'"></co-transaction-line-label>
20424
- <co-list-of-values [collection]="containers"
20425
- [displayField]="'containerNr'"
20426
- [(model)]="request.containerId">
20427
- </co-list-of-values>
20428
- </div>
20429
- </div>-->
20477
+ <div class="side-panel-input-row">
20478
+ </div>
20430
20479
  </div>
20431
20480
  <div class="save-cancel-wrapper">
20432
20481
  <co-button [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
@@ -36578,17 +36627,17 @@ class TransactionArticleTextComponent {
36578
36627
  this.updateWysiwyg();
36579
36628
  }
36580
36629
  onWysiwygInput(event) {
36581
- let html = event.target.innerHTML ?? "";
36582
- if (!html.trim()) {
36630
+ let html = (event?.target?.innerHTML ?? "");
36631
+ html = html.replace(/&nbsp;/g, " ");
36632
+ const trimmed = html.trim().toLowerCase();
36633
+ if (!trimmed || trimmed === "<br>" || trimmed === "<br/>" || trimmed === "<br />") {
36583
36634
  this.transactionAddTextLineRequest.text = "<p></p>";
36584
36635
  return;
36585
36636
  }
36586
- html = html.replace(/&nbsp;/g, ' ');
36587
- html = html.replace(/<div>/g, "<p>");
36588
- html = html.replace(/<\/div>/g, "</p>");
36589
- html = html.replace(/<p><\/p>/g, "<p><br></p>");
36590
- html = html.replace(/<br><\/p>/g, "</p>");
36591
- html = html.replace(/<p><br><\/p>/g, "<p></p>");
36637
+ html = html.replace(/<div>/gi, "<p>");
36638
+ html = html.replace(/<\/div>/gi, "</p>");
36639
+ html = html.replace(/<p>\s*<br\s*\/?>\s*<\/p>/gi, "<p></p>");
36640
+ html = html.replace(/<br\s*\/?>/gi, "</p><p></p><p>");
36592
36641
  this.transactionAddTextLineRequest.text = html;
36593
36642
  }
36594
36643
  updateWysiwyg() {
@@ -36669,7 +36718,7 @@ class TransactionArticleTextComponent {
36669
36718
  (modelChange)="onSelectStandardText($event)"
36670
36719
  ></co-list-of-values>
36671
36720
  </div>
36672
-
36721
+
36673
36722
  @if (showOrderLineFields) {
36674
36723
  <div class="order-line-set-inputs-wrapper show-lines">
36675
36724
  <co-input-text [(model)]="orderLineSetDTO.amount"
@@ -36683,7 +36732,7 @@ class TransactionArticleTextComponent {
36683
36732
  <co-color-picker [(model)]="color"></co-color-picker>
36684
36733
  </div>
36685
36734
  }
36686
-
36735
+
36687
36736
  <div class="order-line-set-inputs-wrapper">
36688
36737
  @if (showOrderLineFields) {
36689
36738
  <co-input-text [(model)]="title"
@@ -36691,7 +36740,7 @@ class TransactionArticleTextComponent {
36691
36740
  [required]="showOrderLineFields"></co-input-text>
36692
36741
  }
36693
36742
  </div>
36694
-
36743
+
36695
36744
  <div class="article-text-content-wrapper">
36696
36745
  <div class="editor-wrapper">
36697
36746
  <div class="change-editor" [class.raw-active]="editRawText">
@@ -36714,7 +36763,7 @@ class TransactionArticleTextComponent {
36714
36763
  </div>
36715
36764
  </div>
36716
36765
  </div>
36717
-
36766
+
36718
36767
  <div class="option-wrapper">
36719
36768
  <div class="article-text-documents-header-wrapper">
36720
36769
  <span [textContent]="'FOR_DOCUMENTS' | localize"></span>
@@ -36731,7 +36780,7 @@ class TransactionArticleTextComponent {
36731
36780
  </div>
36732
36781
  </co-form>
36733
36782
  </co-dialog>
36734
-
36783
+
36735
36784
  <ng-template #headerTemplate>
36736
36785
  <div class="transaction-article-text-dialog-header-wrapper">
36737
36786
  @if (orderLineSetDTO) {
@@ -36780,7 +36829,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
36780
36829
  (modelChange)="onSelectStandardText($event)"
36781
36830
  ></co-list-of-values>
36782
36831
  </div>
36783
-
36832
+
36784
36833
  @if (showOrderLineFields) {
36785
36834
  <div class="order-line-set-inputs-wrapper show-lines">
36786
36835
  <co-input-text [(model)]="orderLineSetDTO.amount"
@@ -36794,7 +36843,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
36794
36843
  <co-color-picker [(model)]="color"></co-color-picker>
36795
36844
  </div>
36796
36845
  }
36797
-
36846
+
36798
36847
  <div class="order-line-set-inputs-wrapper">
36799
36848
  @if (showOrderLineFields) {
36800
36849
  <co-input-text [(model)]="title"
@@ -36802,7 +36851,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
36802
36851
  [required]="showOrderLineFields"></co-input-text>
36803
36852
  }
36804
36853
  </div>
36805
-
36854
+
36806
36855
  <div class="article-text-content-wrapper">
36807
36856
  <div class="editor-wrapper">
36808
36857
  <div class="change-editor" [class.raw-active]="editRawText">
@@ -36825,7 +36874,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
36825
36874
  </div>
36826
36875
  </div>
36827
36876
  </div>
36828
-
36877
+
36829
36878
  <div class="option-wrapper">
36830
36879
  <div class="article-text-documents-header-wrapper">
36831
36880
  <span [textContent]="'FOR_DOCUMENTS' | localize"></span>
@@ -36842,7 +36891,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
36842
36891
  </div>
36843
36892
  </co-form>
36844
36893
  </co-dialog>
36845
-
36894
+
36846
36895
  <ng-template #headerTemplate>
36847
36896
  <div class="transaction-article-text-dialog-header-wrapper">
36848
36897
  @if (orderLineSetDTO) {
@@ -39020,6 +39069,7 @@ class TransactionLineDiscountPercentageComponent extends TransactionInputLineFie
39020
39069
  [showSaveCancel]="!readonly"
39021
39070
  [readonly]="readonly"
39022
39071
  [model]="transactionLine.lineDiscount"
39072
+ [selectOnFocus]="true"
39023
39073
  ></co-input-text>
39024
39074
  `, isInline: true, dependencies: [{ kind: "component", type: i1$1.InputTextComponent, selector: "co-input-text", inputs: ["useContent", "placeholder", "align", "type", "formatPipe", "min", "max", "pattern", "digitsOnly", "excludePlusMinus", "showClearButton", "keyDownWhiteList", "showPlaceholderOnFocus", "leftIcon", "rightIcon", "leftIconData", "rightIconData", "selectOnFocus", "emptyPlace", "firstDayOfWeek", "noStyle", "hideArrowButtons", "model"], outputs: ["leftIconClick", "leftIconMouseDown", "leftIconMouseUp", "rightIconClick", "rightIconMouseDown", "rightIconMouseUp", "clearIconClick", "isFocused"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
39025
39075
  }
@@ -39035,6 +39085,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
39035
39085
  [showSaveCancel]="!readonly"
39036
39086
  [readonly]="readonly"
39037
39087
  [model]="transactionLine.lineDiscount"
39088
+ [selectOnFocus]="true"
39038
39089
  ></co-input-text>
39039
39090
  `,
39040
39091
  providers: [{
@@ -39089,6 +39140,7 @@ class TransactionLineDiscountAmountComponent extends TransactionInputLineFieldBa
39089
39140
  [showSaveCancel]="!readonly"
39090
39141
  [readonly]="readonly"
39091
39142
  [model]="transactionLine.discountAmount"
39143
+ [selectOnFocus]="true"
39092
39144
  ></co-input-text>
39093
39145
  `, isInline: true, dependencies: [{ kind: "component", type: i1$1.InputTextComponent, selector: "co-input-text", inputs: ["useContent", "placeholder", "align", "type", "formatPipe", "min", "max", "pattern", "digitsOnly", "excludePlusMinus", "showClearButton", "keyDownWhiteList", "showPlaceholderOnFocus", "leftIcon", "rightIcon", "leftIconData", "rightIconData", "selectOnFocus", "emptyPlace", "firstDayOfWeek", "noStyle", "hideArrowButtons", "model"], outputs: ["leftIconClick", "leftIconMouseDown", "leftIconMouseUp", "rightIconClick", "rightIconMouseDown", "rightIconMouseUp", "clearIconClick", "isFocused"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
39094
39146
  }
@@ -39104,6 +39156,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
39104
39156
  [showSaveCancel]="!readonly"
39105
39157
  [readonly]="readonly"
39106
39158
  [model]="transactionLine.discountAmount"
39159
+ [selectOnFocus]="true"
39107
39160
  ></co-input-text>
39108
39161
  `,
39109
39162
  providers: [{
@@ -39158,6 +39211,7 @@ class TransactionLineQuantumDiscountComponent extends TransactionInputLineFieldB
39158
39211
  [showSaveCancel]="!readonly"
39159
39212
  [readonly]="readonly"
39160
39213
  [model]="transactionLine.quantumDiscount"
39214
+ [selectOnFocus]="true"
39161
39215
  ></co-input-text>
39162
39216
  `, isInline: true, dependencies: [{ kind: "component", type: i1$1.InputTextComponent, selector: "co-input-text", inputs: ["useContent", "placeholder", "align", "type", "formatPipe", "min", "max", "pattern", "digitsOnly", "excludePlusMinus", "showClearButton", "keyDownWhiteList", "showPlaceholderOnFocus", "leftIcon", "rightIcon", "leftIconData", "rightIconData", "selectOnFocus", "emptyPlace", "firstDayOfWeek", "noStyle", "hideArrowButtons", "model"], outputs: ["leftIconClick", "leftIconMouseDown", "leftIconMouseUp", "rightIconClick", "rightIconMouseDown", "rightIconMouseUp", "clearIconClick", "isFocused"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
39163
39217
  }
@@ -39173,6 +39227,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
39173
39227
  [showSaveCancel]="!readonly"
39174
39228
  [readonly]="readonly"
39175
39229
  [model]="transactionLine.quantumDiscount"
39230
+ [selectOnFocus]="true"
39176
39231
  ></co-input-text>
39177
39232
  `,
39178
39233
  providers: [{
@@ -39227,6 +39282,7 @@ class TransactionLineSpecialDiscountComponent extends TransactionInputLineFieldB
39227
39282
  [showSaveCancel]="!readonly"
39228
39283
  [readonly]="readonly"
39229
39284
  [model]="transactionLine.specialDiscount"
39285
+ [selectOnFocus]="true"
39230
39286
  ></co-input-text>
39231
39287
  `, isInline: true, dependencies: [{ kind: "component", type: i1$1.InputTextComponent, selector: "co-input-text", inputs: ["useContent", "placeholder", "align", "type", "formatPipe", "min", "max", "pattern", "digitsOnly", "excludePlusMinus", "showClearButton", "keyDownWhiteList", "showPlaceholderOnFocus", "leftIcon", "rightIcon", "leftIconData", "rightIconData", "selectOnFocus", "emptyPlace", "firstDayOfWeek", "noStyle", "hideArrowButtons", "model"], outputs: ["leftIconClick", "leftIconMouseDown", "leftIconMouseUp", "rightIconClick", "rightIconMouseDown", "rightIconMouseUp", "clearIconClick", "isFocused"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
39232
39288
  }
@@ -39242,6 +39298,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
39242
39298
  [showSaveCancel]="!readonly"
39243
39299
  [readonly]="readonly"
39244
39300
  [model]="transactionLine.specialDiscount"
39301
+ [selectOnFocus]="true"
39245
39302
  ></co-input-text>
39246
39303
  `,
39247
39304
  providers: [{
@@ -39439,70 +39496,92 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
39439
39496
  }] } });
39440
39497
 
39441
39498
  class TransactionLineDiscountButtonComponent extends TransactionLineBaseComponent {
39499
+ transactionHeaderService;
39500
+ transactionLineService;
39501
+ transactionEventService;
39502
+ iconCacheService;
39503
+ screenConfigService;
39504
+ transactionService;
39505
+ imageService;
39506
+ dictionaryService;
39507
+ changeDetector;
39442
39508
  configNames;
39443
39509
  inputLabel = false;
39444
39510
  showClass() {
39445
39511
  return true;
39446
39512
  }
39447
39513
  showDialogDiscount = false;
39514
+ constructor(transactionHeaderService, transactionLineService, transactionEventService, iconCacheService, screenConfigService, transactionService, imageService, dictionaryService, changeDetector) {
39515
+ super(transactionHeaderService, transactionLineService, transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector);
39516
+ this.transactionHeaderService = transactionHeaderService;
39517
+ this.transactionLineService = transactionLineService;
39518
+ this.transactionEventService = transactionEventService;
39519
+ this.iconCacheService = iconCacheService;
39520
+ this.screenConfigService = screenConfigService;
39521
+ this.transactionService = transactionService;
39522
+ this.imageService = imageService;
39523
+ this.dictionaryService = dictionaryService;
39524
+ this.changeDetector = changeDetector;
39525
+ }
39448
39526
  async handleShowDialog(event) {
39449
39527
  event.preventDefault();
39450
39528
  event.stopPropagation();
39451
39529
  if (await this.lockTransaction()) {
39452
39530
  this.showDialogDiscount = true;
39531
+ this.changeDetector.detectChanges();
39453
39532
  }
39454
39533
  }
39455
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionLineDiscountButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
39534
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionLineDiscountButtonComponent, deps: [{ token: TransactionHeaderService }, { token: TransactionLineService }, { token: TransactionEventService }, { token: IconCacheService }, { token: TransactionScreenConfigurationService }, { token: TransactionService }, { token: TransactionImageService }, { token: DictionaryService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
39456
39535
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: TransactionLineDiscountButtonComponent, isStandalone: false, selector: "co-transaction-line-discount-button", inputs: { configNames: "configNames", inputLabel: "inputLabel" }, host: { properties: { "class.co-transaction-line-discount-button": "this.showClass" } }, providers: [{
39457
39536
  provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,
39458
39537
  useExisting: forwardRef(() => TransactionLineDiscountButtonComponent)
39459
39538
  }
39460
- ], usesInheritance: true, ngImport: i0, template: `
39461
- <div class="inside-field">
39462
- @if (inputLabel) {
39463
- <co-transaction-line-label [insideLabel]="'DISCOUNT'"></co-transaction-line-label>
39464
- }
39465
- <co-transaction-button class="center-align"
39466
- [hidden]="hidden"
39467
- [readonly]="readonly || forceReadonly"
39468
- [class.discount]="!!transactionLine.lineTotalDiscountAmount"
39469
- [label]="!!transactionLine.lineTotalDiscountAmount ? ('- ' + (transactionLine.lineTotalDiscountAmount | coCurrency: true)) : ('' | localize)"
39470
- [iconData]="iconCacheService.getIcon(icons.LightEuroSignMinus)"
39471
- (click)="handleShowDialog($event)"
39472
- ></co-transaction-button>
39473
- </div>
39474
- @if (showDialogDiscount) {
39475
- <co-dialog-transaction-line-discount
39476
- [configNames]="configNames"
39477
- (close)="showDialogDiscount = false"
39478
- ></co-dialog-transaction-line-discount>
39479
- }
39539
+ ], usesInheritance: true, ngImport: i0, template: `
39540
+ <div class="inside-field">
39541
+ @if (inputLabel) {
39542
+ <co-transaction-line-label [insideLabel]="'DISCOUNT'"></co-transaction-line-label>
39543
+ }
39544
+ <co-transaction-button class="center-align"
39545
+ [hidden]="hidden"
39546
+ [readonly]="readonly || forceReadonly"
39547
+ [class.discount]="!!transactionLine.lineTotalDiscountAmount"
39548
+ [label]="!!transactionLine.lineTotalDiscountAmount ? ('- ' + (transactionLine.lineTotalDiscountAmount | coCurrency: true)) : ('' | localize)"
39549
+ [iconData]="iconCacheService.getIcon(icons.LightEuroSignMinus)"
39550
+ (click)="handleShowDialog($event)"
39551
+ ></co-transaction-button>
39552
+ </div>
39553
+ @if (showDialogDiscount) {
39554
+ <co-dialog-transaction-line-discount
39555
+ [configNames]="configNames"
39556
+ (close)="showDialogDiscount = false"
39557
+ ></co-dialog-transaction-line-discount>
39558
+ }
39480
39559
  `, isInline: true, dependencies: [{ kind: "component", type: DialogTransactionLineDiscountComponent, selector: "co-dialog-transaction-line-discount", inputs: ["configNames"] }, { kind: "component", type: TransactionButtonComponent, selector: "co-transaction-button", inputs: ["label", "title", "statusColor", "readonly", "hidden", "iconData", "rightIconData", "showCheckMarkLoader", "checkMarkOverlayVisible", "inputLabel", "insideLabel"], outputs: ["iconClicked"] }, { kind: "component", type: TransactionLineLabelComponent, selector: "co-transaction-line-label", inputs: ["insideLabel"] }, { kind: "pipe", type: CoCurrencyPipe, name: "coCurrency" }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
39481
39560
  }
39482
39561
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionLineDiscountButtonComponent, decorators: [{
39483
39562
  type: Component,
39484
39563
  args: [{
39485
39564
  selector: "co-transaction-line-discount-button",
39486
- template: `
39487
- <div class="inside-field">
39488
- @if (inputLabel) {
39489
- <co-transaction-line-label [insideLabel]="'DISCOUNT'"></co-transaction-line-label>
39490
- }
39491
- <co-transaction-button class="center-align"
39492
- [hidden]="hidden"
39493
- [readonly]="readonly || forceReadonly"
39494
- [class.discount]="!!transactionLine.lineTotalDiscountAmount"
39495
- [label]="!!transactionLine.lineTotalDiscountAmount ? ('- ' + (transactionLine.lineTotalDiscountAmount | coCurrency: true)) : ('' | localize)"
39496
- [iconData]="iconCacheService.getIcon(icons.LightEuroSignMinus)"
39497
- (click)="handleShowDialog($event)"
39498
- ></co-transaction-button>
39499
- </div>
39500
- @if (showDialogDiscount) {
39501
- <co-dialog-transaction-line-discount
39502
- [configNames]="configNames"
39503
- (close)="showDialogDiscount = false"
39504
- ></co-dialog-transaction-line-discount>
39505
- }
39565
+ template: `
39566
+ <div class="inside-field">
39567
+ @if (inputLabel) {
39568
+ <co-transaction-line-label [insideLabel]="'DISCOUNT'"></co-transaction-line-label>
39569
+ }
39570
+ <co-transaction-button class="center-align"
39571
+ [hidden]="hidden"
39572
+ [readonly]="readonly || forceReadonly"
39573
+ [class.discount]="!!transactionLine.lineTotalDiscountAmount"
39574
+ [label]="!!transactionLine.lineTotalDiscountAmount ? ('- ' + (transactionLine.lineTotalDiscountAmount | coCurrency: true)) : ('' | localize)"
39575
+ [iconData]="iconCacheService.getIcon(icons.LightEuroSignMinus)"
39576
+ (click)="handleShowDialog($event)"
39577
+ ></co-transaction-button>
39578
+ </div>
39579
+ @if (showDialogDiscount) {
39580
+ <co-dialog-transaction-line-discount
39581
+ [configNames]="configNames"
39582
+ (close)="showDialogDiscount = false"
39583
+ ></co-dialog-transaction-line-discount>
39584
+ }
39506
39585
  `,
39507
39586
  providers: [{
39508
39587
  provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,
@@ -39512,7 +39591,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
39512
39591
  encapsulation: ViewEncapsulation.None,
39513
39592
  standalone: false
39514
39593
  }]
39515
- }], propDecorators: { configNames: [{
39594
+ }], ctorParameters: () => [{ type: TransactionHeaderService }, { type: TransactionLineService }, { type: TransactionEventService }, { type: IconCacheService }, { type: TransactionScreenConfigurationService }, { type: TransactionService }, { type: TransactionImageService }, { type: DictionaryService }, { type: i0.ChangeDetectorRef }], propDecorators: { configNames: [{
39516
39595
  type: Input
39517
39596
  }], inputLabel: [{
39518
39597
  type: Input
@@ -58081,6 +58160,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
58081
58160
  }] } });
58082
58161
 
58083
58162
  class TransactionSearchPurchaseOrderTileComponent extends TransactionSearchTileBaseComponent {
58163
+ iconCacheService;
58164
+ changeDetection;
58165
+ _eventService;
58084
58166
  statusBarConfigNames = {
58085
58167
  statusBarBT: this.cfgNames.StatusBarBT,
58086
58168
  statusBarIB: this.cfgNames.StatusBarIB,
@@ -58089,7 +58171,70 @@ class TransactionSearchPurchaseOrderTileComponent extends TransactionSearchTileB
58089
58171
  statusBarBG: this.cfgNames.StatusBarBG,
58090
58172
  statusBarFC: this.cfgNames.StatusBarFC
58091
58173
  };
58092
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchPurchaseOrderTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
58174
+ _containerMode;
58175
+ _removalMode;
58176
+ _addToContainerRequest;
58177
+ _removeFromContainerRequest;
58178
+ _subs = [];
58179
+ constructor(iconCacheService, changeDetection, _eventService) {
58180
+ super(iconCacheService, changeDetection);
58181
+ this.iconCacheService = iconCacheService;
58182
+ this.changeDetection = changeDetection;
58183
+ this._eventService = _eventService;
58184
+ }
58185
+ ngOnInit() {
58186
+ this._subs.push(this._eventService.transportContainerChosen.subscribe((container) => {
58187
+ this._containerMode = (container !== null && container !== undefined);
58188
+ if (!this._containerMode) {
58189
+ this.transaction.selected = false;
58190
+ }
58191
+ }), this._eventService.removalModeContainerInfo.subscribe((containerInfo) => {
58192
+ this._removalMode = (containerInfo !== null && containerInfo !== undefined);
58193
+ this._determineSelected();
58194
+ }), this._eventService.transportTransactionRequestUpdated.subscribe((request) => {
58195
+ this._addToContainerRequest = request;
58196
+ this._determineSelected();
58197
+ }), this._eventService.transportTransactionRemoveRequestUpdated.subscribe((request) => {
58198
+ this._removeFromContainerRequest = request;
58199
+ this._determineSelected();
58200
+ }));
58201
+ }
58202
+ ngOnDestroy() {
58203
+ this._subs.forEach(sub => sub.unsubscribe());
58204
+ this._subs.forEach(sub => sub.unsubscribe());
58205
+ }
58206
+ _determineSelected() {
58207
+ //We only need to take into account special conditions when in container mode
58208
+ if (this._containerMode) {
58209
+ if (this._removalMode) {
58210
+ this._determineSelectedBasedOnRemoveRequest();
58211
+ }
58212
+ else {
58213
+ this._determineSelectedBasedOnRequest();
58214
+ }
58215
+ }
58216
+ }
58217
+ _determineSelectedBasedOnRequest() {
58218
+ let transInfo = undefined;
58219
+ if (this._addToContainerRequest && (this._addToContainerRequest.transactionRequests.length > 0)) {
58220
+ transInfo = this._addToContainerRequest.transactionRequests.find(req => (this.transaction.transId === req.transId));
58221
+ this.transaction.selected = (transInfo !== undefined);
58222
+ }
58223
+ else {
58224
+ this.transaction.selected = false;
58225
+ }
58226
+ }
58227
+ _determineSelectedBasedOnRemoveRequest() {
58228
+ let transInfo = undefined;
58229
+ if (this._removeFromContainerRequest && (this._removeFromContainerRequest.transactionRequests.length > 0)) {
58230
+ transInfo = this._removeFromContainerRequest.transactionRequests.find(req => (this.transaction.transId === req.transId));
58231
+ this.transaction.selected = (transInfo !== undefined);
58232
+ }
58233
+ else {
58234
+ this.transaction.selected = false;
58235
+ }
58236
+ }
58237
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchPurchaseOrderTileComponent, deps: [{ token: IconCacheService }, { token: i0.ChangeDetectorRef }, { token: TransactionEventService }], target: i0.ɵɵFactoryTarget.Component });
58093
58238
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: TransactionSearchPurchaseOrderTileComponent, isStandalone: false, selector: "co-transaction-search-purchase-order-tile", usesInheritance: true, ngImport: i0, template: `
58094
58239
  <div class="transaction-tile-wrapper" (click)="onTransactionClick(transaction)">
58095
58240
  <div [class]="'type-indicator color-' + transaction.transactionKind"></div>
@@ -58105,7 +58250,7 @@ class TransactionSearchPurchaseOrderTileComponent extends TransactionSearchTileB
58105
58250
  <co-icon [iconData]="iconCacheService.getIcon(icons.StoreLight)" class="store-icon"></co-icon>
58106
58251
  <div class="text"><span [textContent]="transaction.branchNr"></span></div>
58107
58252
  </div>
58108
-
58253
+
58109
58254
  <div class="tile-upper-right">
58110
58255
  <div class="status-bar-wrapper" (click)="$event.stopPropagation()">
58111
58256
  <co-transaction-statusbar
@@ -58188,7 +58333,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
58188
58333
  <co-icon [iconData]="iconCacheService.getIcon(icons.StoreLight)" class="store-icon"></co-icon>
58189
58334
  <div class="text"><span [textContent]="transaction.branchNr"></span></div>
58190
58335
  </div>
58191
-
58336
+
58192
58337
  <div class="tile-upper-right">
58193
58338
  <div class="status-bar-wrapper" (click)="$event.stopPropagation()">
58194
58339
  <co-transaction-statusbar
@@ -58254,7 +58399,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
58254
58399
  encapsulation: ViewEncapsulation.None,
58255
58400
  standalone: false
58256
58401
  }]
58257
- }] });
58402
+ }], ctorParameters: () => [{ type: IconCacheService }, { type: i0.ChangeDetectorRef }, { type: TransactionEventService }] });
58258
58403
 
58259
58404
  class TransactionSearchPurchaseOrderTileModule {
58260
58405
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchPurchaseOrderTileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -58696,43 +58841,244 @@ var BatchDeliveryCategory;
58696
58841
  })(BatchDeliveryCategory || (BatchDeliveryCategory = {}));
58697
58842
 
58698
58843
  class TransactionNotificationLineSelectionService {
58699
- connector;
58700
- linesForTransportNotificationList = [];
58701
- constructor(connector) {
58702
- this.connector = connector;
58844
+ _connector;
58845
+ _eventService;
58846
+ _subs = [];
58847
+ _setMultipleTransportNotificationsInContainerOnSelectedLinesRequest = new SetMultipleTransportNotificationsInContainerOnSelectedLinesRequest();
58848
+ _removeFromContainerRequest = new RemoveFromContainerRequest();
58849
+ _removalContainerInfo;
58850
+ constructor(_connector, _eventService) {
58851
+ this._connector = _connector;
58852
+ this._eventService = _eventService;
58853
+ this._subs.push(this._eventService.transportContainerChosen.subscribe((container) => {
58854
+ if (container) {
58855
+ this.setContainerOnRequests(container);
58856
+ }
58857
+ else {
58858
+ this.fullyResetRequests();
58859
+ }
58860
+ }), this._eventService.removalModeContainerInfo.subscribe((containerInfo) => {
58861
+ this._removalContainerInfo = containerInfo;
58862
+ this._resetRequestsExceptForContainer();
58863
+ }), this._eventService.transportTransactionSelectionChanged.subscribe((data) => {
58864
+ this.processTransactionSelection(data);
58865
+ }), this._eventService.transportTransactionLineSelectionChanged.subscribe((data) => {
58866
+ this.processTransactionLineSelection(data.transId, data.line);
58867
+ }), this._eventService.fillContainerRequested.subscribe(() => {
58868
+ this.addRequestedLinesToContainer();
58869
+ }), this._eventService.removeFromContainerRequested.subscribe(() => {
58870
+ this.removeRequestedLinesFromContainer();
58871
+ }));
58872
+ }
58873
+ ngOnDestroy() {
58874
+ this._subs.forEach(sub => sub.unsubscribe());
58875
+ }
58876
+ setContainerOnRequests(container) {
58877
+ if (container && container.containerId) {
58878
+ this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest.containerId = container.containerId;
58879
+ this._removeFromContainerRequest.containerId = container.containerId;
58880
+ }
58881
+ else {
58882
+ this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest.containerId = null;
58883
+ this._removeFromContainerRequest.containerId = null;
58884
+ }
58885
+ this._eventService.transportTransactionRequestUpdated.next(this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest);
58886
+ this._eventService.transportTransactionRemoveRequestUpdated.next(this._removeFromContainerRequest);
58887
+ }
58888
+ fullyResetRequests() {
58889
+ this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest = new SetMultipleTransportNotificationsInContainerOnSelectedLinesRequest();
58890
+ this._eventService.transportTransactionRequestUpdated.next(this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest);
58891
+ this._removeFromContainerRequest = new RemoveFromContainerRequest();
58892
+ this._eventService.transportTransactionRemoveRequestUpdated.next(this._removeFromContainerRequest);
58893
+ }
58894
+ async processTransactionSelection(searchTransaction) {
58895
+ if (this._removalContainerInfo === null || this._removalContainerInfo === undefined) {
58896
+ if (searchTransaction.selected) {
58897
+ this.addAvailableLinesFromTransactionToRequest(searchTransaction);
58898
+ }
58899
+ else {
58900
+ this.removeAllLinesFromTransactionFromRequest(searchTransaction);
58901
+ }
58902
+ }
58903
+ else {
58904
+ if (searchTransaction.selected) {
58905
+ this.addTransactionToRemoveRequest(searchTransaction);
58906
+ }
58907
+ else {
58908
+ this.removeAllLinesFromRemoveRequest(searchTransaction);
58909
+ }
58910
+ }
58703
58911
  }
58704
- async addAvailableLinesFromOrderToRequest(searchTransaction) {
58705
- if (searchTransaction.quantityTransportNotification !== searchTransaction.quantityTotal) {
58706
- const transactionToAdd = await this.connector.getTransactionById(searchTransaction.transId);
58707
- const transactionLinesToAdd = transactionToAdd.transactionLines.filter(line => (line.articleLineStatus ? (line.articleLineStatus.quantityTransportNotification !== line.amount) : false));
58912
+ async addAvailableLinesFromTransactionToRequest(searchTransaction) {
58913
+ if (!searchTransaction.isFullyTransportNotified) {
58914
+ this.removeAllLinesFromTransactionFromRequest(searchTransaction);
58915
+ let transRequest = this._createNewTransactionRequest(searchTransaction.transId);
58916
+ const transactionToAdd = await this._connector.getTransactionById(searchTransaction.transId);
58917
+ const transactionLinesToAdd = transactionToAdd.transactionLines.filter(line => (line.articleLineStatus ? (!line.articleLineStatus.isFullyTransportNotified) : false));
58708
58918
  transactionLinesToAdd.forEach(line => {
58709
- const request = new TransportNotificationLineSelectRequest();
58710
- request.lineNr = line.lineNr;
58711
- request.quantity = line.amount - line.articleLineStatus.quantityTransportNotification;
58712
- this.linesForTransportNotificationList.push(request);
58919
+ transRequest.selectedLines.push(this._createLineRequest(line));
58713
58920
  });
58921
+ this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest.transactionRequests.push(transRequest);
58922
+ this._eventService.transportTransactionRequestUpdated.next(this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest);
58923
+ }
58924
+ }
58925
+ removeAllLinesFromTransactionFromRequest(searchTransaction) {
58926
+ const index = this._findTransactionRequestIndex(searchTransaction.transId);
58927
+ if (index >= 0) {
58928
+ this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest.transactionRequests.splice(index, 1);
58929
+ this._eventService.transportTransactionRequestUpdated.next(this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest);
58930
+ }
58931
+ }
58932
+ async addTransactionToRemoveRequest(searchTransaction) {
58933
+ this.removeAllLinesFromRemoveRequest(searchTransaction);
58934
+ let transRequest = this._createNewRemoveTransactionRequest(searchTransaction.transId);
58935
+ this._removeFromContainerRequest.transactionRequests.push(transRequest);
58936
+ this._eventService.transportTransactionRemoveRequestUpdated.next(this._removeFromContainerRequest);
58937
+ }
58938
+ removeAllLinesFromRemoveRequest(searchTransaction) {
58939
+ const index = this._findTransactionRemoveRequestIndex(searchTransaction.transId);
58940
+ if (index >= 0) {
58941
+ this._removeFromContainerRequest.transactionRequests.splice(index, 1);
58942
+ this._eventService.transportTransactionRemoveRequestUpdated.next(this._removeFromContainerRequest);
58943
+ }
58944
+ }
58945
+ async processTransactionLineSelection(transId, line) {
58946
+ if (this._removalContainerInfo === null || this._removalContainerInfo === undefined) {
58947
+ if (line && line.selected) {
58948
+ this.addLineToRequest(line, transId);
58949
+ }
58950
+ else {
58951
+ this.removeLineFromRequest(line, transId);
58952
+ }
58953
+ }
58954
+ else {
58955
+ if (line && line.selected) {
58956
+ this.addLineToRemoveRequest(line, transId);
58957
+ }
58958
+ else {
58959
+ this.removeLineFromRemoveRequest(line, transId);
58960
+ }
58961
+ }
58962
+ }
58963
+ addLineToRequest(line, transId) {
58964
+ if (!line.articleLineStatus.isFullyTransportNotified) {
58965
+ const index = this._findTransactionRequestIndex(transId);
58966
+ if (index < 0) {
58967
+ let transRequest = this._createNewTransactionRequest(transId);
58968
+ transRequest.selectedLines.push(this._createLineRequest(line));
58969
+ this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest.transactionRequests.push(transRequest);
58970
+ }
58971
+ else {
58972
+ this._removeLineFromTransactionRequest(line.lineNr, this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest.transactionRequests[index]);
58973
+ this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest.transactionRequests[index].selectedLines.push(this._createLineRequest(line));
58974
+ }
58975
+ this._eventService.transportTransactionRequestUpdated.next(this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest);
58976
+ }
58977
+ }
58978
+ removeLineFromRequest(line, transId) {
58979
+ const index = this._findTransactionRequestIndex(transId);
58980
+ if (index >= 0) {
58981
+ this._removeLineFromTransactionRequest(line.lineNr, this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest.transactionRequests[index]);
58982
+ if (this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest.transactionRequests[index].selectedLines.length === 0) {
58983
+ this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest.transactionRequests.splice(index, 1);
58984
+ }
58985
+ this._eventService.transportTransactionRequestUpdated.next(this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest);
58986
+ }
58987
+ }
58988
+ addLineToRemoveRequest(line, transId) {
58989
+ const index = this._findTransactionRemoveRequestIndex(transId);
58990
+ if (index < 0) {
58991
+ let transRequest = this._createNewRemoveTransactionRequest(transId);
58992
+ transRequest.selectedLines.push(line.lineNr);
58993
+ this._removeFromContainerRequest.transactionRequests.push(transRequest);
58994
+ }
58995
+ else {
58996
+ let lineIndex = this._findLineRemoveRequestIndex(line.lineNr, this._removeFromContainerRequest.transactionRequests[index]);
58997
+ if (lineIndex < 0) {
58998
+ this._removeFromContainerRequest.transactionRequests[index].selectedLines.push(line.lineNr);
58999
+ }
59000
+ }
59001
+ this._eventService.transportTransactionRemoveRequestUpdated.next(this._removeFromContainerRequest);
59002
+ }
59003
+ removeLineFromRemoveRequest(line, transId) {
59004
+ const index = this._findTransactionRemoveRequestIndex(transId);
59005
+ if (index >= 0) {
59006
+ this._removeLineFromRemoveRequest(line.lineNr, this._removeFromContainerRequest.transactionRequests[index]);
59007
+ if (this._removeFromContainerRequest.transactionRequests[index].selectedLines.length === 0) {
59008
+ this._removeFromContainerRequest.transactionRequests.splice(index, 1);
59009
+ }
59010
+ this._eventService.transportTransactionRemoveRequestUpdated.next(this._removeFromContainerRequest);
59011
+ }
59012
+ }
59013
+ async addRequestedLinesToContainer() {
59014
+ const success = await this._connector.setMultipleTransportNotificationInContainerOnSelectedLines(this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest);
59015
+ if (success) {
59016
+ this._resetAddRequestExceptForContainer();
59017
+ this._eventService.fillContainerSuccess.next();
59018
+ }
59019
+ }
59020
+ async removeRequestedLinesFromContainer() {
59021
+ const success = await this._connector.removeFromContainerWithSelectedLines(this._removeFromContainerRequest);
59022
+ if (success) {
59023
+ this._resetRemoveRequestExceptForContainer();
59024
+ this._eventService.removeFromContainerSuccess.next();
59025
+ }
59026
+ }
59027
+ _removeLineFromTransactionRequest(lineNr, request) {
59028
+ const index = this._findLineRequestIndex(lineNr, request);
59029
+ if (index >= 0) {
59030
+ request.selectedLines.splice(index, 1);
58714
59031
  }
58715
59032
  }
58716
- removeAllLinesFromOrderFromRequest(searchTransaction) {
58717
- //Check if transId/number is in the existing request Object.
58718
- //If so remove the entry for this transaction including all associated lines from the request.
59033
+ _removeLineFromRemoveRequest(lineNr, request) {
59034
+ const index = this._findLineRemoveRequestIndex(lineNr, request);
59035
+ if (index >= 0) {
59036
+ request.selectedLines.splice(index, 1);
59037
+ }
59038
+ }
59039
+ _findTransactionRequestIndex(transId) {
59040
+ return this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest.transactionRequests.findIndex(req => req.transId === transId);
59041
+ }
59042
+ _findTransactionRemoveRequestIndex(transId) {
59043
+ return this._removeFromContainerRequest.transactionRequests.findIndex(req => req.transId === transId);
59044
+ }
59045
+ _createNewTransactionRequest(transId) {
59046
+ let transRequest = new SetTransportNotificationInContainerOnTransactionRequest();
59047
+ transRequest.transId = transId;
59048
+ return transRequest;
58719
59049
  }
58720
- addLineToRequest() {
58721
- //Check if entry for the transaction the line is in already exists.
58722
- //If not make transaction entry and add it.
58723
- //Make request entry for line and add this under the correct transaction entry
59050
+ _createNewRemoveTransactionRequest(transId) {
59051
+ let transRequest = new RemoveTransactionFromContainerRequest();
59052
+ transRequest.transId = transId;
59053
+ return transRequest;
58724
59054
  }
58725
- removeLineFromRequest() {
58726
- //Check if entry for the transaction the line is in already exists.
58727
- //If not, do nothing
58728
- //If so. Find the correct line and remove it.
59055
+ _findLineRequestIndex(lineNr, request) {
59056
+ return request.selectedLines.findIndex(req => req.lineNr === lineNr);
58729
59057
  }
58730
- adjustLineInRequest() {
58731
- //Check if entry for the transaction and the line exist
58732
- //If so set current transline values to the existing request.
58733
- //If so. Find the correct line and remove it.
59058
+ _findLineRemoveRequestIndex(lineNr, request) {
59059
+ return request.selectedLines.findIndex(req => req === lineNr);
58734
59060
  }
58735
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionNotificationLineSelectionService, deps: [{ token: TransactionConnectorService }], target: i0.ɵɵFactoryTarget.Injectable });
59061
+ _createLineRequest(line) {
59062
+ let lineRequest = new TransportNotificationInContainerLineSelectRequest();
59063
+ lineRequest.lineNr = line.lineNr;
59064
+ lineRequest.quantity = (line.articleLineStatus && line.articleLineStatus.quantityTransportNotification) ?
59065
+ line.amount - line.articleLineStatus.quantityTransportNotification : line.amount;
59066
+ lineRequest.reference = (line.reference);
59067
+ return lineRequest;
59068
+ }
59069
+ _resetRequestsExceptForContainer() {
59070
+ this._resetAddRequestExceptForContainer();
59071
+ this._resetRemoveRequestExceptForContainer();
59072
+ }
59073
+ _resetAddRequestExceptForContainer() {
59074
+ this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest.transactionRequests = [];
59075
+ this._eventService.transportTransactionRequestUpdated.next(this._setMultipleTransportNotificationsInContainerOnSelectedLinesRequest);
59076
+ }
59077
+ _resetRemoveRequestExceptForContainer() {
59078
+ this._removeFromContainerRequest.transactionRequests = [];
59079
+ this._eventService.transportTransactionRemoveRequestUpdated.next(this._removeFromContainerRequest);
59080
+ }
59081
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionNotificationLineSelectionService, deps: [{ token: TransactionConnectorService }, { token: TransactionEventService }], target: i0.ɵɵFactoryTarget.Injectable });
58736
59082
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionNotificationLineSelectionService, providedIn: "root" });
58737
59083
  }
58738
59084
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionNotificationLineSelectionService, decorators: [{
@@ -58740,7 +59086,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
58740
59086
  args: [{
58741
59087
  providedIn: "root"
58742
59088
  }]
58743
- }], ctorParameters: () => [{ type: TransactionConnectorService }] });
59089
+ }], ctorParameters: () => [{ type: TransactionConnectorService }, { type: TransactionEventService }] });
58744
59090
 
58745
59091
  class QuickSendButtonComponent {
58746
59092
  iconCacheService;
@@ -59812,233 +60158,840 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
59812
60158
  type: Output
59813
60159
  }] } });
59814
60160
 
59815
- class TransactionSearchResultComponent {
59816
- searchService;
59817
- screenConfigService;
59818
- transactionService;
59819
- transactionEventService;
60161
+ class TransactionContainerChoiceDialogComponent {
59820
60162
  iconCacheService;
59821
- _changeDetectorRef;
59822
- _deliveryPlanningService;
59823
- _transportSelectionService;
59824
- BatchDeliveryCategory = BatchDeliveryCategory;
59825
- icon = Icon;
59826
- contentViewModes = ContentViewMode;
59827
- draggableTransactions;
59828
- showCheckbox;
59829
- batchCategory;
59830
- extendedTransactionSearch = false;
59831
- set activeContentViewMode(value) {
59832
- this._activeContentViewMode = value;
59833
- }
59834
- get activeContentViewMode() {
59835
- return this._activeContentViewMode;
59836
- }
59837
- set fullscreen(value) {
59838
- this._fullscreen = value;
59839
- }
59840
- get fullscreen() {
59841
- return this._fullscreen;
59842
- }
59843
- transactionClick = new EventEmitter();
59844
- containerChosen = new EventEmitter();
60163
+ transactionService;
59845
60164
  showClass() {
59846
60165
  return true;
59847
60166
  }
59848
- selectedTransaction;
59849
- screenConfigLoaded = false;
59850
- batchPageActive = false;
59851
- showProcessOrdersLoader = false;
59852
- showShippingMethodDialog = false;
59853
- showDatePickDialog = false;
59854
- showBatchProcessDialog = false;
59855
- checkedAvailability = false;
59856
- selectedTransactions = [];
59857
- batchTransactionSendingRequest = new BatchTransactionSendingRequest();
59858
- batchJobProgress = [];
59859
- chosenContainer;
59860
- _activeContentViewMode;
59861
- _fullscreen;
59862
- _transactionKind;
59863
- _subs = [];
59864
- constructor(searchService, screenConfigService, transactionService, transactionEventService, iconCacheService, _changeDetectorRef, _deliveryPlanningService, _transportSelectionService) {
59865
- this.searchService = searchService;
59866
- this.screenConfigService = screenConfigService;
59867
- this.transactionService = transactionService;
59868
- this.transactionEventService = transactionEventService;
60167
+ containerChoiceMade = new EventEmitter();
60168
+ cancelClicked = new EventEmitter();
60169
+ icons = Icon;
60170
+ containers = [];
60171
+ containerTypes = [];
60172
+ distributionValues = [{ text: "Volume", value: "V" }, { text: "Price", value: "P" }];
60173
+ currencies = [];
60174
+ chosenContainer = new Container();
60175
+ chosenContainerType;
60176
+ chosenContainerInfo;
60177
+ chosenCostDist;
60178
+ chosenCurrency;
60179
+ newContainerModeActive = false;
60180
+ constructor(iconCacheService, transactionService) {
59869
60181
  this.iconCacheService = iconCacheService;
59870
- this._changeDetectorRef = _changeDetectorRef;
59871
- this._deliveryPlanningService = _deliveryPlanningService;
59872
- this._transportSelectionService = _transportSelectionService;
60182
+ this.transactionService = transactionService;
59873
60183
  }
59874
60184
  ngOnInit() {
59875
- this._subs.push(this.searchService.searchRequestSet.subscribe((request) => {
59876
- if (request) {
59877
- this.screenConfigService.loadConfig([request.transactionKind]);
59878
- this._transactionKind = request.transactionKind;
59879
- this.batchPageActive = request.transactionKind === 'V' || request.transactionKind === 'I' || request.transactionKind === 'S' || request.transactionKind === 'L';
59880
- }
59881
- }), this.screenConfigService.configSet.subscribe((config) => {
59882
- if (config && config.length > 0) {
59883
- this.screenConfigLoaded = true;
59884
- }
59885
- }), this.searchService.resultsUpdated.subscribe(() => {
59886
- if (this.batchPageActive && this.searchService.showBatchOptions) {
59887
- this.markSelectedTransactions();
59888
- }
59889
- }), this.transactionEventService.selectedTransportDay.subscribe(async (transportDay) => {
59890
- const filteredTransactions = await Promise.all(this.searchService.transactions.map(async (order) => {
59891
- const planOrder = await this.transactionService.getPlanOrder(order.transId);
59892
- const isAvailable = await this._deliveryPlanningService.deliveryMethodAvailabilityCheck(planOrder, transportDay) &&
59893
- await this._deliveryPlanningService.districtAvailabilityCheck(planOrder, transportDay) &&
59894
- transportDay.availableOnDate;
59895
- return isAvailable ? order : null;
59896
- }));
59897
- this.searchService.transactions = filteredTransactions.filter((order) => order !== null);
59898
- }), this.transactionEventService.resetTransportDayFilteredOrders.subscribe(async () => await this.searchService.searchTransactions()));
60185
+ this.getCollections();
59899
60186
  }
59900
- ngOnChanges(changes) {
59901
- if (changes['batchCategory']) {
59902
- this.batchCategory = changes['batchCategory'].currentValue;
59903
- this._showBatchOptions(this.batchCategory);
59904
- if (changes['batchCategory'].previousValue !== changes['batchCategory'].currentValue) {
59905
- this._clearSelected();
59906
- }
60187
+ containerChosen() {
60188
+ if (this.chosenContainer && this.chosenContainer.containerId) {
60189
+ this.transactionService.getContainerInfo(this.chosenContainer.containerId).then(info => {
60190
+ this.chosenContainerInfo = info;
60191
+ });
60192
+ this.setChosenContainerTypeFromContainer();
60193
+ this.setChosenCostDistFromContainer();
60194
+ this.setChosenCurrencyFromContainer();
59907
60195
  }
59908
60196
  }
59909
- ngOnDestroy() {
59910
- this._subs.forEach(s => s.unsubscribe());
59911
- }
59912
- onTransactionClick(transaction) {
59913
- this.selectedTransaction = transaction;
59914
- this.transactionClick.emit(transaction);
59915
- }
59916
- onSelectedClick(transaction) {
59917
- //Eventually all of these selection processes need to work via specialized services instead of storing their data locally in this component.
59918
- //For now were doing a 'testrun' with the TransportNotification functionality as the existing system will not suffice for the requested features.
59919
- if (this.batchCategory !== BatchDeliveryCategory.Transport) {
59920
- if (transaction.selected) {
59921
- this.selectedTransactions.push(transaction);
59922
- }
59923
- else {
59924
- const transId = transaction.transId;
59925
- const index = this.selectedTransactions.findIndex(transaction => transaction.transId === transId);
59926
- if (index !== -1) {
59927
- this.selectedTransactions.splice(index, 1);
59928
- }
59929
- }
59930
- }
59931
- else {
59932
- if (transaction.selected) {
59933
- this._transportSelectionService.addAvailableLinesFromOrderToRequest(transaction);
59934
- }
59935
- else {
59936
- this._transportSelectionService.removeAllLinesFromOrderFromRequest(transaction);
59937
- }
60197
+ containerTypeChosen() {
60198
+ if (this.chosenContainer) {
60199
+ this.setChosenContainerTypeToContainer();
59938
60200
  }
59939
60201
  }
59940
- onPreviousClick() {
59941
- this.searchService.currentPage -= 1;
60202
+ costDistChosen() {
60203
+ if (this.chosenContainer) {
60204
+ this.setChosenCostDistToContainer();
60205
+ }
59942
60206
  }
59943
- onNextClick() {
59944
- this.searchService.currentPage += 1;
60207
+ currencyChosen() {
60208
+ if (this.chosenContainer) {
60209
+ this.setChosenCurrencyToContainer();
60210
+ }
59945
60211
  }
59946
- onPageClick(pageNr) {
59947
- this.searchService.currentPage = pageNr;
60212
+ newContainerButtonClicked() {
60213
+ this.chosenContainer = new Container();
60214
+ this.setChosenContainerTypeFromContainer();
60215
+ this.setChosenCostDistFromContainer();
60216
+ this.setChosenCurrencyFromContainer();
60217
+ this.chosenContainerInfo = null;
60218
+ this.newContainerModeActive = true;
59948
60219
  }
59949
- markSelectedTransactions() {
59950
- if (this.searchService.resultsUpdated) {
59951
- this.searchService.transactions.forEach(transaction => {
59952
- const matchingObject = this.selectedTransactions.find(selectedTransaction => selectedTransaction.transId === transaction.transId);
59953
- if (matchingObject) {
59954
- transaction.selected = true;
59955
- }
59956
- });
60220
+ async saveButtonClicked() {
60221
+ let result;
60222
+ if (this.newContainerModeActive && this.chosenContainer && !this.chosenContainer.containerId) {
60223
+ result = await this.transactionService.createContainer(this.chosenContainer);
59957
60224
  }
59958
- }
59959
- async dragStarted(ev, transaction) {
59960
- this._deliveryPlanningService.dragging = true;
59961
- this._deliveryPlanningService.currentTransId = transaction.transId;
59962
- ev.dataTransfer.setData('text', transaction.transId);
59963
- if (!this.checkedAvailability) {
59964
- let planOrder = await this.transactionService.getPlanOrder(transaction.transId);
59965
- this._deliveryPlanningService.availabilityCheckEvent.emit(planOrder);
59966
- this.checkedAvailability = true;
60225
+ else {
60226
+ result = await this.transactionService.updateContainer(this.chosenContainer);
59967
60227
  }
59968
- }
59969
- dragEnd(ev) {
59970
- this._deliveryPlanningService.dragging = false;
59971
- this._deliveryPlanningService.currentTransId = undefined;
59972
- if (this.checkedAvailability) {
59973
- this.checkedAvailability = false;
59974
- this._deliveryPlanningService.availabilityResetEvent.emit();
59975
- this._changeDetectorRef.markForCheck();
59976
- this._changeDetectorRef.detectChanges();
60228
+ if (result && result.containerId) {
60229
+ this.containerChoiceMade.emit(result);
59977
60230
  }
59978
60231
  }
59979
- checkIfSelected() {
59980
- return this.selectedTransactions.some(item => item.selected);
60232
+ cancelButtonClicked() {
60233
+ this.cancelClicked.emit();
59981
60234
  }
59982
- checkIfAllSelected() {
59983
- return this.searchService.transactions.every(item => item.selected);
60235
+ getCollections() {
60236
+ this.transactionService.getContainers().then(containerList => {
60237
+ this.containers = containerList;
60238
+ });
60239
+ this.transactionService.getContainerTypes().then(types => {
60240
+ this.containerTypes = types;
60241
+ this.setChosenContainerTypeToContainer();
60242
+ });
60243
+ this.transactionService.getCurrencies().then(cur => {
60244
+ this.currencies = cur;
60245
+ this.setChosenCurrencyFromContainer();
60246
+ });
59984
60247
  }
59985
- showAdditionalOptionsIfNeeded() {
59986
- const selectedTransactionsIds = this.selectedTransactions.map(transaction => transaction.transId);
59987
- if (this.batchCategory === BatchDeliveryCategory.Approval) {
59988
- this._setAllSelectedOrdersDefinite(selectedTransactionsIds);
60248
+ setChosenContainerTypeFromContainer() {
60249
+ if (this.chosenContainer && this.chosenContainer.containerType && this.containerTypes && this.containerTypes.length > 0) {
60250
+ this.chosenContainerType = this.containerTypes.find(ct => ct.containerType === this.chosenContainer.containerType);
59989
60251
  }
59990
- else if (this.batchCategory === BatchDeliveryCategory.Allocate) {
59991
- this.showProcessOrdersLoader = true;
59992
- this.searchService.searchTransactions();
59993
- this.transactionService.startToAllocateUnAllocatedLinesBatch(selectedTransactionsIds)
59994
- .then(() => this._showBatchProcessesStatus())
59995
- .catch(() => this.showProcessOrdersLoader = false);
60252
+ else {
60253
+ this.chosenContainerType = null;
59996
60254
  }
59997
- else if (this.batchCategory === BatchDeliveryCategory.Picked) {
59998
- this.showProcessOrdersLoader = true;
59999
- this.searchService.searchTransactions();
60000
- this.transactionService.startGoodsPickedBatch(selectedTransactionsIds)
60001
- .then(() => this._showBatchProcessesStatus())
60002
- .catch(() => this.showProcessOrdersLoader = false);
60255
+ }
60256
+ setChosenContainerTypeToContainer() {
60257
+ if (this.chosenContainer) {
60258
+ this.chosenContainer.containerType = this.chosenContainerType ? this.chosenContainerType.containerType : null;
60259
+ }
60260
+ }
60261
+ setChosenCostDistFromContainer() {
60262
+ if (this.chosenContainer && this.chosenContainer.distributionTransportCost) {
60263
+ this.chosenCostDist = this.distributionValues.find(ct => ct.value === this.chosenContainer.distributionTransportCost);
60003
60264
  }
60004
60265
  else {
60005
- this.showShippingMethodDialog = true;
60266
+ this.chosenCostDist = null;
60006
60267
  }
60007
60268
  }
60008
- onToggleAllOrders(allSelected) {
60009
- this.searchService.transactions.forEach(item => {
60010
- item.selected = !allSelected;
60011
- const transactionExists = this.selectedTransactions.some(trans => trans.transId === item.transId);
60012
- if (!allSelected && !transactionExists) {
60013
- this.selectedTransactions.push(item);
60014
- }
60015
- if (allSelected) {
60016
- const transactionIndex = this.selectedTransactions.findIndex(trans => trans.transId === item.transId);
60017
- if (transactionIndex !== -1) {
60018
- this.selectedTransactions.splice(transactionIndex, 1);
60019
- }
60020
- }
60021
- });
60022
- }
60023
- shippingDialogSaveClicked(request) {
60024
- this.batchTransactionSendingRequest = request;
60025
- this.showShippingMethodDialog = false;
60026
- this.showProcessOrdersLoader = true;
60027
- this.searchService.searchTransactions();
60028
- if (this.batchCategory === BatchDeliveryCategory.Overview && this._transactionKind !== TransactionKind.PurchaseOrder) {
60029
- this.transactionService.startOrderConfirmationBatch(this.batchTransactionSendingRequest)
60030
- .then(() => this._showBatchProcessesStatus())
60031
- .catch(() => this.showProcessOrdersLoader = false);
60269
+ setChosenCostDistToContainer() {
60270
+ if (this.chosenContainer) {
60271
+ this.chosenContainer.distributionTransportCost = this.chosenCostDist ? this.chosenCostDist.value : null;
60032
60272
  }
60033
- else if (this.batchCategory === BatchDeliveryCategory.Purchase || (this._transactionKind === TransactionKind.PurchaseOrder && this.batchCategory === BatchDeliveryCategory.Overview)) {
60034
- this.transactionService.startPurchaseOrderFormBatch(this.batchTransactionSendingRequest)
60035
- .then(() => this._showBatchProcessesStatus())
60036
- .catch(() => this.showProcessOrdersLoader = false);
60273
+ }
60274
+ setChosenCurrencyFromContainer() {
60275
+ if (this.chosenContainer && this.chosenContainer.currencyCode) {
60276
+ this.chosenCurrency = this.currencies.find(cur => cur.code === this.chosenContainer.currencyCode);
60037
60277
  }
60038
- else if (this.batchCategory === BatchDeliveryCategory.ToPick) {
60039
- this.transactionService.startGoodsToBePickedBatch(this.batchTransactionSendingRequest)
60040
- .then(() => this._showBatchProcessesStatus())
60041
- .catch(() => this.showProcessOrdersLoader = false);
60278
+ else {
60279
+ this.chosenCurrency = null;
60280
+ }
60281
+ }
60282
+ setChosenCurrencyToContainer() {
60283
+ if (this.chosenContainer) {
60284
+ this.chosenContainer.currencyCode = this.chosenCurrency ? this.chosenCurrency.code : null;
60285
+ }
60286
+ }
60287
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionContainerChoiceDialogComponent, deps: [{ token: IconCacheService }, { token: TransactionService }], target: i0.ɵɵFactoryTarget.Component });
60288
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: TransactionContainerChoiceDialogComponent, isStandalone: false, selector: "co-transaction-container-choice-dialog", outputs: { containerChoiceMade: "containerChoiceMade", cancelClicked: "cancelClicked" }, host: { properties: { "class.co-transaction-container-choice-dialog": "this.showClass" } }, ngImport: i0, template: `
60289
+ <co-dialog
60290
+ [headerTemplate]="headerTemplate"
60291
+ [footerTemplate]="footerTemplate"
60292
+ (closeClick)="cancelButtonClicked()">
60293
+ <ng-template #headerTemplate class="header-class">
60294
+ <co-icon [iconData]="iconCacheService.getIcon(icons.ContainerStorageRegularFull)"></co-icon>
60295
+ <div class="co-dialog-header-title" [textContent]="'CONTAINER_INFO' | localize"></div>
60296
+ </ng-template>
60297
+
60298
+ <div class="transport-dialog-contents">
60299
+ <div class="button-div">
60300
+ @if (!newContainerModeActive) {
60301
+ <co-button [label]="'NEW' | localize" class="new-container-button"
60302
+ [iconData]="iconCacheService.getIcon(icons.PlusSimple)" (click)="newContainerButtonClicked()"></co-button>
60303
+ }
60304
+ </div>
60305
+ <div class="transport-dialog-contents-paragraph">
60306
+ <div class="transport-dialog-contents-column">
60307
+ <span class="column-title" [textContent]="'CONTAINER_DATA' | localize"></span>
60308
+ @if (!newContainerModeActive) {
60309
+ <co-list-of-values
60310
+ [label]="'CONTAINER' | localize"
60311
+ [collection]="containers"
60312
+ [displayField]="'containerNr'"
60313
+ [(model)]="chosenContainer"
60314
+ (modelChange)="containerChosen()"
60315
+ ></co-list-of-values>
60316
+ }
60317
+ @if (newContainerModeActive) {
60318
+ <co-input-text
60319
+ [placeholder]="'CONTAINER_NR' | localize"
60320
+ [readonly]="false"
60321
+ [(model)]="chosenContainer.containerNr">
60322
+ </co-input-text>
60323
+ }
60324
+ <co-list-of-values [label]="'TYPE' | localize"
60325
+ [collection]="containerTypes"
60326
+ [displayField]="'description'"
60327
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60328
+ [(model)]="chosenContainerType"
60329
+ (modelChange)="containerTypeChosen()">
60330
+ </co-list-of-values>
60331
+ <co-input-text [placeholder]="'REMARK' | localize"
60332
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60333
+ [(model)]="chosenContainer.state">
60334
+ </co-input-text>
60335
+ </div>
60336
+ <div class="transport-dialog-contents-column">
60337
+ <span class="column-title" [textContent]="'CONTENTS_AND_COST' | localize"></span>
60338
+ <co-input-text [placeholder]="'VOLUME' | localize"
60339
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60340
+ [digitsOnly]="true"
60341
+ [(model)]="chosenContainer.volume">
60342
+ </co-input-text>
60343
+ @if (!newContainerModeActive) {
60344
+ <co-input-text
60345
+ [placeholder]="'YET_TO_USE' | localize"
60346
+ [readonly]="true"
60347
+ [digitsOnly]="true"
60348
+ [model]="chosenContainerInfo?.containerVolume - chosenContainerInfo?.packedVolume">
60349
+ </co-input-text>
60350
+ }
60351
+ <co-list-of-values [label]="'DISTRIBUTION' | localize"
60352
+ [collection]="distributionValues"
60353
+ [displayField]="'text'"
60354
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60355
+ [(model)]="chosenCostDist"
60356
+ (modelChange)="costDistChosen()">
60357
+ </co-list-of-values>
60358
+ <div class="currency-section">
60359
+ <co-list-of-values [label]="'CURRENCY' | localize"
60360
+ [collection]="currencies"
60361
+ [displayField]="'unit'"
60362
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60363
+ [(model)]="chosenCurrency"
60364
+ (modelChange)="currencyChosen()">
60365
+ </co-list-of-values>
60366
+ <co-input-text class="currency-field"
60367
+ [placeholder]="'TRANSPORT_COST' | localize"
60368
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60369
+ [(model)]="chosenContainer.transportationCosts">
60370
+ </co-input-text>
60371
+ </div>
60372
+ <co-input-checkbox [label]="'VOLUME_RESTRICTED' | localize"
60373
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60374
+ [(model)]="chosenContainer.volumeLimited">
60375
+ </co-input-checkbox>
60376
+ </div>
60377
+ </div>
60378
+ <div class="transport-dialog-contents-paragraph">
60379
+ <div class="transport-dialog-contents-column">
60380
+ <span class="column-title" [textContent]="'PLANNING_INFO' | localize"></span>
60381
+ <co-input-date [placeholder]="'LOADING_DATE' | localize"
60382
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60383
+ [(model)]="chosenContainer.loadingDate"></co-input-date>
60384
+ <co-input-date [placeholder]="'SHIPPING_DATE' | localize"
60385
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60386
+ [(model)]="chosenContainer.departureDate"></co-input-date>
60387
+ </div>
60388
+ <div class="transport-dialog-contents-column">
60389
+ <span class="column-title" [textContent]="\n\n"></span>
60390
+ <co-input-date [placeholder]="'ETA_AT_PORT' | localize"
60391
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60392
+ [(model)]="chosenContainer.arrivalHarborDate"></co-input-date>
60393
+ <co-input-date [placeholder]="'ARRIVAL_DATE' | localize"
60394
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60395
+ [(model)]="chosenContainer.arrivalDate"></co-input-date>
60396
+ </div>
60397
+ </div>
60398
+ </div>
60399
+
60400
+ <ng-template #footerTemplate>
60401
+ <div class="co-dialog-footer-button-wrapper">
60402
+ @if (chosenContainer.containerId || newContainerModeActive) {
60403
+ <co-button
60404
+ class="save-button"
60405
+ [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
60406
+ (click)="saveButtonClicked()">
60407
+ </co-button>
60408
+ }
60409
+ <co-button
60410
+ class="close-button"
60411
+ [iconData]="iconCacheService.getIcon(icons.Crossskinny)"
60412
+ (click)="cancelButtonClicked()">
60413
+ </co-button>
60414
+ </div>
60415
+ </ng-template>
60416
+ </co-dialog>
60417
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$1.CoDialogComponent, selector: "co-dialog", inputs: ["customCssClass", "headerTemplate", "footerTemplate", "showCloseIcon", "modal", "borderless"], outputs: ["closeClick"] }, { kind: "component", type: i1$1.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: i1$1.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "component", type: i1$1.InputCheckboxComponent, selector: "co-input-checkbox", inputs: ["cssClass", "clickableLabel"], outputs: ["modelChange"] }, { kind: "component", type: i1$1.ListOfValuesComponent, selector: "co-list-of-values", inputs: ["model", "multiselect", "showToggleAll", "largeCollection", "displayField", "optionIcon", "collection", "collectionLoadFn", "collectionLoadFnProp", "leftIconData", "searchPlaceholder", "searchDisabled", "showChips"] }, { kind: "component", type: i1$1.InputTextComponent, selector: "co-input-text", inputs: ["useContent", "placeholder", "align", "type", "formatPipe", "min", "max", "pattern", "digitsOnly", "excludePlusMinus", "showClearButton", "keyDownWhiteList", "showPlaceholderOnFocus", "leftIcon", "rightIcon", "leftIconData", "rightIconData", "selectOnFocus", "emptyPlace", "firstDayOfWeek", "noStyle", "hideArrowButtons", "model"], outputs: ["leftIconClick", "leftIconMouseDown", "leftIconMouseUp", "rightIconClick", "rightIconMouseDown", "rightIconMouseUp", "clearIconClick", "isFocused"] }, { kind: "component", type: i1$1.InputDatePickerComponent, selector: "co-input-date", inputs: ["firstDayOfWeek", "showClearButton"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
60418
+ }
60419
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionContainerChoiceDialogComponent, decorators: [{
60420
+ type: Component,
60421
+ args: [{
60422
+ selector: 'co-transaction-container-choice-dialog',
60423
+ template: `
60424
+ <co-dialog
60425
+ [headerTemplate]="headerTemplate"
60426
+ [footerTemplate]="footerTemplate"
60427
+ (closeClick)="cancelButtonClicked()">
60428
+ <ng-template #headerTemplate class="header-class">
60429
+ <co-icon [iconData]="iconCacheService.getIcon(icons.ContainerStorageRegularFull)"></co-icon>
60430
+ <div class="co-dialog-header-title" [textContent]="'CONTAINER_INFO' | localize"></div>
60431
+ </ng-template>
60432
+
60433
+ <div class="transport-dialog-contents">
60434
+ <div class="button-div">
60435
+ @if (!newContainerModeActive) {
60436
+ <co-button [label]="'NEW' | localize" class="new-container-button"
60437
+ [iconData]="iconCacheService.getIcon(icons.PlusSimple)" (click)="newContainerButtonClicked()"></co-button>
60438
+ }
60439
+ </div>
60440
+ <div class="transport-dialog-contents-paragraph">
60441
+ <div class="transport-dialog-contents-column">
60442
+ <span class="column-title" [textContent]="'CONTAINER_DATA' | localize"></span>
60443
+ @if (!newContainerModeActive) {
60444
+ <co-list-of-values
60445
+ [label]="'CONTAINER' | localize"
60446
+ [collection]="containers"
60447
+ [displayField]="'containerNr'"
60448
+ [(model)]="chosenContainer"
60449
+ (modelChange)="containerChosen()"
60450
+ ></co-list-of-values>
60451
+ }
60452
+ @if (newContainerModeActive) {
60453
+ <co-input-text
60454
+ [placeholder]="'CONTAINER_NR' | localize"
60455
+ [readonly]="false"
60456
+ [(model)]="chosenContainer.containerNr">
60457
+ </co-input-text>
60458
+ }
60459
+ <co-list-of-values [label]="'TYPE' | localize"
60460
+ [collection]="containerTypes"
60461
+ [displayField]="'description'"
60462
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60463
+ [(model)]="chosenContainerType"
60464
+ (modelChange)="containerTypeChosen()">
60465
+ </co-list-of-values>
60466
+ <co-input-text [placeholder]="'REMARK' | localize"
60467
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60468
+ [(model)]="chosenContainer.state">
60469
+ </co-input-text>
60470
+ </div>
60471
+ <div class="transport-dialog-contents-column">
60472
+ <span class="column-title" [textContent]="'CONTENTS_AND_COST' | localize"></span>
60473
+ <co-input-text [placeholder]="'VOLUME' | localize"
60474
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60475
+ [digitsOnly]="true"
60476
+ [(model)]="chosenContainer.volume">
60477
+ </co-input-text>
60478
+ @if (!newContainerModeActive) {
60479
+ <co-input-text
60480
+ [placeholder]="'YET_TO_USE' | localize"
60481
+ [readonly]="true"
60482
+ [digitsOnly]="true"
60483
+ [model]="chosenContainerInfo?.containerVolume - chosenContainerInfo?.packedVolume">
60484
+ </co-input-text>
60485
+ }
60486
+ <co-list-of-values [label]="'DISTRIBUTION' | localize"
60487
+ [collection]="distributionValues"
60488
+ [displayField]="'text'"
60489
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60490
+ [(model)]="chosenCostDist"
60491
+ (modelChange)="costDistChosen()">
60492
+ </co-list-of-values>
60493
+ <div class="currency-section">
60494
+ <co-list-of-values [label]="'CURRENCY' | localize"
60495
+ [collection]="currencies"
60496
+ [displayField]="'unit'"
60497
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60498
+ [(model)]="chosenCurrency"
60499
+ (modelChange)="currencyChosen()">
60500
+ </co-list-of-values>
60501
+ <co-input-text class="currency-field"
60502
+ [placeholder]="'TRANSPORT_COST' | localize"
60503
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60504
+ [(model)]="chosenContainer.transportationCosts">
60505
+ </co-input-text>
60506
+ </div>
60507
+ <co-input-checkbox [label]="'VOLUME_RESTRICTED' | localize"
60508
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60509
+ [(model)]="chosenContainer.volumeLimited">
60510
+ </co-input-checkbox>
60511
+ </div>
60512
+ </div>
60513
+ <div class="transport-dialog-contents-paragraph">
60514
+ <div class="transport-dialog-contents-column">
60515
+ <span class="column-title" [textContent]="'PLANNING_INFO' | localize"></span>
60516
+ <co-input-date [placeholder]="'LOADING_DATE' | localize"
60517
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60518
+ [(model)]="chosenContainer.loadingDate"></co-input-date>
60519
+ <co-input-date [placeholder]="'SHIPPING_DATE' | localize"
60520
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60521
+ [(model)]="chosenContainer.departureDate"></co-input-date>
60522
+ </div>
60523
+ <div class="transport-dialog-contents-column">
60524
+ <span class="column-title" [textContent]="\n\n"></span>
60525
+ <co-input-date [placeholder]="'ETA_AT_PORT' | localize"
60526
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60527
+ [(model)]="chosenContainer.arrivalHarborDate"></co-input-date>
60528
+ <co-input-date [placeholder]="'ARRIVAL_DATE' | localize"
60529
+ [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
60530
+ [(model)]="chosenContainer.arrivalDate"></co-input-date>
60531
+ </div>
60532
+ </div>
60533
+ </div>
60534
+
60535
+ <ng-template #footerTemplate>
60536
+ <div class="co-dialog-footer-button-wrapper">
60537
+ @if (chosenContainer.containerId || newContainerModeActive) {
60538
+ <co-button
60539
+ class="save-button"
60540
+ [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
60541
+ (click)="saveButtonClicked()">
60542
+ </co-button>
60543
+ }
60544
+ <co-button
60545
+ class="close-button"
60546
+ [iconData]="iconCacheService.getIcon(icons.Crossskinny)"
60547
+ (click)="cancelButtonClicked()">
60548
+ </co-button>
60549
+ </div>
60550
+ </ng-template>
60551
+ </co-dialog>
60552
+ `,
60553
+ encapsulation: ViewEncapsulation.None,
60554
+ standalone: false
60555
+ }]
60556
+ }], ctorParameters: () => [{ type: IconCacheService }, { type: TransactionService }], propDecorators: { showClass: [{
60557
+ type: HostBinding,
60558
+ args: ['class.co-transaction-container-choice-dialog']
60559
+ }], containerChoiceMade: [{
60560
+ type: Output
60561
+ }], cancelClicked: [{
60562
+ type: Output
60563
+ }] } });
60564
+
60565
+ class TransactionContainerComponent {
60566
+ iconCacheService;
60567
+ transactionService;
60568
+ searchViewModeService;
60569
+ _eventService;
60570
+ _renderer;
60571
+ icons = Icon;
60572
+ showClass() {
60573
+ return true;
60574
+ }
60575
+ fillBar;
60576
+ fullscreen;
60577
+ containerChoiceMade = new EventEmitter();
60578
+ containerContentModeChanged = new EventEmitter();
60579
+ fillContainerClicked = new EventEmitter();
60580
+ removeFromContainerClicked = new EventEmitter();
60581
+ showContainerDialog = false;
60582
+ containers = [];
60583
+ chosenContainer;
60584
+ chosenContainerInfo;
60585
+ containerContentsModeActive = false;
60586
+ _subs = [];
60587
+ constructor(iconCacheService, transactionService, searchViewModeService, _eventService, _renderer) {
60588
+ this.iconCacheService = iconCacheService;
60589
+ this.transactionService = transactionService;
60590
+ this.searchViewModeService = searchViewModeService;
60591
+ this._eventService = _eventService;
60592
+ this._renderer = _renderer;
60593
+ }
60594
+ ngOnInit() {
60595
+ this._subs.push(this._eventService.fillContainerSuccess.subscribe(() => {
60596
+ this.reloadContainerData();
60597
+ }), this._eventService.removeFromContainerSuccess.subscribe(() => {
60598
+ this.reloadContainerData();
60599
+ }));
60600
+ }
60601
+ ngOnDestroy() {
60602
+ this._subs.forEach(sub => sub.unsubscribe());
60603
+ }
60604
+ containerModeButtonClickHandler() {
60605
+ if (this.chosenContainer) {
60606
+ this.chosenContainer = null;
60607
+ this.chosenContainerInfo = null;
60608
+ this.containerChoiceMade.emit(null);
60609
+ }
60610
+ else {
60611
+ this.showContainerDialog = true;
60612
+ }
60613
+ }
60614
+ addRemoveOrdersButtonClickHandler() {
60615
+ if (this.containerContentsModeActive) {
60616
+ this.removeFromContainerClicked.emit();
60617
+ }
60618
+ else {
60619
+ this.fillContainerClicked.emit();
60620
+ }
60621
+ }
60622
+ switchAddRemoveClicked() {
60623
+ this.containerContentsModeActive = !this.containerContentsModeActive;
60624
+ if (this.containerContentsModeActive) {
60625
+ this.containerContentModeChanged.emit(this.chosenContainerInfo);
60626
+ }
60627
+ else {
60628
+ this.containerContentModeChanged.emit(null);
60629
+ }
60630
+ }
60631
+ async containerChosenHandler(container) {
60632
+ this.chosenContainer = container;
60633
+ this.showContainerDialog = false;
60634
+ this.chosenContainerInfo = await this.transactionService.getContainerInfo(container.containerId);
60635
+ if (this.chosenContainerInfo.containerVolume && !isNaN(this.chosenContainerInfo.containerVolume)) {
60636
+ const percentage = (this.chosenContainerInfo.packedVolume / this.chosenContainerInfo.containerVolume) * 100;
60637
+ this._renderer.setStyle(this.fillBar.nativeElement, 'width', ((percentage > 100) ? 100 : percentage) + '%');
60638
+ }
60639
+ else {
60640
+ this._renderer.setStyle(this.fillBar.nativeElement, 'width', '0px');
60641
+ }
60642
+ this.containerChoiceMade.emit(container);
60643
+ }
60644
+ async reloadContainerData() {
60645
+ if (this.chosenContainer) {
60646
+ const reloadedContainer = await this.transactionService.getContainer(this.chosenContainer.containerId);
60647
+ this.containerChosenHandler(reloadedContainer);
60648
+ }
60649
+ }
60650
+ getContainerInfoLabel() {
60651
+ if (this.chosenContainer) {
60652
+ return this.chosenContainer.containerNr;
60653
+ }
60654
+ else {
60655
+ return "";
60656
+ }
60657
+ }
60658
+ getContainerContentsLabel() {
60659
+ if (this.chosenContainerInfo) {
60660
+ return this.chosenContainerInfo.packedVolume + "/" + this.chosenContainerInfo.containerVolume;
60661
+ }
60662
+ else {
60663
+ return "";
60664
+ }
60665
+ }
60666
+ viewMode = SearchViewMode;
60667
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionContainerComponent, deps: [{ token: IconCacheService }, { token: TransactionService }, { token: SearchViewModeService }, { token: TransactionEventService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
60668
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: TransactionContainerComponent, isStandalone: false, selector: "co-transaction-container", inputs: { fullscreen: "fullscreen" }, outputs: { containerChoiceMade: "containerChoiceMade", containerContentModeChanged: "containerContentModeChanged", fillContainerClicked: "fillContainerClicked", removeFromContainerClicked: "removeFromContainerClicked" }, host: { properties: { "class.co-transaction-container": "this.showClass" } }, viewQueries: [{ propertyName: "fillBar", first: true, predicate: ["fillBar"], descendants: true }], ngImport: i0, template: `
60669
+ <div class="transaction-container-content">
60670
+ <co-button class="container-button" [class.buttonActive]="this.chosenContainer"
60671
+ [iconData]="iconCacheService.getIcon(icons.ContainerStorageRegularFull)"
60672
+ (onClick)="containerModeButtonClickHandler()"
60673
+ ></co-button>
60674
+ @if (this.chosenContainer) {
60675
+ <co-button class="container-button"
60676
+ [iconData]="this.containerContentsModeActive ? iconCacheService.getIcon(icons.RegularContainerStorageCircleArrowRight) : iconCacheService.getIcon(icons.RegularContainerStorageCircleArrowLeft)"
60677
+ (onClick)="addRemoveOrdersButtonClickHandler()"
60678
+ ></co-button>
60679
+ }
60680
+ @if (this.chosenContainer) {
60681
+ <div class="container-information" >
60682
+ <span class="container-information-label" [textContent]="getContainerInfoLabel()" [class.small-container-label]="!fullscreen"></span>
60683
+ <div class="container-load-bar" [class.small-container-bar]="!fullscreen">
60684
+ <div class="container-load-bar-fill" #fillBar></div>
60685
+ <span class="container-contents-label" [textContent]="getContainerContentsLabel()"></span>
60686
+ </div>
60687
+ <co-icon class="info-icon" [iconData]="iconCacheService.getIcon(icons.CircleInfoRegular)"></co-icon>
60688
+ </div>
60689
+ }
60690
+ @if (this.chosenContainer) {
60691
+ <co-button class="container-button" [class.buttonActive]="this.containerContentsModeActive"
60692
+ [iconData]="iconCacheService.getIcon(icons.ContainerStorageRegularFull)"
60693
+ (onClick)="switchAddRemoveClicked()"
60694
+ ></co-button>
60695
+ }
60696
+ </div>
60697
+
60698
+ @if (showContainerDialog) {
60699
+ <co-transaction-container-choice-dialog
60700
+ (containerChoiceMade)="containerChosenHandler($event)"
60701
+ (cancelClicked)="showContainerDialog = false">
60702
+ </co-transaction-container-choice-dialog>
60703
+ }
60704
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$1.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: i1$1.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "component", type: TransactionContainerChoiceDialogComponent, selector: "co-transaction-container-choice-dialog", outputs: ["containerChoiceMade", "cancelClicked"] }], encapsulation: i0.ViewEncapsulation.None });
60705
+ }
60706
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionContainerComponent, decorators: [{
60707
+ type: Component,
60708
+ args: [{
60709
+ selector: 'co-transaction-container',
60710
+ template: `
60711
+ <div class="transaction-container-content">
60712
+ <co-button class="container-button" [class.buttonActive]="this.chosenContainer"
60713
+ [iconData]="iconCacheService.getIcon(icons.ContainerStorageRegularFull)"
60714
+ (onClick)="containerModeButtonClickHandler()"
60715
+ ></co-button>
60716
+ @if (this.chosenContainer) {
60717
+ <co-button class="container-button"
60718
+ [iconData]="this.containerContentsModeActive ? iconCacheService.getIcon(icons.RegularContainerStorageCircleArrowRight) : iconCacheService.getIcon(icons.RegularContainerStorageCircleArrowLeft)"
60719
+ (onClick)="addRemoveOrdersButtonClickHandler()"
60720
+ ></co-button>
60721
+ }
60722
+ @if (this.chosenContainer) {
60723
+ <div class="container-information" >
60724
+ <span class="container-information-label" [textContent]="getContainerInfoLabel()" [class.small-container-label]="!fullscreen"></span>
60725
+ <div class="container-load-bar" [class.small-container-bar]="!fullscreen">
60726
+ <div class="container-load-bar-fill" #fillBar></div>
60727
+ <span class="container-contents-label" [textContent]="getContainerContentsLabel()"></span>
60728
+ </div>
60729
+ <co-icon class="info-icon" [iconData]="iconCacheService.getIcon(icons.CircleInfoRegular)"></co-icon>
60730
+ </div>
60731
+ }
60732
+ @if (this.chosenContainer) {
60733
+ <co-button class="container-button" [class.buttonActive]="this.containerContentsModeActive"
60734
+ [iconData]="iconCacheService.getIcon(icons.ContainerStorageRegularFull)"
60735
+ (onClick)="switchAddRemoveClicked()"
60736
+ ></co-button>
60737
+ }
60738
+ </div>
60739
+
60740
+ @if (showContainerDialog) {
60741
+ <co-transaction-container-choice-dialog
60742
+ (containerChoiceMade)="containerChosenHandler($event)"
60743
+ (cancelClicked)="showContainerDialog = false">
60744
+ </co-transaction-container-choice-dialog>
60745
+ }
60746
+ `,
60747
+ encapsulation: ViewEncapsulation.None,
60748
+ standalone: false
60749
+ }]
60750
+ }], ctorParameters: () => [{ type: IconCacheService }, { type: TransactionService }, { type: SearchViewModeService }, { type: TransactionEventService }, { type: i0.Renderer2 }], propDecorators: { showClass: [{
60751
+ type: HostBinding,
60752
+ args: ['class.co-transaction-container']
60753
+ }], fillBar: [{
60754
+ type: ViewChild,
60755
+ args: ["fillBar"]
60756
+ }], fullscreen: [{
60757
+ type: Input
60758
+ }], containerChoiceMade: [{
60759
+ type: Output
60760
+ }], containerContentModeChanged: [{
60761
+ type: Output
60762
+ }], fillContainerClicked: [{
60763
+ type: Output
60764
+ }], removeFromContainerClicked: [{
60765
+ type: Output
60766
+ }] } });
60767
+
60768
+ class TransactionSearchResultComponent {
60769
+ searchService;
60770
+ screenConfigService;
60771
+ transactionService;
60772
+ transactionEventService;
60773
+ iconCacheService;
60774
+ transactionNotificationLineSelectionService;
60775
+ _changeDetectorRef;
60776
+ _deliveryPlanningService;
60777
+ BatchDeliveryCategory = BatchDeliveryCategory;
60778
+ icon = Icon;
60779
+ contentViewModes = ContentViewMode;
60780
+ draggableTransactions;
60781
+ showCheckbox;
60782
+ batchCategory;
60783
+ extendedTransactionSearch = false;
60784
+ set activeContentViewMode(value) {
60785
+ this._activeContentViewMode = value;
60786
+ }
60787
+ get activeContentViewMode() {
60788
+ return this._activeContentViewMode;
60789
+ }
60790
+ set fullscreen(value) {
60791
+ this._fullscreen = value;
60792
+ }
60793
+ get fullscreen() {
60794
+ return this._fullscreen;
60795
+ }
60796
+ transactionClick = new EventEmitter();
60797
+ containerChosen = new EventEmitter();
60798
+ showClass() {
60799
+ return true;
60800
+ }
60801
+ selectedTransaction;
60802
+ screenConfigLoaded = false;
60803
+ batchPageActive = false;
60804
+ showProcessOrdersLoader = false;
60805
+ showShippingMethodDialog = false;
60806
+ showDatePickDialog = false;
60807
+ showBatchProcessDialog = false;
60808
+ checkedAvailability = false;
60809
+ selectedTransactions = [];
60810
+ batchTransactionSendingRequest = new BatchTransactionSendingRequest();
60811
+ batchJobProgress = [];
60812
+ chosenContainer;
60813
+ _activeContentViewMode;
60814
+ _fullscreen;
60815
+ _transactionKind;
60816
+ _subs = [];
60817
+ constructor(searchService, screenConfigService, transactionService, transactionEventService, iconCacheService, transactionNotificationLineSelectionService, //Do not remove, is necessary to instantiate this service.
60818
+ _changeDetectorRef, _deliveryPlanningService) {
60819
+ this.searchService = searchService;
60820
+ this.screenConfigService = screenConfigService;
60821
+ this.transactionService = transactionService;
60822
+ this.transactionEventService = transactionEventService;
60823
+ this.iconCacheService = iconCacheService;
60824
+ this.transactionNotificationLineSelectionService = transactionNotificationLineSelectionService;
60825
+ this._changeDetectorRef = _changeDetectorRef;
60826
+ this._deliveryPlanningService = _deliveryPlanningService;
60827
+ }
60828
+ ngOnInit() {
60829
+ this._subs.push(this.searchService.searchRequestSet.subscribe((request) => {
60830
+ if (request) {
60831
+ this.screenConfigService.loadConfig([request.transactionKind]);
60832
+ this._transactionKind = request.transactionKind;
60833
+ this.batchPageActive = request.transactionKind === 'V' || request.transactionKind === 'I' || request.transactionKind === 'S' || request.transactionKind === 'L';
60834
+ }
60835
+ }), this.screenConfigService.configSet.subscribe((config) => {
60836
+ if (config && config.length > 0) {
60837
+ this.screenConfigLoaded = true;
60838
+ }
60839
+ }), this.searchService.resultsUpdated.subscribe(() => {
60840
+ if (this.batchPageActive && this.searchService.showBatchOptions) {
60841
+ this.markSelectedTransactions();
60842
+ }
60843
+ }), this.transactionEventService.selectedTransportDay.subscribe(async (transportDay) => {
60844
+ const filteredTransactions = await Promise.all(this.searchService.transactions.map(async (order) => {
60845
+ const planOrder = await this.transactionService.getPlanOrder(order.transId);
60846
+ const isAvailable = await this._deliveryPlanningService.deliveryMethodAvailabilityCheck(planOrder, transportDay) &&
60847
+ await this._deliveryPlanningService.districtAvailabilityCheck(planOrder, transportDay) &&
60848
+ transportDay.availableOnDate;
60849
+ return isAvailable ? order : null;
60850
+ }));
60851
+ this.searchService.transactions = filteredTransactions.filter((order) => order !== null);
60852
+ }), this.transactionEventService.resetTransportDayFilteredOrders.subscribe(async () => await this.searchService.searchTransactions()), this.transactionEventService.fillContainerSuccess.subscribe(() => {
60853
+ this.searchService.searchTransactions();
60854
+ }), this.transactionEventService.removeFromContainerSuccess.subscribe(() => {
60855
+ this.searchService.searchTransactions();
60856
+ }));
60857
+ }
60858
+ ngOnChanges(changes) {
60859
+ if (changes['batchCategory']) {
60860
+ this.batchCategory = changes['batchCategory'].currentValue;
60861
+ this._showBatchOptions(this.batchCategory);
60862
+ if (changes['batchCategory'].previousValue !== changes['batchCategory'].currentValue) {
60863
+ this._clearSelected();
60864
+ }
60865
+ }
60866
+ }
60867
+ ngOnDestroy() {
60868
+ this._subs.forEach(s => s.unsubscribe());
60869
+ }
60870
+ onTransactionClick(transaction) {
60871
+ this.selectedTransaction = transaction;
60872
+ this.transactionClick.emit(transaction);
60873
+ }
60874
+ onSelectedClick(transaction) {
60875
+ //Eventually all of these selection processes need to work via specialized services instead of storing their data locally in this component.
60876
+ //For now were doing a 'testrun' with the TransportNotification functionality as the existing system will not suffice for the requested features.
60877
+ if (this.batchCategory !== BatchDeliveryCategory.Transport) {
60878
+ if (transaction.selected) {
60879
+ this.selectedTransactions.push(transaction);
60880
+ }
60881
+ else {
60882
+ const transId = transaction.transId;
60883
+ const index = this.selectedTransactions.findIndex(transaction => transaction.transId === transId);
60884
+ if (index !== -1) {
60885
+ this.selectedTransactions.splice(index, 1);
60886
+ }
60887
+ }
60888
+ }
60889
+ else {
60890
+ this.transactionEventService.transportTransactionSelectionChanged.next(transaction);
60891
+ }
60892
+ }
60893
+ onPreviousClick() {
60894
+ this.searchService.currentPage -= 1;
60895
+ }
60896
+ onNextClick() {
60897
+ this.searchService.currentPage += 1;
60898
+ }
60899
+ onPageClick(pageNr) {
60900
+ this.searchService.currentPage = pageNr;
60901
+ }
60902
+ markSelectedTransactions() {
60903
+ if (this.searchService.resultsUpdated) {
60904
+ this.searchService.transactions.forEach(transaction => {
60905
+ const matchingObject = this.selectedTransactions.find(selectedTransaction => selectedTransaction.transId === transaction.transId);
60906
+ if (matchingObject) {
60907
+ transaction.selected = true;
60908
+ }
60909
+ });
60910
+ }
60911
+ }
60912
+ async dragStarted(ev, transaction) {
60913
+ this._deliveryPlanningService.dragging = true;
60914
+ this._deliveryPlanningService.currentTransId = transaction.transId;
60915
+ ev.dataTransfer.setData('text', transaction.transId);
60916
+ if (!this.checkedAvailability) {
60917
+ let planOrder = await this.transactionService.getPlanOrder(transaction.transId);
60918
+ this._deliveryPlanningService.availabilityCheckEvent.emit(planOrder);
60919
+ this.checkedAvailability = true;
60920
+ }
60921
+ }
60922
+ dragEnd(ev) {
60923
+ this._deliveryPlanningService.dragging = false;
60924
+ this._deliveryPlanningService.currentTransId = undefined;
60925
+ if (this.checkedAvailability) {
60926
+ this.checkedAvailability = false;
60927
+ this._deliveryPlanningService.availabilityResetEvent.emit();
60928
+ this._changeDetectorRef.markForCheck();
60929
+ this._changeDetectorRef.detectChanges();
60930
+ }
60931
+ }
60932
+ checkIfSelected() {
60933
+ return this.selectedTransactions.some(item => item.selected);
60934
+ }
60935
+ checkIfAllSelected() {
60936
+ return this.searchService.transactions.every(item => item.selected);
60937
+ }
60938
+ showAdditionalOptionsIfNeeded() {
60939
+ const selectedTransactionsIds = this.selectedTransactions.map(transaction => transaction.transId);
60940
+ if (this.batchCategory === BatchDeliveryCategory.Approval) {
60941
+ this._setAllSelectedOrdersDefinite(selectedTransactionsIds);
60942
+ }
60943
+ else if (this.batchCategory === BatchDeliveryCategory.Allocate) {
60944
+ this.showProcessOrdersLoader = true;
60945
+ this.searchService.searchTransactions();
60946
+ this.transactionService.startToAllocateUnAllocatedLinesBatch(selectedTransactionsIds)
60947
+ .then(() => this._showBatchProcessesStatus())
60948
+ .catch(() => this.showProcessOrdersLoader = false);
60949
+ }
60950
+ else if (this.batchCategory === BatchDeliveryCategory.Picked) {
60951
+ this.showProcessOrdersLoader = true;
60952
+ this.searchService.searchTransactions();
60953
+ this.transactionService.startGoodsPickedBatch(selectedTransactionsIds)
60954
+ .then(() => this._showBatchProcessesStatus())
60955
+ .catch(() => this.showProcessOrdersLoader = false);
60956
+ }
60957
+ else {
60958
+ this.showShippingMethodDialog = true;
60959
+ }
60960
+ }
60961
+ onToggleAllOrders(allSelected) {
60962
+ this.searchService.transactions.forEach(item => {
60963
+ item.selected = !allSelected;
60964
+ const transactionExists = this.selectedTransactions.some(trans => trans.transId === item.transId);
60965
+ if (!allSelected && !transactionExists) {
60966
+ this.selectedTransactions.push(item);
60967
+ }
60968
+ if (allSelected) {
60969
+ const transactionIndex = this.selectedTransactions.findIndex(trans => trans.transId === item.transId);
60970
+ if (transactionIndex !== -1) {
60971
+ this.selectedTransactions.splice(transactionIndex, 1);
60972
+ }
60973
+ }
60974
+ });
60975
+ }
60976
+ shippingDialogSaveClicked(request) {
60977
+ this.batchTransactionSendingRequest = request;
60978
+ this.showShippingMethodDialog = false;
60979
+ this.showProcessOrdersLoader = true;
60980
+ this.searchService.searchTransactions();
60981
+ if (this.batchCategory === BatchDeliveryCategory.Overview && this._transactionKind !== TransactionKind.PurchaseOrder) {
60982
+ this.transactionService.startOrderConfirmationBatch(this.batchTransactionSendingRequest)
60983
+ .then(() => this._showBatchProcessesStatus())
60984
+ .catch(() => this.showProcessOrdersLoader = false);
60985
+ }
60986
+ else if (this.batchCategory === BatchDeliveryCategory.Purchase || (this._transactionKind === TransactionKind.PurchaseOrder && this.batchCategory === BatchDeliveryCategory.Overview)) {
60987
+ this.transactionService.startPurchaseOrderFormBatch(this.batchTransactionSendingRequest)
60988
+ .then(() => this._showBatchProcessesStatus())
60989
+ .catch(() => this.showProcessOrdersLoader = false);
60990
+ }
60991
+ else if (this.batchCategory === BatchDeliveryCategory.ToPick) {
60992
+ this.transactionService.startGoodsToBePickedBatch(this.batchTransactionSendingRequest)
60993
+ .then(() => this._showBatchProcessesStatus())
60994
+ .catch(() => this.showProcessOrdersLoader = false);
60042
60995
  }
60043
60996
  else if (this.batchCategory === BatchDeliveryCategory.DeliveryOrder) {
60044
60997
  this.transactionService.startDeliveryNotesBatch(this.batchTransactionSendingRequest)
@@ -60056,14 +61009,25 @@ class TransactionSearchResultComponent {
60056
61009
  .catch(() => this.showProcessOrdersLoader = false);
60057
61010
  }
60058
61011
  }
60059
- async containerContentModeHandler(container) {
60060
- if (container) {
60061
- this.searchService.searchRequest.containerNumber = container.containerNr;
61012
+ containerChosenHandler(container) {
61013
+ this.transactionEventService.transportContainerChosen.next(container);
61014
+ }
61015
+ async containerContentModeHandler(containerInfo) {
61016
+ if (containerInfo) {
61017
+ this.searchService.searchRequest.containerNumber = containerInfo.containerNr;
60062
61018
  }
60063
61019
  else {
60064
61020
  this.searchService.searchRequest.containerNumber = null;
60065
61021
  }
60066
61022
  this.searchService.searchTransactions();
61023
+ this.selectedTransactions = [];
61024
+ this.transactionEventService.removalModeContainerInfo.next(containerInfo);
61025
+ }
61026
+ fillContainerClickedHandler() {
61027
+ this.transactionEventService.fillContainerRequested.next();
61028
+ }
61029
+ removeFromContainerClickedHandler() {
61030
+ this.transactionEventService.removeFromContainerRequested.next();
60067
61031
  }
60068
61032
  async _setAllSelectedOrdersDefinite(transIds) {
60069
61033
  let transactionsDefinitiveRequest = new ChangeHeadersTransactionsDefinitiveRequest();
@@ -60085,29 +61049,32 @@ class TransactionSearchResultComponent {
60085
61049
  this.searchService.transactions.forEach(item => item.selected = false);
60086
61050
  this.selectedTransactions = [];
60087
61051
  }
60088
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchResultComponent, deps: [{ token: TransactionSearchService }, { token: TransactionScreenConfigurationService }, { token: TransactionService }, { token: TransactionEventService }, { token: IconCacheService }, { token: i0.ChangeDetectorRef }, { token: DeliveryPlanningService }, { token: TransactionNotificationLineSelectionService }], target: i0.ɵɵFactoryTarget.Component });
61052
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchResultComponent, deps: [{ token: TransactionSearchService }, { token: TransactionScreenConfigurationService }, { token: TransactionService }, { token: TransactionEventService }, { token: IconCacheService }, { token: TransactionNotificationLineSelectionService }, { token: i0.ChangeDetectorRef }, { token: DeliveryPlanningService }], target: i0.ɵɵFactoryTarget.Component });
60089
61053
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: TransactionSearchResultComponent, isStandalone: false, selector: "co-transaction-search-result", inputs: { draggableTransactions: "draggableTransactions", showCheckbox: "showCheckbox", batchCategory: "batchCategory", extendedTransactionSearch: "extendedTransactionSearch", activeContentViewMode: "activeContentViewMode", fullscreen: "fullscreen" }, outputs: { transactionClick: "transactionClick", containerChosen: "containerChosen" }, host: { properties: { "class.co-transaction-search-result": "this.showClass" } }, providers: [
60090
61054
  { provide: BaseModuleScreenConfigService, useExisting: TransactionScreenConfigurationService }
60091
61055
  ], usesOnChanges: true, ngImport: i0, template: `
60092
61056
  @if (screenConfigLoaded) {
60093
61057
  @if (searchService.transactions?.length > 0 && batchPageActive && searchService.showBatchOptions) {
60094
- <div class="actions-wrapper"
60095
- >
60096
- <co-input-checkbox
60097
- [model]="checkIfAllSelected()"
60098
- [label]="checkIfAllSelected() ? 'DESELECT_ALL' : 'SELECT_ALL_ORDERS' | localize"
60099
- (modelChange)="onToggleAllOrders(checkIfAllSelected())">
60100
- </co-input-checkbox>
61058
+ <div class="actions-wrapper">
60101
61059
  @if (checkIfSelected() && batchCategory !== BatchDeliveryCategory.Transport) {
61060
+ <co-input-checkbox
61061
+ [model]="checkIfAllSelected()"
61062
+ [label]="checkIfAllSelected() ? 'DESELECT_ALL' : 'SELECT_ALL_ORDERS' | localize"
61063
+ (modelChange)="onToggleAllOrders(checkIfAllSelected())">
61064
+ </co-input-checkbox>
60102
61065
  <co-quick-send-button
60103
61066
  [showSendMethodDialogIcon]="false"
60104
61067
  [showLoader]="showProcessOrdersLoader"
60105
61068
  (sendIconClicked)="showAdditionalOptionsIfNeeded()">
60106
61069
  </co-quick-send-button>
60107
61070
  }
60108
- <!--
60109
- <co-transaction-container *ngIf="batchCategory === BatchDeliveryCategory.Transport" (containerContentModeChanged)="containerContentModeHandler($event)"></co-transaction-container>
60110
- -->
61071
+ @if (batchCategory === BatchDeliveryCategory.Transport) {
61072
+ <co-transaction-container (containerChoiceMade)="containerChosenHandler($event)"
61073
+ (containerContentModeChanged)="containerContentModeHandler($event)"
61074
+ (fillContainerClicked)="fillContainerClickedHandler()"
61075
+ (removeFromContainerClicked)="removeFromContainerClickedHandler()"
61076
+ [fullscreen]="fullscreen" ></co-transaction-container>
61077
+ }
60111
61078
  </div>
60112
61079
  }
60113
61080
  @if (activeContentViewMode === contentViewModes.Tiles && !extendedTransactionSearch) {
@@ -60174,7 +61141,7 @@ class TransactionSearchResultComponent {
60174
61141
  </div>
60175
61142
  }
60176
61143
  }
60177
-
61144
+
60178
61145
  @if (showShippingMethodDialog) {
60179
61146
  <co-shipping-method-dialog
60180
61147
  [category]="batchCategory"
@@ -60183,7 +61150,7 @@ class TransactionSearchResultComponent {
60183
61150
  (saveClicked)="shippingDialogSaveClicked($event)">
60184
61151
  </co-shipping-method-dialog>
60185
61152
  }
60186
-
61153
+
60187
61154
  @if (showBatchProcessDialog) {
60188
61155
  <co-batch-process-dialog
60189
61156
  @fadeInOut
@@ -60191,7 +61158,7 @@ class TransactionSearchResultComponent {
60191
61158
  (close)="showBatchProcessDialog = false">
60192
61159
  </co-batch-process-dialog>
60193
61160
  }
60194
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TransactionSearchGridComponent, selector: "co-transaction-search-grid", inputs: ["showCheckbox"], outputs: ["transactionClick"] }, { kind: "component", type: TransactionSearchTileComponent, selector: "co-transaction-search-tile", inputs: ["showCheckbox", "selected", "transaction"], outputs: ["transactionClick", "selectedClick"] }, { kind: "component", type: i1$1.PaginationBarComponent, selector: "co-pagination-bar", inputs: ["directionLinks", "previousLabel", "nextLabel", "currentPage", "itemsPerPage", "totalItems", "paginationRange", "autoHide"], outputs: ["previousClick", "nextClick", "pageClick"] }, { kind: "component", type: i1$1.InputCheckboxComponent, selector: "co-input-checkbox", inputs: ["cssClass", "clickableLabel"], outputs: ["modelChange"] }, { kind: "component", type: QuickSendButtonComponent, selector: "co-quick-send-button", inputs: ["title", "icon", "defaultMethodIcon", "showSendMethodIcon", "showSendMethodDialogIcon", "showLoader", "disabled"], outputs: ["openSendMethodDialog", "sendIconClicked"] }, { kind: "component", type: ShippingMethodDialogComponent, selector: "co-shipping-method-dialog", inputs: ["category", "selectedTransactions"], outputs: ["saveClicked", "cancelClicked"] }, { kind: "component", type: BatchProcessDialogComponent, selector: "co-batch-process-dialog", inputs: ["batchJobProgress"], outputs: ["close"] }, { kind: "component", type: TransactionSearchSalesLineSelectTileComponent, selector: "co-transaction-search-sales-line-select-tile", inputs: ["extendedTransactionSearch"], outputs: ["lineClicked", "transactionClick"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], animations: [
61161
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TransactionSearchGridComponent, selector: "co-transaction-search-grid", inputs: ["showCheckbox"], outputs: ["transactionClick"] }, { kind: "component", type: TransactionSearchTileComponent, selector: "co-transaction-search-tile", inputs: ["showCheckbox", "selected", "transaction"], outputs: ["transactionClick", "selectedClick"] }, { kind: "component", type: i1$1.PaginationBarComponent, selector: "co-pagination-bar", inputs: ["directionLinks", "previousLabel", "nextLabel", "currentPage", "itemsPerPage", "totalItems", "paginationRange", "autoHide"], outputs: ["previousClick", "nextClick", "pageClick"] }, { kind: "component", type: i1$1.InputCheckboxComponent, selector: "co-input-checkbox", inputs: ["cssClass", "clickableLabel"], outputs: ["modelChange"] }, { kind: "component", type: QuickSendButtonComponent, selector: "co-quick-send-button", inputs: ["title", "icon", "defaultMethodIcon", "showSendMethodIcon", "showSendMethodDialogIcon", "showLoader", "disabled"], outputs: ["openSendMethodDialog", "sendIconClicked"] }, { kind: "component", type: ShippingMethodDialogComponent, selector: "co-shipping-method-dialog", inputs: ["category", "selectedTransactions"], outputs: ["saveClicked", "cancelClicked"] }, { kind: "component", type: BatchProcessDialogComponent, selector: "co-batch-process-dialog", inputs: ["batchJobProgress"], outputs: ["close"] }, { kind: "component", type: TransactionSearchSalesLineSelectTileComponent, selector: "co-transaction-search-sales-line-select-tile", inputs: ["extendedTransactionSearch"], outputs: ["lineClicked", "transactionClick"] }, { kind: "component", type: TransactionContainerComponent, selector: "co-transaction-container", inputs: ["fullscreen"], outputs: ["containerChoiceMade", "containerContentModeChanged", "fillContainerClicked", "removeFromContainerClicked"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], animations: [
60195
61162
  trigger('fadeInOut', [
60196
61163
  transition(':enter', [
60197
61164
  style({ opacity: 0 }),
@@ -60210,23 +61177,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
60210
61177
  template: `
60211
61178
  @if (screenConfigLoaded) {
60212
61179
  @if (searchService.transactions?.length > 0 && batchPageActive && searchService.showBatchOptions) {
60213
- <div class="actions-wrapper"
60214
- >
60215
- <co-input-checkbox
60216
- [model]="checkIfAllSelected()"
60217
- [label]="checkIfAllSelected() ? 'DESELECT_ALL' : 'SELECT_ALL_ORDERS' | localize"
60218
- (modelChange)="onToggleAllOrders(checkIfAllSelected())">
60219
- </co-input-checkbox>
61180
+ <div class="actions-wrapper">
60220
61181
  @if (checkIfSelected() && batchCategory !== BatchDeliveryCategory.Transport) {
61182
+ <co-input-checkbox
61183
+ [model]="checkIfAllSelected()"
61184
+ [label]="checkIfAllSelected() ? 'DESELECT_ALL' : 'SELECT_ALL_ORDERS' | localize"
61185
+ (modelChange)="onToggleAllOrders(checkIfAllSelected())">
61186
+ </co-input-checkbox>
60221
61187
  <co-quick-send-button
60222
61188
  [showSendMethodDialogIcon]="false"
60223
61189
  [showLoader]="showProcessOrdersLoader"
60224
61190
  (sendIconClicked)="showAdditionalOptionsIfNeeded()">
60225
61191
  </co-quick-send-button>
60226
61192
  }
60227
- <!--
60228
- <co-transaction-container *ngIf="batchCategory === BatchDeliveryCategory.Transport" (containerContentModeChanged)="containerContentModeHandler($event)"></co-transaction-container>
60229
- -->
61193
+ @if (batchCategory === BatchDeliveryCategory.Transport) {
61194
+ <co-transaction-container (containerChoiceMade)="containerChosenHandler($event)"
61195
+ (containerContentModeChanged)="containerContentModeHandler($event)"
61196
+ (fillContainerClicked)="fillContainerClickedHandler()"
61197
+ (removeFromContainerClicked)="removeFromContainerClickedHandler()"
61198
+ [fullscreen]="fullscreen" ></co-transaction-container>
61199
+ }
60230
61200
  </div>
60231
61201
  }
60232
61202
  @if (activeContentViewMode === contentViewModes.Tiles && !extendedTransactionSearch) {
@@ -60293,7 +61263,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
60293
61263
  </div>
60294
61264
  }
60295
61265
  }
60296
-
61266
+
60297
61267
  @if (showShippingMethodDialog) {
60298
61268
  <co-shipping-method-dialog
60299
61269
  [category]="batchCategory"
@@ -60302,7 +61272,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
60302
61272
  (saveClicked)="shippingDialogSaveClicked($event)">
60303
61273
  </co-shipping-method-dialog>
60304
61274
  }
60305
-
61275
+
60306
61276
  @if (showBatchProcessDialog) {
60307
61277
  <co-batch-process-dialog
60308
61278
  @fadeInOut
@@ -60328,7 +61298,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
60328
61298
  encapsulation: ViewEncapsulation.None,
60329
61299
  standalone: false
60330
61300
  }]
60331
- }], ctorParameters: () => [{ type: TransactionSearchService }, { type: TransactionScreenConfigurationService }, { type: TransactionService }, { type: TransactionEventService }, { type: IconCacheService }, { type: i0.ChangeDetectorRef }, { type: DeliveryPlanningService }, { type: TransactionNotificationLineSelectionService }], propDecorators: { draggableTransactions: [{
61301
+ }], ctorParameters: () => [{ type: TransactionSearchService }, { type: TransactionScreenConfigurationService }, { type: TransactionService }, { type: TransactionEventService }, { type: IconCacheService }, { type: TransactionNotificationLineSelectionService }, { type: i0.ChangeDetectorRef }, { type: DeliveryPlanningService }], propDecorators: { draggableTransactions: [{
60332
61302
  type: Input
60333
61303
  }], showCheckbox: [{
60334
61304
  type: Input
@@ -61461,780 +62431,208 @@ class TransactionSearchInterBranchOrderTileComponent extends TransactionSearchTi
61461
62431
  <span [textContent]="transaction.transNr"></span>
61462
62432
  </div>
61463
62433
  </div>
61464
- <div class="tile-upper-middle">
61465
- <co-icon [iconData]="iconCacheService.getIcon(icons.StoreLight)" class="store-icon"></co-icon>
61466
- <div class="text"><span [textContent]="transaction.branchNr"></span></div>
61467
- </div>
61468
-
61469
- <div class="tile-upper-right">
61470
- <div class="status-bar-wrapper" (click)="$event.stopPropagation()">
61471
- <co-transaction-statusbar
61472
- [screenConfigurationObject]="cfgNames.StatusBar"
61473
- [configNames]="statusBarConfigNames"
61474
- [transaction]="transaction">
61475
- </co-transaction-statusbar>
61476
- </div>
61477
- </div>
61478
- </div>
61479
- <div class="tile-body">
61480
- <div class="tile-middle-left">
61481
- @if (showCheckbox && !transaction.isInProgressForBatchJob) {
61482
- <co-input-checkbox
61483
- [(model)]="transaction.selected"
61484
- (modelChange)="onSelectedClick(transaction)"
61485
- ></co-input-checkbox>
61486
- }
61487
-
61488
- @if (showCheckbox && transaction.isInProgressForBatchJob) {
61489
- <co-icon [title]="'PART_OF_BATCH' | localize"
61490
- [iconData]="iconCacheService.getIcon(icons.CircleInfoRegular)" class="batch-info-icon">
61491
- </co-icon>
61492
- }
61493
- </div>
61494
- <div class="tile-middle-middle">
61495
- <div class="text"><span [textContent]="transaction.relationName"></span></div>
61496
- <div class="text"><span [textContent]="transaction.getAdres()"></span></div>
61497
- </div>
61498
- <div class="tile-middle-right"></div>
61499
- </div>
61500
- <div class="tile-footer">
61501
- <div class="tile-bottom-left order-info-section">
61502
- <co-icon [iconData]="iconCacheService.getIcon(icons.RegularCartShoppingClock)" class="store-icon"></co-icon>
61503
- <div class="value">
61504
- <span [textContent]="transaction.getTransDate() | date:'dd-MM-yyyy'"></span>
61505
- </div>
61506
- </div>
61507
- <div class="tile-bottom-middle order-info-section">
61508
- @if (transaction.getDeliveryDate()) {
61509
- <div class="value">
61510
- <co-icon [iconData]="iconCacheService.getIcon(icons.RegularTruckMovingClock)" class="store-icon"></co-icon>
61511
- <span [textContent]="transaction.getDeliveryDate() | date:'dd-MM-yyyy'"></span>
61512
- @if (transaction.deliveryDateDefinitive) {
61513
- <co-icon
61514
- [iconData]="iconCacheService.getIcon(icons.Lock)" class="lock-icon"></co-icon>
61515
- } @else {
61516
- <co-icon [iconData]="iconCacheService.getIcon(icons.Unlock)" class="unlock-icon"></co-icon>
61517
- }
61518
- </div>
61519
- }
61520
- </div>
61521
- <div class="tile-bottom-right order-info-section">
61522
- <co-icon [iconData]="iconCacheService.getIcon(icons.RegularCartShoppingTag)" class="store-icon"></co-icon>
61523
- <div class="value"><span
61524
- [textContent]="transaction.totalPriceWithVat | currency:'EUR'"></span></div>
61525
- </div>
61526
- </div>
61527
- </div>
61528
- </div>
61529
- `, isInline: true, dependencies: [{ kind: "component", type: AvatarComponent, selector: "co-avatar", inputs: ["image", "relationId", "relation", "showBranchNr"] }, { kind: "component", type: i1$1.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: TransactionStatusbarComponent, selector: "co-transaction-statusbar", inputs: ["configNames", "transaction"] }, { kind: "component", type: i1$1.InputCheckboxComponent, selector: "co-input-checkbox", inputs: ["cssClass", "clickableLabel"], outputs: ["modelChange"] }, { kind: "directive", type: i1$1.ScreenConfigurationDirective, selector: "[screenConfigurationObject]", inputs: ["screenConfigurationObject", "dataName", "screenConfigNativeElement", "noModuleService"] }, { kind: "pipe", type: i2.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: LocalizePipe, name: "localize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
61530
- }
61531
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchInterBranchOrderTileComponent, decorators: [{
61532
- type: Component,
61533
- args: [{
61534
- selector: "co-transaction-search-inter-branch-order-tile",
61535
- template: `
61536
- <div class="transaction-tile-wrapper" (click)="onTransactionClick(transaction)">
61537
- <div [class]="'type-indicator color-' + transaction.transactionKind"></div>
61538
- <div class="tile">
61539
- <div class="tile-header">
61540
- <div class="tile-upper-left">
61541
- <div class="transaction-tile-avatar">
61542
- <co-avatar [image]="transaction.execImage" [relationId]="transaction.handledBy"></co-avatar>
61543
- <span [textContent]="transaction.transNr"></span>
61544
- </div>
61545
- </div>
61546
- <div class="tile-upper-middle">
61547
- <co-icon [iconData]="iconCacheService.getIcon(icons.StoreLight)" class="store-icon"></co-icon>
61548
- <div class="text"><span [textContent]="transaction.branchNr"></span></div>
61549
- </div>
61550
-
61551
- <div class="tile-upper-right">
61552
- <div class="status-bar-wrapper" (click)="$event.stopPropagation()">
61553
- <co-transaction-statusbar
61554
- [screenConfigurationObject]="cfgNames.StatusBar"
61555
- [configNames]="statusBarConfigNames"
61556
- [transaction]="transaction">
61557
- </co-transaction-statusbar>
61558
- </div>
61559
- </div>
61560
- </div>
61561
- <div class="tile-body">
61562
- <div class="tile-middle-left">
61563
- @if (showCheckbox && !transaction.isInProgressForBatchJob) {
61564
- <co-input-checkbox
61565
- [(model)]="transaction.selected"
61566
- (modelChange)="onSelectedClick(transaction)"
61567
- ></co-input-checkbox>
61568
- }
61569
-
61570
- @if (showCheckbox && transaction.isInProgressForBatchJob) {
61571
- <co-icon [title]="'PART_OF_BATCH' | localize"
61572
- [iconData]="iconCacheService.getIcon(icons.CircleInfoRegular)" class="batch-info-icon">
61573
- </co-icon>
61574
- }
61575
- </div>
61576
- <div class="tile-middle-middle">
61577
- <div class="text"><span [textContent]="transaction.relationName"></span></div>
61578
- <div class="text"><span [textContent]="transaction.getAdres()"></span></div>
61579
- </div>
61580
- <div class="tile-middle-right"></div>
61581
- </div>
61582
- <div class="tile-footer">
61583
- <div class="tile-bottom-left order-info-section">
61584
- <co-icon [iconData]="iconCacheService.getIcon(icons.RegularCartShoppingClock)" class="store-icon"></co-icon>
61585
- <div class="value">
61586
- <span [textContent]="transaction.getTransDate() | date:'dd-MM-yyyy'"></span>
61587
- </div>
61588
- </div>
61589
- <div class="tile-bottom-middle order-info-section">
61590
- @if (transaction.getDeliveryDate()) {
61591
- <div class="value">
61592
- <co-icon [iconData]="iconCacheService.getIcon(icons.RegularTruckMovingClock)" class="store-icon"></co-icon>
61593
- <span [textContent]="transaction.getDeliveryDate() | date:'dd-MM-yyyy'"></span>
61594
- @if (transaction.deliveryDateDefinitive) {
61595
- <co-icon
61596
- [iconData]="iconCacheService.getIcon(icons.Lock)" class="lock-icon"></co-icon>
61597
- } @else {
61598
- <co-icon [iconData]="iconCacheService.getIcon(icons.Unlock)" class="unlock-icon"></co-icon>
61599
- }
61600
- </div>
61601
- }
61602
- </div>
61603
- <div class="tile-bottom-right order-info-section">
61604
- <co-icon [iconData]="iconCacheService.getIcon(icons.RegularCartShoppingTag)" class="store-icon"></co-icon>
61605
- <div class="value"><span
61606
- [textContent]="transaction.totalPriceWithVat | currency:'EUR'"></span></div>
61607
- </div>
61608
- </div>
61609
- </div>
61610
- </div>
61611
- `,
61612
- changeDetection: ChangeDetectionStrategy.OnPush,
61613
- encapsulation: ViewEncapsulation.None,
61614
- standalone: false
61615
- }]
61616
- }], ctorParameters: () => [{ type: IconCacheService }, { type: i0.ChangeDetectorRef }], propDecorators: { showAvatar: [{
61617
- type: Input
61618
- }] } });
61619
-
61620
- class TransactionSearchInterBranchOrderTileModule {
61621
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchInterBranchOrderTileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
61622
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchInterBranchOrderTileModule, declarations: [TransactionSearchInterBranchOrderTileComponent], imports: [CommonModule,
61623
- CoreModule,
61624
- AvatarModule,
61625
- ButtonModule,
61626
- PipeModule,
61627
- IconModule,
61628
- StatusbarModule,
61629
- TransactionStatusbarModule,
61630
- InputCheckboxModule,
61631
- ScreenConfigurationModule], exports: [TransactionSearchInterBranchOrderTileComponent] });
61632
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchInterBranchOrderTileModule, imports: [CommonModule,
61633
- CoreModule,
61634
- AvatarModule,
61635
- ButtonModule,
61636
- PipeModule,
61637
- IconModule,
61638
- StatusbarModule,
61639
- TransactionStatusbarModule,
61640
- InputCheckboxModule,
61641
- ScreenConfigurationModule] });
61642
- }
61643
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchInterBranchOrderTileModule, decorators: [{
61644
- type: NgModule,
61645
- args: [{
61646
- imports: [
61647
- CommonModule,
61648
- CoreModule,
61649
- AvatarModule,
61650
- ButtonModule,
61651
- PipeModule,
61652
- IconModule,
61653
- StatusbarModule,
61654
- TransactionStatusbarModule,
61655
- InputCheckboxModule,
61656
- ScreenConfigurationModule,
61657
- ],
61658
- declarations: [
61659
- TransactionSearchInterBranchOrderTileComponent
61660
- ],
61661
- exports: [
61662
- TransactionSearchInterBranchOrderTileComponent
61663
- ]
61664
- }]
61665
- }] });
61666
-
61667
- class TransactionContainerChoiceDialogComponent {
61668
- iconCacheService;
61669
- transactionService;
61670
- showClass() {
61671
- return true;
61672
- }
61673
- containerChoiceMade = new EventEmitter();
61674
- cancelClicked = new EventEmitter();
61675
- icons = Icon;
61676
- containers = [];
61677
- containerTypes = [];
61678
- distributionValues = [{ text: "Volume", value: "V" }, { text: "Price", value: "P" }];
61679
- currencies = [];
61680
- chosenContainer = new Container();
61681
- chosenContainerType;
61682
- chosenContainerInfo;
61683
- chosenCostDist;
61684
- chosenCurrency;
61685
- newContainerModeActive = false;
61686
- constructor(iconCacheService, transactionService) {
61687
- this.iconCacheService = iconCacheService;
61688
- this.transactionService = transactionService;
61689
- }
61690
- ngOnInit() {
61691
- this.getCollections();
61692
- }
61693
- containerChosen() {
61694
- if (this.chosenContainer && this.chosenContainer.containerId) {
61695
- this.transactionService.getContainerInfo(this.chosenContainer.containerId).then(info => {
61696
- this.chosenContainerInfo = info;
61697
- });
61698
- this.setChosenContainerTypeFromContainer();
61699
- this.setChosenCostDistFromContainer();
61700
- this.setChosenCurrencyFromContainer();
61701
- }
61702
- }
61703
- containerTypeChosen() {
61704
- if (this.chosenContainer) {
61705
- this.setChosenContainerTypeToContainer();
61706
- }
61707
- }
61708
- costDistChosen() {
61709
- if (this.chosenContainer) {
61710
- this.setChosenCostDistToContainer();
61711
- }
61712
- }
61713
- currencyChosen() {
61714
- if (this.chosenContainer) {
61715
- this.setChosenCurrencyToContainer();
61716
- }
61717
- }
61718
- newContainerButtonClicked() {
61719
- this.chosenContainer = new Container();
61720
- this.setChosenContainerTypeFromContainer();
61721
- this.setChosenCostDistFromContainer();
61722
- this.setChosenCurrencyFromContainer();
61723
- this.chosenContainerInfo = null;
61724
- this.newContainerModeActive = true;
61725
- }
61726
- async saveButtonClicked() {
61727
- let result;
61728
- if (this.newContainerModeActive && this.chosenContainer && !this.chosenContainer.containerId) {
61729
- result = await this.transactionService.createContainer(this.chosenContainer);
61730
- }
61731
- else {
61732
- result = await this.transactionService.updateContainer(this.chosenContainer);
61733
- }
61734
- if (result && result.containerId) {
61735
- this.containerChoiceMade.emit(result);
61736
- }
61737
- }
61738
- cancelButtonClicked() {
61739
- this.cancelClicked.emit();
61740
- }
61741
- getCollections() {
61742
- this.transactionService.getContainers().then(containerList => {
61743
- this.containers = containerList;
61744
- });
61745
- this.transactionService.getContainerTypes().then(types => {
61746
- this.containerTypes = types;
61747
- this.setChosenContainerTypeToContainer();
61748
- });
61749
- this.transactionService.getCurrencies().then(cur => {
61750
- this.currencies = cur;
61751
- this.setChosenCurrencyFromContainer();
61752
- });
61753
- }
61754
- setChosenContainerTypeFromContainer() {
61755
- if (this.chosenContainer && this.chosenContainer.containerType && this.containerTypes && this.containerTypes.length > 0) {
61756
- this.chosenContainerType = this.containerTypes.find(ct => ct.containerType === this.chosenContainer.containerType);
61757
- }
61758
- else {
61759
- this.chosenContainerType = null;
61760
- }
61761
- }
61762
- setChosenContainerTypeToContainer() {
61763
- if (this.chosenContainer) {
61764
- this.chosenContainer.containerType = this.chosenContainerType ? this.chosenContainerType.containerType : null;
61765
- }
61766
- }
61767
- setChosenCostDistFromContainer() {
61768
- if (this.chosenContainer && this.chosenContainer.distributionTransportCost) {
61769
- this.chosenCostDist = this.distributionValues.find(ct => ct.value === this.chosenContainer.distributionTransportCost);
61770
- }
61771
- else {
61772
- this.chosenCostDist = null;
61773
- }
61774
- }
61775
- setChosenCostDistToContainer() {
61776
- if (this.chosenContainer) {
61777
- this.chosenContainer.distributionTransportCost = this.chosenCostDist ? this.chosenCostDist.value : null;
61778
- }
61779
- }
61780
- setChosenCurrencyFromContainer() {
61781
- if (this.chosenContainer && this.chosenContainer.currencyCode) {
61782
- this.chosenCurrency = this.currencies.find(cur => cur.code === this.chosenContainer.currencyCode);
61783
- }
61784
- else {
61785
- this.chosenCurrency = null;
61786
- }
61787
- }
61788
- setChosenCurrencyToContainer() {
61789
- if (this.chosenContainer) {
61790
- this.chosenContainer.currencyCode = this.chosenCurrency ? this.chosenCurrency.code : null;
61791
- }
61792
- }
61793
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionContainerChoiceDialogComponent, deps: [{ token: IconCacheService }, { token: TransactionService }], target: i0.ɵɵFactoryTarget.Component });
61794
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: TransactionContainerChoiceDialogComponent, isStandalone: false, selector: "co-transaction-container-choice-dialog", outputs: { containerChoiceMade: "containerChoiceMade", cancelClicked: "cancelClicked" }, host: { properties: { "class.co-transaction-container-choice-dialog": "this.showClass" } }, ngImport: i0, template: `
61795
- <co-dialog
61796
- [headerTemplate]="headerTemplate"
61797
- [footerTemplate]="footerTemplate"
61798
- (closeClick)="cancelButtonClicked()">
61799
- <ng-template #headerTemplate class="header-class">
61800
- <co-icon [iconData]="iconCacheService.getIcon(icons.TruckContainerSolid)"></co-icon>
61801
- <div class="co-dialog-header-title" [textContent]="'CONTAINER_INFO' | localize"></div>
61802
- </ng-template>
61803
-
61804
- <div class="transport-dialog-contents">
61805
- <div class="button-div">
61806
- @if (!newContainerModeActive) {
61807
- <co-button [label]="'NEW' | localize" class="new-container-button"
61808
- [iconData]="iconCacheService.getIcon(icons.PlusSimple)" (click)="newContainerButtonClicked()"></co-button>
61809
- }
61810
- </div>
61811
- <div class="transport-dialog-contents-paragraph">
61812
- <div class="transport-dialog-contents-column">
61813
- <span class="column-title" [textContent]="'CONTAINER_DATA' | localize"></span>
61814
- @if (!newContainerModeActive) {
61815
- <co-list-of-values
61816
- [label]="'CONTAINER' | localize"
61817
- [collection]="containers"
61818
- [displayField]="'containerNr'"
61819
- [(model)]="chosenContainer"
61820
- (modelChange)="containerChosen()"
61821
- ></co-list-of-values>
61822
- }
61823
- @if (newContainerModeActive) {
61824
- <co-input-text
61825
- [placeholder]="'CONTAINER_NR' | localize"
61826
- [readonly]="false"
61827
- [(model)]="chosenContainer.containerNr">
61828
- </co-input-text>
61829
- }
61830
- <co-list-of-values [label]="'TYPE' | localize"
61831
- [collection]="containerTypes"
61832
- [displayField]="'description'"
61833
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61834
- [(model)]="chosenContainerType"
61835
- (modelChange)="containerTypeChosen()">
61836
- </co-list-of-values>
61837
- <co-input-text [placeholder]="'REMARK' | localize"
61838
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61839
- [(model)]="chosenContainer.state">
61840
- </co-input-text>
61841
- </div>
61842
- <div class="transport-dialog-contents-column">
61843
- <span class="column-title" [textContent]="'CONTENTS_AND_COST' | localize"></span>
61844
- <co-input-text [placeholder]="'VOLUME' | localize"
61845
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61846
- [digitsOnly]="true"
61847
- [(model)]="chosenContainer.volume">
61848
- </co-input-text>
61849
- @if (!newContainerModeActive) {
61850
- <co-input-text
61851
- [placeholder]="'YET_TO_USE' | localize"
61852
- [readonly]="true"
61853
- [digitsOnly]="true"
61854
- [model]="chosenContainerInfo?.containerVolume - chosenContainerInfo?.packedVolume">
61855
- </co-input-text>
61856
- }
61857
- <co-list-of-values [label]="'DISTRIBUTION' | localize"
61858
- [collection]="distributionValues"
61859
- [displayField]="'text'"
61860
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61861
- [(model)]="chosenCostDist"
61862
- (modelChange)="costDistChosen()">
61863
- </co-list-of-values>
61864
- <div class="currency-section">
61865
- <co-list-of-values [label]="'CURRENCY' | localize"
61866
- [collection]="currencies"
61867
- [displayField]="'unit'"
61868
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61869
- [(model)]="chosenCurrency"
61870
- (modelChange)="currencyChosen()">
61871
- </co-list-of-values>
61872
- <co-input-text class="currency-field"
61873
- [placeholder]="'TRANSPORT_COST' | localize"
61874
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61875
- [(model)]="chosenContainer.transportationCosts">
61876
- </co-input-text>
61877
- </div>
61878
- <co-input-checkbox [label]="'VOLUME_RESTRICTED' | localize"
61879
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61880
- [(model)]="chosenContainer.volumeLimited">
61881
- </co-input-checkbox>
61882
- </div>
61883
- </div>
61884
- <div class="transport-dialog-contents-paragraph">
61885
- <div class="transport-dialog-contents-column">
61886
- <span class="column-title" [textContent]="'PLANNING_INFO' | localize"></span>
61887
- <co-input-date [placeholder]="'LOADING_DATE' | localize"
61888
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61889
- [(model)]="chosenContainer.loadingDate"></co-input-date>
61890
- <co-input-date [placeholder]="'SHIPPING_DATE' | localize"
61891
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61892
- [(model)]="chosenContainer.departureDate"></co-input-date>
62434
+ <div class="tile-upper-middle">
62435
+ <co-icon [iconData]="iconCacheService.getIcon(icons.StoreLight)" class="store-icon"></co-icon>
62436
+ <div class="text"><span [textContent]="transaction.branchNr"></span></div>
61893
62437
  </div>
61894
- <div class="transport-dialog-contents-column">
61895
- <span class="column-title" [textContent]="\n\n"></span>
61896
- <co-input-date [placeholder]="'ETA_AT_PORT' | localize"
61897
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61898
- [(model)]="chosenContainer.arrivalHarborDate"></co-input-date>
61899
- <co-input-date [placeholder]="'ARRIVAL_DATE' | localize"
61900
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61901
- [(model)]="chosenContainer.arrivalDate"></co-input-date>
62438
+
62439
+ <div class="tile-upper-right">
62440
+ <div class="status-bar-wrapper" (click)="$event.stopPropagation()">
62441
+ <co-transaction-statusbar
62442
+ [screenConfigurationObject]="cfgNames.StatusBar"
62443
+ [configNames]="statusBarConfigNames"
62444
+ [transaction]="transaction">
62445
+ </co-transaction-statusbar>
62446
+ </div>
61902
62447
  </div>
61903
62448
  </div>
61904
- </div>
62449
+ <div class="tile-body">
62450
+ <div class="tile-middle-left">
62451
+ @if (showCheckbox && !transaction.isInProgressForBatchJob) {
62452
+ <co-input-checkbox
62453
+ [(model)]="transaction.selected"
62454
+ (modelChange)="onSelectedClick(transaction)"
62455
+ ></co-input-checkbox>
62456
+ }
61905
62457
 
61906
- <ng-template #footerTemplate>
61907
- <div class="co-dialog-footer-button-wrapper">
61908
- @if (chosenContainer.containerId || newContainerModeActive) {
61909
- <co-button
61910
- class="save-button"
61911
- [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
61912
- (click)="saveButtonClicked()">
61913
- </co-button>
61914
- }
61915
- <co-button
61916
- class="close-button"
61917
- [iconData]="iconCacheService.getIcon(icons.Crossskinny)"
61918
- (click)="cancelButtonClicked()">
61919
- </co-button>
62458
+ @if (showCheckbox && transaction.isInProgressForBatchJob) {
62459
+ <co-icon [title]="'PART_OF_BATCH' | localize"
62460
+ [iconData]="iconCacheService.getIcon(icons.CircleInfoRegular)" class="batch-info-icon">
62461
+ </co-icon>
62462
+ }
62463
+ </div>
62464
+ <div class="tile-middle-middle">
62465
+ <div class="text"><span [textContent]="transaction.relationName"></span></div>
62466
+ <div class="text"><span [textContent]="transaction.getAdres()"></span></div>
62467
+ </div>
62468
+ <div class="tile-middle-right"></div>
61920
62469
  </div>
61921
- </ng-template>
61922
- </co-dialog>
61923
- `, isInline: true, dependencies: [{ kind: "component", type: i1$1.CoDialogComponent, selector: "co-dialog", inputs: ["customCssClass", "headerTemplate", "footerTemplate", "showCloseIcon", "modal", "borderless"], outputs: ["closeClick"] }, { kind: "component", type: i1$1.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: i1$1.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "component", type: i1$1.InputCheckboxComponent, selector: "co-input-checkbox", inputs: ["cssClass", "clickableLabel"], outputs: ["modelChange"] }, { kind: "component", type: i1$1.ListOfValuesComponent, selector: "co-list-of-values", inputs: ["model", "multiselect", "showToggleAll", "largeCollection", "displayField", "optionIcon", "collection", "collectionLoadFn", "collectionLoadFnProp", "leftIconData", "searchPlaceholder", "searchDisabled", "showChips"] }, { kind: "component", type: i1$1.InputTextComponent, selector: "co-input-text", inputs: ["useContent", "placeholder", "align", "type", "formatPipe", "min", "max", "pattern", "digitsOnly", "excludePlusMinus", "showClearButton", "keyDownWhiteList", "showPlaceholderOnFocus", "leftIcon", "rightIcon", "leftIconData", "rightIconData", "selectOnFocus", "emptyPlace", "firstDayOfWeek", "noStyle", "hideArrowButtons", "model"], outputs: ["leftIconClick", "leftIconMouseDown", "leftIconMouseUp", "rightIconClick", "rightIconMouseDown", "rightIconMouseUp", "clearIconClick", "isFocused"] }, { kind: "component", type: i1$1.InputDatePickerComponent, selector: "co-input-date", inputs: ["firstDayOfWeek", "showClearButton"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
62470
+ <div class="tile-footer">
62471
+ <div class="tile-bottom-left order-info-section">
62472
+ <co-icon [iconData]="iconCacheService.getIcon(icons.RegularCartShoppingClock)" class="store-icon"></co-icon>
62473
+ <div class="value">
62474
+ <span [textContent]="transaction.getTransDate() | date:'dd-MM-yyyy'"></span>
62475
+ </div>
62476
+ </div>
62477
+ <div class="tile-bottom-middle order-info-section">
62478
+ @if (transaction.getDeliveryDate()) {
62479
+ <div class="value">
62480
+ <co-icon [iconData]="iconCacheService.getIcon(icons.RegularTruckMovingClock)" class="store-icon"></co-icon>
62481
+ <span [textContent]="transaction.getDeliveryDate() | date:'dd-MM-yyyy'"></span>
62482
+ @if (transaction.deliveryDateDefinitive) {
62483
+ <co-icon
62484
+ [iconData]="iconCacheService.getIcon(icons.Lock)" class="lock-icon"></co-icon>
62485
+ } @else {
62486
+ <co-icon [iconData]="iconCacheService.getIcon(icons.Unlock)" class="unlock-icon"></co-icon>
62487
+ }
62488
+ </div>
62489
+ }
62490
+ </div>
62491
+ <div class="tile-bottom-right order-info-section">
62492
+ <co-icon [iconData]="iconCacheService.getIcon(icons.RegularCartShoppingTag)" class="store-icon"></co-icon>
62493
+ <div class="value"><span
62494
+ [textContent]="transaction.totalPriceWithVat | currency:'EUR'"></span></div>
62495
+ </div>
62496
+ </div>
62497
+ </div>
62498
+ </div>
62499
+ `, isInline: true, dependencies: [{ kind: "component", type: AvatarComponent, selector: "co-avatar", inputs: ["image", "relationId", "relation", "showBranchNr"] }, { kind: "component", type: i1$1.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: TransactionStatusbarComponent, selector: "co-transaction-statusbar", inputs: ["configNames", "transaction"] }, { kind: "component", type: i1$1.InputCheckboxComponent, selector: "co-input-checkbox", inputs: ["cssClass", "clickableLabel"], outputs: ["modelChange"] }, { kind: "directive", type: i1$1.ScreenConfigurationDirective, selector: "[screenConfigurationObject]", inputs: ["screenConfigurationObject", "dataName", "screenConfigNativeElement", "noModuleService"] }, { kind: "pipe", type: i2.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: LocalizePipe, name: "localize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
61924
62500
  }
61925
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionContainerChoiceDialogComponent, decorators: [{
62501
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchInterBranchOrderTileComponent, decorators: [{
61926
62502
  type: Component,
61927
62503
  args: [{
61928
- selector: 'co-transaction-container-choice-dialog',
62504
+ selector: "co-transaction-search-inter-branch-order-tile",
61929
62505
  template: `
61930
- <co-dialog
61931
- [headerTemplate]="headerTemplate"
61932
- [footerTemplate]="footerTemplate"
61933
- (closeClick)="cancelButtonClicked()">
61934
- <ng-template #headerTemplate class="header-class">
61935
- <co-icon [iconData]="iconCacheService.getIcon(icons.TruckContainerSolid)"></co-icon>
61936
- <div class="co-dialog-header-title" [textContent]="'CONTAINER_INFO' | localize"></div>
61937
- </ng-template>
62506
+ <div class="transaction-tile-wrapper" (click)="onTransactionClick(transaction)">
62507
+ <div [class]="'type-indicator color-' + transaction.transactionKind"></div>
62508
+ <div class="tile">
62509
+ <div class="tile-header">
62510
+ <div class="tile-upper-left">
62511
+ <div class="transaction-tile-avatar">
62512
+ <co-avatar [image]="transaction.execImage" [relationId]="transaction.handledBy"></co-avatar>
62513
+ <span [textContent]="transaction.transNr"></span>
62514
+ </div>
62515
+ </div>
62516
+ <div class="tile-upper-middle">
62517
+ <co-icon [iconData]="iconCacheService.getIcon(icons.StoreLight)" class="store-icon"></co-icon>
62518
+ <div class="text"><span [textContent]="transaction.branchNr"></span></div>
62519
+ </div>
61938
62520
 
61939
- <div class="transport-dialog-contents">
61940
- <div class="button-div">
61941
- @if (!newContainerModeActive) {
61942
- <co-button [label]="'NEW' | localize" class="new-container-button"
61943
- [iconData]="iconCacheService.getIcon(icons.PlusSimple)" (click)="newContainerButtonClicked()"></co-button>
61944
- }
62521
+ <div class="tile-upper-right">
62522
+ <div class="status-bar-wrapper" (click)="$event.stopPropagation()">
62523
+ <co-transaction-statusbar
62524
+ [screenConfigurationObject]="cfgNames.StatusBar"
62525
+ [configNames]="statusBarConfigNames"
62526
+ [transaction]="transaction">
62527
+ </co-transaction-statusbar>
62528
+ </div>
62529
+ </div>
61945
62530
  </div>
61946
- <div class="transport-dialog-contents-paragraph">
61947
- <div class="transport-dialog-contents-column">
61948
- <span class="column-title" [textContent]="'CONTAINER_DATA' | localize"></span>
61949
- @if (!newContainerModeActive) {
61950
- <co-list-of-values
61951
- [label]="'CONTAINER' | localize"
61952
- [collection]="containers"
61953
- [displayField]="'containerNr'"
61954
- [(model)]="chosenContainer"
61955
- (modelChange)="containerChosen()"
61956
- ></co-list-of-values>
62531
+ <div class="tile-body">
62532
+ <div class="tile-middle-left">
62533
+ @if (showCheckbox && !transaction.isInProgressForBatchJob) {
62534
+ <co-input-checkbox
62535
+ [(model)]="transaction.selected"
62536
+ (modelChange)="onSelectedClick(transaction)"
62537
+ ></co-input-checkbox>
61957
62538
  }
61958
- @if (newContainerModeActive) {
61959
- <co-input-text
61960
- [placeholder]="'CONTAINER_NR' | localize"
61961
- [readonly]="false"
61962
- [(model)]="chosenContainer.containerNr">
61963
- </co-input-text>
62539
+
62540
+ @if (showCheckbox && transaction.isInProgressForBatchJob) {
62541
+ <co-icon [title]="'PART_OF_BATCH' | localize"
62542
+ [iconData]="iconCacheService.getIcon(icons.CircleInfoRegular)" class="batch-info-icon">
62543
+ </co-icon>
61964
62544
  }
61965
- <co-list-of-values [label]="'TYPE' | localize"
61966
- [collection]="containerTypes"
61967
- [displayField]="'description'"
61968
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61969
- [(model)]="chosenContainerType"
61970
- (modelChange)="containerTypeChosen()">
61971
- </co-list-of-values>
61972
- <co-input-text [placeholder]="'REMARK' | localize"
61973
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61974
- [(model)]="chosenContainer.state">
61975
- </co-input-text>
61976
62545
  </div>
61977
- <div class="transport-dialog-contents-column">
61978
- <span class="column-title" [textContent]="'CONTENTS_AND_COST' | localize"></span>
61979
- <co-input-text [placeholder]="'VOLUME' | localize"
61980
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61981
- [digitsOnly]="true"
61982
- [(model)]="chosenContainer.volume">
61983
- </co-input-text>
61984
- @if (!newContainerModeActive) {
61985
- <co-input-text
61986
- [placeholder]="'YET_TO_USE' | localize"
61987
- [readonly]="true"
61988
- [digitsOnly]="true"
61989
- [model]="chosenContainerInfo?.containerVolume - chosenContainerInfo?.packedVolume">
61990
- </co-input-text>
61991
- }
61992
- <co-list-of-values [label]="'DISTRIBUTION' | localize"
61993
- [collection]="distributionValues"
61994
- [displayField]="'text'"
61995
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
61996
- [(model)]="chosenCostDist"
61997
- (modelChange)="costDistChosen()">
61998
- </co-list-of-values>
61999
- <div class="currency-section">
62000
- <co-list-of-values [label]="'CURRENCY' | localize"
62001
- [collection]="currencies"
62002
- [displayField]="'unit'"
62003
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
62004
- [(model)]="chosenCurrency"
62005
- (modelChange)="currencyChosen()">
62006
- </co-list-of-values>
62007
- <co-input-text class="currency-field"
62008
- [placeholder]="'TRANSPORT_COST' | localize"
62009
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
62010
- [(model)]="chosenContainer.transportationCosts">
62011
- </co-input-text>
62012
- </div>
62013
- <co-input-checkbox [label]="'VOLUME_RESTRICTED' | localize"
62014
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
62015
- [(model)]="chosenContainer.volumeLimited">
62016
- </co-input-checkbox>
62546
+ <div class="tile-middle-middle">
62547
+ <div class="text"><span [textContent]="transaction.relationName"></span></div>
62548
+ <div class="text"><span [textContent]="transaction.getAdres()"></span></div>
62017
62549
  </div>
62550
+ <div class="tile-middle-right"></div>
62018
62551
  </div>
62019
- <div class="transport-dialog-contents-paragraph">
62020
- <div class="transport-dialog-contents-column">
62021
- <span class="column-title" [textContent]="'PLANNING_INFO' | localize"></span>
62022
- <co-input-date [placeholder]="'LOADING_DATE' | localize"
62023
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
62024
- [(model)]="chosenContainer.loadingDate"></co-input-date>
62025
- <co-input-date [placeholder]="'SHIPPING_DATE' | localize"
62026
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
62027
- [(model)]="chosenContainer.departureDate"></co-input-date>
62552
+ <div class="tile-footer">
62553
+ <div class="tile-bottom-left order-info-section">
62554
+ <co-icon [iconData]="iconCacheService.getIcon(icons.RegularCartShoppingClock)" class="store-icon"></co-icon>
62555
+ <div class="value">
62556
+ <span [textContent]="transaction.getTransDate() | date:'dd-MM-yyyy'"></span>
62557
+ </div>
62028
62558
  </div>
62029
- <div class="transport-dialog-contents-column">
62030
- <span class="column-title" [textContent]="\n\n"></span>
62031
- <co-input-date [placeholder]="'ETA_AT_PORT' | localize"
62032
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
62033
- [(model)]="chosenContainer.arrivalHarborDate"></co-input-date>
62034
- <co-input-date [placeholder]="'ARRIVAL_DATE' | localize"
62035
- [readonly]="(!newContainerModeActive && !this.chosenContainer.containerId)"
62036
- [(model)]="chosenContainer.arrivalDate"></co-input-date>
62559
+ <div class="tile-bottom-middle order-info-section">
62560
+ @if (transaction.getDeliveryDate()) {
62561
+ <div class="value">
62562
+ <co-icon [iconData]="iconCacheService.getIcon(icons.RegularTruckMovingClock)" class="store-icon"></co-icon>
62563
+ <span [textContent]="transaction.getDeliveryDate() | date:'dd-MM-yyyy'"></span>
62564
+ @if (transaction.deliveryDateDefinitive) {
62565
+ <co-icon
62566
+ [iconData]="iconCacheService.getIcon(icons.Lock)" class="lock-icon"></co-icon>
62567
+ } @else {
62568
+ <co-icon [iconData]="iconCacheService.getIcon(icons.Unlock)" class="unlock-icon"></co-icon>
62569
+ }
62570
+ </div>
62571
+ }
62572
+ </div>
62573
+ <div class="tile-bottom-right order-info-section">
62574
+ <co-icon [iconData]="iconCacheService.getIcon(icons.RegularCartShoppingTag)" class="store-icon"></co-icon>
62575
+ <div class="value"><span
62576
+ [textContent]="transaction.totalPriceWithVat | currency:'EUR'"></span></div>
62037
62577
  </div>
62038
62578
  </div>
62039
62579
  </div>
62040
-
62041
- <ng-template #footerTemplate>
62042
- <div class="co-dialog-footer-button-wrapper">
62043
- @if (chosenContainer.containerId || newContainerModeActive) {
62044
- <co-button
62045
- class="save-button"
62046
- [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
62047
- (click)="saveButtonClicked()">
62048
- </co-button>
62049
- }
62050
- <co-button
62051
- class="close-button"
62052
- [iconData]="iconCacheService.getIcon(icons.Crossskinny)"
62053
- (click)="cancelButtonClicked()">
62054
- </co-button>
62055
- </div>
62056
- </ng-template>
62057
- </co-dialog>
62580
+ </div>
62058
62581
  `,
62582
+ changeDetection: ChangeDetectionStrategy.OnPush,
62059
62583
  encapsulation: ViewEncapsulation.None,
62060
62584
  standalone: false
62061
62585
  }]
62062
- }], ctorParameters: () => [{ type: IconCacheService }, { type: TransactionService }], propDecorators: { showClass: [{
62063
- type: HostBinding,
62064
- args: ['class.co-transaction-container-choice-dialog']
62065
- }], containerChoiceMade: [{
62066
- type: Output
62067
- }], cancelClicked: [{
62068
- type: Output
62586
+ }], ctorParameters: () => [{ type: IconCacheService }, { type: i0.ChangeDetectorRef }], propDecorators: { showAvatar: [{
62587
+ type: Input
62069
62588
  }] } });
62070
62589
 
62071
- class TransactionContainerComponent {
62072
- iconCacheService;
62073
- transactionService;
62074
- _renderer;
62075
- icons = Icon;
62076
- showClass() {
62077
- return true;
62078
- }
62079
- fillBar;
62080
- containerChoiceMade = new EventEmitter();
62081
- containerContentModeChanged = new EventEmitter();
62082
- showContainerDialog = false;
62083
- containers = [];
62084
- chosenContainer;
62085
- chosenContainerInfo;
62086
- containerContentsModeActive = false;
62087
- constructor(iconCacheService, transactionService, _renderer) {
62088
- this.iconCacheService = iconCacheService;
62089
- this.transactionService = transactionService;
62090
- this._renderer = _renderer;
62091
- }
62092
- ngOnInit() {
62093
- }
62094
- containerModeButtonClickHandler() {
62095
- if (this.chosenContainer) {
62096
- this.chosenContainer = null;
62097
- this.chosenContainerInfo = null;
62098
- }
62099
- else {
62100
- this.showContainerDialog = true;
62101
- }
62102
- }
62103
- addRemoveOrdersButtonClickHandler() {
62104
- //TODO handling. likely via emitters
62105
- }
62106
- switchAddRemoveClicked() {
62107
- this.containerContentsModeActive = !this.containerContentsModeActive;
62108
- if (this.containerContentsModeActive) {
62109
- this.containerContentModeChanged.emit(this.chosenContainer);
62110
- }
62111
- else {
62112
- this.containerContentModeChanged.emit(null);
62113
- }
62114
- }
62115
- async containerChosenHandler(container) {
62116
- this.chosenContainer = container;
62117
- this.showContainerDialog = false;
62118
- //this.containerChosen.emit(container);
62119
- this.chosenContainerInfo = await this.transactionService.getContainerInfo(container.containerId);
62120
- if (this.chosenContainerInfo.containerVolume && !isNaN(this.chosenContainerInfo.containerVolume)) {
62121
- const percentage = (this.chosenContainerInfo.packedVolume / this.chosenContainerInfo.containerVolume) * 100;
62122
- this._renderer.setStyle(this.fillBar.nativeElement, 'width', percentage + '%');
62123
- }
62124
- else {
62125
- this._renderer.setStyle(this.fillBar.nativeElement, 'width', '0px');
62126
- }
62127
- }
62128
- getContainerInfoLabel() {
62129
- if (this.chosenContainer) {
62130
- return this.chosenContainer.containerNr;
62131
- }
62132
- else {
62133
- return "";
62134
- }
62135
- }
62136
- getContainerContentsLabel() {
62137
- if (this.chosenContainerInfo) {
62138
- return this.chosenContainerInfo.packedVolume + "/" + this.chosenContainerInfo.containerVolume;
62139
- }
62140
- else {
62141
- return "";
62142
- }
62143
- }
62144
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionContainerComponent, deps: [{ token: IconCacheService }, { token: TransactionService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
62145
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: TransactionContainerComponent, isStandalone: false, selector: "co-transaction-container", outputs: { containerChoiceMade: "containerChoiceMade", containerContentModeChanged: "containerContentModeChanged" }, host: { properties: { "class.co-transaction-container": "this.showClass" } }, viewQueries: [{ propertyName: "fillBar", first: true, predicate: ["fillBar"], descendants: true }], ngImport: i0, template: `
62146
- <div class="transaction-container-content">
62147
- <co-button class="container-button" [class.buttonActive]="this.chosenContainer"
62148
- [iconData]="iconCacheService.getIcon(icons.TruckContainerSolid)"
62149
- (onClick)="containerModeButtonClickHandler()"
62150
- ></co-button>
62151
- @if (this.chosenContainer) {
62152
- <co-button class="container-button"
62153
- [iconData]="this.containerContentsModeActive ? iconCacheService.getIcon(icons.ArrowRightRegular) : iconCacheService.getIcon(icons.ArrowLeftRegular)"
62154
- (onClick)="addRemoveOrdersButtonClickHandler()"
62155
- ></co-button>
62156
- }
62157
- @if (this.chosenContainer) {
62158
- <div class="container-information">
62159
- <span class="container-information-label" [textContent]="getContainerInfoLabel()"></span>
62160
- <div class="container-load-bar">
62161
- <div class="container-load-bar-fill" #fillBar></div>
62162
- <span class="container-contents-label" [textContent]="getContainerContentsLabel()"></span>
62163
- </div>
62164
- <co-icon class="info-icon" [iconData]="iconCacheService.getIcon(icons.CircleInfoRegular)"></co-icon>
62165
- </div>
62166
- }
62167
- @if (this.chosenContainer) {
62168
- <co-button class="container-button" [class.buttonActive]="this.containerContentsModeActive"
62169
- [iconData]="iconCacheService.getIcon(icons.Check)"
62170
- (onClick)="switchAddRemoveClicked()"
62171
- ></co-button>
62172
- }
62173
- </div>
62174
-
62175
- @if (showContainerDialog) {
62176
- <co-transaction-container-choice-dialog
62177
- (containerChoiceMade)="containerChosenHandler($event)"
62178
- (cancelClicked)="showContainerDialog = false">
62179
- </co-transaction-container-choice-dialog>
62180
- }
62181
- `, isInline: true, dependencies: [{ kind: "component", type: i1$1.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: i1$1.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "component", type: TransactionContainerChoiceDialogComponent, selector: "co-transaction-container-choice-dialog", outputs: ["containerChoiceMade", "cancelClicked"] }], encapsulation: i0.ViewEncapsulation.None });
62590
+ class TransactionSearchInterBranchOrderTileModule {
62591
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchInterBranchOrderTileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
62592
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchInterBranchOrderTileModule, declarations: [TransactionSearchInterBranchOrderTileComponent], imports: [CommonModule,
62593
+ CoreModule,
62594
+ AvatarModule,
62595
+ ButtonModule,
62596
+ PipeModule,
62597
+ IconModule,
62598
+ StatusbarModule,
62599
+ TransactionStatusbarModule,
62600
+ InputCheckboxModule,
62601
+ ScreenConfigurationModule], exports: [TransactionSearchInterBranchOrderTileComponent] });
62602
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchInterBranchOrderTileModule, imports: [CommonModule,
62603
+ CoreModule,
62604
+ AvatarModule,
62605
+ ButtonModule,
62606
+ PipeModule,
62607
+ IconModule,
62608
+ StatusbarModule,
62609
+ TransactionStatusbarModule,
62610
+ InputCheckboxModule,
62611
+ ScreenConfigurationModule] });
62182
62612
  }
62183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionContainerComponent, decorators: [{
62184
- type: Component,
62613
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchInterBranchOrderTileModule, decorators: [{
62614
+ type: NgModule,
62185
62615
  args: [{
62186
- selector: 'co-transaction-container',
62187
- template: `
62188
- <div class="transaction-container-content">
62189
- <co-button class="container-button" [class.buttonActive]="this.chosenContainer"
62190
- [iconData]="iconCacheService.getIcon(icons.TruckContainerSolid)"
62191
- (onClick)="containerModeButtonClickHandler()"
62192
- ></co-button>
62193
- @if (this.chosenContainer) {
62194
- <co-button class="container-button"
62195
- [iconData]="this.containerContentsModeActive ? iconCacheService.getIcon(icons.ArrowRightRegular) : iconCacheService.getIcon(icons.ArrowLeftRegular)"
62196
- (onClick)="addRemoveOrdersButtonClickHandler()"
62197
- ></co-button>
62198
- }
62199
- @if (this.chosenContainer) {
62200
- <div class="container-information">
62201
- <span class="container-information-label" [textContent]="getContainerInfoLabel()"></span>
62202
- <div class="container-load-bar">
62203
- <div class="container-load-bar-fill" #fillBar></div>
62204
- <span class="container-contents-label" [textContent]="getContainerContentsLabel()"></span>
62205
- </div>
62206
- <co-icon class="info-icon" [iconData]="iconCacheService.getIcon(icons.CircleInfoRegular)"></co-icon>
62207
- </div>
62208
- }
62209
- @if (this.chosenContainer) {
62210
- <co-button class="container-button" [class.buttonActive]="this.containerContentsModeActive"
62211
- [iconData]="iconCacheService.getIcon(icons.Check)"
62212
- (onClick)="switchAddRemoveClicked()"
62213
- ></co-button>
62214
- }
62215
- </div>
62216
-
62217
- @if (showContainerDialog) {
62218
- <co-transaction-container-choice-dialog
62219
- (containerChoiceMade)="containerChosenHandler($event)"
62220
- (cancelClicked)="showContainerDialog = false">
62221
- </co-transaction-container-choice-dialog>
62222
- }
62223
- `,
62224
- encapsulation: ViewEncapsulation.None,
62225
- standalone: false
62616
+ imports: [
62617
+ CommonModule,
62618
+ CoreModule,
62619
+ AvatarModule,
62620
+ ButtonModule,
62621
+ PipeModule,
62622
+ IconModule,
62623
+ StatusbarModule,
62624
+ TransactionStatusbarModule,
62625
+ InputCheckboxModule,
62626
+ ScreenConfigurationModule,
62627
+ ],
62628
+ declarations: [
62629
+ TransactionSearchInterBranchOrderTileComponent
62630
+ ],
62631
+ exports: [
62632
+ TransactionSearchInterBranchOrderTileComponent
62633
+ ]
62226
62634
  }]
62227
- }], ctorParameters: () => [{ type: IconCacheService }, { type: TransactionService }, { type: i0.Renderer2 }], propDecorators: { showClass: [{
62228
- type: HostBinding,
62229
- args: ['class.co-transaction-container']
62230
- }], fillBar: [{
62231
- type: ViewChild,
62232
- args: ["fillBar"]
62233
- }], containerChoiceMade: [{
62234
- type: Output
62235
- }], containerContentModeChanged: [{
62236
- type: Output
62237
- }] } });
62635
+ }] });
62238
62636
 
62239
62637
  class TransactionContainerChoiceDialogModule {
62240
62638
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionContainerChoiceDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -69070,6 +69468,10 @@ class TransactionPurchaseTransportLineBaseComponent extends TransactionLineBaseC
69070
69468
  };
69071
69469
  showColorIndicator = false;
69072
69470
  colorIndicatorColor;
69471
+ _containerMode = true;
69472
+ _removalContainerInfo;
69473
+ _addToContainerRequest;
69474
+ _removeFromContainerRequest;
69073
69475
  subs = [];
69074
69476
  constructor(transactionHeaderService, transactionLineService, transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector, _purchaseConfirmationService) {
69075
69477
  super(transactionHeaderService, transactionLineService, transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector);
@@ -69091,6 +69493,21 @@ class TransactionPurchaseTransportLineBaseComponent extends TransactionLineBaseC
69091
69493
  this.detectChanges();
69092
69494
  }), this.transactionEventService.overwriteTransportNotification.subscribe(() => {
69093
69495
  this._handleTransportOverwrite();
69496
+ }), this.transactionEventService.transportContainerChosen.subscribe((container) => {
69497
+ this._containerMode = (container !== null && container !== undefined);
69498
+ if (!this._containerMode) {
69499
+ this.transactionLine.selected = false;
69500
+ this.detectChanges();
69501
+ }
69502
+ }), this.transactionEventService.removalModeContainerInfo.subscribe((info) => {
69503
+ this._removalContainerInfo = info;
69504
+ this._determineCheckboxVisibilityAndSelection();
69505
+ }), this.transactionEventService.transportTransactionRequestUpdated.subscribe((request) => {
69506
+ this._addToContainerRequest = request;
69507
+ this._determineCheckboxVisibilityAndSelection();
69508
+ }), this.transactionEventService.transportTransactionRemoveRequestUpdated.subscribe((request) => {
69509
+ this._removeFromContainerRequest = request;
69510
+ this._determineCheckboxVisibilityAndSelection();
69094
69511
  }));
69095
69512
  }
69096
69513
  ngOnDestroy() {
@@ -69099,15 +69516,14 @@ class TransactionPurchaseTransportLineBaseComponent extends TransactionLineBaseC
69099
69516
  }
69100
69517
  lineSelected(selected) {
69101
69518
  this.transactionLine.selected = selected;
69102
- /*if (this.transactionLine.selected ) {
69103
- this.transactionLine.quantityPurchaseToConfirm = +this.transactionLine.purchasePortalLine.amountOrdered - +this.transactionLine.purchasePortalLine.amountConfirmedTarget;;
69104
- } else {
69105
- this.transactionLine.quantityPurchaseToConfirm = 0;
69106
- }*/
69519
+ this.transportTransactionLineSelectionUpdateCall();
69520
+ }
69521
+ transportTransactionLineSelectionUpdateCall() {
69522
+ this.transactionEventService.transportTransactionLineSelectionChanged.next({ transId: this.transactionService.currentTransaction.transactionInfo.id, line: this.transactionLine });
69107
69523
  }
69108
69524
  transactionLineSet() {
69109
69525
  super.transactionLineSet();
69110
- this.showCheckboxForLine = (this.transactionLine.amount - this.transactionLine.articleLineStatus.quantityTransportNotification) > 0;
69526
+ this._determineCheckboxVisibilityAndSelection();
69111
69527
  }
69112
69528
  visibilitySet() {
69113
69529
  super.visibilitySet();
@@ -69117,6 +69533,63 @@ class TransactionPurchaseTransportLineBaseComponent extends TransactionLineBaseC
69117
69533
  this.transactionLine.quantityForTransportNotification = this.transactionLine.amount;
69118
69534
  this.detectChanges();
69119
69535
  }
69536
+ _determineCheckboxVisibilityAndSelection() {
69537
+ this._determineCheckboxVisibility();
69538
+ this._determineSelected();
69539
+ }
69540
+ _determineCheckboxVisibility() {
69541
+ if (!this._containerMode || (this._containerMode && (this._removalContainerInfo === null || this._removalContainerInfo === undefined))) {
69542
+ //If not in containermode, or if we want to add to a container, check if notifications can still be attached to this line
69543
+ this.showCheckboxForLine = (this.transactionLine.articleLineStatus && !this.transactionLine.articleLineStatus.isFullyTransportNotified);
69544
+ }
69545
+ else {
69546
+ this._determineShowCheckboxForLineInRemovalMode();
69547
+ }
69548
+ }
69549
+ _determineShowCheckboxForLineInRemovalMode() {
69550
+ const artInfo = this._removalContainerInfo.articleLineInfos.find(a => (this.transactionLine.lineNr === a.lineNr && this.transactionService.currentTransaction.transactionInfo.id === a.transId));
69551
+ this.showCheckboxForLine = (artInfo !== null && artInfo !== undefined);
69552
+ }
69553
+ _determineSelected() {
69554
+ //when not in containermode we should just go on line. selected so we can ignore this check.
69555
+ if (this._containerMode) {
69556
+ if (this._removalContainerInfo) {
69557
+ //if we want to remove from a container, check if we are in the removal request
69558
+ this._determineSelectedBasedOnRemoveRequest();
69559
+ }
69560
+ else {
69561
+ this._determineSelectedBasedOnAddRequest();
69562
+ }
69563
+ }
69564
+ }
69565
+ _determineSelectedBasedOnAddRequest() {
69566
+ let lineInfo = undefined;
69567
+ if (this._addToContainerRequest && (this._addToContainerRequest.transactionRequests.length > 0)) {
69568
+ const transInfo = this._addToContainerRequest.transactionRequests.find(req => (this.transactionService.currentTransaction.transactionInfo.id === req.transId));
69569
+ if (transInfo) {
69570
+ lineInfo = transInfo.selectedLines.find(l => (l.lineNr === this.transactionLine.lineNr));
69571
+ }
69572
+ this.transactionLine.selected = (lineInfo !== undefined);
69573
+ }
69574
+ else {
69575
+ this.transactionLine.selected = false;
69576
+ }
69577
+ this.changeDetector.detectChanges();
69578
+ }
69579
+ _determineSelectedBasedOnRemoveRequest() {
69580
+ if (this._removalContainerInfo && this._removeFromContainerRequest && (this._removeFromContainerRequest.transactionRequests.length > 0)) {
69581
+ let lineNr = undefined;
69582
+ const transInfo = this._removeFromContainerRequest.transactionRequests.find(req => (this.transactionService.currentTransaction.transactionInfo.id === req.transId));
69583
+ if (transInfo) {
69584
+ lineNr = transInfo.selectedLines.find(l => (l === this.transactionLine.lineNr));
69585
+ }
69586
+ this.transactionLine.selected = (lineNr !== undefined || (transInfo && transInfo.selectedLines.length === 0));
69587
+ }
69588
+ else {
69589
+ this.transactionLine.selected = false;
69590
+ }
69591
+ this.changeDetector.detectChanges();
69592
+ }
69120
69593
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionPurchaseTransportLineBaseComponent, deps: [{ token: TransactionHeaderService }, { token: TransactionLineService }, { token: TransactionEventService }, { token: IconCacheService }, { token: TransactionScreenConfigurationService }, { token: TransactionImageService }, { token: DictionaryService }, { token: TransactionService }, { token: i0.ChangeDetectorRef }, { token: PurchaseConfirmationService }], target: i0.ɵɵFactoryTarget.Directive });
69121
69594
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: TransactionPurchaseTransportLineBaseComponent, isStandalone: true, usesInheritance: true, ngImport: i0 });
69122
69595
  }
@@ -69339,7 +69812,7 @@ class TransactionPurchaseTransportLineComponent extends TransactionPurchaseTrans
69339
69812
  [icon]="icons.TruckContainerSolid"
69340
69813
  [readonly]="true"
69341
69814
  [inputLabel]="true"
69342
- [fieldDate]="totals.arrivalDate">
69815
+ [fieldDate]="totals?.arrivalDate">
69343
69816
  </co-transaction-line-date-button>
69344
69817
  }
69345
69818
  @if (this.transactionLine?.selected) {
@@ -69359,7 +69832,8 @@ class TransactionPurchaseTransportLineComponent extends TransactionPurchaseTrans
69359
69832
  [(model)]="transactionLine.quantityForTransportNotification"
69360
69833
  [min]="0"
69361
69834
  [max]="transactionLine.amount - transactionLine.articleLineStatus.quantityTransportNotification"
69362
- [forceReadonly]="readonly || (transactionLine && !transactionLine.selected)">
69835
+ [forceReadonly]="readonly || (transactionLine && !transactionLine.selected)"
69836
+ (userModelChange)="transportTransactionLineSelectionUpdateCall()">
69363
69837
  </co-input-number-picker>
69364
69838
  </div>
69365
69839
  </div>
@@ -69378,6 +69852,7 @@ class TransactionPurchaseTransportLineComponent extends TransactionPurchaseTrans
69378
69852
  [(model)]="transactionLine.referenceForTransportNotification"
69379
69853
  [customHeight]="true"
69380
69854
  [readonly]="false"
69855
+ (userModelChange)="transportTransactionLineSelectionUpdateCall()"
69381
69856
  ></co-input-text>
69382
69857
  }
69383
69858
  </div>
@@ -69448,7 +69923,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
69448
69923
  [icon]="icons.TruckContainerSolid"
69449
69924
  [readonly]="true"
69450
69925
  [inputLabel]="true"
69451
- [fieldDate]="totals.arrivalDate">
69926
+ [fieldDate]="totals?.arrivalDate">
69452
69927
  </co-transaction-line-date-button>
69453
69928
  }
69454
69929
  @if (this.transactionLine?.selected) {
@@ -69468,7 +69943,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
69468
69943
  [(model)]="transactionLine.quantityForTransportNotification"
69469
69944
  [min]="0"
69470
69945
  [max]="transactionLine.amount - transactionLine.articleLineStatus.quantityTransportNotification"
69471
- [forceReadonly]="readonly || (transactionLine && !transactionLine.selected)">
69946
+ [forceReadonly]="readonly || (transactionLine && !transactionLine.selected)"
69947
+ (userModelChange)="transportTransactionLineSelectionUpdateCall()">
69472
69948
  </co-input-number-picker>
69473
69949
  </div>
69474
69950
  </div>
@@ -69487,6 +69963,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
69487
69963
  [(model)]="transactionLine.referenceForTransportNotification"
69488
69964
  [customHeight]="true"
69489
69965
  [readonly]="false"
69966
+ (userModelChange)="transportTransactionLineSelectionUpdateCall()"
69490
69967
  ></co-input-text>
69491
69968
  }
69492
69969
  </div>
@@ -82366,6 +82843,7 @@ class TransactionInternalComponent {
82366
82843
  _editArticleTextRefLineNr;
82367
82844
  _salesPersonInputComponentRef;
82368
82845
  _salesPersonAvatarComponentRef;
82846
+ _containerForFillMode = null;
82369
82847
  constructor(iconCacheService, service, deliveryPlanningService, _transactionConnectorService, _transactionEventService, _screenConfigurationService, _dialogService, _purchaseConfirmationService, _transactionBaseService, _changeDetector, transactionHeaderService, _overlayService, _lineSelection //Do not remove this. While it is not directly used it has its own important subscriptions.
82370
82848
  ) {
82371
82849
  this.iconCacheService = iconCacheService;
@@ -82397,6 +82875,9 @@ class TransactionInternalComponent {
82397
82875
  this.getPlanOrderForTransaction(transaction);
82398
82876
  this.checkPreferredPlanning();
82399
82877
  }
82878
+ if (this._containerForFillMode && this.transaction && this.transaction.transactionInfo.transactionKind === TransactionKind.PurchaseOrder) {
82879
+ this._transactionEventService.activeRubricChange.next({ category: TransactionTypeCategory.PurchaseOrderTransport });
82880
+ }
82400
82881
  }
82401
82882
  }), this.service.relationUpdated.subscribe((relation) => {
82402
82883
  if (relation) {
@@ -82439,6 +82920,11 @@ class TransactionInternalComponent {
82439
82920
  if (!!rubric.sidepanel) {
82440
82921
  this._transactionEventService.openSidePanel.next(this.transaction.transactionLines[0]);
82441
82922
  }
82923
+ }), this._transactionEventService.transportContainerChosen.subscribe((container) => {
82924
+ this._containerForFillMode = container;
82925
+ if (this._containerForFillMode && this.transaction && this.transaction.transactionInfo.transactionKind === TransactionKind.PurchaseOrder) {
82926
+ this._transactionEventService.activeRubricChange.next({ category: TransactionTypeCategory.PurchaseOrderTransport });
82927
+ }
82442
82928
  }),
82443
82929
  // this._purchaseConfirmationService.confirmationNeeded.subscribe((needed: boolean) => {
82444
82930
  // if (needed) {
@@ -82476,7 +82962,11 @@ class TransactionInternalComponent {
82476
82962
  }
82477
82963
  }),
82478
82964
  // this._transactionEventService.openSidePanel.subscribe((line) => this.handleShowSidePanel(line)),
82479
- this._transactionEventService.openArticleTextOverview.subscribe((line) => this.handleShowArticleTextOverview(line)), this._transactionEventService.addTransactionText.subscribe((line) => this.handleShowTransactionText(line)), this._transactionEventService.addArticleText.subscribe((line) => this.handleShowArticleText(line)), this._transactionEventService.editTransactionText.subscribe((line) => this.handleEditTransactionText(line)), this._transactionEventService.editArticleText.subscribe((line) => this.handleEditArticleText(line)), this._transactionEventService.createServiceButtonClicked.subscribe((lineNr) => this.handleCreateServiceRequest(lineNr)), this._transactionEventService.viewStockButtonClick.subscribe((goodId) => this.handleViewStock(goodId)), this._transactionEventService.copyLineButtonClick.subscribe((line) => this.handleCopyTransactionLine(line)), this._transactionEventService.showError.subscribe((e) => this._dialogService.showError(e.message, e.localize, e.details)), this._transactionEventService.copyOrder.subscribe(() => this.showCopyOrderDialog = true));
82965
+ this._transactionEventService.openArticleTextOverview.subscribe((line) => this.handleShowArticleTextOverview(line)), this._transactionEventService.addTransactionText.subscribe((line) => this.handleShowTransactionText(line)), this._transactionEventService.addArticleText.subscribe((line) => this.handleShowArticleText(line)), this._transactionEventService.editTransactionText.subscribe((line) => this.handleEditTransactionText(line)), this._transactionEventService.editArticleText.subscribe((line) => this.handleEditArticleText(line)), this._transactionEventService.createServiceButtonClicked.subscribe((lineNr) => this.handleCreateServiceRequest(lineNr)), this._transactionEventService.viewStockButtonClick.subscribe((goodId) => this.handleViewStock(goodId)), this._transactionEventService.copyLineButtonClick.subscribe((line) => this.handleCopyTransactionLine(line)), this._transactionEventService.showError.subscribe((e) => this._dialogService.showError(e.message, e.localize, e.details)), this._transactionEventService.copyOrder.subscribe(() => this.showCopyOrderDialog = true), this._transactionEventService.fillContainerSuccess.subscribe(() => {
82966
+ this.service.commitAndRefreshTransaction();
82967
+ }), this._transactionEventService.removeFromContainerSuccess.subscribe(() => {
82968
+ this.service.commitAndRefreshTransaction();
82969
+ }));
82480
82970
  this.screenWidth = window.innerWidth;
82481
82971
  if (this.resetActiveRubric) {
82482
82972
  this._transactionBaseService.setDefaultActiveRubricFromTransactionKind();
@@ -89247,6 +89737,7 @@ class TransactionQuickAccessOrderTransportComponent extends TransactionHeaderBas
89247
89737
  forceShowNewDateButton = false;
89248
89738
  showDateError = false;
89249
89739
  showReferenceError = false;
89740
+ containerMode = false;
89250
89741
  _subs = [];
89251
89742
  constructor(transactionHeaderService, transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector) {
89252
89743
  super(transactionHeaderService, transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector);
@@ -89261,7 +89752,10 @@ class TransactionQuickAccessOrderTransportComponent extends TransactionHeaderBas
89261
89752
  }
89262
89753
  ngOnInit() {
89263
89754
  super.ngOnInit();
89264
- this._subs.push();
89755
+ this._subs.push(this.transactionEventService.transportContainerChosen.subscribe((container) => {
89756
+ this.containerMode = (container !== null && container !== undefined);
89757
+ this.changeDetector.detectChanges();
89758
+ }));
89265
89759
  }
89266
89760
  ngOnDestroy() {
89267
89761
  this._subs.forEach(s => s.unsubscribe());
@@ -89286,7 +89780,7 @@ class TransactionQuickAccessOrderTransportComponent extends TransactionHeaderBas
89286
89780
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionQuickAccessOrderTransportComponent, deps: [{ token: TransactionHeaderService }, { token: TransactionEventService }, { token: IconCacheService }, { token: TransactionScreenConfigurationService }, { token: TransactionImageService }, { token: DictionaryService }, { token: TransactionService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
89287
89781
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: TransactionQuickAccessOrderTransportComponent, isStandalone: false, selector: "co-transaction-quick-access-order-transport", host: { properties: { "class.co-transaction-quick-access-order-transport": "this.showClass" } }, viewQueries: [{ propertyName: "transportForm", first: true, predicate: FormComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
89288
89782
  <div class="quick-access-wrapper">
89289
- @if (!showNewDateButton || forceShowNewDateButton) {
89783
+ @if ((!showNewDateButton || forceShowNewDateButton) && !containerMode) {
89290
89784
  <div class="transport-inputs">
89291
89785
  <co-input-checkbox (modelChange)="handleSelectAllLines($event)"></co-input-checkbox>
89292
89786
  <co-form class="field-form">
@@ -89314,7 +89808,7 @@ class TransactionQuickAccessOrderTransportComponent extends TransactionHeaderBas
89314
89808
  </div>
89315
89809
  }
89316
89810
  <!-- <div class="error-message" *ngIf="showLinesError" [textContent]="'NO_ORDER_LINE_SELECTED' | localize"></div>-->
89317
- @if (showNewDateButton && !forceShowNewDateButton) {
89811
+ @if ((showNewDateButton && !forceShowNewDateButton) && !containerMode) {
89318
89812
  <div class="show-transport-inputs-wrapper">
89319
89813
  <co-transaction-button class="new-transport-button custom-width"
89320
89814
  [iconData]="iconCacheService.getIcon(icons.PlusSimple)"
@@ -89332,7 +89826,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
89332
89826
  selector: 'co-transaction-quick-access-order-transport',
89333
89827
  template: `
89334
89828
  <div class="quick-access-wrapper">
89335
- @if (!showNewDateButton || forceShowNewDateButton) {
89829
+ @if ((!showNewDateButton || forceShowNewDateButton) && !containerMode) {
89336
89830
  <div class="transport-inputs">
89337
89831
  <co-input-checkbox (modelChange)="handleSelectAllLines($event)"></co-input-checkbox>
89338
89832
  <co-form class="field-form">
@@ -89360,7 +89854,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
89360
89854
  </div>
89361
89855
  }
89362
89856
  <!-- <div class="error-message" *ngIf="showLinesError" [textContent]="'NO_ORDER_LINE_SELECTED' | localize"></div>-->
89363
- @if (showNewDateButton && !forceShowNewDateButton) {
89857
+ @if ((showNewDateButton && !forceShowNewDateButton) && !containerMode) {
89364
89858
  <div class="show-transport-inputs-wrapper">
89365
89859
  <co-transaction-button class="new-transport-button custom-width"
89366
89860
  [iconData]="iconCacheService.getIcon(icons.PlusSimple)"
@@ -104259,5 +104753,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
104259
104753
  * Generated bundle index. Do not edit.
104260
104754
  */
104261
104755
 
104262
- export { AddProductComponent, AddProductModule, BatchProcessDialogComponent, BatchProcessDialogModule, CharacteristicAnswerComponent, CharacteristicAnswerModule, CheckoutComponent, CheckoutModule, CheckoutOverviewDeliveryEditComponent, CheckoutOverviewRelationEditComponent, DatePeriod, DeliveryPlanningCalendarModes, DeliveryPlanningComponent, DeliveryPlanningModes, DeliveryPlanningModule, DeliveryPlanningService, DeliveryPlanningViewModes, DialogBranchComponent, DialogBranchModule, DialogTransactionLineWarehouseCcComponent, DialogTransactionLineWarehouseCcModule, DialogTransactionLineWarehouseLocationComponent, DialogTransactionLineWarehouseLocationModule, FastDateRangePickerComponent, FastDateRangePickerModule, FilterRequestService, LineSelectionService, LoaderComponent, LoaderModule, PosOrderData, PurchaseConfirmationService, QuickSendButtonComponent, QuickSendButtonModule, SearchViewMode, SearchbarViewMode, SharedConnectorService, ShippingMethodDialogComponent, ShippingMethodDialogModule, ShoppingCartComponent, ShoppingCartModule, ShoppingCartPreviewComponent, ShoppingCartPreviewModule, TRANSACTION_BUTTON_BAR_MAPPING_CONFIG, TRANSACTION_CARD_MAPPING_CONFIG, TRANSACTION_DIALOG_MAPPING_CONFIG, TRANSACTION_FILTER_MAPPING_CONFIG, TRANSACTION_LINE_MAPPING_CONFIG, TRANSACTION_QUICK_ACCESS_MAPPING_CONFIG, TRANSACTION_SEARCH_MAPPING_CONFIG, TRANSACTION_SIDE_PANEL_MAPPING_CONFIG, TransactionBusinessObjectCacheManagerService, TransactionCashRegisterDialogComponent, TransactionCashRegisterDialogModule, TransactionCashRegisterOrderReceiptDialogComponent, TransactionCashRegisterOrderReceiptDialogModule, TransactionCfgName, TransactionComponent, TransactionConfirmTotalsComponent, TransactionConfirmationHistoryComponent, TransactionConfirmationHistoryModule, TransactionConnectorAdapterService, TransactionConnectorService, TransactionCreateDateLabelComponent, TransactionCreateDateLabelModule, TransactionCreateWizardComponent, TransactionCreateWizardModule, TransactionDatePickDialogComponent, TransactionDatePickDialogModule, TransactionDialogService, TransactionEventService, TransactionFilterComponent, TransactionFilterModule, TransactionHeaderComponent, TransactionHeaderDeliveryComponent, TransactionHeaderDeliveryModule, TransactionHeaderModule, TransactionHeaderOrderComponent, TransactionHeaderOrderModule, TransactionHeaderRelationComponent, TransactionHeaderRelationModule, TransactionInvoiceCheckOrder, TransactionInvoiceCheckOrderTileComponent, TransactionInvoiceCheckOrderTileModule, TransactionLineGridComponent, TransactionLineGridModule, TransactionLineSidePanelArticleDetailsComponent, TransactionLineSidePanelArticleDetailsModule, TransactionLineSidePanelReplenishmentArticleDetailsComponent, TransactionLineSidePanelReplenishmentArticleDetailsModule, TransactionLineStatusbarComponent, TransactionLineStatusbarModule, TransactionLinesComponent, TransactionLinesModule, TransactionMappingService, TransactionMarginComponent, TransactionMarginModule, TransactionModule, TransactionNumberLabelComponent, TransactionNumberLabelModule, TransactionPaymentConnectorService, TransactionPaymentService, TransactionQuickAccessComponent, TransactionQuickAccessModule, TransactionQuickAccessOrderConfirmationComponent, TransactionQuickAccessOrderConfirmationModule, TransactionQuickAccessReceivedGoodsComponent, TransactionQuickAccessReceivedGoodsModule, TransactionRelationConnectorService, TransactionRelationService, TransactionScreenConfigurationService, TransactionSearchComponent, TransactionSearchModule, TransactionSearchResultComponent, TransactionSearchResultModule, TransactionSearchService, TransactionSelectMultipleCacheService, TransactionSelectMultipleParameterizedCacheService, TransactionSelectSingleCacheService, TransactionSelectSingleParameterizedCacheService, TransactionService, TransactionSettings, TransactionSettingsOptions, TransactionSettingsService, TransactionStatusbarComponent, TransactionStatusbarModule, TransactionTagComponent, TransactionTagsComponent, TransactionTagsModule, TransactionTotalsComponent, TransactionTotalsModule, Version, VoucherCodePendingReasonDialogComponent, VoucherCodePendingReasonDialogModule, WarehouseCCTab };
104756
+ export { AddProductComponent, AddProductModule, BatchProcessDialogComponent, BatchProcessDialogModule, CharacteristicAnswerComponent, CharacteristicAnswerModule, CheckoutComponent, CheckoutModule, CheckoutOverviewDeliveryEditComponent, CheckoutOverviewRelationEditComponent, DatePeriod, DeliveryPlanningCalendarModes, DeliveryPlanningComponent, DeliveryPlanningModes, DeliveryPlanningModule, DeliveryPlanningService, DeliveryPlanningViewModes, DialogBranchComponent, DialogBranchModule, DialogTransactionLineWarehouseCcComponent, DialogTransactionLineWarehouseCcModule, DialogTransactionLineWarehouseLocationComponent, DialogTransactionLineWarehouseLocationModule, FastDateRangePickerComponent, FastDateRangePickerModule, FilterRequestService, LineSelectionService, LoaderComponent, LoaderModule, PosOrderData, PurchaseConfirmationService, QuickSendButtonComponent, QuickSendButtonModule, SearchViewMode, SearchbarViewMode, SharedConnectorService, ShippingMethodDialogComponent, ShippingMethodDialogModule, ShoppingCartComponent, ShoppingCartModule, ShoppingCartPreviewComponent, ShoppingCartPreviewModule, TRANSACTION_BUTTON_BAR_MAPPING_CONFIG, TRANSACTION_CARD_MAPPING_CONFIG, TRANSACTION_DIALOG_MAPPING_CONFIG, TRANSACTION_FILTER_MAPPING_CONFIG, TRANSACTION_LINE_MAPPING_CONFIG, TRANSACTION_QUICK_ACCESS_MAPPING_CONFIG, TRANSACTION_SEARCH_MAPPING_CONFIG, TRANSACTION_SIDE_PANEL_MAPPING_CONFIG, TransactionBusinessObjectCacheManagerService, TransactionCashRegisterDialogComponent, TransactionCashRegisterDialogModule, TransactionCashRegisterOrderReceiptDialogComponent, TransactionCashRegisterOrderReceiptDialogModule, TransactionCfgName, TransactionComponent, TransactionConfirmTotalsComponent, TransactionConfirmationHistoryComponent, TransactionConfirmationHistoryModule, TransactionConnectorAdapterService, TransactionConnectorService, TransactionCreateDateLabelComponent, TransactionCreateDateLabelModule, TransactionCreateWizardComponent, TransactionCreateWizardModule, TransactionDatePickDialogComponent, TransactionDatePickDialogModule, TransactionDialogService, TransactionEventService, TransactionFilterComponent, TransactionFilterModule, TransactionHeaderComponent, TransactionHeaderDeliveryComponent, TransactionHeaderDeliveryModule, TransactionHeaderModule, TransactionHeaderOrderComponent, TransactionHeaderOrderModule, TransactionHeaderRelationComponent, TransactionHeaderRelationModule, TransactionInvoiceCheckOrder, TransactionInvoiceCheckOrderTileComponent, TransactionInvoiceCheckOrderTileModule, TransactionLineGridComponent, TransactionLineGridModule, TransactionLineSidePanelArticleDetailsComponent, TransactionLineSidePanelArticleDetailsModule, TransactionLineSidePanelReplenishmentArticleDetailsComponent, TransactionLineSidePanelReplenishmentArticleDetailsModule, TransactionLineStatusbarComponent, TransactionLineStatusbarModule, TransactionLinesComponent, TransactionLinesModule, TransactionMappingService, TransactionMarginComponent, TransactionMarginModule, TransactionModule, TransactionNotificationLineSelectionService, TransactionNumberLabelComponent, TransactionNumberLabelModule, TransactionPaymentConnectorService, TransactionPaymentService, TransactionQuickAccessComponent, TransactionQuickAccessModule, TransactionQuickAccessOrderConfirmationComponent, TransactionQuickAccessOrderConfirmationModule, TransactionQuickAccessReceivedGoodsComponent, TransactionQuickAccessReceivedGoodsModule, TransactionRelationConnectorService, TransactionRelationService, TransactionScreenConfigurationService, TransactionSearchComponent, TransactionSearchModule, TransactionSearchResultComponent, TransactionSearchResultModule, TransactionSearchService, TransactionSelectMultipleCacheService, TransactionSelectMultipleParameterizedCacheService, TransactionSelectSingleCacheService, TransactionSelectSingleParameterizedCacheService, TransactionService, TransactionSettings, TransactionSettingsOptions, TransactionSettingsService, TransactionStatusbarComponent, TransactionStatusbarModule, TransactionTagComponent, TransactionTagsComponent, TransactionTagsModule, TransactionTotalsComponent, TransactionTotalsModule, Version, VoucherCodePendingReasonDialogComponent, VoucherCodePendingReasonDialogModule, WarehouseCCTab };
104263
104757
  //# sourceMappingURL=colijnit-transaction.mjs.map