@colijnit/transaction 256.1.38 → 256.1.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/bundles/colijnit-transaction.umd.js +482 -248
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.metadata.json +1 -1
  4. package/esm2015/lib/component/delivery-planning/delivery-planning.component.js +8 -4
  5. package/esm2015/lib/component/delivery-planning/service/delivery-planning.service.js +15 -40
  6. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.js +53 -53
  7. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.js +48 -12
  8. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile-settings-popup/delivery-planning-overview-tile-settings-popup.component.js +96 -136
  9. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.js +82 -60
  10. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-selection/delivery-planning-selection.component.js +36 -21
  11. package/esm2015/lib/component/delivery-planning-main/delivery-planning-main.component.js +8 -2
  12. package/esm2015/lib/component/transaction-cash-register-dialog/transaction-cash-register-dialog.component.js +31 -16
  13. package/esm2015/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.js +49 -35
  14. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +6 -2
  15. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.js +24 -1
  16. package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +7 -2
  17. package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +103 -89
  18. package/esm2015/lib/enum/transaction-cfg-name.enum.js +3 -1
  19. package/esm2015/lib/service/transaction-connector-adapter.service.js +13 -1
  20. package/esm2015/lib/service/transaction-connector.service.js +6 -1
  21. package/esm2015/lib/service/transaction.service.js +6 -1
  22. package/esm2015/lib/transaction-version.js +3 -3
  23. package/fesm2015/colijnit-transaction.js +523 -415
  24. package/fesm2015/colijnit-transaction.js.map +1 -1
  25. package/lib/component/delivery-planning/delivery-planning.component.d.ts +3 -0
  26. package/lib/component/delivery-planning/service/delivery-planning.service.d.ts +18 -20
  27. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.d.ts +2 -2
  28. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.d.ts +9 -4
  29. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile-settings-popup/delivery-planning-overview-tile-settings-popup.component.d.ts +12 -16
  30. package/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.d.ts +27 -25
  31. package/lib/component/delivery-planning-main/component/delivery-planning-selection/delivery-planning-selection.component.d.ts +11 -6
  32. package/lib/component/delivery-planning-main/delivery-planning-main.component.d.ts +3 -1
  33. package/lib/component/transaction-cash-register-dialog/transaction-cash-register-dialog.component.d.ts +18 -3
  34. package/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.d.ts +5 -2
  35. package/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.d.ts +8 -1
  36. package/lib/component/transaction-search/service/transaction-search.service.d.ts +3 -2
  37. package/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.d.ts +8 -6
  38. package/lib/enum/transaction-cfg-name.enum.d.ts +3 -1
  39. package/lib/service/transaction-connector-adapter.service.d.ts +1 -0
  40. package/lib/service/transaction-connector.service.d.ts +1 -0
  41. package/lib/service/transaction.service.d.ts +1 -0
  42. package/package.json +1 -1
@@ -173,6 +173,7 @@ import { DiscountType } from '@colijnit/transactionapi/build/enum/discount-type.
173
173
  import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
174
174
  import { TransactionAddTextLineRequest } from '@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo';
175
175
  import { PagingParameters } from '@colijnit/ioneconnector/build/model/paging-parameters';
176
+ import { SearchType } from '@colijnit/transactionapi/build/enum/search-type.enum';
176
177
  import { GetPurchaseOrderConfirmation } from '@colijnit/transactionapi/build/model/get-purchase-order-confirmation';
177
178
  import { PurchaseOrderConfirmationLineDetails } from '@colijnit/transactionapi/build/model/purchase-order-confirmation-line-details';
178
179
  import { PdfInvoiceRequest } from '@colijnit/transactionapi/build/model/pdf-invoice-request';
@@ -281,8 +282,8 @@ class Version {
281
282
  constructor() {
282
283
  this.name = "@colijnit/transaction";
283
284
  this.description = "Colijn IT transaction package";
284
- this.symVer = "256.1.38";
285
- this.publishDate = "6-1-2025 19:17:18";
285
+ this.symVer = "256.1.40";
286
+ this.publishDate = "7-1-2025 17:28:47";
286
287
  }
287
288
  }
288
289
 
@@ -6583,6 +6584,18 @@ class TransactionConnectorAdapterService {
6583
6584
  }
6584
6585
  }, 500);
6585
6586
  }
6587
+ getTermsAndConditionsForm(transId) {
6588
+ return __awaiter(this, void 0, void 0, function* () {
6589
+ const response = yield this.connector.getTermsAndConditionsForm(transId, true);
6590
+ if (response && response.validationResult && response.validationResult.success) {
6591
+ return response.resultObject;
6592
+ }
6593
+ else {
6594
+ this._handleExceptionFromResponse(response);
6595
+ return null;
6596
+ }
6597
+ });
6598
+ }
6586
6599
  _openPdfContent(content) {
6587
6600
  if (content) {
6588
6601
  try {
@@ -8275,6 +8288,11 @@ class TransactionConnectorService {
8275
8288
  return this._adapterService.functionCall(this._adapterService.getPlannedLinesForEmployee, [planningId, relationId, date]);
8276
8289
  });
8277
8290
  }
8291
+ getTermsAndConditionsForm(transId) {
8292
+ return __awaiter(this, void 0, void 0, function* () {
8293
+ return this._adapterService.getTermsAndConditionsForm(transId);
8294
+ });
8295
+ }
8278
8296
  }
8279
8297
  TransactionConnectorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionConnectorService_Factory() { return new TransactionConnectorService(i0.ɵɵinject(TransactionConnectorAdapterService), i0.ɵɵinject(TransactionSelectSingleCacheService), i0.ɵɵinject(TransactionSelectMultipleCacheService), i0.ɵɵinject(TransactionSelectMultipleParameterizedCacheService), i0.ɵɵinject(TransactionSelectSingleParameterizedCacheService)); }, token: TransactionConnectorService, providedIn: "root" });
8280
8298
  TransactionConnectorService.decorators = [
@@ -8527,6 +8545,8 @@ var TransactionCfgName;
8527
8545
  TransactionCfgName["HeaderProductDetails"] = "headerProductDetails";
8528
8546
  TransactionCfgName["HeaderOrderDetails"] = "headerOrderDetails";
8529
8547
  TransactionCfgName["HeaderPurchaseDetails"] = "headerPurchaseDetails";
8548
+ TransactionCfgName["IsDocSignEnabled"] = "isDocSignEnabled";
8549
+ TransactionCfgName["IsAdditionalDocEnabled"] = "isAdditionalDocEnabled";
8530
8550
  })(TransactionCfgName || (TransactionCfgName = {}));
8531
8551
 
8532
8552
  class TransactionScreenConfigurationService extends BaseModuleScreenConfigService {
@@ -13416,6 +13436,11 @@ class TransactionService extends PendingReasonService {
13416
13436
  return yield this.connector.getSLAProducts();
13417
13437
  });
13418
13438
  }
