@colijnit/transaction 256.1.8 → 256.1.9

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 (83) hide show
  1. package/bundles/colijnit-transaction.umd.js +312 -181
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.metadata.json +1 -1
  4. package/esm2015/lib/cache/service/transaction-business-object-cache-manager.service.js +1 -1
  5. package/esm2015/lib/cache/service/transaction-select-multiple-parameterized-cache.service.js +1 -1
  6. package/esm2015/lib/cache/service/transaction-select-single-parameterized-cache.service.js +1 -1
  7. package/esm2015/lib/component/core/base/dialog-transaction-base.component.js +2 -1
  8. package/esm2015/lib/component/core/base/transaction-base.component.js +30 -1
  9. package/esm2015/lib/component/core/base/transaction-search-tile-base.component.js +23 -4
  10. package/esm2015/lib/component/quick-send-button/quick-send-button.component.js +3 -2
  11. package/esm2015/lib/component/search/search-filter-panel/search-filter-panel.component.js +10 -4
  12. package/esm2015/lib/component/search/search-header-buttons/search-header-buttons.component.js +13 -4
  13. package/esm2015/lib/component/search/search-view-mode.service.js +1 -9
  14. package/esm2015/lib/component/search/search.component.js +28 -11
  15. package/esm2015/lib/component/transaction/transaction.component.js +1 -1
  16. package/esm2015/lib/component/transaction-button/transaction-button.component.js +8 -5
  17. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-allocation-button-bar-button.component.js +3 -2
  18. package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +6 -3
  19. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method-button/transaction-header-delivery-method-button.component.js +5 -3
  20. package/esm2015/lib/component/transaction-header-fields/transaction-header-deliverydate-definitive-button/transaction-header-deliverydate-definitive-button.component.js +4 -2
  21. package/esm2015/lib/component/transaction-header-fields/transaction-header-remaining-amount.component.js +2 -2
  22. package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +15 -26
  23. package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +1 -1
  24. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.component.js +11 -10
  25. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +4 -3
  26. package/esm2015/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.js +100 -101
  27. package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line-base.component.js +13 -5
  28. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line-base.component.js +4 -1
  29. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.js +2 -2
  30. package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +8 -5
  31. package/esm2015/lib/component/transaction-line-fields/transaction-line-confirmed-delivery-date-button.component.js +5 -2
  32. package/esm2015/lib/component/transaction-line-fields/transaction-line-description.component.js +5 -3
  33. package/esm2015/lib/component/transaction-line-fields/transaction-line-drop-shipment-button.component.js +3 -14
  34. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.component.js +4 -5
  35. package/esm2015/lib/component/transaction-line-side-panel-default/transaction-line-side-panel-default.component.js +2 -1
  36. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.js +7 -3
  37. package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +3 -1
  38. package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.js +7 -3
  39. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-pos-order-tile/transaction-search-pos-order-tile.component.js +72 -70
  40. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-line-select-tile/transaction-search-sales-line-select-tile.component.js +20 -17
  41. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.js +80 -70
  42. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-quotation-tile/transaction-search-sales-quotation-tile.component.js +7 -5
  43. package/esm2015/lib/component/transaction-search/transaction-search.component.js +2 -1
  44. package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.component.js +95 -80
  45. package/esm2015/lib/component/transaction-tags/transaction-tags.component.js +11 -5
  46. package/esm2015/lib/component/transaction-totals/transaction-totals.component.js +7 -3
  47. package/esm2015/lib/service/article.service.js +1 -1
  48. package/esm2015/lib/service/purchase-confirmation.service.js +4 -2
  49. package/esm2015/lib/service/transaction-connector-adapter.service.js +4 -1
  50. package/esm2015/lib/service/transaction-connector.service.js +45 -35
  51. package/esm2015/lib/service/transaction-relation.service.js +5 -4
  52. package/esm2015/lib/service/transaction.service.js +3 -3
  53. package/esm2015/lib/transaction-version.js +3 -3
  54. package/fesm2015/colijnit-transaction.js +592 -451
  55. package/fesm2015/colijnit-transaction.js.map +1 -1
  56. package/lib/cache/service/transaction-business-object-cache-manager.service.d.ts +12 -14
  57. package/lib/cache/service/transaction-select-multiple-parameterized-cache.service.d.ts +2 -2
  58. package/lib/cache/service/transaction-select-single-parameterized-cache.service.d.ts +1 -2
  59. package/lib/component/core/base/transaction-search-tile-base.component.d.ts +10 -4
  60. package/lib/component/search/search-filter-panel/search-filter-panel.component.d.ts +4 -0
  61. package/lib/component/search/search-header-buttons/search-header-buttons.component.d.ts +3 -1
  62. package/lib/component/search/search-view-mode.service.d.ts +0 -1
  63. package/lib/component/search/search.component.d.ts +7 -3
  64. package/lib/component/transaction/transaction.component.d.ts +2 -1
  65. package/lib/component/transaction-button/transaction-button.component.d.ts +3 -1
  66. package/lib/component/transaction-internal/transaction-internal.component.d.ts +3 -2
  67. package/lib/component/transaction-line/transaction-planning-line/style/_layout.scss +0 -2
  68. package/lib/component/transaction-line/transaction-planning-line/style/_theme.scss +1 -3
  69. package/lib/component/transaction-line/transaction-planning-line/style/material.scss +1 -0
  70. package/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.d.ts +2 -3
  71. package/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line-base.component.d.ts +2 -0
  72. package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts +4 -3
  73. package/lib/component/transaction-line-fields/transaction-line-confirmed-delivery-date-button.component.d.ts +1 -0
  74. package/lib/component/transaction-line-fields/transaction-line-description.component.d.ts +1 -0
  75. package/lib/component/transaction-search/transaction-filter/transaction-filter/transaction-filter.component.d.ts +3 -2
  76. package/lib/component/transaction-search/transaction-search-tile/transaction-search-pos-order-tile/transaction-search-pos-order-tile.component.d.ts +3 -1
  77. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-line-select-tile/transaction-search-sales-line-select-tile.component.d.ts +5 -4
  78. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.d.ts +6 -2
  79. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-quotation-tile/transaction-search-sales-quotation-tile.component.d.ts +3 -1
  80. package/lib/component/transaction-service-overview/transaction-service-overview.component.d.ts +19 -19
  81. package/lib/component/transaction-tags/transaction-tags.component.d.ts +3 -2
  82. package/lib/component/transaction-totals/transaction-totals.component.d.ts +3 -2
  83. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { __awaiter } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { Injectable, Component, ViewEncapsulation, Input, HostBinding, EventEmitter, ChangeDetectorRef, Output, Injector, ComponentFactoryResolver, ApplicationRef, Directive, ViewChild, ViewChildren, ElementRef, forwardRef, Pipe, NgModule, ContentChildren, HostListener, ChangeDetectionStrategy, Renderer2, Inject, LOCALE_ID } from '@angular/core';
3
+ import { Injectable, Component, ViewEncapsulation, Input, HostBinding, EventEmitter, ChangeDetectorRef, Output, Injector, ComponentFactoryResolver, ApplicationRef, Directive, ViewChild, ViewChildren, ElementRef, forwardRef, Pipe, NgModule, ContentChildren, ChangeDetectionStrategy, HostListener, Renderer2, ViewContainerRef, Inject, LOCALE_ID } from '@angular/core';
4
4
  import { SequenceName } from '@colijnit/transactionapi/build/enum/sequence-name.enum';
5
5
  import { BehaviorSubject, Subject, throwError } from 'rxjs';
6
6
  import { PendingReasonType } from '@colijnit/transactionapi/build/enum/pending-reason-type.enum';
@@ -278,8 +278,8 @@ class Version {
278
278
  constructor() {
279
279
  this.name = "@colijnit/transaction";
280
280
  this.description = "Colijn IT transaction package";
281
- this.symVer = "256.1.8";
282
- this.publishDate = "1-11-2024 08:49:24";
281
+ this.symVer = "256.1.9";
282
+ this.publishDate = "6-11-2024 14:22:44";
283
283
  }
284
284
  }
285
285
 