13439
+ getTermsAndConditionsForm(transId) {
13440
+ return __awaiter(this, void 0, void 0, function* () {
13441
+ return yield this.connector.getTermsAndConditionsForm(transId);
13442
+ });
13443
+ }
13419
13444
  _handleBeforeRememberCurrentTransaction(transactionInfoResponse) {
13420
13445
  return __awaiter(this, void 0, void 0, function* () {
13421
13446
  this.prepareManualSaveInternalParam();
@@ -17640,6 +17665,7 @@ class TransactionSearchService {
17640
17665
  this.activeSearchViewMode = SearchViewMode.FullScreen;
17641
17666
  this.activeSearchBarViewMode = SearchbarViewMode.Expanded;
17642
17667
  this.showFilterSidebar = false;
17668
+ this.searchFromPlanning = false;
17643
17669
  this.transactions = [];
17644
17670
  this.transactionLines = [];
17645
17671
  this.searchRequestSet = new BehaviorSubject(undefined);
@@ -17707,6 +17733,9 @@ class TransactionSearchService {
17707
17733
  searchTransactions() {
17708
17734
  return __awaiter(this, void 0, void 0, function* () {
17709
17735
  this.searchRequest.transactionKind = this.transactionType;
17736
+ if (this.searchFromPlanning) {
17737
+ this.searchRequest.searchType = SearchType.SalesOrdersToBePlanned;
17738
+ }
17710
17739
  if (this.isNewGeneralSearch()) {
17711
17740
  this._currentPage = 1;
17712
17741
  }
@@ -18664,6 +18693,8 @@ class TransactionQuickAccessSendMethodBaseComponent extends TransactionHeaderBas
18664
18693
  this.showSendMethodDialog = false;
18665
18694
  this.sendMethods = sendMethodsWithIcon;
18666
18695
  this.historicReports = [];
18696
+ this.additionalFileContents = '';
18697
+ this.additionalFileName = '';
18667
18698
  }
18668
18699
  ngOnInit() {
18669
18700
  super.ngOnInit();
@@ -18671,6 +18702,11 @@ class TransactionQuickAccessSendMethodBaseComponent extends TransactionHeaderBas
18671
18702
  this._getDefaultSendMethod();
18672
18703
  this._getEmailLayouts();
18673
18704
  this._getPrintLayouts();
18705
+ this.isDocSignEnabled = this.screenConfigService.getObjectConfigurationFor(this.cfgNames.IsDocSignEnabled).immediatelyVisible();
18706
+ this.isAdditionalDocEnabled = this.screenConfigService.getObjectConfigurationFor(this.cfgNames.IsAdditionalDocEnabled).immediatelyVisible();
18707
+ if (this.isAdditionalDocEnabled) {
18708
+ this._getTermsAndConditionsForm();
18709
+ }
18674
18710
  }
18675
18711
  transactionSet() {
18676
18712
  this.reportDocumentEmailRequest.transId = this.transactionInfo.id;
@@ -18741,6 +18777,16 @@ class TransactionQuickAccessSendMethodBaseComponent extends TransactionHeaderBas
18741
18777
  commitAndRefreshTransaction() {
18742
18778
  this.transactionService.commitAndRefreshTransaction();
18743
18779
  }
18780
+ upsertDocument(doc) {
18781
+ return __awaiter(this, void 0, void 0, function* () {
18782
+ const response = yield this.transactionService.mergeDocumentOnTransaction(this.transactionInfo.id.toString(), doc);
18783
+ if (response) {
18784
+ this.showSendMethodDialog = false;
18785
+ yield this.dialogService.showToast('DATA_SAVED', true);
18786
+ this.dialogService.hideToastAfterMs(2000);
18787
+ }
18788
+ });
18789
+ }
18744
18790
  _getPrinters() {
18745
18791
  this.transactionService.getPrinters().then((printerList) => {
18746
18792
  this.printerList = printerList;
@@ -18788,6 +18834,12 @@ class TransactionQuickAccessSendMethodBaseComponent extends TransactionHeaderBas
18788
18834
  }
18789
18835
  });
18790
18836
  }
18837
+ _getTermsAndConditionsForm() {
18838
+ this.transactionService.getTermsAndConditionsForm(this.transactionInfo.id).then(result => {
18839
+ this.additionalFileContents = result;
18840
+ this.additionalFileName = this.transactionInfo.transactionKind + '_' + this.transactionInfo.transactionNr.toString();
18841
+ });
18842
+ }
18791
18843
  }
18792
18844
  TransactionQuickAccessSendMethodBaseComponent.decorators = [
18793
18845
  { type: Directive }
@@ -19195,10 +19247,14 @@ TransactionQuickAccessOverviewComponent.decorators = [
19195
19247
  [emailAddresses]="emailAddresses"
19196
19248
  [emailLayouts]="emailLayouts"
19197
19249
  [printLayouts]="printLayouts"
19198
- [isDocSignEnabled]="true"
19250
+ [isDocSignEnabled]="isDocSignEnabled"
19251
+ [isAdditionalDocEnabled]="isAdditionalDocEnabled"
19252
+ [additionalFileContents]="additionalFileContents"
19253
+ [additionalFileName]="additionalFileName"
19199
19254
  [(reportingDocumentEmailRequest)]="reportDocumentEmailRequest"
19200
19255
  [(reportingDocumentPrintRequest)]="reportDocumentPrintRequest"
19201
19256
  [(reportingDocumentPdfRequest)]="reportDocumentPdfRequest"
19257
+ (additionalFileChangeEvent)="upsertDocument($event)"
19202
19258
  (closeClick)="showSendMethodDialog = false"
19203
19259
  (okClick)="handleSendMethodOkClick($event)"
19204
19260
  ></co-send-method-dialog>
@@ -25668,7 +25724,8 @@ class DeliveryPlanningService {
25668
25724
  this.viewMode = DeliveryPlanningViewModes.Fullscreen;
25669
25725
  this.currentPlanningMode = DeliveryPlanningModes.Transaction;
25670
25726
  this.currentStartDate = new Date();
25671
- this.availabilityCheckEvent = new Subject();
25727
+ this.availabilityCheckEvent = new EventEmitter();
25728
+ this.availabilityResetEvent = new EventEmitter();
25672
25729
  this.reRenderHourScheduling = new Subject();
25673
25730
  this.employeeView = false;
25674
25731
  }
@@ -25697,17 +25754,8 @@ class DeliveryPlanningService {
25697
25754
  return this._userGroups;
25698
25755
  }
25699
25756
  set dragging(value) {
25700
- if (!this._dragging && value) {
25701
- this.availabilityCheckEvent.next(this.currentTransId);
25702
- }
25703
25757
  this._dragging = value;
25704
25758
  }
25705
- set planTransportWeek(value) {
25706
- this._planTransportWeek = value;
25707
- }
25708
- set planTransportWeekArr(value) {
25709
- this._planTransportWeekArr = value;
25710
- }
25711
25759
  set deliveryMethods(methods) {
25712
25760
  this._deliveryMethods = methods;
25713
25761
  }
@@ -25744,23 +25792,6 @@ class DeliveryPlanningService {
25744
25792
  return planningTransportWeekDay;
25745
25793
  });
25746
25794
  }
25747
- makeOrderLinesPlannedRequest(order) {
25748
- return __awaiter(this, void 0, void 0, function* () {
25749
- if (this.currentPlanning) {
25750
- let request = new OrderLinesPlannedRequest();
25751
- let filterObj = new PlanningFilterObject();
25752
- request.planned = true;
25753
- request.planningId = this.currentPlanning.planningId;
25754
- request.transId = order.transId;
25755
- request.plannedLineId = order.plannedLineId;
25756
- filterObj.onlyCurrentWeek = true;
25757
- filterObj.beginCurrentWeek = new Date();
25758
- filterObj.checkOrderLines = 1;
25759
- request.filterObject = filterObj;
25760
- return request;
25761
- }
25762
- });
25763
- }
25764
25795
  getOrderLinesPlanned(order) {
25765
25796
  return __awaiter(this, void 0, void 0, function* () {
25766
25797
  let request = new OrderLinesPlannedRequest();
@@ -25898,7 +25929,7 @@ class DeliveryPlanningService {
25898
25929
  DeliveryPlanningService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DeliveryPlanningService_Factory() { return new DeliveryPlanningService(i0.ɵɵinject(TransactionConnectorService)); }, token: DeliveryPlanningService, providedIn: "root" });
25899
25930
  DeliveryPlanningService.decorators = [
25900
25931
  { type: Injectable, args: [{
25901
- providedIn: "root"
25932
+ providedIn: 'root'
25902
25933
  },] }
25903
25934
  ];
25904
25935
  DeliveryPlanningService.ctorParameters = () => [
@@ -25906,7 +25937,7 @@ DeliveryPlanningService.ctorParameters = () => [
25906
25937
  ];
25907
25938
 
25908
25939
  class TransactionPlanningLineComponent extends TransactionLineBaseComponent {
25909
- constructor(transactionHeaderService, transactionLineService, transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector, _deliveryPlanningService) {
25940
+ constructor(transactionHeaderService, transactionLineService, transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector, _deliveryPlanningService, _dialog, _dictionary) {
25910
25941
  super(transactionHeaderService, transactionLineService, transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector);
25911
25942
  this.transactionHeaderService = transactionHeaderService;
25912
25943
  this.transactionLineService = transactionLineService;
@@ -25918,6 +25949,8 @@ class TransactionPlanningLineComponent extends TransactionLineBaseComponent {
25918
25949
  this.transactionService = transactionService;
25919
25950
  this.changeDetector = changeDetector;
25920
25951
  this._deliveryPlanningService = _deliveryPlanningService;
25952
+ this._dialog = _dialog;
25953
+ this._dictionary = _dictionary;
25921
25954
  this.category = TransactionTypeCategory;
25922
25955
  this.descriptionDblClick = new EventEmitter();
25923
25956
  this.stock = StockStatus.Low;
@@ -25983,38 +26016,46 @@ class TransactionPlanningLineComponent extends TransactionLineBaseComponent {
25983
26016
  }
25984
26017
  dragStarted(ev) {
25985
26018
  var _a, _b, _c;
25986
- this._deliveryPlanningService.currentTransId = this.transactionInfo.id;
25987
- ev.target.classList.add('dragging');
25988
- const lineElement = ev.target.closest('co-transaction-base-line');
25989
- if (!lineElement)
25990
- return;
25991
- const dragBox = (_a = lineElement.querySelector('.co-transaction-line-image-and-description')) === null || _a === void 0 ? void 0 : _a.cloneNode(true);
25992
- const dragImage = document.createElement('div');
25993
- dragImage.style.display = 'flex';
25994
- dragImage.style.flexDirection = 'row';
25995
- dragImage.style.alignItems = 'center';
25996
- dragImage.style.justifyContent = 'space-around';
25997
- dragImage.style.width = '250px';
25998
- dragImage.style.minHeight = '50px';
25999
- dragImage.style.padding = '10px';
26000
- dragImage.style.backgroundColor = '#ffffff';
26001
- dragImage.style.border = '1px solid #ccc';
26002
- dragImage.style.boxShadow = '0 4px 6px rgba(0, 0, 0, 0.1)';
26003
- dragImage.style.borderRadius = '5px';
26004
- dragImage.style.fontSize = '12px';
26005
- if (dragBox) {
26006
- dragBox.style.flex = '1';
26007
- dragImage.appendChild(dragBox);
26008
- }
26009
- document.body.appendChild(dragImage);
26010
- dragImage.style.position = 'absolute';
26011
- dragImage.style.top = '-1000px';
26012
- dragImage.style.left = '-1000px';
26013
- // Set the custom drag image
26014
- (_b = ev.dataTransfer) === null || _b === void 0 ? void 0 : _b.setDragImage(dragImage, 50, 25);
26015
- // Cleanup: Remove the drag image after it's set
26016
- setTimeout(() => document.body.removeChild(dragImage), 0);
26017
- (_c = ev.dataTransfer) === null || _c === void 0 ? void 0 : _c.setData('text', 'lines');
26019
+ return __awaiter(this, void 0, void 0, function* () {
26020
+ if (this.transactionLine.articleLineStatus.quantityAllocated <= 0) {
26021
+ yield this._dialog.showError(this._dictionary.get('ORDER_CAN_NOT_BE_PLANNED'), true);
26022
+ return;
26023
+ }
26024
+ else {
26025
+ this._deliveryPlanningService.currentTransId = this.transactionInfo.id;
26026
+ (_a = ev.dataTransfer) === null || _a === void 0 ? void 0 : _a.setData('text', 'lines');
26027
+ }
26028
+ ev.target.classList.add('dragging');
26029
+ const lineElement = ev.target.closest('co-transaction-base-line');
26030
+ if (!lineElement)
26031
+ return;
26032
+ const dragBox = (_b = lineElement.querySelector('.co-transaction-line-image-and-description')) === null || _b === void 0 ? void 0 : _b.cloneNode(true);
26033
+ const dragImage = document.createElement('div');
26034
+ dragImage.style.display = 'flex';
26035
+ dragImage.style.flexDirection = 'row';
26036
+ dragImage.style.alignItems = 'center';
26037
+ dragImage.style.justifyContent = 'space-around';
26038
+ dragImage.style.width = '250px';
26039
+ dragImage.style.minHeight = '50px';
26040
+ dragImage.style.padding = '10px';
26041
+ dragImage.style.backgroundColor = '#ffffff';
26042
+ dragImage.style.border = '1px solid #ccc';
26043
+ dragImage.style.boxShadow = '0 4px 6px rgba(0, 0, 0, 0.1)';
26044
+ dragImage.style.borderRadius = '5px';
26045
+ dragImage.style.fontSize = '12px';
26046
+ if (dragBox) {
26047
+ dragBox.style.flex = '1';
26048
+ dragImage.appendChild(dragBox);
26049
+ }
26050
+ document.body.appendChild(dragImage);
26051
+ dragImage.style.position = 'absolute';
26052
+ dragImage.style.top = '-1000px';
26053
+ dragImage.style.left = '-1000px';
26054
+ // Set the custom drag image
26055
+ (_c = ev.dataTransfer) === null || _c === void 0 ? void 0 : _c.setDragImage(dragImage, 50, 25);
26056
+ // Cleanup: Remove the drag image after it's set
26057
+ setTimeout(() => document.body.removeChild(dragImage), 0);
26058
+ });
26018
26059
  }
26019
26060
  dragEnded(ev) {
26020
26061
  ev.target.classList.remove('dragging');
@@ -26154,7 +26195,9 @@ TransactionPlanningLineComponent.ctorParameters = () => [
26154
26195
  { type: DictionaryService },
26155
26196
  { type: TransactionService },
26156
26197
  { type: ChangeDetectorRef },
26157
- { type: DeliveryPlanningService }
26198
+ { type: DeliveryPlanningService },
26199
+ { type: TransactionDialogService },
26200
+ { type: DictionaryService }
26158
26201
  ];
26159
26202
  TransactionPlanningLineComponent.propDecorators = {
26160
26203
  descriptionDblClick: [{ type: Output }],
@@ -36235,6 +36278,7 @@ class DeliveryPlanningComponent {
36235
36278
  constructor(_deliveryPlanningService) {
36236
36279
  this._deliveryPlanningService = _deliveryPlanningService;
36237
36280
  this.viewModes = DeliveryPlanningViewModes;
36281
+ this.fullscreenEvent = new EventEmitter();
36238
36282
  }
36239
36283
  set employeeView(value) {
36240
36284
  this._deliveryPlanningService.employeeView = value;
@@ -36260,17 +36304,19 @@ class DeliveryPlanningComponent {
36260
36304
  showClass() {
36261
36305
  return true;
36262
36306
  }
36307
+ fullscreenToggle() {
36308
+ this.fullscreenEvent.emit();
36309
+ }
36263
36310
  }
36264
36311
  DeliveryPlanningComponent.decorators = [
36265
36312
  { type: Component, args: [{
36266
36313
  selector: 'co-delivery-planning',
36267
36314
  template: `
36268
36315
  <div class="row">
36269
- <co-delivery-planning-main>
36316
+ <co-delivery-planning-main (fullscreenEvent)="fullscreenToggle()">
36270
36317
  </co-delivery-planning-main>
36271
36318
  </div>
36272
36319
 
36273
-
36274
36320
  `,
36275
36321
  encapsulation: ViewEncapsulation.None
36276
36322
  },] }
@@ -36284,6 +36330,7 @@ DeliveryPlanningComponent.propDecorators = {
36284
36330
  currentPlanningViewMode: [{ type: Input }],
36285
36331
  currentPlanningMode: [{ type: Input }],
36286
36332
  calendarViewMode: [{ type: Input }],
36333
+ fullscreenEvent: [{ type: Output }],
36287
36334
  showClass: [{ type: HostBinding, args: ['class.co-delivery-planning',] }]
36288
36335
  };
36289
36336
 
@@ -36366,6 +36413,7 @@ class DeliveryPlanningMainComponent {
36366
36413
  this._transactionConn = _transactionConn;
36367
36414
  this._transaction = _transaction;
36368
36415
  this._transactionSearch = _transactionSearch;
36416
+ this.fullscreenEvent = new EventEmitter();
36369
36417
  }
36370
36418
  get currentMode() {
36371
36419
  return this._deliveryPlanningService.currentCalendarMode;
@@ -36467,6 +36515,9 @@ class DeliveryPlanningMainComponent {
36467
36515
  // All necessary data has been loaded
36468
36516
  });
36469
36517
  }
36518
+ fullscreenToggle() {
36519
+ this.fullscreenEvent.emit();
36520
+ }
36470
36521
  }
36471
36522
  DeliveryPlanningMainComponent.decorators = [
36472
36523
  { type: Component, args: [{
@@ -36477,6 +36528,7 @@ DeliveryPlanningMainComponent.decorators = [
36477
36528
  <div class="delivery-main-wrapper">
36478
36529
  <div class="planning-selection-wrapper">
36479
36530
  <co-delivery-planning-selection
36531
+ (fullscreenEvent)="fullscreenToggle()"
36480
36532
  (planningChangeEvent)="planningChanged($event)"></co-delivery-planning-selection>
36481
36533
  </div>
36482
36534
  <co-delivery-planning-overview [currentMode]="currentMode"
@@ -36502,6 +36554,7 @@ DeliveryPlanningMainComponent.ctorParameters = () => [
36502
36554
  { type: TransactionSearchService }
36503
36555
  ];
36504
36556
  DeliveryPlanningMainComponent.propDecorators = {
36557
+ fullscreenEvent: [{ type: Output }],
36505
36558
  showClass: [{ type: HostBinding, args: ['class.co-delivery-planning-main',] }]
36506
36559
  };
36507
36560
 
@@ -36567,13 +36620,18 @@ class DeliveryPlanningSelectionComponent {
36567
36620
  this._transaction = _transaction;
36568
36621
  this.deliveryPlanningService = deliveryPlanningService;
36569
36622
  this.icons = Icon;
36623
+ this.deliveryPlanningViewModes = DeliveryPlanningViewModes;
36570
36624
  this.plannings = [];
36571
36625
  this.planningChangeEvent = new EventEmitter();
36626
+ this.fullscreenEvent = new EventEmitter();
36572
36627
  this.expanded = false;
36573
36628
  }
36574
36629
  get currentPlanning() {
36575
36630
  return this.deliveryPlanningService.currentPlanning;
36576
36631
  }
36632
+ get currentViewMode() {
36633
+ return this.deliveryPlanningService.viewMode;
36634
+ }
36577
36635
  set currentPlanning(planning) {
36578
36636
  this.deliveryPlanningService.currentPlanning = planning;
36579
36637
  }
@@ -36595,27 +36653,35 @@ class DeliveryPlanningSelectionComponent {
36595
36653
  }
36596
36654
  this.planningChangeEvent.emit(planning);
36597
36655
  }
36656
+ fullscreenToggled() {
36657
+ this.fullscreenEvent.emit();
36658
+ }
36598
36659
  }
36599
36660
  DeliveryPlanningSelectionComponent.decorators = [
36600
36661
  { type: Component, args: [{
36601
- selector: "co-delivery-planning-selection",
36662
+ selector: 'co-delivery-planning-selection',
36602
36663
  template: `
36603
- <div class="wrapper column">
36604
- <div class="lov-wrapper">
36605
- <div class="row" [class.drop-active]="expanded" (click)="expanded = !expanded">
36606
- <span class="planning-title" [textContent]="currentPlanning?.description"></span>
36607
- <co-icon [iconData]="iconCacheService.getIcon(icons.ArrowPointDown)"></co-icon>
36664
+ <div class="wrapper column">
36665
+ <div class="lov-wrapper">
36666
+ <div class="row">
36667
+ <div class="row" [class.drop-active]="expanded" (click)="expanded = !expanded">
36668
+ <span class="planning-title" [textContent]="currentPlanning?.description"></span>
36669
+ <co-icon [iconData]="iconCacheService.getIcon(icons.ArrowPointDown)"></co-icon>
36670
+
36671
+ </div>
36672
+ <co-icon *ngIf="currentViewMode === deliveryPlanningViewModes.Sidebar" [iconData]="iconCacheService.getIcon(icons.ExpandSolid)" (click)="fullscreenToggled()"></co-icon>
36673
+
36608
36674
  </div>
36609
- <div class="options-wrapper" *ngIf="expanded">
36610
- <div class="option" *ngFor="let planning of plannings">
36611
- <span (click)="planningChange(planning)" [textContent]="planning?.description"></span>
36612
- </div>
36613
- </div>
36614
- </div>
36675
+ <div class="options-wrapper" *ngIf="expanded">
36676
+ <div class="option" *ngFor="let planning of plannings">
36677
+ <span (click)="planningChange(planning)" [textContent]="planning?.description"></span>
36678
+ </div>
36679
+ </div>
36680
+ </div>
36615
36681
 
36616
- </div>
36682
+ </div>
36617
36683
 
36618
- `,
36684
+ `,
36619
36685
  encapsulation: ViewEncapsulation.None
36620
36686
  },] }
36621
36687
  ];
@@ -36626,7 +36692,8 @@ DeliveryPlanningSelectionComponent.ctorParameters = () => [
36626
36692
  ];
36627
36693
  DeliveryPlanningSelectionComponent.propDecorators = {
36628
36694
  planningChangeEvent: [{ type: Output }],
36629
- showClass: [{ type: HostBinding, args: ["class.co-delivery-planning-selection",] }]
36695
+ fullscreenEvent: [{ type: Output }],
36696
+ showClass: [{ type: HostBinding, args: ['class.co-delivery-planning-selection',] }]
36630
36697
  };
36631
36698
 
36632
36699
  class DeliveryPlanningSelectionModule {
@@ -36648,8 +36715,9 @@ DeliveryPlanningSelectionModule.decorators = [
36648
36715
  ];
36649
36716
 
36650
36717
  class DeliveryPlanningOverviewTileComponent {
36651
- constructor(_deliveryPlanningService, _changeDetector, iconCacheService) {
36718
+ constructor(_deliveryPlanningService, _transaction, _changeDetector, iconCacheService) {
36652
36719
  this._deliveryPlanningService = _deliveryPlanningService;
36720
+ this._transaction = _transaction;
36653
36721
  this._changeDetector = _changeDetector;
36654
36722
  this.iconCacheService = iconCacheService;
36655
36723
  this.icons = Icon;
@@ -36664,6 +36732,7 @@ class DeliveryPlanningOverviewTileComponent {
36664
36732
  this.getTransportOrdersEvent = new EventEmitter();
36665
36733
  this.timeChangeEvent = new EventEmitter();
36666
36734
  this.openSettingsDialogEvent = new EventEmitter();
36735
+ this.availabilityChecked = new EventEmitter();
36667
36736
  this.calendarPlanEvent = new EventEmitter();
36668
36737
  this.moveEvent = new EventEmitter();
36669
36738
  }
@@ -36692,6 +36761,9 @@ class DeliveryPlanningOverviewTileComponent {
36692
36761
  this._changeDetector.markForCheck();
36693
36762
  this._changeDetector.detectChanges();
36694
36763
  }));
36764
+ this._subs.push(this._deliveryPlanningService.availabilityCheckEvent.subscribe((transId) => __awaiter(this, void 0, void 0, function* () {
36765
+ yield this.handleAvailabilityChecked(transId);
36766
+ })));
36695
36767
  });
36696
36768
  }
36697
36769
  ngOnDestroy() {
@@ -36723,16 +36795,6 @@ class DeliveryPlanningOverviewTileComponent {
36723
36795
  handleDeleteOrderLineClick(data) {
36724
36796
  this.deleteOrderLineEvent.emit(data);
36725
36797
  }
36726
- handleSettingsSave() {
36727
- }
36728
- onCustomDragStart(event, obj) {
36729
- const currentHour = obj['startTime'] + ':00'; // Assuming start hour is used
36730
- event.dataTransfer.setData('text', JSON.stringify({ obj, currentHour }));
36731
- }
36732
- onExpandableDragStart(event, obj, onDragStartCustom) {
36733
- onDragStartCustom === null || onDragStartCustom === void 0 ? void 0 : onDragStartCustom.call(obj);
36734
- event.dataTransfer.setData('text', JSON.stringify({ obj }));
36735
- }
36736
36798
  orderForObject(transId) {
36737
36799
  return this.transportDay.plannedOrders.find(order => order.transId === transId);
36738
36800
  }
@@ -36758,6 +36820,42 @@ class DeliveryPlanningOverviewTileComponent {
36758
36820
  }
36759
36821
  });
36760
36822
  }
36823
+ handleAvailabilityChecked(transId) {
36824
+ return __awaiter(this, void 0, void 0, function* () {
36825
+ let planOrder = yield this._transaction.getPlanOrder(transId);
36826
+ if (!planOrder.partDelivery) {
36827
+ this._deliveryPlanningService.deliveryMethods.find(method => parseInt(method.code) === planOrder.deliveryMethod) ? this.availabilityChecked.emit({
36828
+ transportDay: this.transportDay,
36829
+ available: true
36830
+ }) : this.availabilityChecked.emit({ transportDay: this.transportDay, available: false });
36831
+ }
36832
+ else {
36833
+ let available = true;
36834
+ yield this.getOrderLinesPlanned(planOrder);
36835
+ planOrder.lines.forEach((line) => {
36836
+ if (!this.transportDay.deliveryMethods.find(method => method === line.deliveryMethod)) {
36837
+ available = false;
36838
+ }
36839
+ });
36840
+ this.availabilityChecked.emit({ transportDay: this.transportDay, available: available });
36841
+ }
36842
+ });
36843
+ }
36844
+ getOrderLinesPlanned(planOrder) {
36845
+ return __awaiter(this, void 0, void 0, function* () {
36846
+ let request = new OrderLinesPlannedRequest();
36847
+ let filterObj = new PlanningFilterObject();
36848
+ request.planned = true;
36849
+ request.planningId = this._deliveryPlanningService.currentPlanning.planningId;
36850
+ request.transId = planOrder.transId;
36851
+ request.plannedLineId = planOrder.plannedLineId;
36852
+ filterObj.onlyCurrentWeek = true;
36853
+ filterObj.beginCurrentWeek = new Date();
36854
+ filterObj.checkOrderLines = 1;
36855
+ request.filterObject = filterObj;
36856
+ planOrder.lines.push(...yield this._transaction.getOrderLinesPlanned(request));
36857
+ });
36858
+ }
36761
36859
  }
36762
36860
  DeliveryPlanningOverviewTileComponent.decorators = [
36763
36861
  { type: Component, args: [{
@@ -36854,6 +36952,7 @@ DeliveryPlanningOverviewTileComponent.decorators = [
36854
36952
  ];
36855
36953
  DeliveryPlanningOverviewTileComponent.ctorParameters = () => [
36856
36954
  { type: DeliveryPlanningService },
36955
+ { type: TransactionService },
36857
36956
  { type: ChangeDetectorRef },
36858
36957
  { type: IconCacheService }
36859
36958
  ];
@@ -36867,6 +36966,7 @@ DeliveryPlanningOverviewTileComponent.propDecorators = {
36867
36966
  getTransportOrdersEvent: [{ type: Output }],
36868
36967
  timeChangeEvent: [{ type: Output }],
36869
36968
  openSettingsDialogEvent: [{ type: Output }],
36969
+ availabilityChecked: [{ type: Output }],
36870
36970
  calendarPlanEvent: [{ type: Output }],
36871
36971
  moveEvent: [{ type: Output }],
36872
36972
  hourSchedulingComp: [{ type: ViewChild, args: ['hourSchedulingComponent',] }],
@@ -36887,16 +36987,16 @@ class DeliveryPlanningOverviewComponent {
36887
36987
  this.tileModes = DeliveryPlanningTileModes;
36888
36988
  this.deliveryPlanningViewModes = DeliveryPlanningViewModes;
36889
36989
  this.availability = [];
36990
+ this.available = false;
36991
+ this.showNoteDialog = false;
36992
+ this.showSettingsDialog = false;
36993
+ this._subs = [];
36890
36994
  this.columnNum = 3; //initial count
36891
36995
  this.currentMode = DeliveryPlanningCalendarModes.Week;
36892
36996
  this.currentViewMode = CalendarView.WeekView;
36893
36997
  this.currentPlanningViewMode = this.deliveryPlanningViewModes.Fullscreen;
36894
36998
  this.updatePlanningTransportEvent = new EventEmitter();
36895
36999
  this.resetPlanningTransportEvent = new EventEmitter();
36896
- this.tileSize = 300; //one tile should have this width
36897
- this.available = false;
36898
- this.showNoteDialog = false;
36899
- this.showSettingsDialog = false;
36900
37000
  }
36901
37001
  set tiles(tiles) {
36902
37002
  this.tilesQueryList = tiles;
@@ -36925,6 +37025,18 @@ class DeliveryPlanningOverviewComponent {
36925
37025
  ngAfterViewChecked() {
36926
37026
  this.setColNum();
36927
37027
  }
37028
+ ngOnInit() {
37029
+ this._subs.push(this._deliveryPlanningService.availabilityResetEvent.subscribe(event => {
37030
+ this.availability = [];
37031
+ this._changeDetector.markForCheck();
37032
+ this._changeDetector.detectChanges();
37033
+ }));
37034
+ }
37035
+ ngOnDestroy() {
37036
+ this._subs.forEach((sub) => {
37037
+ sub.unsubscribe();
37038
+ });
37039
+ }
36928
37040
  showClass() {
36929
37041
  return true;
36930
37042
  }
@@ -36938,39 +37050,44 @@ class DeliveryPlanningOverviewComponent {
36938
37050
  ev.preventDefault();
36939
37051
  ev.stopPropagation();
36940
37052
  this._deliveryPlanningService.dragging = false;
36941
- const data = ev.dataTransfer.getData("text");
36942
- let index = transportDays.indexOf(transportDay);
36943
- let tile = this.tilesQueryList.get(index);
36944
- if (!tile.expanded) {
36945
- tile.expanded = true;
36946
- }
36947
- if (data != "lines" && !this._deliveryPlanningService.movingTransId) {
36948
- if (data && parseInt(data)) {
36949
- yield this._transaction.getTransactionById(parseInt(data));
36950
- const order = this._transaction.currentTransaction;
36951
- if (((_b = (_a = order.transactionInfo) === null || _a === void 0 ? void 0 : _a.headerInfoStatus) === null || _b === void 0 ? void 0 : _b.quantityPlanningFinal) === 0) {
36952
- const planOrder = yield this._transactionCon.getPlanOrder(parseInt(data));
36953
- if (planOrder) {
36954
- this.openPlanningPopup(planOrder, transportDay, week);
37053
+ if (this.checkAvailable(transportDay)) {
37054
+ yield this._dialog.showError(this._dictionary.get('ORDER_CAN_NOT_BE_PLANNED_ON_RESOURCE'), true);
37055
+ }
37056
+ else {
37057
+ const data = ev.dataTransfer.getData('text');
37058
+ let index = transportDays.indexOf(transportDay);
37059
+ let tile = this.tilesQueryList.get(index);
37060
+ if (!tile.expanded) {
37061
+ tile.expanded = true;
37062
+ }
37063
+ if (data != 'lines' && !this._deliveryPlanningService.movingTransId) {
37064
+ if (data && parseInt(data)) {
37065
+ yield this._transaction.getTransactionById(parseInt(data));
37066
+ const order = this._transaction.currentTransaction;
37067
+ if (((_b = (_a = order.transactionInfo) === null || _a === void 0 ? void 0 : _a.headerInfoStatus) === null || _b === void 0 ? void 0 : _b.quantityPlanningFinal) === 0) {
37068
+ const planOrder = yield this._transactionCon.getPlanOrder(parseInt(data));
37069
+ if (planOrder) {
37070
+ this.openPlanningPopup(planOrder, transportDay, week);
37071
+ }
37072
+ }
37073
+ else {
37074
+ yield this._dialog.showError(this._dictionary.get('ORDER_HAS_ALREADY_BEEN_PLANNED'), true);
36955
37075
  }
36956
- }
36957
- else {
36958
- yield this._dialog.showError(this._dictionary.get("ORDER_HAS_ALREADY_BEEN_PLANNED"), true);
36959
37076
  }
36960
37077
  }
36961
- }
36962
- else if (data != "lines" && this._deliveryPlanningService.movingTransId) {
36963
- // await this.handleMoveNormalEvent(data, transportDay, week, this.planTransportWeekArr);
36964
- }
36965
- else {
36966
- yield this.planSelectedLines(transportDay, week);
37078
+ else if (data != 'lines' && this._deliveryPlanningService.movingTransId) {
37079
+ // await this.handleMoveNormalEvent(data, transportDay, week, this.planTransportWeekArr);
37080
+ }
37081
+ else {
37082
+ yield this.planSelectedLines(transportDay, week);
37083
+ }
36967
37084
  }
36968
37085
  });
36969
37086
  }
36970
37087
  allowDrop(ev, transportDay) {
36971
37088
  ev.preventDefault();
36972
37089
  if (this._deliveryPlanningService.dragging && transportDay.maxMinutes > 0 && transportDay.availableOnDate) {
36973
- return transportDay.minutes + transportDay.minutes < transportDay.maxMinutes && transportDay.maxOrderAmount < transportDay.orderAmount && transportDay.availableOnDate;
37090
+ return transportDay.minutes + transportDay.minutes < transportDay.maxMinutes && transportDay.maxOrderAmount < transportDay.orderAmount && transportDay.availableOnDate && this.checkAvailable(transportDay);
36974
37091
  }
36975
37092
  }
36976
37093
  setColNum() {
@@ -37009,7 +37126,7 @@ class DeliveryPlanningOverviewComponent {
37009
37126
  });
37010
37127
  }
37011
37128
  else {
37012
- yield this._dialog.showError("NO_LINES_TO_DELETE", true);
37129
+ yield this._dialog.showError('NO_LINES_TO_DELETE', true);
37013
37130
  }
37014
37131
  }
37015
37132
  });
@@ -37100,7 +37217,7 @@ class DeliveryPlanningOverviewComponent {
37100
37217
  });
37101
37218
  }
37102
37219
  else {
37103
- yield this._dialog.showError("NO_LINES_TO_PLAN", true);
37220
+ yield this._dialog.showError('NO_LINES_TO_PLAN', true);
37104
37221
  }
37105
37222
  });
37106
37223
  }
@@ -37124,12 +37241,12 @@ class DeliveryPlanningOverviewComponent {
37124
37241
  }
37125
37242
  });
37126
37243
  if (cantPlanSelectedLines.length === planOrder.lines.length) {
37127
- yield this._dialog.showError("NO_LINES_TO_PLAN", true);
37244
+ yield this._dialog.showError('NO_LINES_TO_PLAN', true);
37128
37245
  return;
37129
37246
  }
37130
37247
  }
37131
37248
  else {
37132
- yield this._dialog.showError("NO_LINES_SELECTED", true);
37249
+ yield this._dialog.showError('NO_LINES_SELECTED', true);
37133
37250
  return;
37134
37251
  }
37135
37252
  let plannedOrder = transportDay.plannedOrders.find((plannedOrder) => plannedOrder.transId === planOrder.transId);
@@ -37165,7 +37282,7 @@ class DeliveryPlanningOverviewComponent {
37165
37282
  }
37166
37283
  handleSettingsSave(changed) {
37167
37284
  if (changed) {
37168
- // this.updatePlanningTransportEvent.emit();
37285
+ this.updatePlanningTransportEvent.emit();
37169
37286
  }
37170
37287
  }
37171
37288
  openSettingsDialog(transportDay) {
@@ -37178,12 +37295,16 @@ class DeliveryPlanningOverviewComponent {
37178
37295
  var _a;
37179
37296
  return __awaiter(this, void 0, void 0, function* () {
37180
37297
  let planOrder;
37181
- if (data.data === "false" && this._deliveryPlanningService.currentTransId) {
37298
+ if (data.data === 'false' && this._deliveryPlanningService.currentTransId) {
37182
37299
  planOrder = yield this._transactionCon.getPlanOrder((_a = this._deliveryPlanningService) === null || _a === void 0 ? void 0 : _a.currentTransId);
37183
37300
  }
37184
37301
  else {
37185
37302
  planOrder = yield this._transactionCon.getPlanOrder(parseInt(data.data));
37186
37303
  }
37304
+ if (transportWeekDay.plannedOrders.find((plannedOrder) => plannedOrder.transId === planOrder.transId)) {
37305
+ yield this._dialog.showError(this._dictionary.get('ORDER_HAS_ALREADY_BEEN_PLANNED'), true);
37306
+ return;
37307
+ }
37187
37308
  if (planOrder && data.currentHour) {
37188
37309
  planOrder.startTime = this.calculateStartTime(transportWeekDay, data.currentHour);
37189
37310
  planOrder.endTime = this.calculateEndTime(planOrder.startTime, data.currentHour, planOrder);
@@ -37191,7 +37312,7 @@ class DeliveryPlanningOverviewComponent {
37191
37312
  yield this.getSequenceOrderValue(planOrder);
37192
37313
  yield this.getOrderLinesPlanned(planOrder);
37193
37314
  yield this.planOrderLines(planOrder, transportWeekDay, week);
37194
- if (data.data === "false" && this._transaction.currentTransaction.transactionInfo.uuid) {
37315
+ if (data.data === 'false' && this._transaction.currentTransaction.transactionInfo.uuid) {
37195
37316
  yield this._transaction.getTransactionById(this._deliveryPlanningService.currentTransId);
37196
37317
  yield this._transaction.saveTransaction();
37197
37318
  yield this._transaction.checkRefTransaction();
@@ -37201,17 +37322,17 @@ class DeliveryPlanningOverviewComponent {
37201
37322
  }
37202
37323
  calculateStartTime(transportWeekDay, currentHour) {
37203
37324
  let startDate = new Date(transportWeekDay.date);
37204
- let startTime = parseInt(currentHour.split(":")[0]);
37325
+ let startTime = parseInt(currentHour.split(':')[0]);
37205
37326
  startDate.setHours(startTime);
37206
- startDate.setMinutes(parseInt(currentHour.split(":")[1]) > 0 ? parseInt(currentHour.split(":")[1]) : 0);
37327
+ startDate.setMinutes(parseInt(currentHour.split(':')[1]) > 0 ? parseInt(currentHour.split(':')[1]) : 0);
37207
37328
  startDate.setSeconds(0);
37208
37329
  return startDate;
37209
37330
  }
37210
37331
  calculateEndTime(startDate, currentHour, planOrder) {
37211
37332
  let endTime = new Date(startDate);
37212
- let splitHour = currentHour.split(":");
37213
- const newEndMinutes = splitHour[1] === "00" ? 30 : 0;
37214
- const newEndHour = splitHour[1] === "30" ? (parseInt(splitHour[0]) + 1) : parseInt(splitHour[0]);
37333
+ let splitHour = currentHour.split(':');
37334
+ const newEndMinutes = splitHour[1] === '00' ? 30 : 0;
37335
+ const newEndHour = splitHour[1] === '30' ? (parseInt(splitHour[0]) + 1) : parseInt(splitHour[0]);
37215
37336
  endTime.setHours(newEndHour);
37216
37337
  endTime.setMinutes(newEndMinutes);
37217
37338
  let assemblyTime = this._deliveryPlanningService.totalAssemblyTime(planOrder) * 60 * 1000;
@@ -37260,7 +37381,7 @@ class DeliveryPlanningOverviewComponent {
37260
37381
  yield this._transactionCon.restoreDeliverySettings([planOrder]);
37261
37382
  //set new date for order and plan it on new transport
37262
37383
  let newDate = new Date(transport.date);
37263
- let splitTime = moveData.hour.split(":");
37384
+ let splitTime = moveData.hour.split(':');
37264
37385
  newDate.setHours(parseInt(splitTime[0]));
37265
37386
  newDate.setMinutes(parseInt(splitTime[1]));
37266
37387
  newDate.setSeconds(0);
@@ -37302,13 +37423,13 @@ class DeliveryPlanningOverviewComponent {
37302
37423
  }
37303
37424
  DeliveryPlanningOverviewComponent.decorators = [
37304
37425
  { type: Component, args: [{
37305
- selector: "co-delivery-planning-overview",
37426
+ selector: 'co-delivery-planning-overview',
37306
37427
  template: `
37307
37428
  <div class="delivery-planning-wrapper">
37308
37429
  <co-delivery-planning-overview-popup #planningPopup *ngIf="showNoteDialog" (closeEvent)="showNoteDialog = false"
37309
37430
  (onSucceededPlanAction)="handlePopupPlanEvent($event)"></co-delivery-planning-overview-popup>
37310
37431
  <co-delivery-planning-overview-tile-settings-popup *ngIf="showSettingsDialog" [transportDay]="selectedTransportDay"
37311
- (availabilityChecked)="handleAvailabilityChecked($event)"
37432
+
37312
37433
  (onSaveAction)="handleSettingsSave($event)"
37313
37434
  (closeEvent)="showSettingsDialog = false"></co-delivery-planning-overview-tile-settings-popup>
37314
37435
  <div class="delivery-overview-wrapper" [class.sidebar]="currentViewMode === 'DAYS_AROUND'">
@@ -37340,6 +37461,7 @@ DeliveryPlanningOverviewComponent.decorators = [
37340
37461
  (deleteOrderLineEvent)="handleDeleteLine($event, transPortDay, transportWeekRow)"
37341
37462
  (editOrderEvent)="handleEditPlannedOrder($event, transPortDay, transportWeekRow)"
37342
37463
  (moveEvent)="handleMoveEvent($event,transPortDay, transportWeekRow, planTransportWeekArr)"
37464
+ (availabilityChecked)="handleAvailabilityChecked($event)"
37343
37465
 
37344
37466
 
37345
37467
  ></co-delivery-planning-overview-tile>
@@ -37376,7 +37498,7 @@ DeliveryPlanningOverviewComponent.propDecorators = {
37376
37498
  currentPlanningViewMode: [{ type: Input }],
37377
37499
  updatePlanningTransportEvent: [{ type: Output }],
37378
37500
  resetPlanningTransportEvent: [{ type: Output }],
37379
- showClass: [{ type: HostBinding, args: ["class.co-delivery-planning-overview",] }],
37501
+ showClass: [{ type: HostBinding, args: ['class.co-delivery-planning-overview',] }],
37380
37502
  onResize: [{ type: HostListener, args: ['window:resize', ['$event'],] }]
37381
37503
  };
37382
37504
 
@@ -37764,12 +37886,12 @@ class DeliveryPlanningOverviewPopupComponent {
37764
37886
  this.onSucceededPlanAction.emit([this.planOrder, this.transportDay, this.week]);
37765
37887
  }
37766
37888
  startTimeForOrder() {
37767
- var _a, _b;
37768
- return (_b = (_a = this.planOrder) === null || _a === void 0 ? void 0 : _a.startTime) === null || _b === void 0 ? void 0 : _b.toUTCString();
37889
+ var _a;
37890
+ return (_a = this.planOrder) === null || _a === void 0 ? void 0 : _a.startTime;
37769
37891
  }
37770
37892
  endTimeForOrder() {
37771
- var _a, _b;
37772
- return (_b = (_a = this.planOrder) === null || _a === void 0 ? void 0 : _a.endTime) === null || _b === void 0 ? void 0 : _b.toUTCString();
37893
+ var _a;
37894
+ return (_a = this.planOrder) === null || _a === void 0 ? void 0 : _a.endTime;
37773
37895
  }
37774
37896
  handleStartTimeChange() {
37775
37897
  if (this.startTimeCompRef.model) {
@@ -37844,63 +37966,63 @@ DeliveryPlanningOverviewPopupComponent.decorators = [
37844
37966
  { type: Component, args: [{
37845
37967
  selector: "co-delivery-planning-overview-popup",
37846
37968
  template: `
37847
- <co-dialog [showCloseIcon]="true" (closeClick)="closePopup()" [headerTemplate]="header"
37848
- [footerTemplate]="footer">
37849
- <ng-template #header>
37850
- <div class="dialog-header-wrapper">
37851
- <span class="footer-header-title" [textContent]="transportDay?.transport?.registrationNumber"></span>
37852
- <div class="icon">
37853
- <co-icon class=""
37854
- [iconData]="iconCacheService.getIcon(icons.TruckContainerDuo)"></co-icon>
37855
- </div>
37856
- </div>
37857
- </ng-template>
37969
+ <co-dialog [showCloseIcon]="true" (closeClick)="closePopup()" [headerTemplate]="header"
37970
+ [footerTemplate]="footer">
37971
+ <ng-template #header>
37972
+ <div class="dialog-header-wrapper">
37973
+ <span class="footer-header-title" [textContent]="transportDay?.transport?.registrationNumber"></span>
37974
+ <div class="icon">
37975
+ <co-icon class=""
37976
+ [iconData]="iconCacheService.getIcon(icons.TruckContainerDuo)"></co-icon>
37977
+ </div>
37978
+ </div>
37979
+ </ng-template>
37858
37980
 
37859
- <div class="body-wrapper">
37860
- <co-delivery-planning-tile-status
37861
- [currentVolume]="transportDay?.orderAmount"
37862
- [maxVolume]="transportDay?.maxOrderAmount"
37863
- [currentTimeTotal]="transportDay?.minutes"
37864
- [timeTotal]="transportDay?.maxMinutes">
37865
- </co-delivery-planning-tile-status>
37981
+ <div class="body-wrapper">
37982
+ <co-delivery-planning-tile-status
37983
+ [currentVolume]="transportDay?.orderAmount"
37984
+ [maxVolume]="transportDay?.maxOrderAmount"
37985
+ [currentTimeTotal]="transportDay?.minutes"
37986
+ [timeTotal]="transportDay?.maxMinutes">
37987
+ </co-delivery-planning-tile-status>
37866
37988
 
37867
- <div class="form-details">
37868
- <span class="h1" [textContent]="'TIME_SETTINGS' | localize"></span>
37869
- </div>
37870
- <div class="popup-row">
37871
- <co-input-text [model]="impactTime()" [placeholder]="'IMPACT_TIME' | localize"></co-input-text>
37872
- <co-input-text [model]="deliveryPlanningService.totalAssemblyTime(planOrder)"
37873
- [placeholder]="'ASSEMBLY_TIME' | localize"></co-input-text>
37874
- </div>
37989
+ <div class="form-details">
37990
+ <span class="h1" [textContent]="'TIME_SETTINGS' | localize"></span>
37991
+ </div>
37992
+ <div class="popup-row">
37993
+ <co-input-text [model]="impactTime()" [placeholder]="'IMPACT_TIME' | localize"></co-input-text>
37994
+ <co-input-text [model]="deliveryPlanningService.totalAssemblyTime(planOrder)"
37995
+ [placeholder]="'ASSEMBLY_TIME' | localize"></co-input-text>
37996
+ </div>
37875
37997
 
37876
- <div class="popup-row">
37877
- <co-input-text #startTime [model]="startTimeForOrder() | date: 'hh:mm'"
37878
- [placeholder]="'STARTTIME' | localize" (blur)="handleStartTimeChange()"></co-input-text>
37879
- <co-input-text #endTime [model]="endTimeForOrder() | date: 'hh:mm'"
37880
- [placeholder]="'STOPTIME' | localize" (blur)="handleEndTimeChange()"></co-input-text>
37881
- </div>
37998
+ <div class="popup-row">
37999
+ <co-input-text #startTime [model]="startTimeForOrder() | date: 'HH:mm'"
38000
+ [placeholder]="'STARTTIME' | localize" (blur)="handleStartTimeChange()"></co-input-text>
38001
+ <co-input-text #endTime [model]="endTimeForOrder() | date: 'HH:mm'"
38002
+ [placeholder]="'STOPTIME' | localize" (blur)="handleEndTimeChange()"></co-input-text>
38003
+ </div>
37882
38004
 
37883
38005
 
37884
- <div class="remark-wrapper">
37885
- <span [textContent]="'PLAN_REMARKS' | localize"></span>
37886
- <co-input-textarea [(model)]="planOrder.remarks"></co-input-textarea>
37887
- </div>
38006
+ <div class="remark-wrapper">
38007
+ <span [textContent]="'PLAN_REMARKS' | localize"></span>
38008
+ <co-input-textarea [(model)]="planOrder.remarks"></co-input-textarea>
38009
+ </div>
37888
38010
 
37889
38011
 
37890
- </div>
38012
+ </div>
37891
38013
 
37892
38014
 
37893
- <ng-template #footer>
37894
- <div class="buttons-wrapper">
37895
- <co-button class="save-button"
37896
- [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
37897
- (click)="handleCommitClick()"></co-button>
37898
- <co-button class="close-button"
37899
- [iconData]="iconCacheService.getIcon(icons.Crossskinny)"
37900
- (click)="closePopup()"></co-button>
37901
- </div>
37902
- </ng-template>
37903
- </co-dialog>
38015
+ <ng-template #footer>
38016
+ <div class="buttons-wrapper">
38017
+ <co-button class="save-button"
38018
+ [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
38019
+ (click)="handleCommitClick()"></co-button>
38020
+ <co-button class="close-button"
38021
+ [iconData]="iconCacheService.getIcon(icons.Crossskinny)"
38022
+ (click)="closePopup()"></co-button>
38023
+ </div>
38024
+ </ng-template>
38025
+ </co-dialog>
37904
38026
  `,
37905
38027
  encapsulation: ViewEncapsulation.None
37906
38028
  },] }
@@ -37949,11 +38071,6 @@ class DeliveryPlanningOverviewTileSettingsPopupComponent {
37949
38071
  showClass() {
37950
38072
  return true;
37951
38073
  }
37952
- ngOnInit() {
37953
- this._subs.push(this._deliveryPlanningService.availabilityCheckEvent.subscribe((transId) => __awaiter(this, void 0, void 0, function* () {
37954
- yield this.handleAvailabilityChecked(transId);
37955
- })));
37956
- }
37957
38074
  ngOnDestroy() {
37958
38075
  this._subs.forEach(sub => {
37959
38076
  sub.unsubscribe();
@@ -38004,7 +38121,7 @@ class DeliveryPlanningOverviewTileSettingsPopupComponent {
38004
38121
  handleDistrictsChange(event) {
38005
38122
  event.forEach((district) => {
38006
38123
  if (!this.transportDay.districts.find(dayDistrict => dayDistrict === district.districtId)) {
38007
- this.transportDay.deliveryMethods.push(district.districtId.toString());
38124
+ this.transportDay.districts.push(district.districtId);
38008
38125
  }
38009
38126
  });
38010
38127
  if (!this.settingsChanged) {
@@ -38016,143 +38133,111 @@ class DeliveryPlanningOverviewTileSettingsPopupComponent {
38016
38133
  }
38017
38134
  handleCommitClick() {
38018
38135
  this.onSaveAction.emit(this.settingsChanged);
38019
- }
38020
- handleAvailabilityChecked(transId) {
38021
- return __awaiter(this, void 0, void 0, function* () {
38022
- let planOrder = yield this._transaction.getPlanOrder(transId);
38023
- if (!planOrder.partDelivery) {
38024
- this.deliveryMethods.find(method => parseInt(method.code) === planOrder.deliveryMethod) ? this.availabilityChecked.emit({ transportDay: this.transportDay, available: true }) : this.availabilityChecked.emit({ transportDay: this.transportDay, available: false });
38025
- }
38026
- else {
38027
- let available = true;
38028
- yield this.getOrderLinesPlanned(planOrder);
38029
- planOrder.lines.forEach((line) => {
38030
- if (!this.deliveryMethods.find(method => method.code === line.deliveryMethod)) {
38031
- available = false;
38032
- }
38033
- });
38034
- this.availabilityChecked.emit({ transportDay: this.transportDay, available: available });
38035
- }
38036
- });
38037
- }
38038
- getOrderLinesPlanned(planOrder) {
38039
- return __awaiter(this, void 0, void 0, function* () {
38040
- let request = new OrderLinesPlannedRequest();
38041
- let filterObj = new PlanningFilterObject();
38042
- request.planned = true;
38043
- request.planningId = this._deliveryPlanningService.currentPlanning.planningId;
38044
- request.transId = planOrder.transId;
38045
- request.plannedLineId = planOrder.plannedLineId;
38046
- filterObj.onlyCurrentWeek = true;
38047
- filterObj.beginCurrentWeek = new Date();
38048
- filterObj.checkOrderLines = 1;
38049
- request.filterObject = filterObj;
38050
- planOrder.lines.push(...yield this._transaction.getOrderLinesPlanned(request));
38051
- });
38136
+ this.closeEvent.emit();
38052
38137
  }
38053
38138
  }
38054
38139
  DeliveryPlanningOverviewTileSettingsPopupComponent.decorators = [
38055
38140
  { type: Component, args: [{
38056
- selector: "co-delivery-planning-overview-tile-settings-popup",
38141
+ selector: 'co-delivery-planning-overview-tile-settings-popup',
38057
38142
  template: `
38058
- <co-dialog [showCloseIcon]="true" (closeClick)="closePopup()" [headerTemplate]="headerTemplate"
38059
- [footerTemplate]="footerTemplate">
38060
-
38061
- <div class="body-wrapper">
38062
- <div class="rules-wrapper">
38063
- <div class="row available">
38064
- <co-input-checkbox [(model)]="transportDay.availableOnDate"></co-input-checkbox>
38065
- <span [textContent]="'AVAILABLE' | localize"></span></div>
38143
+ <co-dialog [showCloseIcon]="true" (closeClick)="closePopup()" [headerTemplate]="headerTemplate"
38144
+ [footerTemplate]="footerTemplate">
38066
38145
 
38067
- <div class="row available">
38146
+ <div class="body-wrapper">
38147
+ <div class="rules-wrapper">
38148
+ <div class="row available">
38149
+ <co-input-checkbox [(model)]="transportDay.availableOnDate"></co-input-checkbox>
38150
+ <span [textContent]="'AVAILABLE' | localize"></span></div>
38068
38151
 
38069
- </div>
38152
+ <div class="row available">
38070
38153
 
38071
- <div class="row">
38072
- <div class="column">
38073
- <co-list-of-values class="list" [collection]="districts"
38074
- [model]="districtsForTransportDay(transportDay)"
38075
- (modelChange)="handleDistrictsChange($event)"
38076
- [displayField]="'description'"
38077
- [label]="'DISTRICTS' | localize"
38078
- [multiselect]="true"
38079
- [searchDisabled]="false"
38080
- [searchPlaceholder]="'Zoeken...'"
38154
+ </div>
38081
38155
 
38082
- ></co-list-of-values>
38083
- <co-list-of-values class="list" [collection]="deliveryMethods"
38084
- [model]="deliveryMethodsForTransportDay(transportDay)"
38085
- (modelChange)="handleDeliveryMethodChange($event)"
38086
- [displayField]="'description'"
38087
- [label]="'DELIVERY_METHODS' | localize"
38088
- [multiselect]="true"
38089
- [searchDisabled]="false"
38090
- [searchPlaceholder]="'Zoeken...'"
38091
- ></co-list-of-values>
38092
- </div>
38156
+ <div class="row">
38157
+ <div class="column">
38158
+ <co-list-of-values class="list" [collection]="districts"
38159
+ [model]="districtsForTransportDay(transportDay)"
38160
+ (modelChange)="handleDistrictsChange($event)"
38161
+ [displayField]="'description'"
38162
+ [label]="'DISTRICTS' | localize"
38163
+ [multiselect]="true"
38164
+ [searchDisabled]="false"
38165
+ [searchPlaceholder]="'Zoeken...'"
38166
+
38167
+ ></co-list-of-values>
38168
+ <co-list-of-values class="list" [collection]="deliveryMethods"
38169
+ [model]="deliveryMethodsForTransportDay(transportDay)"
38170
+ (modelChange)="handleDeliveryMethodChange($event)"
38171
+ [displayField]="'description'"
38172
+ [label]="'DELIVERY_METHODS' | localize"
38173
+ [multiselect]="true"
38174
+ [searchDisabled]="false"
38175
+ [searchPlaceholder]="'Zoeken...'"
38176
+ ></co-list-of-values>
38177
+ </div>
38093
38178
 
38094
- <div class="column">
38095
- <co-list-of-values class="list" [collection]="skills"
38096
- [model]="skillsForTransportDay(transportDay)"
38097
- (modelChange)="handleSkillsChange($event)"
38098
- [displayField]="'description'"
38099
- [label]="'SKILLS' | localize"
38100
- [multiselect]="true"
38101
- [searchDisabled]="false"
38102
- [searchPlaceholder]="'Zoeken...'"
38103
- ></co-list-of-values>
38104
- <co-list-of-values class="list" [collection]="employees"
38105
- [model]="transportDay.employees"
38106
- (modelChange)="handleEmployeeChange($event)"
38107
- [displayField]="'familyName'"
38108
- [label]="'EMPLOYEES' | localize"
38109
- [multiselect]="true"
38110
- [searchDisabled]="false"
38111
- [searchPlaceholder]="'Zoeken...'"
38112
- ></co-list-of-values>
38113
- </div>
38114
- </div>
38179
+ <div class="column">
38180
+ <co-list-of-values class="list" [collection]="skills"
38181
+ [model]="skillsForTransportDay(transportDay)"
38182
+ (modelChange)="handleSkillsChange($event)"
38183
+ [displayField]="'description'"
38184
+ [label]="'SKILLS' | localize"
38185
+ [multiselect]="true"
38186
+ [searchDisabled]="false"
38187
+ [searchPlaceholder]="'Zoeken...'"
38188
+ ></co-list-of-values>
38189
+ <co-list-of-values class="list" [collection]="employees"
38190
+ [model]="transportDay.employees"
38191
+ (modelChange)="handleEmployeeChange($event)"
38192
+ [displayField]="'familyName'"
38193
+ [label]="'EMPLOYEES' | localize"
38194
+ [multiselect]="true"
38195
+ [searchDisabled]="false"
38196
+ [searchPlaceholder]="'Zoeken...'"
38197
+ ></co-list-of-values>
38198
+ </div>
38199
+ </div>
38115
38200
 
38116
- </div>
38201
+ </div>
38117
38202
 
38118
- <div class="rules-wrapper">
38119
- <co-list-of-values class="list" [collection]="userGroups"
38120
- [displayField]="'description'"
38121
- [label]="'USER_GROUPS' | localize"
38122
- [multiselect]="true"
38123
- [searchDisabled]="false"
38124
- [searchPlaceholder]="'Zoeken...'"
38125
- ></co-list-of-values>
38126
- </div>
38127
- </div>
38128
- </co-dialog>
38203
+ <div class="rules-wrapper">
38204
+ <co-list-of-values class="list" [collection]="userGroups"
38205
+ [displayField]="'description'"
38206
+ [label]="'USER_GROUPS' | localize"
38207
+ [multiselect]="true"
38208
+ [searchDisabled]="false"
38209
+ [searchPlaceholder]="'Zoeken...'"
38210
+ ></co-list-of-values>
38211
+ </div>
38212
+ </div>
38213
+ </co-dialog>
38129
38214
 
38130
- <ng-template #headerTemplate>
38131
- <div class="dialog-header-wrapper">
38132
- <div class="row">
38133
- <co-icon class="small" [iconData]="iconCacheService.getIcon(icons.SlidersUpRegular)"></co-icon>
38134
- <span class="bold" [textContent]="'PLANNING_RULES' | localize"></span>
38135
- </div>
38215
+ <ng-template #headerTemplate>
38216
+ <div class="dialog-header-wrapper">
38217
+ <div class="row">
38218
+ <co-icon class="small" [iconData]="iconCacheService.getIcon(icons.SlidersUpRegular)"></co-icon>
38219
+ <span class="bold" [textContent]="'PLANNING_RULES' | localize"></span>
38220
+ </div>
38136
38221
 
38137
- <div class="row">
38138
- <span class="footer-header-title bold" [textContent]="transportDay?.transport?.registrationNumber"></span>
38139
- <div class="icon">
38140
- <co-icon class=""
38141
- [iconData]="iconCacheService.getIcon(icons.TruckContainerDuo)"></co-icon>
38222
+ <div class="row">
38223
+ <span class="footer-header-title bold" [textContent]="transportDay?.transport?.registrationNumber"></span>
38224
+ <div class="icon">
38225
+ <co-icon class=""
38226
+ [iconData]="iconCacheService.getIcon(icons.TruckContainerDuo)"></co-icon>
38227
+ </div>
38228
+ </div>
38142
38229
  </div>
38143
- </div>
38144
- </div>
38145
- </ng-template>
38230
+ </ng-template>
38146
38231
 
38147
- <ng-template #footerTemplate>
38148
- <div class="co-dialog-footer-button-wrapper">
38149
- <co-button class="save-button"
38150
- (click)="handleCommitClick()"
38151
- [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"></co-button>
38152
- <co-button class="close-button"
38153
- (click)="closePopup()" [iconData]="iconCacheService.getIcon(icons.Crossskinny)"></co-button>
38154
- </div>
38155
- </ng-template>
38232
+ <ng-template #footerTemplate>
38233
+ <div class="co-dialog-footer-button-wrapper">
38234
+ <co-button class="save-button"
38235
+ (click)="handleCommitClick()"
38236
+ [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"></co-button>
38237
+ <co-button class="close-button"
38238
+ (click)="closePopup()" [iconData]="iconCacheService.getIcon(icons.Crossskinny)"></co-button>
38239
+ </div>
38240
+ </ng-template>
38156
38241
 
38157
38242
  `,
38158
38243
  encapsulation: ViewEncapsulation.None
@@ -38168,7 +38253,7 @@ DeliveryPlanningOverviewTileSettingsPopupComponent.propDecorators = {
38168
38253
  closeEvent: [{ type: Output }],
38169
38254
  onSaveAction: [{ type: Output }],
38170
38255
  availabilityChecked: [{ type: Output }],
38171
- showClass: [{ type: HostBinding, args: ["class.co-delivery-planning-overview-tile-settings-popup",] }]
38256
+ showClass: [{ type: HostBinding, args: ['class.co-delivery-planning-overview-tile-settings-popup',] }]
38172
38257
  };
38173
38258
 
38174
38259
  class DeliveryPlanningOverviewModule {
@@ -41170,9 +41255,10 @@ TransactionSearchTileModule.decorators = [
41170
41255
  ];
41171
41256
 
41172
41257
  class TransactionSearchResultComponent {
41173
- constructor(searchService, screenConfigService, _deliveryPlanningService, transactionService) {
41258
+ constructor(searchService, screenConfigService, _changeDetectorRef, _deliveryPlanningService, transactionService) {
41174
41259
  this.searchService = searchService;
41175
41260
  this.screenConfigService = screenConfigService;
41261
+ this._changeDetectorRef = _changeDetectorRef;
41176
41262
  this._deliveryPlanningService = _deliveryPlanningService;
41177
41263
  this.transactionService = transactionService;
41178
41264
  this.extendedTransactionSearch = false;
@@ -41185,6 +41271,7 @@ class TransactionSearchResultComponent {
41185
41271
  this.showBatchOptions = false;
41186
41272
  this.showShippingMethodDialog = false;
41187
41273
  this.showBatchProcessDialog = false;
41274
+ this.checkedAvailibility = false;
41188
41275
  this.selectedTransactions = [];
41189
41276
  this.batchTransactionSendingRequest = new BatchTransactionSendingRequest();
41190
41277
  this.batchJobProgress = [];
@@ -41271,11 +41358,21 @@ class TransactionSearchResultComponent {
41271
41358
  dragStarted(ev, transaction) {
41272
41359
  this._deliveryPlanningService.dragging = true;
41273
41360
  this._deliveryPlanningService.currentTransId = transaction.transId;
41274
- ev.dataTransfer.setData("text", transaction.transId);
41361
+ if (!this.checkedAvailibility) {
41362
+ this._deliveryPlanningService.availabilityCheckEvent.emit(transaction.transId);
41363
+ this.checkedAvailibility = true;
41364
+ }
41365
+ ev.dataTransfer.setData('text', transaction.transId);
41275
41366
  }
41276
41367
  dragEnd(ev) {
41277
- ev.preventDefault();
41278
41368
  this._deliveryPlanningService.dragging = false;
41369
+ this._deliveryPlanningService.currentTransId = undefined;
41370
+ if (this.checkedAvailibility) {
41371
+ this.checkedAvailibility = false;
41372
+ this._deliveryPlanningService.availabilityResetEvent.emit();
41373
+ this._changeDetectorRef.markForCheck();
41374
+ this._changeDetectorRef.detectChanges();
41375
+ }
41279
41376
  }
41280
41377
  checkIfSelected() {
41281
41378
  return this.searchService.transactions.some(item => item.selected);
@@ -41328,91 +41425,92 @@ TransactionSearchResultComponent.decorators = [
41328
41425
  { type: Component, args: [{
41329
41426
  selector: 'co-transaction-search-result',
41330
41427
  template: `
41331
- <ng-container *ngIf="screenConfigLoaded">
41332
- <div class="actions-wrapper"
41333
- *ngIf="searchService.transactions?.length > 0 && salesOrdersPageActive && showBatchOptions">
41334
- <co-input-checkbox
41335
- [model]="checkIfAllSelected()"
41336
- [label]="'SELECT_ALL_ORDERS' | localize"
41337
- (modelChange)="onSelectAllOrders(checkIfAllSelected())">
41338
- </co-input-checkbox>
41339
- <co-quick-send-button
41340
- *ngIf="checkIfSelected()"
41341
- [showSendMethodDialogIcon]="false"
41342
- [showLoader]="showProcessOrdersLoader"
41343
- (sendIconClicked)="showShippingModal()">
41344
- </co-quick-send-button>
41345
- </div>
41346
-
41347
- <div class="transaction-search-result-content-tiles-wrapper" [ngClass]="fullscreen ? 'fullscreen' : 'sidebar'"
41348
- *ngIf="activeContentViewMode === contentViewModes.Tiles && !extendedTransactionSearch">
41349
- <div class="transaction-tile" *ngFor="let transaction of searchService.transactions">
41350
- <co-transaction-search-tile
41351
- [draggable]="draggableTransactions"
41352
- (dragstart)="dragStarted($event, transaction)"
41353
- (dragend)="dragEnd($event)"
41354
- [transaction]="transaction"
41355
- [showCheckbox]="salesOrdersPageActive && showBatchOptions"
41356
- [class]="transaction === selectedTransaction ? 'selected' : ''"
41357
- (transactionClick)="onTransactionClick($event)"
41358
- (selectedClick)="onSelectedClick($event)">
41359
- </co-transaction-search-tile>
41360
- </div>
41361
- </div>
41428
+ <ng-container *ngIf="screenConfigLoaded">
41429
+ <div class="actions-wrapper"
41430
+ *ngIf="searchService.transactions?.length > 0 && salesOrdersPageActive && showBatchOptions">
41431
+ <co-input-checkbox
41432
+ [model]="checkIfAllSelected()"
41433
+ [label]="'SELECT_ALL_ORDERS' | localize"
41434
+ (modelChange)="onSelectAllOrders(checkIfAllSelected())">
41435
+ </co-input-checkbox>
41436
+ <co-quick-send-button
41437
+ *ngIf="checkIfSelected()"
41438
+ [showSendMethodDialogIcon]="false"
41439
+ [showLoader]="showProcessOrdersLoader"
41440
+ (sendIconClicked)="showShippingModal()">
41441
+ </co-quick-send-button>
41442
+ </div>
41362
41443
 
41363
- <div class="transaction-search-result-content-grid-wrapper"
41364
- *ngIf="activeContentViewMode === contentViewModes.Grid && !extendedTransactionSearch">
41365
- <co-transaction-search-grid
41366
- [showCheckbox]="salesOrdersPageActive && showBatchOptions"
41367
- (transactionClick)="onTransactionClick($event)">
41368
- </co-transaction-search-grid>
41369
- </div>
41444
+ <div class="transaction-search-result-content-tiles-wrapper" [ngClass]="fullscreen ? 'fullscreen' : 'sidebar'"
41445
+ *ngIf="activeContentViewMode === contentViewModes.Tiles && !extendedTransactionSearch">
41446
+ <div class="transaction-tile" *ngFor="let transaction of searchService.transactions">
41447
+ <co-transaction-search-tile
41448
+ [draggable]="draggableTransactions"
41449
+ (dragstart)="dragStarted($event, transaction)"
41450
+ (dragend)="dragEnd($event)"
41451
+
41452
+ [transaction]="transaction"
41453
+ [showCheckbox]="salesOrdersPageActive && showBatchOptions"
41454
+ [class]="transaction === selectedTransaction ? 'selected' : ''"
41455
+ (transactionClick)="onTransactionClick($event)"
41456
+ (selectedClick)="onSelectedClick($event)">
41457
+ </co-transaction-search-tile>
41458
+ </div>
41459
+ </div>
41370
41460
 
41371
- <div class="transaction-extended-search-result-tile-wrapper" *ngIf="extendedTransactionSearch">
41372
- <div class="transaction-tile" *ngFor="let transaction of searchService.transactions">
41373
- <co-transaction-search-sales-line-select-tile
41374
- [transaction]="transaction"
41375
- (transactionClick)="onTransactionClick($event)"
41376
- (selectedClick)="onSelectedClick($event)"
41377
- [extendedTransactionSearch]="extendedTransactionSearch">
41378
- </co-transaction-search-sales-line-select-tile>
41379
- </div>
41380
- </div>
41461
+ <div class="transaction-search-result-content-grid-wrapper"
41462
+ *ngIf="activeContentViewMode === contentViewModes.Grid && !extendedTransactionSearch">
41463
+ <co-transaction-search-grid
41464
+ [showCheckbox]="salesOrdersPageActive && showBatchOptions"
41465
+ (transactionClick)="onTransactionClick($event)">
41466
+ </co-transaction-search-grid>
41467
+ </div>
41381
41468
 
41382
- <co-pagination-bar
41383
- *ngIf="searchService.transactions?.length > 0"
41384
- [currentPage]="searchService.currentPage"
41385
- [itemsPerPage]="searchService.transactionsPerPage"
41386
- [totalItems]="searchService.resultCount"
41387
- [previousLabel]="'PREVIOUS' | localize"
41388
- [nextLabel]="'NEXT' | localize"
41389
- [autoHide]="true"
41390
- [directionLinks]="fullscreen"
41391
- [paginationRange]="!fullscreen ? 6 : 8"
41392
- (previousClick)="onPreviousClick()"
41393
- (nextClick)="onNextClick()"
41394
- (pageClick)="onPageClick($event)">
41395
- </co-pagination-bar>
41396
-
41397
- <div class="empty-state-wrapper" *ngIf="searchService.transactions && searchService.resultCount === 0">
41398
- <span [textContent]="'0_RESULTS_FOUND' | localize"></span>
41399
- </div>
41400
- </ng-container>
41469
+ <div class="transaction-extended-search-result-tile-wrapper" *ngIf="extendedTransactionSearch">
41470
+ <div class="transaction-tile" *ngFor="let transaction of searchService.transactions">
41471
+ <co-transaction-search-sales-line-select-tile
41472
+ [transaction]="transaction"
41473
+ (transactionClick)="onTransactionClick($event)"
41474
+ (selectedClick)="onSelectedClick($event)"
41475
+ [extendedTransactionSearch]="extendedTransactionSearch">
41476
+ </co-transaction-search-sales-line-select-tile>
41477
+ </div>
41478
+ </div>
41479
+
41480
+ <co-pagination-bar
41481
+ *ngIf="searchService.transactions?.length > 0"
41482
+ [currentPage]="searchService.currentPage"
41483
+ [itemsPerPage]="searchService.transactionsPerPage"
41484
+ [totalItems]="searchService.resultCount"
41485
+ [previousLabel]="'PREVIOUS' | localize"
41486
+ [nextLabel]="'NEXT' | localize"
41487
+ [autoHide]="true"
41488
+ [directionLinks]="fullscreen"
41489
+ [paginationRange]="!fullscreen ? 6 : 8"
41490
+ (previousClick)="onPreviousClick()"
41491
+ (nextClick)="onNextClick()"
41492
+ (pageClick)="onPageClick($event)">
41493
+ </co-pagination-bar>
41494
+
41495
+ <div class="empty-state-wrapper" *ngIf="searchService.transactions && searchService.resultCount === 0">
41496
+ <span [textContent]="'0_RESULTS_FOUND' | localize"></span>
41497
+ </div>
41498
+ </ng-container>
41401
41499
 
41402
- <co-shipping-method-dialog
41403
- *ngIf="showShippingMethodDialog"
41404
- [category]="batchCategory"
41405
- [selectedTransactions]="selectedTransactions"
41406
- (cancelClicked)="showShippingMethodDialog = false"
41407
- (saveClicked)="shippingDialogSaveClicked($event)">
41408
- </co-shipping-method-dialog>
41409
-
41410
- <co-batch-process-dialog
41411
- *ngIf="showBatchProcessDialog"
41412
- @fadeInOut
41413
- [batchJobProgress]="batchJobProgress"
41414
- (close)="showBatchProcessDialog = false">
41415
- </co-batch-process-dialog>
41500
+ <co-shipping-method-dialog
41501
+ *ngIf="showShippingMethodDialog"
41502
+ [category]="batchCategory"
41503
+ [selectedTransactions]="selectedTransactions"
41504
+ (cancelClicked)="showShippingMethodDialog = false"
41505
+ (saveClicked)="shippingDialogSaveClicked($event)">
41506
+ </co-shipping-method-dialog>
41507
+
41508
+ <co-batch-process-dialog
41509
+ *ngIf="showBatchProcessDialog"
41510
+ @fadeInOut
41511
+ [batchJobProgress]="batchJobProgress"
41512
+ (close)="showBatchProcessDialog = false">
41513
+ </co-batch-process-dialog>
41416
41514
  `,
41417
41515
  animations: [
41418
41516
  trigger('fadeInOut', [
@@ -41434,6 +41532,7 @@ TransactionSearchResultComponent.decorators = [
41434
41532
  TransactionSearchResultComponent.ctorParameters = () => [
41435
41533
  { type: TransactionSearchService },
41436
41534
  { type: TransactionScreenConfigurationService },
41535
+ { type: ChangeDetectorRef },
41437
41536
  { type: DeliveryPlanningService },
41438
41537
  { type: TransactionService }
41439
41538
  ];
@@ -41445,7 +41544,7 @@ TransactionSearchResultComponent.propDecorators = {
41445
41544
  activeContentViewMode: [{ type: Input }],
41446
41545
  fullscreen: [{ type: Input }],
41447
41546
  transactionClick: [{ type: Output }],
41448
- showClass: [{ type: HostBinding, args: ["class.co-transaction-search-result",] }]
41547
+ showClass: [{ type: HostBinding, args: ['class.co-transaction-search-result',] }]
41449
41548
  };
41450
41549
 
41451
41550
  class TransactionSearchSalesQuotationGridModule {
@@ -59758,11 +59857,16 @@ TransactionCreateDateLabelModule.decorators = [
59758
59857
  class PosOrderData {
59759
59858
  }
59760
59859
 
59761
- class TransactionCashRegisterDialogComponent extends TransactionHeaderBaseComponent {
59762
- constructor() {
59763
- // @Output()
59764
- // public paymentDetailsSelected: EventEmitter<PaymentTransactionViewModel> = new EventEmitter<PaymentTransactionViewModel>();
59765
- super(...arguments);
59860
+ class TransactionCashRegisterDialogComponent {
59861
+ constructor(transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector) {
59862
+ this.transactionEventService = transactionEventService;
59863
+ this.iconCacheService = iconCacheService;
59864
+ this.screenConfigService = screenConfigService;
59865
+ this.imageService = imageService;
59866
+ this.dictionaryService = dictionaryService;
59867
+ this.transactionService = transactionService;
59868
+ this.changeDetector = changeDetector;
59869
+ this.icons = Icon;
59766
59870
  this.saveButtonClicked = new EventEmitter();
59767
59871
  this.closeClicked = new EventEmitter();
59768
59872
  this.cashRegisters = [];
@@ -59776,7 +59880,6 @@ class TransactionCashRegisterDialogComponent extends TransactionHeaderBaseCompon
59776
59880
  return true;
59777
59881
  }
59778
59882
  ngOnInit() {
59779
- super.ngOnInit();
59780
59883
  this._prepareCashRegister();
59781
59884
  }
59782
59885
  cashRegisterSelected(cashRegister) {
@@ -59838,12 +59941,12 @@ class TransactionCashRegisterDialogComponent extends TransactionHeaderBaseCompon
59838
59941
  }
59839
59942
  _getPrinterLayouts() {
59840
59943
  return __awaiter(this, void 0, void 0, function* () {
59841
- this.printerLayouts = yield this.transactionService.getPosReceiptPrintLayouts(this.transactionInfo.uuid);
59944
+ this.printerLayouts = yield this.transactionService.getPosReceiptPrintLayouts(undefined);
59842
59945
  });
59843
59946
  }
59844
59947
  _getEmailLayouts() {
59845
59948
  return __awaiter(this, void 0, void 0, function* () {
59846
- this.emailLayouts = yield this.transactionService.getPosReceiptEmailLayouts(this.transactionInfo.uuid);
59949
+ this.emailLayouts = yield this.transactionService.getPosReceiptEmailLayouts(undefined);
59847
59950
  });
59848
59951
  }
59849
59952
  _checkDefaultParameters(cashRegister) {
@@ -59885,7 +59988,7 @@ TransactionCashRegisterDialogComponent.decorators = [
59885
59988
  { type: Component, args: [{
59886
59989
  selector: "co-transaction-cash-register-dialog",
59887
59990
  template: `
59888
- <co-dialog [showCloseIcon]="true" [footerTemplate]="footerTemplate" [headerTemplate]="headerTemplate" *ngIf="dialogVisible" (closeClick)="closeClicked.emit($event)">
59991
+ <co-dialog [showCloseIcon]="true" [footerTemplate]="footerTemplate" [headerTemplate]="headerTemplate" *ngIf="dialogVisible" (closeClick)="closeClicked.emit()">
59889
59992
  <div class="dialog-content-wrapper">
59890
59993
  <div class="cash-registers">
59891
59994
  <co-payment-tile *ngFor="let cashRegister of cashRegisters"
@@ -59902,7 +60005,6 @@ TransactionCashRegisterDialogComponent.decorators = [
59902
60005
  [collection]="cashDrawers"
59903
60006
  [multiselect]="false"
59904
60007
  [required]="false"
59905
- [readonly]="transactionHeaderService.readonly"
59906
60008
  [searchDisabled]="true"
59907
60009
  (modelChange)="handleDrawerChanged($event)"
59908
60010
  ></co-list-of-values>
@@ -59913,7 +60015,6 @@ TransactionCashRegisterDialogComponent.decorators = [
59913
60015
  [collection]="printerList"
59914
60016
  [multiselect]="false"
59915
60017
  [required]="false"
59916
- [readonly]="transactionHeaderService.readonly"
59917
60018
  [searchDisabled]="true"
59918
60019
  (modelChange)="handlePrinterChanged($event)"
59919
60020
  ></co-list-of-values>
@@ -59924,7 +60025,6 @@ TransactionCashRegisterDialogComponent.decorators = [
59924
60025
  [collection]="printerLayouts"
59925
60026
  [multiselect]="false"
59926
60027
  [required]="false"
59927
- [readonly]="transactionHeaderService.readonly"
59928
60028
  [searchDisabled]="true"
59929
60029
  ></co-list-of-values>
59930
60030
 
@@ -59934,7 +60034,6 @@ TransactionCashRegisterDialogComponent.decorators = [
59934
60034
  [collection]="emailLayouts"
59935
60035
  [multiselect]="false"
59936
60036
  [required]="false"
59937
- [readonly]="transactionHeaderService.readonly"
59938
60037
  [searchDisabled]="true"
59939
60038
  ></co-list-of-values>
59940
60039
  </div>
@@ -59962,6 +60061,15 @@ TransactionCashRegisterDialogComponent.decorators = [
59962
60061
  encapsulation: ViewEncapsulation.None
59963
60062
  },] }
59964
60063
  ];
60064
+ TransactionCashRegisterDialogComponent.ctorParameters = () => [
60065
+ { type: TransactionEventService },
60066
+ { type: IconCacheService },
60067
+ { type: TransactionScreenConfigurationService },
60068
+ { type: TransactionImageService },
60069
+ { type: DictionaryService },
60070
+ { type: TransactionService },
60071
+ { type: ChangeDetectorRef }
60072
+ ];
59965
60073
  TransactionCashRegisterDialogComponent.propDecorators = {
59966
60074
  saveButtonClicked: [{ type: Output }],
59967
60075
  closeClicked: [{ type: Output }],