@@ -2178,6 +2178,9 @@ class TransactionConnectorAdapterService {
2178
2178
  return __awaiter(this, void 0, void 0, function* () {
2179
2179
  const result = yield this.connector.getSingleImage(nodeId, publication, includeMimetype, thumb);
2180
2180
  if (result.validationResult && result.validationResult.success) {
2181
+ if (result.resultObject && result.resultObject.fileType === 'UNITYWEB') {
2182
+ return "";
2183
+ }
2181
2184
  if (result.resultObject && result.resultObject.filePath !== null && result.resultObject.filePath !== undefined && result.resultObject.filePath !== "") {
2182
2185
  return ImageUtils.getFixedImageFilepathUrl(result.resultObject.filePath);
2183
2186
  }
@@ -6672,58 +6675,53 @@ class TransactionConnectorService {
6672
6675
  }
6673
6676
  getCommissionCodes(languageCode) {
6674
6677
  return __awaiter(this, void 0, void 0, function* () {
6675
- //const domainName: DomainName = DomainName.CommissionCode;
6676
- //return this._selectMultipleParameterizedCacheService.requestCache<CoDomainValue>(CoDomainValue, (languageCode: string, domainName: DomainName) => {
6677
- return this._adapterService.getCommissionCodes(languageCode);
6678
- //}).getValue(languageCode, domainName);
6678
+ return this._selectMultipleParameterizedCacheService.requestCache(DomainName.CommissionCode, (languageCode, domainName) => {
6679
+ return this._adapterService.getCommissionCodes(languageCode);
6680
+ }).getValue(languageCode, DomainName.CommissionCode);
6679
6681
  });
6680
6682
  }
6681
6683
  getInOutCollection(languageCode) {
6682
6684
  return __awaiter(this, void 0, void 0, function* () {
6683
- //const domainName: DomainName = DomainName.InOutCollection;
6684
- //return this._selectMultipleParameterizedCacheService.requestCache<CoDomainValue>(CoDomainValue, (languageCode: string, domainName: DomainName) => {
6685
- return this._adapterService.getInOutCollection(languageCode);
6686
- //}).getValue(languageCode, domainName);
6685
+ return this._selectMultipleParameterizedCacheService.requestCache(DomainName.InOutCollection, (languageCode, domainName) => {
6686
+ return this._adapterService.getInOutCollection(languageCode);
6687
+ }).getValue(languageCode, DomainName.InOutCollection);
6687
6688
  });
6688
6689
  }
6689
6690
  getYesNoCollection(languageCode) {
6690
6691
  return __awaiter(this, void 0, void 0, function* () {
6691
- //const domainName: DomainName = DomainName.YesNo;
6692
- //return this._selectMultipleParameterizedCacheService.requestCache<CoDomainValue>(CoDomainValue, (languageCode: string, domainName: DomainName) => {
6693
- return this._adapterService.getYesNoCollection(languageCode);
6694
- //}).getValue(languageCode, domainName);
6692
+ return this._selectMultipleParameterizedCacheService.requestCache(DomainName.YesNo, (languageCode, domainName) => {
6693
+ return this._adapterService.getYesNoCollection(languageCode);
6694
+ }).getValue(languageCode, DomainName.YesNo);
6695
6695
  });
6696
6696
  }
6697
6697
  getPriceKindCollection(languageCode) {
6698
6698
  return __awaiter(this, void 0, void 0, function* () {
6699
- //const domainName: DomainName = DomainName.PriceKind;
6700
- //return this._selectMultipleParameterizedCacheService.requestCache<CoDomainValue>(CoDomainValue, (languageCode: string, domainName: DomainName) => {
6701
- return this._adapterService.getPriceKindCollection(languageCode);
6702
- //}).getValue(languageCode, domainName);
6699
+ return this._selectMultipleParameterizedCacheService.requestCache(DomainName.PriceKind, (languageCode, domainName) => {
6700
+ return this._adapterService.getPriceKindCollection(languageCode);
6701
+ }).getValue(languageCode, DomainName.PriceKind);
6703
6702
  });
6704
6703
  }
6705
6704
  getPriorityCollection(languageCode) {
6706
6705
  return __awaiter(this, void 0, void 0, function* () {
6707
- // const domainName: DomainName = DomainName.Priority;
6708
- //return this._selectMultipleParameterizedCacheService.requestCache<CoDomainValue>(CoDomainValue, (languageCode: string, domainName: DomainName) => {
6709
- return this._adapterService.getPriorityCollection(languageCode);
6710
- // }).getValue(languageCode, domainName);
6706
+ return this._selectMultipleParameterizedCacheService.requestCache(DomainName.Priority, (languageCode, domainName) => {
6707
+ return this._adapterService.getPriorityCollection(languageCode);
6708
+ }).getValue(languageCode, DomainName.Priority);
6711
6709
  });
6712
6710
  }
6713
6711
  getEntryTypes(languageCode) {
6714
- // const domainName: DomainName = DomainName.ServiceCommunicationType;
6715
- //return this._selectMultipleParameterizedCacheService.requestCache<CoDomainValue>(CoDomainValue, (languageCode: string, domainName: DomainName) => {
6716
- return this._adapterService.getEntryTypes(languageCode);
6717
- //}).getValue(languageCode, domainName);
6712
+ return this._selectMultipleParameterizedCacheService.requestCache(DomainName.ServiceCommunicationType, (languageCode, domainName) => {
6713
+ return this._adapterService.getEntryTypes(languageCode);
6714
+ }).getValue(languageCode, DomainName.ServiceCommunicationType);
6718
6715
  }
6719
6716
  getDomainTypes(languageCode) {
6720
- // const domainName: DomainName = DomainName.TransType;
6721
- // return this._selectMultipleParameterizedCacheService.requestCache<CoDomainValue>(CoDomainValue, (languageCode: string, domainName: DomainName) => {
6722
- return this._adapterService.getDomainTypes(languageCode);
6723
- //}).getValue(languageCode, domainName);
6717
+ return this._selectMultipleParameterizedCacheService.requestCache(DomainName.TransType, (languageCode, domainName) => {
6718
+ return this._adapterService.getDomainTypes(languageCode);
6719
+ }).getValue(languageCode, DomainName.TransType);
6724
6720
  }
6725
6721
  getCauseCodes() {
6726
- return this._adapterService.getCauseCodes();
6722
+ return this._selectMultipleCacheService.requestCache(CauseCode, () => {
6723
+ return this._adapterService.getCauseCodes();
6724
+ }).getValue();
6727
6725
  }
6728
6726
  getTransactionArticleWarehouses(goodId) {
6729
6727
  return __awaiter(this, void 0, void 0, function* () {
@@ -7233,12 +7231,16 @@ class TransactionConnectorService {
7233
7231
  }
7234
7232
  getOrderConfirmationDefaultSendMethod(relationId) {
7235
7233
  return __awaiter(this, void 0, void 0, function* () {
7236
- return yield this._adapterService.getOrderConfirmationDefaultSendMethod(relationId);
7234
+ return this._selectSinlgeParameterizedCacheService.requestCache(Number, (relationId) => {
7235
+ return this._adapterService.getOrderConfirmationDefaultSendMethod(relationId);
7236
+ }).getValue(relationId);
7237
7237
  });
7238
7238
  }
7239
7239
  getDefaultEmailAddressListForOrderConfirmation(transactionUUID) {
7240
7240
  return __awaiter(this, void 0, void 0, function* () {
7241
- return yield this._adapterService.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);
7241
+ return this._selectMultipleParameterizedCacheService.requestCache(String, (transactionUUID) => {
7242
+ return this._adapterService.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);
7243
+ }).getValue(transactionUUID);
7242
7244
  });
7243
7245
  }
7244
7246
  printOrderConfirmation(request) {
@@ -7598,7 +7600,9 @@ class TransactionConnectorService {
7598
7600
  }
7599
7601
  getTransactionInfo(transId, lineNr) {
7600
7602
  return __awaiter(this, void 0, void 0, function* () {
7601
- return yield this._adapterService.getTransactionInfo(transId, lineNr);
7603
+ return this._selectMultipleParameterizedCacheService.requestCache(TransactionInfoHistory, ([transId, lineNr]) => {
7604
+ return this._adapterService.getTransactionInfo(transId, lineNr);
7605
+ }).getValue([transId, lineNr]);
7602
7606
  });
7603
7607
  }
7604
7608
  getRefTransactions(transId) {
@@ -7627,12 +7631,16 @@ class TransactionConnectorService {
7627
7631
  }
7628
7632
  getReportHeadersByTransIdAndLayoutCode(transId, documentCode) {
7629
7633
  return __awaiter(this, void 0, void 0, function* () {
7630
- return yield this._adapterService.getReportHeadersByTransIdAndLayoutCode(transId, documentCode);
7634
+ return this._selectMultipleParameterizedCacheService.requestCache(HistoricReport, (transId, documentCode) => {
7635
+ return this._adapterService.getReportHeadersByTransIdAndLayoutCode(transId, documentCode);
7636
+ }).getValue(transId, documentCode);
7631
7637
  });
7632
7638
  }
7633
7639
  getPackageStickerPrintLayouts() {
7634
7640
  return __awaiter(this, void 0, void 0, function* () {
7635
- return yield this._adapterService.getPackageStickerPrintLayouts();
7641
+ return this._selectMultipleCacheService.requestCache(ReportLayoutSelectionPrint, () => {
7642
+ return this._adapterService.getPackageStickerPrintLayouts();
7643
+ }).getValue();
7636
7644
  });
7637
7645
  }
7638
7646
  copySalesOrder(copyTransactionRequest) {
@@ -8258,6 +8266,7 @@ class TransactionBaseComponent {
8258
8266
  set cfgName(value) {
8259
8267
  this._cfgName = value;
8260
8268
  this.configSet();
8269
+ this.detectChanges();
8261
8270
  }
8262
8271
  get cfgName() {
8263
8272
  return this._cfgName;
@@ -8269,11 +8278,13 @@ class TransactionBaseComponent {
8269
8278
  this.headerReadonly = false;
8270
8279
  this.tooltipMessage = undefined;
8271
8280
  }
8281
+ this.detectChanges();
8272
8282
  }
8273
8283
  get forceWritable() {
8274
8284
  return this._forceWritable;
8275
8285
  }
8276
8286
  set transaction(value) {
8287
+ const shouldDetectChanges = this._transaction !== value;
8277
8288
  this._transaction = value;
8278
8289
  if (this._transaction) {
8279
8290
  if (this._transaction.transactionInfo) {
@@ -8309,11 +8320,15 @@ class TransactionBaseComponent {
8309
8320
  this.transactionLines.filter(l => l.articleLineStatus ? l.articleLineStatus.quantityToInvoice !== 0 : false).length > 0 :
8310
8321
  this.transactionLines.filter(l => l.articleLineStatus ? l.articleLineStatus.quantityToInvoice === 0 : false).length === 0;
8311
8322
  }
8323
+ if (shouldDetectChanges) {
8324
+ this.detectChanges();
8325
+ }
8312
8326
  }
8313
8327
  get transaction() {
8314
8328
  return this._transaction;
8315
8329
  }
8316
8330
  set transactionLine(value) {
8331
+ const shouldDetectChanges = this._transactionLine !== value;
8317
8332
  if (value) {
8318
8333
  this._transactionLine = value;
8319
8334
  if (this._transactionLine.salesUnitDecimals) {
@@ -8351,6 +8366,9 @@ class TransactionBaseComponent {
8351
8366
  this.lineQuantityTransportNotification = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityTransportNotification') ? this._transactionLine.articleLineStatus.quantityTransportNotification : 0;
8352
8367
  this.lineQuantityInvoiceControl = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityInvoiceControl') ? this._transactionLine.articleLineStatus.quantityInvoiceControl : 0;
8353
8368
  this.transactionLineSet();
8369
+ if (shouldDetectChanges) {
8370
+ this.detectChanges();
8371
+ }
8354
8372
  }
8355
8373
  }
8356
8374
  get transactionLine() {
@@ -8365,6 +8383,7 @@ class TransactionBaseComponent {
8365
8383
  // return this._transactionMarginInfo;
8366
8384
  // }
8367
8385
  set transactionInfo(value) {
8386
+ const shouldDetectChanges = this._transactionInfo !== value;
8368
8387
  if (value) {
8369
8388
  this.headerReadonly = false;
8370
8389
  this.tooltipMessage = "";
@@ -8385,13 +8404,20 @@ class TransactionBaseComponent {
8385
8404
  this.orderLineSets = this._transactionInfo.orderLineSets;
8386
8405
  }
8387
8406
  this.transactionInfoSet();
8407
+ if (shouldDetectChanges) {
8408
+ this.detectChanges();
8409
+ }
8388
8410
  }
8389
8411
  }
8390
8412
  get transactionInfo() {
8391
8413
  return this._transactionInfo;
8392
8414
  }
8393
8415
  set orderLineSets(value) {
8416
+ const shouldDetectChanges = this._orderLineSets !== value;
8394
8417
  this._orderLineSets = value;
8418
+ if (shouldDetectChanges) {
8419
+ this.detectChanges();
8420
+ }
8395
8421
  }
8396
8422
  get orderLineSets() {
8397
8423
  return this._orderLineSets;
@@ -8405,20 +8431,28 @@ class TransactionBaseComponent {
8405
8431
  return this._transactionServiceInfo ? this._transactionServiceInfo : new TransactionServiceInfo();
8406
8432
  }*/
8407
8433
  set transactionTotal(value) {
8434
+ const shouldDetectChanges = this._transactionTotal !== value;
8408
8435
  if (value) {
8409
8436
  this._transactionTotal = value;
8410
8437
  this.transactionTotalSet();
8438
+ if (shouldDetectChanges) {
8439
+ this.detectChanges();
8440
+ }
8411
8441
  }
8412
8442
  }
8413
8443
  get transactionTotal() {
8414
8444
  return this._transactionTotal;
8415
8445
  }
8416
8446
  set relation(value) {
8447
+ const shouldDetectChanges = this._relation !== value;
8417
8448
  if (value) {
8418
8449
  this._relation = value;
8419
8450
  this.relationKind = this._relation.relationType;
8420
8451
  this.relationType = this._relation.type;
8421
8452
  this.relationSet();
8453
+ if (shouldDetectChanges) {
8454
+ this.detectChanges();
8455
+ }
8422
8456
  }
8423
8457
  }
8424
8458
  get relation() {
@@ -8429,6 +8463,7 @@ class TransactionBaseComponent {
8429
8463
  if (this.transactionLine) {
8430
8464
  this.transactionLine.selected = this._selected;
8431
8465
  }
8466
+ this.detectChanges();
8432
8467
  }
8433
8468
  get selected() {
8434
8469
  return this._selected;
@@ -8437,6 +8472,7 @@ class TransactionBaseComponent {
8437
8472
  return this._transactionLine.hasOwnProperty('lineNr') ? this._transactionLine : this._transactionInfo;
8438
8473
  }
8439
8474
  ngOnInit() {
8475
+ this.changeDetector.markForCheck();
8440
8476
  this._baseSubs.push(this.transactionEventService.transactionLineVisibilityChange.subscribe((data) => {
8441
8477
  if (data && this.transactionLine && data.line.lineNr === this.transactionLine.lineNr) {
8442
8478
  this.visibilitySet(data.visible);
@@ -8469,6 +8505,7 @@ class TransactionBaseComponent {
8469
8505
  }
8470
8506
  visibilitySet(visible) {
8471
8507
  this.visible = visible;
8508
+ this.detectChanges();
8472
8509
  }
8473
8510
  configSet() {
8474
8511
  }
@@ -8609,6 +8646,7 @@ class DialogTransactionBaseComponent extends TransactionBaseComponent {
8609
8646
  }
8610
8647
  this.close.emit();
8611
8648
  this.onClose(type);
8649
+ this.detectChanges();
8612
8650
  }
8613
8651
  }
8614
8652
  DialogTransactionBaseComponent.decorators = [
@@ -9314,9 +9352,9 @@ class TransactionRelationService {
9314
9352
  // }).getValue();
9315
9353
  }
9316
9354
  getSupplierLightById(supplierId) {
9317
- // return this._selectSingleCacheService.requestCache<SupplierFullObject>(SupplierFullObject, relationNo, () => {
9318
- return this._adapterService.getSupplierLightById(supplierId);
9319
- // }).getValue();
9355
+ return this._selectSingleCacheService.requestCache(SupplierLightObject, supplierId, () => {
9356
+ return this._adapterService.getSupplierLightById(supplierId);
9357
+ }).getValue();
9320
9358
  }
9321
9359
  insertAddress(address) {
9322
9360
  return this._adapterService.insertAddress(address);
@@ -10303,12 +10341,12 @@ class TransactionService extends PendingReasonService {
10303
10341
  }
10304
10342
  prepareJsPickingListInternalParam() {
10305
10343
  return __awaiter(this, void 0, void 0, function* () {
10306
- this.internalParameterJsPickingList = yield this.getInternalParameter(InternalParam.PickingList);
10344
+ this.getInternalParameter(InternalParam.PickingList).then((value) => this.internalParameterJsPickingList = value);
10307
10345
  });
10308
10346
  }
10309
10347
  prepareManualSaveInternalParam() {
10310
10348
  return __awaiter(this, void 0, void 0, function* () {
10311
- this.manualSaveParam = yield this.getInternalParameter(InternalParam.TransManualSave);
10349
+ this.getInternalParameter(InternalParam.TransManualSave).then((value) => this.manualSaveParam = value);
10312
10350
  });
10313
10351
  }
10314
10352
  prepareDropShipmentInternalParam() {
@@ -15433,6 +15471,9 @@ class TransactionTotalsComponent extends TransactionBaseComponent {
15433
15471
  }
15434
15472
  });
15435
15473
  }
15474
+ transactionTotalSet() {
15475
+ this.detectChanges();
15476
+ }
15436
15477
  }
15437
15478
  TransactionTotalsComponent.decorators = [
15438
15479
  { type: Component, args: [{
@@ -15471,6 +15512,7 @@ TransactionTotalsComponent.decorators = [
15471
15512
  (close)="showDiscountDialog = false">
15472
15513
  </co-dialog-transaction-header-discount>
15473
15514
  `,
15515
+ changeDetection: ChangeDetectionStrategy.OnPush,
15474
15516
  encapsulation: ViewEncapsulation.None
15475
15517
  },] }
15476
15518
  ];
@@ -15832,8 +15874,9 @@ TransactionHeaderDiscountTransactionTotalModule.decorators = [
15832
15874
  ];
15833
15875
 
15834
15876
  class TransactionButtonComponent {
15835
- constructor(_screenConfigService) {
15877
+ constructor(_screenConfigService, _changeDetector) {
15836
15878
  this._screenConfigService = _screenConfigService;
15879
+ this._changeDetector = _changeDetector;
15837
15880
  this.statusColor = false;
15838
15881
  this.readonly = false;
15839
15882
  this.hidden = false;
@@ -15878,11 +15921,13 @@ TransactionButtonComponent.decorators = [
15878
15921
  provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,
15879
15922
  useExisting: forwardRef(() => TransactionButtonComponent)
15880
15923
  }],
15881
- encapsulation: ViewEncapsulation.None
15924
+ encapsulation: ViewEncapsulation.None,
15925
+ changeDetection: ChangeDetectionStrategy.Default
15882
15926
  },] }
15883
15927
  ];
15884
15928
  TransactionButtonComponent.ctorParameters = () => [
15885
- { type: TransactionScreenConfigurationService }
15929
+ { type: TransactionScreenConfigurationService },
15930
+ { type: ChangeDetectorRef }
15886
15931
  ];
15887
15932
  TransactionButtonComponent.propDecorators = {
15888
15933
  label: [{ type: Input }],
@@ -15964,6 +16009,7 @@ class TransactionLineDescriptionComponent extends TransactionInputFieldBaseCompo
15964
16009
  super(...arguments);
15965
16010
  this.icons = Icon;
15966
16011
  this.showPurchaseDesc = false;
16012
+ this.customHeight = true;
15967
16013
  }
15968
16014
  set child(content) {
15969
16015
  if (content) {
@@ -16065,7 +16111,7 @@ TransactionLineDescriptionComponent.decorators = [
16065
16111
  [readonly]="readonly"
16066
16112
  [model]="getDescription()"
16067
16113
  (blur)="editMode = false"
16068
- class="custom-height"
16114
+ [class.custom-height]="customHeight"
16069
16115
  ></co-input-text>
16070
16116
  `,
16071
16117
  providers: [{
@@ -16079,7 +16125,8 @@ TransactionLineDescriptionComponent.decorators = [
16079
16125
  TransactionLineDescriptionComponent.propDecorators = {
16080
16126
  child: [{ type: ViewChild, args: ['input', { read: InputTextComponent },] }],
16081
16127
  showPurchaseDesc: [{ type: Input }],
16082
- configNames: [{ type: Input }]
16128
+ configNames: [{ type: Input }],
16129
+ customHeight: [{ type: Input }]
16083
16130
  };
16084
16131
 
16085
16132
  class TransactionLineDescriptionModule {
@@ -16658,7 +16705,9 @@ class TransactionSearchService {
16658
16705
  set transactionType(value) {
16659
16706
  if (this._transactionType !== value) {
16660
16707
  this._resetRequest();
16708
+ this.searchRequest.transactionKind = value;
16661
16709
  this.transactions.length = 0;
16710
+ this.searchRequestSet.next(this.searchRequest);
16662
16711
  }
16663
16712
  this._transactionType = value;
16664
16713
  }
@@ -17078,13 +17127,28 @@ TransactionSearchSalesOrderGridComponent.propDecorators = {
17078
17127
  };
17079
17128
 
17080
17129
  class TransactionSearchTileBaseComponent {
17081
- constructor(iconCacheService) {
17130
+ constructor(iconCacheService, changeDetection) {
17082
17131
  this.iconCacheService = iconCacheService;
17132
+ this.changeDetection = changeDetection;
17083
17133
  this.cfgNames = TransactionCfgName;
17084
17134
  this.icons = Icon;
17085
17135
  this.transactionClick = new EventEmitter();
17086
17136
  this.selectedClick = new EventEmitter();
17087
17137
  }
17138
+ set showCheckbox(value) {
17139
+ this._showCheckbox = value;
17140
+ this.detectChanges();
17141
+ }
17142
+ get showCheckbox() {
17143
+ return this._showCheckbox;
17144
+ }
17145
+ set transaction(value) {
17146
+ this._transaction = value;
17147
+ this.detectChanges();
17148
+ }
17149
+ get transaction() {
17150
+ return this._transaction;
17151
+ }
17088
17152
  showClass() {
17089
17153
  return true;
17090
17154
  }
@@ -17094,12 +17158,16 @@ class TransactionSearchTileBaseComponent {
17094
17158
  onSelectedClick(transaction) {
17095
17159
  this.selectedClick.emit(transaction);
17096
17160
  }
17161
+ detectChanges() {
17162
+ this.changeDetection.detectChanges();
17163
+ }
17097
17164
  }
17098
17165
  TransactionSearchTileBaseComponent.decorators = [
17099
17166
  { type: Directive }
17100
17167
  ];
17101
17168
  TransactionSearchTileBaseComponent.ctorParameters = () => [
17102
- { type: IconCacheService }
17169
+ { type: IconCacheService },
17170
+ { type: ChangeDetectorRef }
17103
17171
  ];
17104
17172
  TransactionSearchTileBaseComponent.propDecorators = {
17105
17173
  showCheckbox: [{ type: Input }],
@@ -17188,9 +17256,10 @@ TransactionSearchPurchaseOrderTileComponent.decorators = [
17188
17256
  ];
17189
17257
 
17190
17258
  class TransactionSearchSalesOrderTileComponent extends TransactionSearchTileBaseComponent {
17191
- constructor(iconCacheService) {
17192
- super(iconCacheService);
17259
+ constructor(iconCacheService, changeDetector) {
17260
+ super(iconCacheService, changeDetector);
17193
17261
  this.iconCacheService = iconCacheService;
17262
+ this.changeDetector = changeDetector;
17194
17263
  this.statusBarConfigNames = {
17195
17264
  statusBarBT: this.cfgNames.StatusBarBT,
17196
17265
  statusBarTG: this.cfgNames.StatusBarTG,
@@ -17202,86 +17271,95 @@ class TransactionSearchSalesOrderTileComponent extends TransactionSearchTileBase
17202
17271
  statusBarGL: this.cfgNames.StatusBarGL,
17203
17272
  statusBarGF: this.cfgNames.StatusBarGF
17204
17273
  };
17205
- this.showAvatar = true;
17274
+ this._showAvatar = true;
17275
+ }
17276
+ set showAvatar(value) {
17277
+ this._showAvatar = value;
17278
+ this.detectChanges();
17279
+ }
17280
+ get showAvatar() {
17281
+ return this._showAvatar;
17206
17282
  }
17207
17283
  }
17208
17284
  TransactionSearchSalesOrderTileComponent.decorators = [
17209
17285
  { type: Component, args: [{
17210
17286
  selector: "co-transaction-search-sales-order-tile",
17211
17287
  template: `
17212
- <div class="transaction-tile-wrapper" (click)="onTransactionClick(transaction)">
17213
- <div class="tile">
17214
- <div class="tile-header">
17215
- <div class="tile-upper-left" *ngIf="showAvatar">
17216
- <div class="transaction-tile-avatar">
17217
- <co-avatar [image]="transaction.execImage" [relationId]="transaction.handledBy"></co-avatar>
17218
- </div>
17219
- </div>
17220
- <div class="tile-upper-middle">
17221
- <div class="header">
17222
- <span [textContent]="transaction.transNr"></span>
17223
- <div class="type-indicator"><span [textContent]="transaction.transactionKind"></span></div>
17224
- </div>
17225
- <div class="text"><span [textContent]="transaction.brancheName"></span></div>
17226
- </div>
17227
- <div class="tile-upper-right">
17228
- <div class="status-bar-wrapper" (click)="$event.stopPropagation()">
17229
- <co-transaction-statusbar
17230
- [screenConfigurationObject]="cfgNames.StatusBar"
17231
- [configNames]="statusBarConfigNames"
17232
- [transaction]="transaction"></co-transaction-statusbar>
17233
- </div>
17234
- <div class="header total-price-vat"><span
17235
- [textContent]="transaction.totalPriceWithVat | currency:'EUR'"></span></div>
17236
- </div>
17237
- </div>
17238
- <div class="tile-body">
17239
- <div class="tile-middle-left">
17240
- <co-input-checkbox
17241
- *ngIf="showCheckbox"
17242
- [(model)]="transaction.selected"
17243
- (modelChange)="onSelectedClick(transaction)"
17244
- ></co-input-checkbox>
17245
- </div>
17246
- <div class="tile-middle-middle">
17247
- <div class="text"><span [textContent]="transaction.relationName"></span></div>
17248
- <div class="text"><span [textContent]="transaction.getAdres()"></span></div>
17249
- </div>
17250
- <div class="tile-middle-right"></div>
17251
- </div>
17252
- <div class="tile-footer">
17253
- <div class="tile-bottom-left order-info-section">
17254
- <div class="label"><span [textContent]="'ORDER_DATE' | localize"></span></div>
17255
- <div class="value">
17256
- <span [textContent]="transaction.getTransDate() | date:'dd MMM yyyy'"></span></div>
17257
- </div>
17258
- <div class="tile-bottom-middle order-info-section">
17259
- <div class="label"><span [textContent]="'DELIVERY_DATE' | localize"></span></div>
17260
- <div class="value">
17261
- <span [textContent]="transaction.getDeliveryDate() | date:'dd MMM yyyy'"></span>
17262
- <div *ngIf="transaction.getDeliveryDate()">
17263
- <co-icon *ngIf="transaction.deliveryDateDefinitive; else indefinite"
17264
- [iconData]="iconCacheService.getIcon(icons.Lock)" class="lock-icon"></co-icon>
17265
- <ng-template #indefinite>
17266
- <co-icon [iconData]="iconCacheService.getIcon(icons.Unlock)" class="unlock-icon"></co-icon>
17267
- </ng-template>
17288
+ <div class="transaction-tile-wrapper" (click)="onTransactionClick(transaction)">
17289
+ <div class="tile">
17290
+ <div class="tile-header">
17291
+ <div class="tile-upper-left" *ngIf="showAvatar">
17292
+ <div class="transaction-tile-avatar">
17293
+ <co-avatar [image]="transaction.execImage" [relationId]="transaction.handledBy"></co-avatar>
17294
+ </div>
17295
+ </div>
17296
+ <div class="tile-upper-middle">
17297
+ <div class="header">
17298
+ <span [textContent]="transaction.transNr"></span>
17299
+ <div class="type-indicator"><span [textContent]="transaction.transactionKind"></span></div>
17300
+ </div>
17301
+ <div class="text"><span [textContent]="transaction.brancheName"></span></div>
17302
+ </div>
17303
+ <div class="tile-upper-right">
17304
+ <div class="status-bar-wrapper" (click)="$event.stopPropagation()">
17305
+ <co-transaction-statusbar
17306
+ [screenConfigurationObject]="cfgNames.StatusBar"
17307
+ [configNames]="statusBarConfigNames"
17308
+ [transaction]="transaction"></co-transaction-statusbar>
17309
+ </div>
17310
+ <div class="header total-price-vat"><span
17311
+ [textContent]="transaction.totalPriceWithVat | currency:'EUR'"></span></div>
17312
+ </div>
17313
+ </div>
17314
+ <div class="tile-body">
17315
+ <div class="tile-middle-left">
17316
+ <co-input-checkbox
17317
+ *ngIf="showCheckbox"
17318
+ [(model)]="transaction.selected"
17319
+ (modelChange)="onSelectedClick(transaction)"
17320
+ ></co-input-checkbox>
17321
+ </div>
17322
+ <div class="tile-middle-middle">
17323
+ <div class="text"><span [textContent]="transaction.relationName"></span></div>
17324
+ <div class="text"><span [textContent]="transaction.getAdres()"></span></div>
17325
+ </div>
17326
+ <div class="tile-middle-right"></div>
17327
+ </div>
17328
+ <div class="tile-footer">
17329
+ <div class="tile-bottom-left order-info-section">
17330
+ <div class="label"><span [textContent]="'ORDER_DATE' | localize"></span></div>
17331
+ <div class="value">
17332
+ <span [textContent]="transaction.getTransDate() | date:'dd MMM yyyy'"></span></div>
17333
+ </div>
17334
+ <div class="tile-bottom-middle order-info-section">
17335
+ <div class="label"><span [textContent]="'DELIVERY_DATE' | localize"></span></div>
17336
+ <div class="value">
17337
+ <span [textContent]="transaction.getDeliveryDate() | date:'dd MMM yyyy'"></span>
17338
+ <div *ngIf="transaction.getDeliveryDate()">
17339
+ <co-icon *ngIf="transaction.deliveryDateDefinitive; else indefinite"
17340
+ [iconData]="iconCacheService.getIcon(icons.Lock)" class="lock-icon"></co-icon>
17341
+ <ng-template #indefinite>
17342
+ <co-icon [iconData]="iconCacheService.getIcon(icons.Unlock)" class="unlock-icon"></co-icon>
17343
+ </ng-template>
17344
+ </div>
17345
+ </div>
17346
+ </div>
17347
+ <div class="tile-bottom-right order-info-section">
17348
+ <div class="label"><span [textContent]="'ORDER_RULE' | localize"></span></div>
17349
+ <div class="value">
17350
+ <span [textContent]="'68/00'"></span></div>
17351
+ </div>
17268
17352
  </div>
17269
- </div>
17270
- </div>
17271
- <div class="tile-bottom-right order-info-section">
17272
- <div class="label"><span [textContent]="'ORDER_RULE' | localize"></span></div>
17273
- <div class="value">
17274
- <span [textContent]="'68/00'"></span></div>
17275
17353
  </div>
17276
- </div>
17277
17354
  </div>
17278
- </div>
17279
17355
  `,
17356
+ changeDetection: ChangeDetectionStrategy.OnPush,
17280
17357
  encapsulation: ViewEncapsulation.None
17281
17358
  },] }
17282
17359
  ];
17283
17360
  TransactionSearchSalesOrderTileComponent.ctorParameters = () => [
17284
- { type: IconCacheService }
17361
+ { type: IconCacheService },
17362
+ { type: ChangeDetectorRef }
17285
17363
  ];
17286
17364
  TransactionSearchSalesOrderTileComponent.propDecorators = {
17287
17365
  showAvatar: [{ type: Input }]
@@ -17384,7 +17462,9 @@ class PurchaseConfirmationService {
17384
17462
  const result = yield this._transactionConnectorService.getAnalyzedOrderConfirmations();
17385
17463
  if (result) {
17386
17464
  this.analyzedConfirmation = result.find(a => a.analysisId === this.confirmationAnalysisId);
17387
- this.setOrdersTotal(this.analyzedConfirmation.ordersTotal);
17465
+ if (this.analyzedConfirmation) {
17466
+ this.setOrdersTotal(this.analyzedConfirmation.ordersTotal);
17467
+ }
17388
17468
  }
17389
17469
  }
17390
17470
  });
@@ -17695,8 +17775,12 @@ class TransactionQuickAccessSendMethodBaseComponent extends TransactionBaseCompo
17695
17775
  if (this.printLayouts && this.printLayouts.length > 0) {
17696
17776
  const defaultLayout = this.printLayouts.find(p => p.isDefault);
17697
17777
  if (defaultLayout) {
17698
- this.reportDocumentPrintRequest.reportId = defaultLayout.reportId;
17699
- this.reportDocumentPdfRequest.reportId = defaultLayout.reportId;
17778
+ if (this.reportDocumentPrintRequest) {
17779
+ this.reportDocumentPrintRequest.reportId = defaultLayout.reportId;
17780
+ }
17781
+ if (this.reportDocumentPdfRequest) {
17782
+ this.reportDocumentPdfRequest.reportId = defaultLayout.reportId;
17783
+ }
17700
17784
  }
17701
17785
  }
17702
17786
  });
@@ -18398,12 +18482,13 @@ TransactionLineActionButtonsPopupComponent.propDecorators = {
18398
18482
  };
18399
18483
 
18400
18484
  class TransactionLineActionButtonsComponent {
18401
- constructor(elementRef, iconCacheService, _transactionService, _transactionEventService, _overlayService) {
18485
+ constructor(elementRef, iconCacheService, _transactionService, _transactionEventService, _overlayService, _changeDetector) {
18402
18486
  this.elementRef = elementRef;
18403
18487
  this.iconCacheService = iconCacheService;
18404
18488
  this._transactionService = _transactionService;
18405
18489
  this._transactionEventService = _transactionEventService;
18406
18490
  this._overlayService = _overlayService;
18491
+ this._changeDetector = _changeDetector;
18407
18492
  this.icons = Icon;
18408
18493
  this.isFirst = false;
18409
18494
  this.waitingForUserAction = new EventEmitter();
@@ -18515,7 +18600,8 @@ TransactionLineActionButtonsComponent.decorators = [
18515
18600
  providers: [
18516
18601
  OverlayService
18517
18602
  ],
18518
- encapsulation: ViewEncapsulation.None
18603
+ encapsulation: ViewEncapsulation.None,
18604
+ changeDetection: ChangeDetectionStrategy.OnPush
18519
18605
  },] }
18520
18606
  ];
18521
18607
  TransactionLineActionButtonsComponent.ctorParameters = () => [
@@ -18523,7 +18609,8 @@ TransactionLineActionButtonsComponent.ctorParameters = () => [
18523
18609
  { type: IconCacheService },
18524
18610
  { type: TransactionService },
18525
18611
  { type: TransactionEventService },
18526
- { type: OverlayService }
18612
+ { type: OverlayService },
18613
+ { type: ChangeDetectorRef }
18527
18614
  ];
18528
18615
  TransactionLineActionButtonsComponent.propDecorators = {
18529
18616
  configNames: [{ type: Input }],
@@ -18695,7 +18782,8 @@ TransactionOverviewLineComponent.decorators = [
18695
18782
  </ng-container>
18696
18783
  </co-transaction-base-line>
18697
18784
  `,
18698
- encapsulation: ViewEncapsulation.None
18785
+ encapsulation: ViewEncapsulation.None,
18786
+ changeDetection: ChangeDetectionStrategy.OnPush
18699
18787
  },] }
18700
18788
  ];
18701
18789
  TransactionOverviewLineComponent.ctorParameters = () => [
@@ -19126,6 +19214,9 @@ class TransactionReceiveGoodsLineBaseComponent extends TransactionBaseComponent
19126
19214
  this._subscriptions.forEach(s => s.unsubscribe());
19127
19215
  }
19128
19216
  changeLineAmount(amount) {
19217
+ if (this.transactionLine.articleLineStatus) {
19218
+ this.transactionLine.articleLineStatus.quantityToReceive = amount;
19219
+ }
19129
19220
  this.transactionLine.stickerAmount = amount * (this.transactionLine.productItemsAmount ? this.transactionLine.productItemsAmount : 1);
19130
19221
  }
19131
19222
  handleLineClicked(mouseClick) {
@@ -19239,7 +19330,7 @@ TransactionReceiveGoodsLineComponent.decorators = [
19239
19330
  <div class="transaction-line-totals-amount">
19240
19331
  <co-input-number-picker class="amount-number-picker"
19241
19332
  [screenConfigurationObject]="cfgNames.LineQuantityToReceive"
19242
- [(model)]="transactionLine.articleLineStatus.quantityToReceive"
19333
+ [model]="transactionLine.articleLineStatus?.quantityToReceive"
19243
19334
  [decimals]="decimals"
19244
19335
  [min]="1"
19245
19336
  [max]="transactionLine.amount - lineQuantityReceived"
@@ -20332,6 +20423,7 @@ class TransactionPurchaseOrderLineBaseComponent extends TransactionBaseComponent
20332
20423
  this.subs = [];
20333
20424
  }
20334
20425
  ngOnInit() {
20426
+ super.ngOnInit();
20335
20427
  this.subs.push(this.transactionEventService.orderConfirmationDropped.subscribe((data) => {
20336
20428
  if (data) {
20337
20429
  if (data.lineNr !== undefined && this.transactionLine && this.transactionLine.lineNr === data.lineNr) {
@@ -20349,7 +20441,6 @@ class TransactionPurchaseOrderLineBaseComponent extends TransactionBaseComponent
20349
20441
  }), this.transactionEventService.overwritePurchaseOrderConfirmationCompletedChanged.subscribe(() => {
20350
20442
  this._handleConfirmationOverwrite();
20351
20443
  }));
20352
- this._getPurchasePortalLine();
20353
20444
  }
20354
20445
  ngOnDestroy() {
20355
20446
  this.subs.forEach(s => s.unsubscribe());
@@ -20386,11 +20477,19 @@ class TransactionPurchaseOrderLineBaseComponent extends TransactionBaseComponent
20386
20477
  }
20387
20478
  transactionLineSet() {
20388
20479
  super.transactionLineSet();
20480
+ this._getPurchasePortalLine();
20389
20481
  this.showCheckboxForLine = this.transactionLine.articleLineStatus &&
20390
20482
  this.transactionLine.articleLineStatus.quantityPurchaseConfirmed !== this.transactionLine.amount;
20391
20483
  }
20484
+ visibilitySet(visible) {
20485
+ super.visibilitySet(visible);
20486
+ this._getPurchasePortalLine();
20487
+ }
20392
20488
  _getPurchasePortalLine() {
20393
20489
  return __awaiter(this, void 0, void 0, function* () {
20490
+ if (this._purchasePortalLinesResponse || !this.transactionInfo || !this.transactionLine || !this.visible) {
20491
+ return;
20492
+ }
20394
20493
  const getPurchasePortalLine = new GetPurchasePortalLine();
20395
20494
  const purchasePortalFilter = new PurchasePortalFilters();
20396
20495
  purchasePortalFilter.purchaseOrderNo = this.transactionInfo.transactionNr.toString();
@@ -20398,9 +20497,9 @@ class TransactionPurchaseOrderLineBaseComponent extends TransactionBaseComponent
20398
20497
  getPurchasePortalLine.transIdPurchase = this.transactionInfo.id;
20399
20498
  getPurchasePortalLine.docKind = "IB";
20400
20499
  getPurchasePortalLine.filterObject = purchasePortalFilter;
20401
- const purchasePortalLinesResponse = yield this.transactionService.getPurchasePortalLines(getPurchasePortalLine);
20402
- if (purchasePortalLinesResponse.length > 0) {
20403
- this.transactionLine.purchasePortalLine = purchasePortalLinesResponse[0];
20500
+ this._purchasePortalLinesResponse = yield this.transactionService.getPurchasePortalLines(getPurchasePortalLine);
20501
+ if (this._purchasePortalLinesResponse.length > 0) {
20502
+ this.transactionLine.purchasePortalLine = this._purchasePortalLinesResponse[0];
20404
20503
  this.transactionLine.quantityPurchaseToConfirm = +this.transactionLine.purchasePortalLine.amountOrdered - +this.transactionLine.purchasePortalLine.amountConfirmedTarget;
20405
20504
  this.transactionEventService.transactionLineChanged.next(this.transactionLine);
20406
20505
  this.detectChanges();
@@ -20777,6 +20876,7 @@ TransactionSalesAllocationButtonBarButtonComponent.decorators = [
20777
20876
  <co-icon class="co-transaction-button-bar-icon" [iconData]="iconCacheService.getIcon(iconName)"></co-icon>
20778
20877
  <span class="button-title" [textContent]="title | localize"></span>
20779
20878
  `,
20879
+ changeDetection: ChangeDetectionStrategy.OnPush,
20780
20880
  encapsulation: ViewEncapsulation.None
20781
20881
  },] }
20782
20882
  ];
@@ -22942,9 +23042,10 @@ TransactionSearchSalesQuotationGridComponent.propDecorators = {
22942
23042
  };
22943
23043
 
22944
23044
  class TransactionSearchSalesQuotationTileComponent extends TransactionSearchTileBaseComponent {
22945
- constructor(iconCacheService) {
22946
- super(iconCacheService);
23045
+ constructor(iconCacheService, changeDetector) {
23046
+ super(iconCacheService, changeDetector);
22947
23047
  this.iconCacheService = iconCacheService;
23048
+ this.changeDetector = changeDetector;
22948
23049
  }
22949
23050
  showClass() {
22950
23051
  return true;
@@ -23010,7 +23111,8 @@ TransactionSearchSalesQuotationTileComponent.decorators = [
23010
23111
  },] }
23011
23112
  ];
23012
23113
  TransactionSearchSalesQuotationTileComponent.ctorParameters = () => [
23013
- { type: IconCacheService }
23114
+ { type: IconCacheService },
23115
+ { type: ChangeDetectorRef }
23014
23116
  ];
23015
23117
  TransactionSearchSalesQuotationTileComponent.propDecorators = {
23016
23118
  showClass: [{ type: HostBinding, args: ["class.co-transaction-search-sales-quotation-tile",] }]
@@ -23371,9 +23473,10 @@ TransactionServiceServiceButtonBarButtonComponent.propDecorators = {
23371
23473
  };
23372
23474
 
23373
23475
  class TransactionSearchPosOrderTileComponent extends TransactionSearchTileBaseComponent {
23374
- constructor(iconCacheService) {
23375
- super(iconCacheService);
23476
+ constructor(iconCacheService, changeDetector) {
23477
+ super(iconCacheService, changeDetector);
23376
23478
  this.iconCacheService = iconCacheService;
23479
+ this.changeDetector = changeDetector;
23377
23480
  this.statusBarConfigNames = {
23378
23481
  statusBarBT: this.cfgNames.StatusBarBT,
23379
23482
  statusBarTG: this.cfgNames.StatusBarTG,
@@ -23391,76 +23494,77 @@ TransactionSearchPosOrderTileComponent.decorators = [
23391
23494
  { type: Component, args: [{
23392
23495
  selector: 'co-transaction-search-pos-order-tile',
23393
23496
  template: `
23394
- <div class="transaction-tile-wrapper" (click)="onTransactionClick(transaction)">
23395
- <div class="tile">
23396
- <div class="tile-header">
23397
- <div class="tile-upper-left">
23398
- <div class="transaction-tile-avatar">
23399
- <co-avatar [image]="transaction.execImage" [relationId]="transaction.handledBy"></co-avatar>
23400
- </div>
23401
- </div>
23402
- <div class="tile-upper-middle">
23403
- <div class="header">
23404
- <span [textContent]="transaction.transNr"></span>
23405
- <div class="type-indicator"><span [textContent]="transaction.transactionKind"></span></div>
23406
- </div>
23407
- <div class="text"><span [textContent]="transaction.brancheName"></span></div>
23408
- </div>
23409
- <div class="tile-upper-right">
23410
- <div class="status-bar-wrapper" (click)="$event.stopPropagation()">
23411
- <co-transaction-statusbar
23412
- [screenConfigurationObject]="cfgNames.StatusBar"
23413
- [configNames]="statusBarConfigNames"
23414
- [transaction]="transaction"></co-transaction-statusbar>
23415
- </div>
23416
- <div class="header total-price-vat"><span [textContent]="transaction.totalPriceWithVat | currency:'EUR'"></span></div>
23417
- </div>
23418
- </div>
23419
- <div class="tile-body">
23420
- <div class="tile-middle-left">
23421
- <co-input-checkbox *ngIf="showCheckbox"
23422
- [(model)]="transaction.selected"
23423
- ></co-input-checkbox>
23424
- </div>
23425
- <div class="tile-middle-middle">
23426
- <div class="text"><span [textContent]="transaction.relationName"></span></div>
23427
- <div class="text"><span [textContent]="transaction.getAdres()"></span></div>
23428
- </div>
23429
- <div class="tile-middle-right"></div>
23430
- </div>
23431
- <div class="tile-footer">
23432
- <div class="tile-bottom-left order-info-section">
23433
- <div class="label"><span [textContent]="'ORDER_DATE' | localize"></span></div>
23434
- <div class="value">
23435
- <span [textContent]="transaction.getTransDate() | date:'dd MMM yyyy'"></span></div>
23436
- </div>
23437
- <div class="tile-bottom-middle order-info-section">
23438
- <div class="label"><span [textContent]="'DELIVERY_DATE' | localize"></span></div>
23439
- <div class="value">
23440
- <span [textContent]="transaction.getDeliveryDate() | date:'dd MMM yyyy'"></span>
23441
- <div *ngIf="transaction.getDeliveryDate()">
23442
- <co-icon *ngIf="transaction.deliveryDateDefinitive; else indefinite"
23443
- [iconData]="iconCacheService.getIcon(icons.Lock)" class="lock-icon"></co-icon>
23444
- <ng-template #indefinite>
23445
- <co-icon [iconData]="iconCacheService.getIcon(icons.Unlock)" class="unlock-icon"></co-icon>
23446
- </ng-template>
23447
- </div>
23448
- </div>
23449
- </div>
23450
- <div class="tile-bottom-right order-info-section">
23451
- <div class="label"><span [textContent]="'ORDER_RULE' | localize"></span></div>
23452
- <div class="value">
23453
- <span [textContent]="'68/00'"></span></div>
23454
- </div>
23455
- </div>
23456
- </div>
23457
- </div>
23458
- `,
23497
+ <div class="transaction-tile-wrapper" (click)="onTransactionClick(transaction)">
23498
+ <div class="tile">
23499
+ <div class="tile-header">
23500
+ <div class="tile-upper-left">
23501
+ <div class="transaction-tile-avatar">
23502
+ <co-avatar [image]="transaction.execImage" [relationId]="transaction.handledBy"></co-avatar>
23503
+ </div>
23504
+ </div>
23505
+ <div class="tile-upper-middle">
23506
+ <div class="header">
23507
+ <span [textContent]="transaction.transNr"></span>
23508
+ <div class="type-indicator"><span [textContent]="transaction.transactionKind"></span></div>
23509
+ </div>
23510
+ <div class="text"><span [textContent]="transaction.brancheName"></span></div>
23511
+ </div>
23512
+ <div class="tile-upper-right">
23513
+ <div class="status-bar-wrapper" (click)="$event.stopPropagation()">
23514
+ <co-transaction-statusbar
23515
+ [screenConfigurationObject]="cfgNames.StatusBar"
23516
+ [configNames]="statusBarConfigNames"
23517
+ [transaction]="transaction"></co-transaction-statusbar>
23518
+ </div>
23519
+ <div class="header total-price-vat"><span [textContent]="transaction.totalPriceWithVat | currency:'EUR'"></span></div>
23520
+ </div>
23521
+ </div>
23522
+ <div class="tile-body">
23523
+ <div class="tile-middle-left">
23524
+ <co-input-checkbox *ngIf="showCheckbox"
23525
+ [(model)]="transaction.selected"
23526
+ ></co-input-checkbox>
23527
+ </div>
23528
+ <div class="tile-middle-middle">
23529
+ <div class="text"><span [textContent]="transaction.relationName"></span></div>
23530
+ <div class="text"><span [textContent]="transaction.getAdres()"></span></div>
23531
+ </div>
23532
+ <div class="tile-middle-right"></div>
23533
+ </div>
23534
+ <div class="tile-footer">
23535
+ <div class="tile-bottom-left order-info-section">
23536
+ <div class="label"><span [textContent]="'ORDER_DATE' | localize"></span></div>
23537
+ <div class="value">
23538
+ <span [textContent]="transaction.getTransDate() | date:'dd MMM yyyy'"></span></div>
23539
+ </div>
23540
+ <div class="tile-bottom-middle order-info-section">
23541
+ <div class="label"><span [textContent]="'DELIVERY_DATE' | localize"></span></div>
23542
+ <div class="value">
23543
+ <span [textContent]="transaction.getDeliveryDate() | date:'dd MMM yyyy'"></span>
23544
+ <div *ngIf="transaction.getDeliveryDate()">
23545
+ <co-icon *ngIf="transaction.deliveryDateDefinitive; else indefinite"
23546
+ [iconData]="iconCacheService.getIcon(icons.Lock)" class="lock-icon"></co-icon>
23547
+ <ng-template #indefinite>
23548
+ <co-icon [iconData]="iconCacheService.getIcon(icons.Unlock)" class="unlock-icon"></co-icon>
23549
+ </ng-template>
23550
+ </div>
23551
+ </div>
23552
+ </div>
23553
+ <div class="tile-bottom-right order-info-section">
23554
+ <div class="label"><span [textContent]="'ORDER_RULE' | localize"></span></div>
23555
+ <div class="value">
23556
+ <span [textContent]="'68/00'"></span></div>
23557
+ </div>
23558
+ </div>
23559
+ </div>
23560
+ </div>
23561
+ `,
23459
23562
  encapsulation: ViewEncapsulation.None
23460
23563
  },] }
23461
23564
  ];
23462
23565
  TransactionSearchPosOrderTileComponent.ctorParameters = () => [
23463
- { type: IconCacheService }
23566
+ { type: IconCacheService },
23567
+ { type: ChangeDetectorRef }
23464
23568
  ];
23465
23569
  TransactionSearchPosOrderTileComponent.propDecorators = {
23466
23570
  showClass: [{ type: HostBinding, args: ['class.co-transaction-search-pos-order-tile',] }]
@@ -24149,6 +24253,7 @@ class TransactionPlanningLineComponent extends TransactionBaseComponent {
24149
24253
  super.ngOnInit();
24150
24254
  this._subscriptions.push(this.transactionEventService.selectAllSalesOrderLinesToBePicked.subscribe((value) => {
24151
24255
  this.transactionLine.selected = value && !this.transactionLineToBePickedCompleted;
24256
+ this.detectChanges();
24152
24257
  }));
24153
24258
  }
24154
24259
  ngOnDestroy() {
@@ -24163,6 +24268,7 @@ class TransactionPlanningLineComponent extends TransactionBaseComponent {
24163
24268
  this.hasOpenedSidePanel = true;
24164
24269
  }
24165
24270
  this.transactionLine.selected = value;
24271
+ this.detectChanges();
24166
24272
  }
24167
24273
  handleLineClicked(mouseClick) {
24168
24274
  var _a, _b;
@@ -24176,7 +24282,7 @@ class TransactionPlanningLineComponent extends TransactionBaseComponent {
24176
24282
  }
24177
24283
  dragStarted(ev) {
24178
24284
  this._deliveryPlanningService.currentTransId = this.transaction.transactionInfo.id;
24179
- ev.dataTransfer.setData("text", "lines");
24285
+ ev.dataTransfer.setData('text', 'lines');
24180
24286
  }
24181
24287
  get linePlanned() {
24182
24288
  var _a, _b;
@@ -24185,112 +24291,109 @@ class TransactionPlanningLineComponent extends TransactionBaseComponent {
24185
24291
  }
24186
24292
  return !((_b = (_a = this._deliveryPlanningService.linesPlanOrder) === null || _a === void 0 ? void 0 : _a.lines) === null || _b === void 0 ? void 0 : _b.find(line => line.originalLineNr === this.transactionLine.lineNr));
24187
24293
  }
24188
- allowPartialDelivery() {
24189
- var _a;
24190
- return (_a = this.transactionInfo) === null || _a === void 0 ? void 0 : _a.allowPartialDelivery;
24191
- }
24192
24294
  }
24193
24295
  TransactionPlanningLineComponent.decorators = [
24194
24296
  { type: Component, args: [{
24195
- selector: "co-planning-overview-line",
24297
+ selector: 'co-transaction-planning-line',
24196
24298
  template: `
24197
- <co-transaction-base-line
24198
- [transactionInfo]="transactionInfo"
24199
- [transactionLine]="transactionLine"
24200
- [preview]="preview"
24201
- [isFirst]="isFirst"
24202
- [draggable]="!linePlanned"
24203
- (dragstart)="dragStarted($event)"
24204
- [checkbox]="true"
24205
- [checkboxValue]="transactionLine.selected || !allowPartialDelivery()"
24206
- [checkboxReadonly]="!allowPartialDelivery()"
24207
- (checkboxValueChanged)="handleCheckBoxValueChanged($event, transactionLine)"
24208
- (click)="handleLineClicked($event)"
24209
- observeVisibility #observer=visibilityObserve
24210
- (visibilityChange)="handleVisibilityChange(transactionLine, $event)">
24211
- <ng-container *ngIf="transactionLine.isArticle">
24212
- <div class="transaction-line-wrapper">
24213
- <div *ngIf=!preview class="transaction-line-extended-wrapper">
24214
- <div class="column1">
24215
- <span class="transaction-field-label" [textContent]="'COMMISSION_CODE' | localize" *ngIf="isFirst"></span>
24216
- <co-transaction-line-commission-button
24217
- [screenConfigurationObject]="cfgNames.LineCommission"
24218
- [transactionLine]="transactionLine"
24219
- [transactionInfo]="transactionInfo"
24220
- ></co-transaction-line-commission-button>
24221
- </div>
24222
- <div class="column2">
24299
+ <co-transaction-base-line
24300
+ [transactionInfo]="transactionInfo"
24301
+ [transactionLine]="transactionLine"
24302
+ [preview]="preview"
24303
+ [isFirst]="isFirst"
24304
+ [draggable]="!linePlanned"
24305
+ (dragstart)="dragStarted($event)"
24306
+ [checkbox]="true"
24307
+ [checkboxValue]="transactionLine.selected || !transactionInfo?.allowPartialDelivery"
24308
+ [checkboxReadonly]="!transactionInfo?.allowPartialDelivery"
24309
+ (checkboxValueChanged)="handleCheckBoxValueChanged($event, transactionLine)"
24310
+ (click)="handleLineClicked($event)"
24311
+ observeVisibility #observer=visibilityObserve
24312
+ (visibilityChange)="handleVisibilityChange(transactionLine, $event)">
24313
+ <ng-container *ngIf="transactionLine.isArticle">
24314
+ <div class="transaction-line-wrapper">
24315
+ <div *ngIf=!preview class="transaction-line-extended-wrapper">
24316
+ <div class="column1">
24317
+ <span class="transaction-field-label" [textContent]="'COMMISSION_CODE' | localize" *ngIf="isFirst"></span>
24318
+ <co-transaction-line-commission-button
24319
+ [screenConfigurationObject]="cfgNames.LineCommission"
24320
+ [transactionLine]="transactionLine"
24321
+ [transactionInfo]="transactionInfo"
24322
+ ></co-transaction-line-commission-button>
24323
+ </div>
24324
+ <div class="column2">
24223
24325
  <span class="transaction-field-label" [textContent]="'WAREHOUSE_AND_STATUS' | localize"
24224
24326
  *ngIf="isFirst"></span>
24225
- <co-transaction-line-warehouse-button
24226
- [screenConfigurationObject]="cfgNames.LineWarehouse"
24227
- [transactionLine]="transactionLine"
24228
- [transactionInfo]="transactionInfo"
24229
- ></co-transaction-line-warehouse-button>
24230
- <co-transaction-line-statusbar
24231
- [screenConfigurationObject]="cfgNames.StatusBar"
24232
- [configNames]="statusBarConfigNames"
24233
- [transactionInfo]="transactionInfo"
24234
- [transactionLine]="transactionLine"
24235
- [activeCategory]="category.SalesOrderPlanning"></co-transaction-line-statusbar>
24236
- </div>
24237
- <div class="column3">
24327
+ <co-transaction-line-warehouse-button
24328
+ [screenConfigurationObject]="cfgNames.LineWarehouse"
24329
+ [transactionLine]="transactionLine"
24330
+ [transactionInfo]="transactionInfo"
24331
+ ></co-transaction-line-warehouse-button>
24332
+ <co-transaction-line-statusbar
24333
+ [screenConfigurationObject]="cfgNames.StatusBar"
24334
+ [configNames]="statusBarConfigNames"
24335
+ [transactionInfo]="transactionInfo"
24336
+ [transactionLine]="transactionLine"
24337
+ [activeCategory]="category.SalesOrderPlanning"></co-transaction-line-statusbar>
24338
+ </div>
24339
+ <div class="column3">
24238
24340
  <span class="transaction-field-label" [textContent]="'DELIVERY_INFORMATION' | localize"
24239
24341
  *ngIf="isFirst"></span>
24240
- <co-transaction-line-delivery-button
24241
- [screenConfigurationObject]="cfgNames.LineDeliveryMethod"
24242
- [transactionLine]="transactionLine"
24243
- [transactionInfo]="transactionInfo"
24244
- ></co-transaction-line-delivery-button>
24245
- <co-transaction-line-delivery-date-button class="transaction-line-delivery-date two-column"
24246
- [screenConfigurationObject]="cfgNames.LineDeliveryDate"
24247
- [transactionInfo]="transactionInfo"
24248
- [transactionLine]="transactionLine"
24249
- ></co-transaction-line-delivery-date-button>
24250
- </div>
24251
- </div>
24252
- <div class="transaction-line-section">
24342
+ <co-transaction-line-delivery-button
24343
+ [screenConfigurationObject]="cfgNames.LineDeliveryMethod"
24344
+ [transactionLine]="transactionLine"
24345
+ [transactionInfo]="transactionInfo"
24346
+ ></co-transaction-line-delivery-button>
24347
+ <co-transaction-line-delivery-date-button class="transaction-line-delivery-date two-column"
24348
+ [screenConfigurationObject]="cfgNames.LineDeliveryDate"
24349
+ [transactionInfo]="transactionInfo"
24350
+ [transactionLine]="transactionLine"
24351
+ ></co-transaction-line-delivery-date-button>
24352
+ </div>
24353
+ </div>
24354
+ <div class="transaction-line-section">
24253
24355
  <span class="transaction-field-label" [textContent]="'TOTALS_AND_DISCOUNT' | localize"
24254
24356
  *ngIf="isFirst"></span>
24255
- <co-transaction-line-vat-button *ngIf="!preview"
24256
- [screenConfigurationObject]="cfgNames.LineVat"
24257
- [transactionLine]="transactionLine"
24258
- [transactionInfo]="transactionInfo"
24259
- ></co-transaction-line-vat-button>
24260
- <div class="transaction-line-totals">
24261
- <co-transaction-line-price class="transaction-line-totals-price price"
24262
- [screenConfigurationObject]="cfgNames.LinePrice"
24263
- [transactionInfo]="transactionInfo"
24264
- [transactionLine]="transactionLine"
24265
- [showLabel]="false"
24266
- [defaultEditMode]="false"
24267
- ></co-transaction-line-price>
24268
- <co-transaction-line-discount-button *ngIf="!preview"
24269
- [screenConfigurationObject]="cfgNames.LineDiscount"
24270
- [configNames]="discountConfigNames"
24271
- [transactionLine]="transactionLine"
24272
- [transactionInfo]="transactionInfo"
24273
- ></co-transaction-line-discount-button>
24274
- <div class="transaction-line-totals-amount">
24275
- <co-transaction-line-amount class="amount-number-picker"
24276
- [screenConfigurationObject]="cfgNames.LineAmount"
24277
- [transactionLine]="transactionLine"
24278
- [transactionInfo]="transactionInfo"
24279
- ></co-transaction-line-amount>
24357
+ <co-transaction-line-vat-button *ngIf="!preview"
24358
+ [screenConfigurationObject]="cfgNames.LineVat"
24359
+ [transactionLine]="transactionLine"
24360
+ [transactionInfo]="transactionInfo"
24361
+ ></co-transaction-line-vat-button>
24362
+ <div class="transaction-line-totals">
24363
+ <co-transaction-line-price class="transaction-line-totals-price price"
24364
+ [screenConfigurationObject]="cfgNames.LinePrice"
24365
+ [transactionInfo]="transactionInfo"
24366
+ [transactionLine]="transactionLine"
24367
+ [showLabel]="false"
24368
+ [defaultEditMode]="false"
24369
+ ></co-transaction-line-price>
24370
+ <co-transaction-line-discount-button *ngIf="!preview"
24371
+ [screenConfigurationObject]="cfgNames.LineDiscount"
24372
+ [configNames]="discountConfigNames"
24373
+ [transactionLine]="transactionLine"
24374
+ [transactionInfo]="transactionInfo"
24375
+ ></co-transaction-line-discount-button>
24376
+ <div class="transaction-line-totals-amount">
24377
+ <co-transaction-line-amount class="amount-number-picker"
24378
+ [screenConfigurationObject]="cfgNames.LineAmount"
24379
+ [transactionLine]="transactionLine"
24380
+ [transactionInfo]="transactionInfo"
24381
+ ></co-transaction-line-amount>
24382
+ </div>
24383
+ <co-editable-label class="transaction-line-totals-total price"
24384
+ [screenConfigurationObject]="cfgNames.LineNetLineTotal"
24385
+ [model]="transactionLine.displayNetLineTotal | coCurrency: true"
24386
+ [editModel]="transactionLine.displayNetLineTotal"
24387
+ [commit]="!readonly"
24388
+ ></co-editable-label>
24389
+ </div>
24390
+ </div>
24280
24391
  </div>
24281
- <co-editable-label class="transaction-line-totals-total price"
24282
- [screenConfigurationObject]="cfgNames.LineNetLineTotal"
24283
- [model]="transactionLine.displayNetLineTotal | coCurrency: true"
24284
- [editModel]="transactionLine.displayNetLineTotal"
24285
- [commit]="!readonly"
24286
- ></co-editable-label>
24287
- </div>
24288
- </div>
24289
- </div>
24290
- </ng-container>
24291
- </co-transaction-base-line>
24392
+ </ng-container>
24393
+ </co-transaction-base-line>
24292
24394
  `,
24293
- encapsulation: ViewEncapsulation.None
24395
+ encapsulation: ViewEncapsulation.None,
24396
+ changeDetection: ChangeDetectionStrategy.OnPush
24294
24397
  },] }
24295
24398
  ];
24296
24399
  TransactionPlanningLineComponent.ctorParameters = () => [
@@ -24307,9 +24410,9 @@ TransactionPlanningLineComponent.ctorParameters = () => [
24307
24410
  TransactionPlanningLineComponent.propDecorators = {
24308
24411
  transactionLineActionButtons: [{ type: ViewChild, args: [TransactionLineActionButtonsComponent,] }],
24309
24412
  descriptionDblClick: [{ type: Output }],
24310
- showClass: [{ type: HostBinding, args: ["class.co-transaction-overview-line",] }],
24311
- handleMouseOver: [{ type: HostListener, args: ["mouseover", ["$event"],] }],
24312
- handleMouseLeave: [{ type: HostListener, args: ["mouseleave", ["$event"],] }]
24413
+ showClass: [{ type: HostBinding, args: ['class.co-transaction-planning-line',] }],
24414
+ handleMouseOver: [{ type: HostListener, args: ['mouseover', ['$event'],] }],
24415
+ handleMouseLeave: [{ type: HostListener, args: ['mouseleave', ['$event'],] }]
24313
24416
  };
24314
24417
 
24315
24418
  class TransactionQuickAccessPlanningComponent extends TransactionBaseComponent {
@@ -25683,14 +25786,15 @@ class TransactionLineComponent extends TransactionBaseComponent {
25683
25786
  if (!componentClass) {
25684
25787
  return;
25685
25788
  }
25686
- this._componentRef = this._compFactoryResolver
25687
- .resolveComponentFactory(componentClass)
25688
- .create(this.injector);
25689
- this.appRef.attachView(this._componentRef.hostView);
25789
+ const factory = this._compFactoryResolver.resolveComponentFactory(componentClass);
25790
+ this._transactionLineContainer.clear();
25791
+ this._componentRef = this._transactionLineContainer.createComponent(factory);
25690
25792
  this._prepareProps();
25691
- const domElem = this._componentRef.hostView
25692
- .rootNodes[0];
25693
- this._transactionLineContainer.nativeElement.appendChild(domElem);
25793
+ this.changeDetector.markForCheck();
25794
+ // const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>)
25795
+ // .rootNodes[0] as HTMLElement;
25796
+ //
25797
+ // this._transactionLineContainer.nativeElement.appendChild(domElem);
25694
25798
  this._componentRef.onDestroy(() => {
25695
25799
  this.appRef.detachView(this._componentRef.hostView);
25696
25800
  });
@@ -25734,7 +25838,7 @@ TransactionLineComponent.ctorParameters = () => [
25734
25838
  { type: Injector }
25735
25839
  ];
25736
25840
  TransactionLineComponent.propDecorators = {
25737
- container: [{ type: ViewChild, args: ['transactionLine', { read: ElementRef },] }],
25841
+ container: [{ type: ViewChild, args: ['transactionLine', { read: ViewContainerRef },] }],
25738
25842
  activeCategory: [{ type: Input }],
25739
25843
  preview: [{ type: Input }],
25740
25844
  isFirst: [{ type: Input }],
@@ -28784,10 +28888,9 @@ class TransactionLineSupplierButtonComponent extends TransactionBaseComponent {
28784
28888
  this._getSupplierDescription();
28785
28889
  }
28786
28890
  _getSupplierDescription() {
28787
- if (this.transactionLine && this.transactionLine.isArticle && this.transactionLine.supplierDescription === undefined) {
28788
- this._relationService.getRelationById(this.transactionLine.supplierId).then((relations) => {
28789
- const relation = relations && relations.length > 0 ? relations[0] : null;
28790
- this.transactionLine.supplierDescription = relation ? relation.displayName : "";
28891
+ if (this.transactionLine && this.transactionLine.isArticle && this.transactionLine.supplierDescription === undefined && this.visible) {
28892
+ this._relationService.getSupplierLightById(this.transactionLine.supplierId).then((supplier) => {
28893
+ this.transactionLine.supplierDescription = supplier ? supplier.supplierName : "";
28791
28894
  this.detectChanges();
28792
28895
  });
28793
28896
  this.readonly = !this.transactionLine.articleFreeSupplier;
@@ -29145,21 +29248,10 @@ class TransactionLineDropShipmentButtonComponent extends TransactionBaseComponen
29145
29248
  }
29146
29249
  _getSupplierAllowsDropShipmentParameter() {
29147
29250
  if (this.transactionLine && this.visible) {
29148
- this._relationService.getSupplierLightById(this.transactionLine.supplierId).then(result => {
29149
- this.supplierAllowsDropShipment = result.dropshipment;
29251
+ this._relationService.getSupplierLightById(this.transactionLine.supplierId).then((supplier) => {
29252
+ this.supplierAllowsDropShipment = supplier.dropshipment;
29150
29253
  this.detectChanges();
29151
29254
  });
29152
- // this._relationService.getRelationById(this.transactionLine.supplierId).then((relations: RelationListObject[]) => {
29153
- // const relation: RelationListObject = relations && relations.length > 0 ? relations[0] : null;
29154
- // if (relation) {
29155
- // this._relationService.getSupplierFullObject(+relation.relationNr).then((result) => {
29156
- // if (result) {
29157
- // this.supplierAllowsDropShipment = result.dropshipment;
29158
- // this.detectChanges();
29159
- // }
29160
- // });
29161
- // }
29162
- // });
29163
29255
  }
29164
29256
  }
29165
29257
  }
@@ -29339,6 +29431,7 @@ class TransactionLineConfirmedDeliveryDateButtonComponent extends TransactionBas
29339
29431
  this.showConfirmedDeliveryDate = false;
29340
29432
  this.isConfirmedDateLater = false;
29341
29433
  this._subs = [];
29434
+ this._handled = false;
29342
29435
  }
29343
29436
  showClass() {
29344
29437
  return true;
@@ -29362,7 +29455,8 @@ class TransactionLineConfirmedDeliveryDateButtonComponent extends TransactionBas
29362
29455
  this._checkDates();
29363
29456
  }
29364
29457
  _checkConfirmedDeliveryDate(line) {
29365
- if (line && line.refTransactions && line.refTransactions.length === 1 && !this.confirmedDeliveryDate) {
29458
+ if (line && line.lineNr === this.transactionLine.lineNr && line.refTransactions && line.refTransactions.length === 1 &&
29459
+ !this.confirmedDeliveryDate && this.visible && !this._handled) {
29366
29460
  if (line.refTransactions[0].refTransactionType === TransactionKind.PurchaseOrder) {
29367
29461
  this.service.getMaxConfirmedDeliveryDateForPurchaseOrder(line.refTransactions[0].refTransactionId).then((date) => {
29368
29462
  if (date) {
@@ -29370,6 +29464,7 @@ class TransactionLineConfirmedDeliveryDateButtonComponent extends TransactionBas
29370
29464
  this.showConfirmedDeliveryDate = true;
29371
29465
  this._checkDates();
29372
29466
  }
29467
+ this._handled = true;
29373
29468
  });
29374
29469
  }
29375
29470
  }
@@ -35945,6 +36040,7 @@ class TransactionHeaderDeliveryMethodButtonComponent extends TransactionBaseComp
35945
36040
  event.stopImmediatePropagation();
35946
36041
  if (yield this.lockTransaction()) {
35947
36042
  this.showDialog = true;
36043
+ this.detectChanges();
35948
36044
  }
35949
36045
  });
35950
36046
  }
@@ -35983,7 +36079,8 @@ TransactionHeaderDeliveryMethodButtonComponent.decorators = [
35983
36079
  useExisting: forwardRef(() => TransactionHeaderDeliveryMethodButtonComponent)
35984
36080
  }
35985
36081
  ],
35986
- encapsulation: ViewEncapsulation.None
36082
+ encapsulation: ViewEncapsulation.None,
36083
+ changeDetection: ChangeDetectionStrategy.OnPush
35987
36084
  },] }
35988
36085
  ];
35989
36086
  TransactionHeaderDeliveryMethodButtonComponent.ctorParameters = () => [
@@ -36104,13 +36201,15 @@ class TransactionHeaderDeliverydateDefinitiveButtonComponent extends Transaction
36104
36201
  event.preventDefault();
36105
36202
  event.stopPropagation();
36106
36203
  if (yield this.lockTransaction()) {
36107
- this.transactionService.updateHeaderTransactionDeliveryDateDefinitive(this.transactionInfo.uuid, definitive, this.lockAndSave);
36204
+ yield this.transactionService.updateHeaderTransactionDeliveryDateDefinitive(this.transactionInfo.uuid, definitive, this.lockAndSave);
36205
+ this.detectChanges();
36108
36206
  }
36109
36207
  });
36110
36208
  }
36111
36209
  configSet() {
36112
36210
  if (this.screenConfigService.configObjects && this.cfgName) {
36113
36211
  this.hidden = this.screenConfigService.getObjectConfigurationFor(this.cfgName).immediatelyHidden();
36212
+ this.detectChanges();
36114
36213
  }
36115
36214
  }
36116
36215
  }
@@ -38109,14 +38208,6 @@ class SearchViewModeService {
38109
38208
  get collapsed() {
38110
38209
  return this.activeSearchBarViewMode === SearchbarViewMode.Collapsed;
38111
38210
  }
38112
- calculateClasses() {
38113
- return {
38114
- 'fullscreen': this.fullscreen,
38115
- 'sidebar': !this.fullscreen,
38116
- 'collapsed': this.collapsed,
38117
- 'expanded': !this.collapsed,
38118
- };
38119
- }
38120
38211
  toggleFilter() {
38121
38212
  this.showFilterSidebar = !this.showFilterSidebar;
38122
38213
  }
@@ -38170,6 +38261,8 @@ class SearchFilterPanelComponent {
38170
38261
  constructor(iconCacheService, searchViewModeService) {
38171
38262
  this.iconCacheService = iconCacheService;
38172
38263
  this.searchViewModeService = searchViewModeService;
38264
+ this.viewMode = SearchViewMode;
38265
+ this.barViewMode = SearchbarViewMode;
38173
38266
  this.align = ColumnAlign;
38174
38267
  this.icon = Icon;
38175
38268
  this.resetFilterClick = new EventEmitter();
@@ -38206,9 +38299,11 @@ SearchFilterPanelComponent.decorators = [
38206
38299
  </div>
38207
38300
 
38208
38301
  <!--filter-content-->
38209
- <div class="search-filter-wrapper narrow-scrollbar"
38210
- [ngClass]="searchViewModeService.calculateClasses()"
38211
- *ngIf=" searchViewModeService.showFilterSidebar">
38302
+ <div class="search-filter-wrapper narrow-scrollbar" *ngIf=" searchViewModeService.showFilterSidebar"
38303
+ [class.fullscreen]="searchViewModeService.activeSearchViewMode === viewMode.FullScreen"
38304
+ [class.sidebar]="searchViewModeService.activeSearchViewMode !== viewMode.FullScreen"
38305
+ [class.collapsed]="searchViewModeService.activeSearchBarViewMode === barViewMode.Collapsed"
38306
+ [class.expanced]="searchViewModeService.activeSearchBarViewMode !== barViewMode.Collapsed">
38212
38307
  <ng-content></ng-content>
38213
38308
  </div>
38214
38309
 
@@ -38246,11 +38341,12 @@ SearchFilterPanelModule.decorators = [
38246
38341
  ];
38247
38342
 
38248
38343
  class TransactionFilterComponent {
38249
- constructor(_mappingService, _compFactoryResolver, appRef, injector, searchService) {
38344
+ constructor(_mappingService, _compFactoryResolver, appRef, injector, _changeDetector, searchService) {
38250
38345
  this._mappingService = _mappingService;
38251
38346
  this._compFactoryResolver = _compFactoryResolver;
38252
38347
  this.appRef = appRef;
38253
38348
  this.injector = injector;
38349
+ this._changeDetector = _changeDetector;
38254
38350
  this.searchService = searchService;
38255
38351
  }
38256
38352
  set container(content) {
@@ -38291,6 +38387,7 @@ class TransactionFilterComponent {
38291
38387
  const domElem = this._componentRef.hostView
38292
38388
  .rootNodes[0];
38293
38389
  this._transactionFilterContainer.nativeElement.appendChild(domElem);
38390
+ this._changeDetector.detectChanges();
38294
38391
  this._componentRef.onDestroy(() => {
38295
38392
  this.appRef.detachView(this._componentRef.hostView);
38296
38393
  });
@@ -38303,6 +38400,7 @@ TransactionFilterComponent.decorators = [
38303
38400
  <div #transactionFilter class="transaction-filter-wrapper">
38304
38401
  </div>
38305
38402
  `,
38403
+ changeDetection: ChangeDetectionStrategy.OnPush,
38306
38404
  encapsulation: ViewEncapsulation.None
38307
38405
  },] }
38308
38406
  ];
@@ -38311,6 +38409,7 @@ TransactionFilterComponent.ctorParameters = () => [
38311
38409
  { type: ComponentFactoryResolver },
38312
38410
  { type: ApplicationRef },
38313
38411
  { type: Injector },
38412
+ { type: ChangeDetectorRef },
38314
38413
  { type: TransactionSearchService }
38315
38414
  ];
38316
38415
  TransactionFilterComponent.propDecorators = {
@@ -38526,10 +38625,11 @@ TransactionSearchSalesOrderTileModule.decorators = [
38526
38625
  ];
38527
38626
 
38528
38627
  class TransactionSearchSalesLineSelectTileComponent extends TransactionSearchTileBaseComponent {
38529
- constructor(iconCacheService, transactionService) {
38530
- super(iconCacheService);
38628
+ constructor(iconCacheService, transactionService, changeDetector) {
38629
+ super(iconCacheService, changeDetector);
38531
38630
  this.iconCacheService = iconCacheService;
38532
38631
  this.transactionService = transactionService;
38632
+ this.changeDetector = changeDetector;
38533
38633
  this.lineClicked = new EventEmitter();
38534
38634
  }
38535
38635
  showClass() {
@@ -38548,28 +38648,30 @@ class TransactionSearchSalesLineSelectTileComponent extends TransactionSearchTil
38548
38648
  }
38549
38649
  TransactionSearchSalesLineSelectTileComponent.decorators = [
38550
38650
  { type: Component, args: [{
38551
- selector: "co-transaction-search-sales-line-select-tile",
38651
+ selector: 'co-transaction-search-sales-line-select-tile',
38552
38652
  template: `
38553
- <div class="co-transaction-search-sales-line-select-tile-wrapper " observeVisibility #observer=visibilityObserve (visibilityChange)="handleVisibilityChange($event)">
38554
- <co-transaction-search-sales-order-tile [transaction]="transaction" [showAvatar]="true">
38555
- </co-transaction-search-sales-order-tile>
38556
- <div class="vertical-line "></div>
38557
- <div class="order-lines-container co-small-scrollbar">
38558
- <div *ngFor="let line of lines" >
38559
- <co-transaction-line-tile [line]="line" (click)="tileClicked(line)"></co-transaction-line-tile>
38560
- </div>
38653
+ <div class="co-transaction-search-sales-line-select-tile-wrapper " observeVisibility #observer=visibilityObserve
38654
+ (visibilityChange)="handleVisibilityChange($event)">
38655
+ <co-transaction-search-sales-order-tile [transaction]="transaction" [showAvatar]="true">
38656
+ </co-transaction-search-sales-order-tile>
38657
+ <div class="vertical-line "></div>
38658
+ <div class="order-lines-container co-small-scrollbar">
38659
+ <div *ngFor="let line of lines">
38660
+ <co-transaction-line-tile [line]="line" (click)="tileClicked(line)"></co-transaction-line-tile>
38661
+ </div>
38662
+ </div>
38561
38663
  </div>
38562
- </div>
38563
38664
  `,
38564
38665
  encapsulation: ViewEncapsulation.None
38565
38666
  },] }
38566
38667
  ];
38567
38668
  TransactionSearchSalesLineSelectTileComponent.ctorParameters = () => [
38568
38669
  { type: IconCacheService },
38569
- { type: TransactionService }
38670
+ { type: TransactionService },
38671
+ { type: ChangeDetectorRef }
38570
38672
  ];
38571
38673
  TransactionSearchSalesLineSelectTileComponent.propDecorators = {
38572
- showClass: [{ type: HostBinding, args: ["class.co-transaction-search-sales-line-select-tile",] }],
38674
+ showClass: [{ type: HostBinding, args: ['class.co-transaction-search-sales-line-select-tile',] }],
38573
38675
  lineClicked: [{ type: Output }]
38574
38676
  };
38575
38677
 
@@ -39936,7 +40038,7 @@ class TransactionInternalComponent {
39936
40038
  if(result) {*/
39937
40039
  this._transactionEventService.requestCreateServiceOrderFromTransactionLine.next({ transaction: this.transaction, lineNr: lineNr });
39938
40040
  //added for bundle purposes so we can pass the value along without the event service. Use the event service in all other cases.
39939
- this.serviceRequested.emit({ transaction: this.transaction.transactionInfo.transactionNr, lineNr: lineNr });
40041
+ this.serviceRequested.emit({ transactionNr: this.transaction.transactionInfo.transactionNr, transactionId: this.transaction.transactionInfo.id, lineNr: lineNr });
39940
40042
  /* }
39941
40043
  });*/
39942
40044
  }
@@ -40091,8 +40193,7 @@ TransactionInternalComponent.decorators = [
40091
40193
  [screenConfigurationObject]="cfgNames.HeaderBranch"
40092
40194
  screenConfigNativeElement>
40093
40195
  </co-avatar>
40094
- <co-view-mode-buttons
40095
- *ngIf="!shouldShowTiles() && showViewModeButtons"
40196
+ <co-view-mode-buttons *ngIf="!shouldShowTiles() && showViewModeButtons"
40096
40197
  [showViewModes]="[viewModes.List, viewModes.Tiles]"
40097
40198
  (viewModeChange)="handleViewModeChange($event)">
40098
40199
  </co-view-mode-buttons>
@@ -40129,9 +40230,8 @@ TransactionInternalComponent.decorators = [
40129
40230
  activeCategory === categories.SalesOrderQuotation ||
40130
40231
  activeCategory === categories.ServiceOrderOverview">
40131
40232
  </co-add-product>
40132
- <co-transaction-button
40233
+ <co-transaction-button *ngIf="activeCategory !== categories.ServiceOrderService"
40133
40234
  class="custom-width text-rule"
40134
- *ngIf="activeCategory !== categories.ServiceOrderService"
40135
40235
  [iconData]="iconCacheService.getIcon(icons.TextSolid)"
40136
40236
  (click)="handleTransactionText()">
40137
40237
  </co-transaction-button>
@@ -40142,9 +40242,7 @@ TransactionInternalComponent.decorators = [
40142
40242
  [transactionInfo]="transaction.transactionInfo"
40143
40243
  ></co-transaction-margin>
40144
40244
  </div>
40145
-
40146
- <co-transaction-totals
40147
- *ngIf="activeCategory !== category.ServiceOrderService"
40245
+ <co-transaction-totals *ngIf="activeCategory !== category.ServiceOrderService"
40148
40246
  [transactionInfo]="transaction.transactionInfo"
40149
40247
  [transactionTotal]="transaction.transactionTotal"
40150
40248
  [showDiscount]="true">
@@ -40152,16 +40250,12 @@ TransactionInternalComponent.decorators = [
40152
40250
  </div>
40153
40251
  </div>
40154
40252
 
40155
- <co-transaction-lines-side-panel
40156
- *ngIf="
40157
- transaction &&
40158
- (transaction.transactionInfo.transactionKind === transactionKind.CashDesk && !fullyInvoiced())"
40253
+ <co-transaction-lines-side-panel *ngIf="transaction && (transaction.transactionInfo.transactionKind === transactionKind.CashDesk && !fullyInvoiced())"
40159
40254
  [posOrderData]="posOrderData"
40160
40255
  [transaction]="transaction">
40161
40256
  </co-transaction-lines-side-panel>
40162
40257
 
40163
- <co-transaction-line-side-panel
40164
- *ngIf="showSidePanel"
40258
+ <co-transaction-line-side-panel *ngIf="showSidePanel"
40165
40259
  [transaction]="transaction"
40166
40260
  [transactionInfo]="transaction.transactionInfo"
40167
40261
  [transactionLine]="sidePanelTransactionLine"
@@ -40170,8 +40264,7 @@ TransactionInternalComponent.decorators = [
40170
40264
  </co-transaction-line-side-panel>
40171
40265
 
40172
40266
  <!--Popup voor wijzigen volgorde van tekstregels-->
40173
- <co-transaction-article-text-overview
40174
- *ngIf="showArticleTextOverview"
40267
+ <co-transaction-article-text-overview *ngIf="showArticleTextOverview"
40175
40268
  [transactionInfo]="transaction.transactionInfo"
40176
40269
  [transactionLine]="transactionLine"
40177
40270
  (closeClick)="closeArticleTextOverview()"
@@ -40179,8 +40272,7 @@ TransactionInternalComponent.decorators = [
40179
40272
  </co-transaction-article-text-overview>
40180
40273
 
40181
40274
  <!--Popup voor aanmaken en updaten transactietekstregels-->
40182
- <co-transaction-article-text
40183
- *ngIf="showTransactionText"
40275
+ <co-transaction-article-text *ngIf="showTransactionText"
40184
40276
  [header]="'ORDER_TEXT_LINE' | localize"
40185
40277
  [transactionUuid]="transaction.transactionInfo.uuid"
40186
40278
  [editText]="textToEdit"
@@ -40193,8 +40285,7 @@ TransactionInternalComponent.decorators = [
40193
40285
  </co-transaction-article-text>
40194
40286
 
40195
40287
  <!--Popup voor aanmaken en updaten artikeltekstregels-->
40196
- <co-transaction-article-text
40197
- *ngIf="showArticleText"
40288
+ <co-transaction-article-text *ngIf="showArticleText"
40198
40289
  [header]="'PRODUCT_DESCRIPTION_AND_TEXTS' | localize"
40199
40290
  [transactionUuid]="transaction.transactionInfo.uuid"
40200
40291
  [showArticleImageDescription]="transactionLine.articleBound"
@@ -40208,15 +40299,15 @@ TransactionInternalComponent.decorators = [
40208
40299
  (cancelClick)="closeArticleText()">
40209
40300
  </co-transaction-article-text>
40210
40301
 
40211
- <co-transaction-copy-order
40212
- *ngIf="showCopyOrderDialog"
40302
+ <co-transaction-copy-order *ngIf="showCopyOrderDialog"
40213
40303
  [transaction]="transaction"
40214
40304
  (closeDialog)="showCopyOrderDialog = false">
40215
40305
  </co-transaction-copy-order>
40216
40306
  </div>
40217
40307
  </ng-container>
40218
40308
  `,
40219
- encapsulation: ViewEncapsulation.None
40309
+ encapsulation: ViewEncapsulation.None,
40310
+ changeDetection: ChangeDetectionStrategy.OnPush
40220
40311
  },] }
40221
40312
  ];
40222
40313
  TransactionInternalComponent.ctorParameters = () => [
@@ -40353,6 +40444,7 @@ class TransactionHeaderRelationComponent extends TransactionBaseComponent {
40353
40444
  }), this.transactionService.relationUpdated.subscribe(relation => {
40354
40445
  if (relation !== undefined) {
40355
40446
  this.loaded = true;
40447
+ this.changeDetector.markForCheck();
40356
40448
  }
40357
40449
  }));
40358
40450
  }
@@ -40363,6 +40455,7 @@ class TransactionHeaderRelationComponent extends TransactionBaseComponent {
40363
40455
  relationSet() {
40364
40456
  super.relationSet();
40365
40457
  this._setRelationAddress();
40458
+ this.changeDetector.markForCheck();
40366
40459
  }
40367
40460
  transactionInfoSet() {
40368
40461
  super.transactionInfoSet();
@@ -40437,7 +40530,8 @@ TransactionHeaderRelationComponent.decorators = [
40437
40530
  useExisting: forwardRef(() => TransactionHeaderRelationComponent)
40438
40531
  }
40439
40532
  ],
40440
- encapsulation: ViewEncapsulation.None
40533
+ encapsulation: ViewEncapsulation.None,
40534
+ changeDetection: ChangeDetectionStrategy.OnPush
40441
40535
  },] }
40442
40536
  ];
40443
40537
  TransactionHeaderRelationComponent.propDecorators = {
@@ -40851,7 +40945,7 @@ class TransactionHeaderRemainingAmountComponent {
40851
40945
  }
40852
40946
  ngOnInit() {
40853
40947
  this._subs.push(this._transactionEventService.quantitySelectedLineChanged.subscribe((changed) => {
40854
- if (changed) {
40948
+ if (changed && !this.transactionService.manualSaveParam) {
40855
40949
  const request = new CalculateAmountToPayRequest();
40856
40950
  request.transactionUuid = this.transactionUuid;
40857
40951
  this._paymentConnectorService.calculateAmountToPayWithLineSelection(request).then((data) => {
@@ -41103,6 +41197,7 @@ QuickSendButtonComponent.decorators = [
41103
41197
  </div>
41104
41198
  </div>
41105
41199
  `,
41200
+ changeDetection: ChangeDetectionStrategy.OnPush,
41106
41201
  encapsulation: ViewEncapsulation.None
41107
41202
  },] }
41108
41203
  ];
@@ -42487,6 +42582,7 @@ TransactionLineSidePanelDefaultComponent.decorators = [
42487
42582
  <div class="collapsible-content-wrapper">
42488
42583
  <div class="side-panel-input-row">
42489
42584
  <co-transaction-line-description class="side-panel-input"
42585
+ [customHeight]="false"
42490
42586
  [transactionLine]="transactionLine"></co-transaction-line-description>
42491
42587
  </div>
42492
42588
  <div class="side-panel-input-row">
@@ -45565,7 +45661,8 @@ class SearchHeaderButtonsComponent {
45565
45661
  this.searchViewModeService = searchViewModeService;
45566
45662
  this.icon = Icon;
45567
45663
  this.contentViewModes = ContentViewMode;
45568
- this.searchViewModes = SearchViewMode;
45664
+ this.viewMode = SearchViewMode;
45665
+ this.barViewMode = SearchbarViewMode;
45569
45666
  this.iconSlideIn = this.iconCacheService.getIcon(this.icon.SlideIn);
45570
45667
  this.iconResize = this.iconCacheService.getIcon(this.icon.ExpandSolid);
45571
45668
  this.iconCancel = this.iconCacheService.getIcon(this.icon.XSolid);
@@ -45604,7 +45701,10 @@ SearchHeaderButtonsComponent.decorators = [
45604
45701
  <div class="upper-header">
45605
45702
  <div class="header-buttons-wrapper">
45606
45703
  <div class="close-search-button-wrapper button-wrapper" *ngIf="!fullscreen"
45607
- [ngClass]="searchViewModeService.calculateClasses()">
45704
+ [class.fullscreen]="searchViewModeService.activeSearchViewMode === viewMode.FullScreen"
45705
+ [class.sidebar]="searchViewModeService.activeSearchViewMode !== viewMode.FullScreen"
45706
+ [class.collapsed]="searchViewModeService.activeSearchBarViewMode === barViewMode.Collapsed"
45707
+ [class.expanced]="searchViewModeService.activeSearchBarViewMode !== barViewMode.Collapsed">
45608
45708
  <co-button [iconData]="iconResize"
45609
45709
  class="toggle-sidebar-button transparent"
45610
45710
  (click)="onResizeClick()"></co-button>
@@ -45621,7 +45721,11 @@ SearchHeaderButtonsComponent.decorators = [
45621
45721
  <co-button class="add-button transparent" [iconData]="iconCacheService.getIcon(icon.PlusSimple)"
45622
45722
  (click)="onAddButtonClick()"></co-button>
45623
45723
 
45624
- <div class="search-header-content-wrapper" [ngClass]="searchViewModeService.calculateClasses()">
45724
+ <div class="search-header-content-wrapper"
45725
+ [class.fullscreen]="searchViewModeService.activeSearchViewMode === viewMode.FullScreen"
45726
+ [class.sidebar]="searchViewModeService.activeSearchViewMode !== viewMode.FullScreen"
45727
+ [class.collapsed]="searchViewModeService.activeSearchBarViewMode === barViewMode.Collapsed"
45728
+ [class.expanced]="searchViewModeService.activeSearchBarViewMode !== barViewMode.Collapsed">
45625
45729
  <ng-content></ng-content>
45626
45730
  </div>
45627
45731
 
@@ -45690,6 +45794,8 @@ SearchHeaderButtonsModule.decorators = [
45690
45794
  class SearchComponent {
45691
45795
  constructor(searchViewModeService) {
45692
45796
  this.searchViewModeService = searchViewModeService;
45797
+ this.viewMode = SearchViewMode;
45798
+ this.barViewMode = SearchbarViewMode;
45693
45799
  this.icon = Icon;
45694
45800
  this.headerLabel = '';
45695
45801
  this.addClick = new EventEmitter();
@@ -45714,12 +45820,18 @@ SearchComponent.decorators = [
45714
45820
  selector: 'co-search',
45715
45821
  template: `
45716
45822
  <div class="search-main-wrapper">
45717
- <div class="search-wrapper" [ngClass]=searchViewModeService.calculateClasses()>
45823
+ <div class="search-wrapper"
45824
+ [class.fullscreen]="searchViewModeService.activeSearchViewMode === viewMode.FullScreen"
45825
+ [class.sidebar]="searchViewModeService.activeSearchViewMode !== viewMode.FullScreen"
45826
+ [class.collapsed]="searchViewModeService.activeSearchBarViewMode === barViewMode.Collapsed"
45827
+ [class.expanced]="searchViewModeService.activeSearchBarViewMode !== barViewMode.Collapsed">
45718
45828
 
45719
45829
  <!--filter panel-->
45720
- <div class="search-filter-panel narrow-scrollbar"
45721
- [ngClass]="searchViewModeService.calculateClasses()"
45722
- *ngIf="searchViewModeService.showFilterSidebar" @showHideFilterSidebar>
45830
+ <div class="search-filter-panel narrow-scrollbar" *ngIf="searchViewModeService.showFilterSidebar" @showHideFilterSidebar
45831
+ [class.fullscreen]="searchViewModeService.activeSearchViewMode === viewMode.FullScreen"
45832
+ [class.sidebar]="searchViewModeService.activeSearchViewMode !== viewMode.FullScreen"
45833
+ [class.collapsed]="searchViewModeService.activeSearchBarViewMode === barViewMode.Collapsed"
45834
+ [class.expanced]="searchViewModeService.activeSearchBarViewMode !== barViewMode.Collapsed">
45723
45835
  <co-search-filter-panel (resetFilterClick)="onResetFilterClick()">
45724
45836
  <ng-content select="[search-filter-panel]"></ng-content>
45725
45837
  </co-search-filter-panel>
@@ -45736,7 +45848,11 @@ SearchComponent.decorators = [
45736
45848
  </div>
45737
45849
 
45738
45850
  <!--search result-->
45739
- <div class="search-result" [ngClass]="searchViewModeService.calculateClasses()">
45851
+ <div class="search-result"
45852
+ [class.fullscreen]="searchViewModeService.activeSearchViewMode === viewMode.FullScreen"
45853
+ [class.sidebar]="searchViewModeService.activeSearchViewMode !== viewMode.FullScreen"
45854
+ [class.collapsed]="searchViewModeService.activeSearchBarViewMode === barViewMode.Collapsed"
45855
+ [class.expanced]="searchViewModeService.activeSearchBarViewMode !== barViewMode.Collapsed">
45740
45856
  <ng-content select="[search-result]"></ng-content>
45741
45857
  </div>
45742
45858
  </div>
@@ -45744,7 +45860,10 @@ SearchComponent.decorators = [
45744
45860
 
45745
45861
  <!--routing content-->
45746
45862
  <div class="search-content-wrapper"
45747
- [ngClass]="searchViewModeService.calculateClasses()">
45863
+ [class.fullscreen]="searchViewModeService.activeSearchViewMode === viewMode.FullScreen"
45864
+ [class.sidebar]="searchViewModeService.activeSearchViewMode !== viewMode.FullScreen"
45865
+ [class.collapsed]="searchViewModeService.activeSearchBarViewMode === barViewMode.Collapsed"
45866
+ [class.expanced]="searchViewModeService.activeSearchBarViewMode !== barViewMode.Collapsed">
45748
45867
  <!--routing content?-->
45749
45868
  <ng-content></ng-content>
45750
45869
  </div>
@@ -48267,6 +48386,7 @@ class TransactionSearchComponent {
48267
48386
  set overrideSearchType(kind) {
48268
48387
  if (!(kind === null || kind === undefined)) {
48269
48388
  this.transactionSearchService.transactionType = kind;
48389
+ this.transactionSearchService.searchTransactions();
48270
48390
  }
48271
48391
  }
48272
48392
  showClass() {
@@ -53555,9 +53675,9 @@ class TransactionServiceOverviewComponent extends TransactionBaseComponent {
53555
53675
  }
53556
53676
  ngOnInit() {
53557
53677
  return __awaiter(this, void 0, void 0, function* () {
53558
- this.priorityDomainColl = yield this.transactionService.getPriority("NL");
53678
+ this.priorityDomainColl = yield this.transactionService.getPriority('NL');
53559
53679
  this.causeCodeColl = yield this.transactionService.getCauseCodes();
53560
- this.entryTypeColl = yield this.transactionService.getEntryTypes("NL");
53680
+ this.entryTypeColl = yield this.transactionService.getEntryTypes('NL');
53561
53681
  this.priorityModel = this.priorityDomainColl.find(p => p.codeAsNumber === this.transactionServiceInfo.priority);
53562
53682
  this.causeCodeModel = this.causeCodeColl.find(c => c.causeCode === this.transactionServiceInfo.causeCode);
53563
53683
  this.entryTypeModel = this.entryTypeColl.find(e => e.code === this.transactionServiceInfo.entryType);
@@ -53576,6 +53696,7 @@ class TransactionServiceOverviewComponent extends TransactionBaseComponent {
53576
53696
  getActivities() {
53577
53697
  return __awaiter(this, void 0, void 0, function* () {
53578
53698
  this.activities = yield this.transactionService.getHistoricActivities(this.transactionInfo.id);
53699
+ this.detectChanges();
53579
53700
  });
53580
53701
  }
53581
53702
  finishedActivitiesRefreshRequested() {
@@ -53583,12 +53704,15 @@ class TransactionServiceOverviewComponent extends TransactionBaseComponent {
53583
53704
  }
53584
53705
  fullActivitiesRefreshRequested() {
53585
53706
  this.getActivities();
53586
- this.openActivities.getActivities();
53707
+ this.openActivities.getActivities().then(() => {
53708
+ this.detectChanges();
53709
+ });
53587
53710
  }
53588
53711
  fetchDocuments() {
53589
53712
  this.transactionService.loadDocumentsOfTransaction(this.transactionInfo.id.toString()).then((fetchedDocuments) => {
53590
53713
  this.documents = fetchedDocuments;
53591
53714
  this.documents.forEach((d) => __awaiter(this, void 0, void 0, function* () { return d.documentBody = yield this.transactionService.loadDocumentContent(d.documentId, false); }));
53715
+ this.detectChanges();
53592
53716
  });
53593
53717
  }
53594
53718
  setPriority(priority) {
@@ -53601,6 +53725,7 @@ class TransactionServiceOverviewComponent extends TransactionBaseComponent {
53601
53725
  this.priorityModel = null;
53602
53726
  }
53603
53727
  yield this.transactionService.updateServiceHeaderPriority(this.transactionServiceInfo.priority, true);
53728
+ this.detectChanges();
53604
53729
  });
53605
53730
  }
53606
53731
  setCauseCode(causeCode) {
@@ -53613,6 +53738,7 @@ class TransactionServiceOverviewComponent extends TransactionBaseComponent {
53613
53738
  this.causeCodeModel = null;
53614
53739
  }
53615
53740
  yield this.transactionService.updateServiceHeaderCauseCode(this.transactionServiceInfo.causeCode, true);
53741
+ this.detectChanges();
53616
53742
  });
53617
53743
  }
53618
53744
  setEntryType(entryType) {
@@ -53625,6 +53751,7 @@ class TransactionServiceOverviewComponent extends TransactionBaseComponent {
53625
53751
  this.entryTypeModel = null;
53626
53752
  }
53627
53753
  yield this.transactionService.updateServiceHeaderEntryType(this.transactionServiceInfo.entryType, true);
53754
+ this.detectChanges();
53628
53755
  });
53629
53756
  }
53630
53757
  upsertDocument(doc) {
@@ -53632,7 +53759,7 @@ class TransactionServiceOverviewComponent extends TransactionBaseComponent {
53632
53759
  const response = yield this.transactionService.mergeDocumentOnTransaction(this.transactionInfo.id.toString(), doc);
53633
53760
  if (response) {
53634
53761
  this.fetchDocuments();
53635
- yield this._dialogService.showToast("DATA_SAVED", true);
53762
+ yield this._dialogService.showToast('DATA_SAVED', true);
53636
53763
  }
53637
53764
  });
53638
53765
  }
@@ -53641,7 +53768,7 @@ class TransactionServiceOverviewComponent extends TransactionBaseComponent {
53641
53768
  const response = yield this.transactionService.deleteDocument(doc.documentId);
53642
53769
  if (response && response.success) {
53643
53770
  this.fetchDocuments();
53644
- yield this._dialogService.showToast("DATA_SAVED", true);
53771
+ yield this._dialogService.showToast('DATA_SAVED', true);
53645
53772
  }
53646
53773
  });
53647
53774
  }
@@ -53661,7 +53788,7 @@ class TransactionServiceOverviewComponent extends TransactionBaseComponent {
53661
53788
  }
53662
53789
  sortDocumentList() {
53663
53790
  SortUtils.SortObjectArray(this.documents, [{
53664
- property: "documentId",
53791
+ property: 'documentId',
53665
53792
  direction: SortDirection.Ascending,
53666
53793
  type: SortType.Number
53667
53794
  }]);
@@ -53669,64 +53796,72 @@ class TransactionServiceOverviewComponent extends TransactionBaseComponent {
53669
53796
  }
53670
53797
  TransactionServiceOverviewComponent.decorators = [
53671
53798
  { type: Component, args: [{
53672
- selector: "co-transaction-service-overview",
53673
- template: `
53674
- <div class="service-overview-wrapper">
53675
- <div class="message-and-task-wrapper">
53676
- <div class="service-message-and-image-wrapper">
53677
- <div class="service-message-wrapper">
53678
- <div class="service-message">
53679
- <label class="label service-label" [textContent]="'SERVICE_REPORT'| localize"></label>
53680
- <span *ngIf="transactionServiceInfo && transactionServiceInfo.wizardQuestionsAndAnswers"
53681
- [textContent]="transactionServiceInfo.wizardQuestionsAndAnswers" [screenConfigurationObject]="cfgNames.ServiceWizardMessage" screenConfigNativeElement
53682
- ></span> <!---->
53683
- <co-transaction-service-message class="transaction-service-message" [transaction]="transaction">
53684
- </co-transaction-service-message>
53685
- </div>
53686
- <co-files-upload (documentChangeEvent)="upsertDocument($event)" [screenConfigurationObject]="cfgNames.ServiceOverviewImage"
53687
- (documentDeleted)="deleteDocument($event)"
53688
- [label]="'ADD_IMAGES' | localize"
53689
- [documents]="documents"
53690
- [isEditable]="false" > <!---->
53691
- </co-files-upload>
53692
- </div>
53693
- <div class="service-order-lines-wrapper">
53694
- <div class="service-message-extra-wrapper">
53695
- <co-list-of-values [label]="'PRIORITY'| localize" displayField="description" [model]="priorityModel"
53696
- [collection]="priorityDomainColl" [screenConfigurationObject]="cfgNames.ServicePriority"
53697
- (modelChange)="setPriority($event)"></co-list-of-values> <!---->
53698
- <co-list-of-values [label]="'CAUSE_CODE' | localize" displayField="description" [model]="causeCodeModel"
53699
- [collection]="causeCodeColl" [screenConfigurationObject]="cfgNames.ServiceCauseCode"
53700
- (modelChange)="setCauseCode($event)"></co-list-of-values> <!---->
53701
- <co-list-of-values [label]="'ENTRY_TYPE' | localize" displayField="description" [model]="entryTypeModel"
53702
- [collection]="entryTypeColl" [screenConfigurationObject]="cfgNames.ServiceEntryType"
53703
- (modelChange)="setEntryType($event)"></co-list-of-values> <!---->
53704
- </div>
53705
- <co-transaction-lines-side-panel
53706
- class="higher-max-width"
53707
- [posOrderData]="posOrderData"
53708
- [transaction]="transaction">
53709
- </co-transaction-lines-side-panel>
53710
- </div>
53799
+ selector: 'co-transaction-service-overview',
53800
+ template: `
53801
+ <div class="service-overview-wrapper">
53802
+ <div class="message-and-task-wrapper">
53803
+ <div class="service-message-and-image-wrapper">
53804
+ <div class="service-message-wrapper">
53805
+ <div class="service-message">
53806
+ <label class="label service-label" [textContent]="'SERVICE_REPORT'| localize"></label>
53807
+ <span *ngIf="transactionServiceInfo && transactionServiceInfo.wizardQuestionsAndAnswers"
53808
+ [textContent]="transactionServiceInfo.wizardQuestionsAndAnswers"
53809
+ [screenConfigurationObject]="cfgNames.ServiceWizardMessage" screenConfigNativeElement
53810
+ ></span>
53811
+ <co-transaction-service-message class="transaction-service-message" [transaction]="transaction">
53812
+ </co-transaction-service-message>
53813
+ </div>
53814
+ <co-files-upload (documentChangeEvent)="upsertDocument($event)"
53815
+ [screenConfigurationObject]="cfgNames.ServiceOverviewImage"
53816
+ (documentDeleted)="deleteDocument($event)"
53817
+ [label]="'ADD_IMAGES' | localize"
53818
+ [documents]="documents"
53819
+ [isEditable]="false">
53820
+ </co-files-upload>
53821
+ </div>
53822
+ <div class="service-order-lines-wrapper">
53823
+ <div class="service-message-extra-wrapper">
53824
+ <co-list-of-values [label]="'PRIORITY'| localize" displayField="description" [model]="priorityModel"
53825
+ [collection]="priorityDomainColl" [screenConfigurationObject]="cfgNames.ServicePriority"
53826
+ (modelChange)="setPriority($event)"></co-list-of-values>
53827
+ <co-list-of-values [label]="'CAUSE_CODE' | localize" displayField="description" [model]="causeCodeModel"
53828
+ [collection]="causeCodeColl" [screenConfigurationObject]="cfgNames.ServiceCauseCode"
53829
+ (modelChange)="setCauseCode($event)"></co-list-of-values>
53830
+ <co-list-of-values [label]="'ENTRY_TYPE' | localize" displayField="description" [model]="entryTypeModel"
53831
+ [collection]="entryTypeColl" [screenConfigurationObject]="cfgNames.ServiceEntryType"
53832
+ (modelChange)="setEntryType($event)"></co-list-of-values>
53833
+ </div>
53834
+ <co-transaction-lines-side-panel
53835
+ class="higher-max-width"
53836
+ [posOrderData]="posOrderData"
53837
+ [transaction]="transaction">
53838
+ </co-transaction-lines-side-panel>
53839
+ </div>
53711
53840
 
53712
- </div>
53713
- <div class="activity-list-component-wrapper">
53714
- <div class="activity-task-creator-wrapper">
53715
- <co-component-activity-list #openActivities [showActivityHeader]="showActivityHeader" [screenConfigurationObject]="cfgNames.HeaderActivityList"
53716
- [table]="TableName.Transactions" [key]="transactionInfo.id.toString()" (refreshRequested)="finishedActivitiesRefreshRequested()">
53717
- </co-component-activity-list>
53718
- <co-task-creator [table]="TableName.Transactions" [remarkAndWorkKey]="transactionInfo.id.toString()" [taskKey]="transactionInfo.transactionNr.toString()"
53719
- [author]="transactionService.loggedInUser" [branchNo]="transactionInfo.branch.relationNr.toString()"
53720
- [workflowCategoryType]="WorkflowCategoryType.ServiceOrder" [screenConfigurationObject]="cfgNames.HeaderTaskCreator"
53721
- (activityCreated)="fullActivitiesRefreshRequested()"></co-task-creator>
53722
- </div>
53723
- <div class="activity-list-conv-wrapper">
53724
- <label class="label history-label" [textContent]="'HISTORIC_ACTIVITY_CHAT'| localize" [screenConfigurationObject]="cfgNames.HeaderHistActivities" screenConfigNativeElement></label>
53725
- <co-activity-list [activities]="activities" [screenConfigurationObject]="cfgNames.HeaderHistActivities"></co-activity-list>
53841
+ </div>
53842
+ <div class="activity-list-component-wrapper">
53843
+ <div class="activity-task-creator-wrapper">
53844
+ <co-component-activity-list #openActivities [showActivityHeader]="showActivityHeader"
53845
+ [screenConfigurationObject]="cfgNames.HeaderActivityList"
53846
+ [table]="TableName.Transactions" [key]="transactionInfo.id.toString()"
53847
+ (refreshRequested)="finishedActivitiesRefreshRequested()">
53848
+ </co-component-activity-list>
53849
+ <co-task-creator [table]="TableName.Transactions" [remarkAndWorkKey]="transactionInfo.id.toString()"
53850
+ [taskKey]="transactionInfo.transactionNr.toString()"
53851
+ [author]="transactionService.loggedInUser" [branchNo]="transactionInfo.branch.relationNr.toString()"
53852
+ [workflowCategoryType]="WorkflowCategoryType.ServiceOrder"
53853
+ [screenConfigurationObject]="cfgNames.HeaderTaskCreator"
53854
+ (activityCreated)="fullActivitiesRefreshRequested()"></co-task-creator>
53855
+ </div>
53856
+ <div class="activity-list-conv-wrapper">
53857
+ <label class="label history-label" [textContent]="'HISTORIC_ACTIVITY_CHAT'| localize"
53858
+ [screenConfigurationObject]="cfgNames.HeaderHistActivities" screenConfigNativeElement></label>
53859
+ <co-activity-list [activities]="activities"
53860
+ [screenConfigurationObject]="cfgNames.HeaderHistActivities"></co-activity-list>
53861
+ </div>
53862
+ </div>
53726
53863
  </div>
53727
- </div>
53728
53864
  </div>
53729
- </div>
53730
53865
 
53731
53866
  `,
53732
53867
  providers: [{
@@ -53749,7 +53884,7 @@ TransactionServiceOverviewComponent.ctorParameters = () => [
53749
53884
  ];
53750
53885
  TransactionServiceOverviewComponent.propDecorators = {
53751
53886
  openActivities: [{ type: ViewChild, args: [ComponentActivityListComponent,] }],
53752
- showClass: [{ type: HostBinding, args: ["class.co-transaction-service-overview",] }],
53887
+ showClass: [{ type: HostBinding, args: ['class.co-transaction-service-overview',] }],
53753
53888
  posOrderData: [{ type: Input }]
53754
53889
  };
53755
53890
 
@@ -56253,10 +56388,11 @@ TransactionLineGridModule.decorators = [
56253
56388
  ];
56254
56389
 
56255
56390
  class TransactionTagsComponent {
56256
- constructor(_transactionService, _transactionEventService, _transactionConnectorService, iconCacheService) {
56391
+ constructor(_transactionService, _transactionEventService, _transactionConnectorService, _changeDetector, iconCacheService) {
56257
56392
  this._transactionService = _transactionService;
56258
56393
  this._transactionEventService = _transactionEventService;
56259
56394
  this._transactionConnectorService = _transactionConnectorService;
56395
+ this._changeDetector = _changeDetector;
56260
56396
  this.iconCacheService = iconCacheService;
56261
56397
  this.icons = Icon;
56262
56398
  this.tags = [];
@@ -56293,6 +56429,7 @@ class TransactionTagsComponent {
56293
56429
  this._transactionService.getJoinedTags(this._table, this._key).then((tags) => {
56294
56430
  this.tags = tags;
56295
56431
  this.editingTags = [...tags];
56432
+ this._changeDetector.detectChanges();
56296
56433
  });
56297
56434
  }
56298
56435
  }
@@ -56310,6 +56447,7 @@ class TransactionTagsComponent {
56310
56447
  return __awaiter(this, void 0, void 0, function* () {
56311
56448
  if (this.allTags.length === 0) {
56312
56449
  this.allTags = yield this._transactionService.getTagsFullTree(this._getTabCategory(), true);
56450
+ this._changeDetector.detectChanges();
56313
56451
  }
56314
56452
  this.showEditTagsDialog = true;
56315
56453
  });
@@ -56323,12 +56461,14 @@ class TransactionTagsComponent {
56323
56461
  else {
56324
56462
  tag.image.thumbnailBody = null;
56325
56463
  }
56464
+ this._changeDetector.detectChanges();
56326
56465
  }
56327
56466
  return tag;
56328
56467
  });
56329
56468
  this._transactionService.mergeJoinedTags(this._table, this._key, tagsToMerge).then((success) => {
56330
56469
  if (success) {
56331
56470
  this.tags = this.editingTags;
56471
+ this._changeDetector.detectChanges();
56332
56472
  }
56333
56473
  });
56334
56474
  }
@@ -56345,8 +56485,7 @@ TransactionTagsComponent.decorators = [
56345
56485
  ></co-button>
56346
56486
  </div>
56347
56487
  <co-transaction-tag *ngFor="let tag of tags" [tag]="tag"></co-transaction-tag>
56348
- <co-simple-tags
56349
- *ngIf="showEditTagsDialog"
56488
+ <co-simple-tags *ngIf="showEditTagsDialog"
56350
56489
  [tags]="allTags"
56351
56490
  [linkedTags]="editingTags"
56352
56491
  (saveClick)="handleSaveTags($event)"
@@ -56354,6 +56493,7 @@ TransactionTagsComponent.decorators = [
56354
56493
  ></co-simple-tags>
56355
56494
  </div>
56356
56495
  `,
56496
+ changeDetection: ChangeDetectionStrategy.OnPush,
56357
56497
  encapsulation: ViewEncapsulation.None
56358
56498
  },] }
56359
56499
  ];
@@ -56361,6 +56501,7 @@ TransactionTagsComponent.ctorParameters = () => [
56361
56501
  { type: TransactionService },
56362
56502
  { type: TransactionEventService },
56363
56503
  { type: TransactionConnectorService },
56504
+ { type: ChangeDetectorRef },
56364
56505
  { type: IconCacheService }
56365
56506
  ];
56366
56507
  TransactionTagsComponent.propDecorators = {