@colijnit/transaction 12.0.3 → 12.1.1

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 (87) hide show
  1. package/app/component/core/base/default-ok-cancel-buttons.component.d.ts +13 -0
  2. package/app/component/core/base/transaction-base.component.d.ts +38 -0
  3. package/app/component/core/directive/template-wrapper.directive.d.ts +13 -0
  4. package/app/component/{shopping-cart → core}/stock-status-indicator/stock-status-indicator.component.d.ts +0 -0
  5. package/app/component/service-order/ione-service-order-module.d.ts +2 -0
  6. package/app/component/service-order/ione-service-order.component.d.ts +25 -0
  7. package/app/component/service-order/service-order.component.d.ts +48 -0
  8. package/app/component/service-order/summary/transaction-article-summary.component.d.ts +17 -0
  9. package/app/component/service-order/summary/transaction-delivery-summary.component.d.ts +20 -0
  10. package/app/component/service-order/summary/transaction-order-summary.component.d.ts +16 -0
  11. package/app/component/service-order/summary/transaction-payment-info.component.d.ts +14 -0
  12. package/app/component/service-order/summary/transaction-product-contract-summary.component.d.ts +7 -0
  13. package/app/component/service-order/summary/transaction-product-summary.component.d.ts +15 -0
  14. package/app/component/service-order/summary/transaction-service-status.component.d.ts +15 -0
  15. package/app/component/service-order/summary/transaction-service-summary.component.d.ts +15 -0
  16. package/app/component/service-order/summary/transaction-summary-block.component.d.ts +16 -0
  17. package/app/component/service-order/transaction-article-text/transaction-article-text.component.d.ts +24 -0
  18. package/app/component/service-order/transaction-header-block/transaction-header-block.component.d.ts +15 -0
  19. package/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.d.ts +16 -0
  20. package/app/component/service-order/transaction-order-lines/transaction-order-lines.component.d.ts +25 -0
  21. package/app/component/service-order/transaction-order-totals/transaction-order-totals.component.d.ts +7 -0
  22. package/app/component/service-order/transaction-relation/transaction-relation-address.component.d.ts +22 -0
  23. package/app/component/service-order/transaction-relation/transaction-relation-edit.component.d.ts +29 -0
  24. package/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.d.ts +11 -0
  25. package/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.d.ts +26 -0
  26. package/app/component/shopping-cart/ione-shopping-cart.component.d.ts +20 -0
  27. package/app/component/shopping-cart/shopping-cart/shopping-cart.component.d.ts +2 -5
  28. package/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.d.ts +7 -0
  29. package/app/service/ione-connector-adapter.service.d.ts +5 -1
  30. package/app/service/transaction-event.service.d.ts +20 -0
  31. package/app/service/transaction.service.d.ts +9 -2
  32. package/bundles/colijnit-transaction.umd.js +1911 -89
  33. package/bundles/colijnit-transaction.umd.js.map +1 -1
  34. package/colijnit-transaction.d.ts +23 -1
  35. package/colijnit-transaction.metadata.json +1 -1
  36. package/css/styles.css +38 -0
  37. package/esm2015/app/component/checkout/checkout/checkout.component.js +1 -1
  38. package/esm2015/app/component/checkout/checkout-overview/checkout-overview.component.js +1 -1
  39. package/esm2015/app/component/checkout/checkout-overview-block/checkout-overview-block.component.js +1 -1
  40. package/esm2015/app/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +1 -1
  41. package/esm2015/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +4 -4
  42. package/esm2015/app/component/checkout/checkout-overview-relation-address/checkout-overview-relation-address.component.js +1 -1
  43. package/esm2015/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +1 -1
  44. package/esm2015/app/component/checkout/checkout-relation-suggestions-list-item/checkout-relation-suggestions-list-item.component.js +1 -1
  45. package/esm2015/app/component/checkout/ione-checkout.module.js +1 -3
  46. package/esm2015/app/component/common/icon/icon.component.js +3 -2
  47. package/esm2015/app/component/common/image-display/image-display.component.js +1 -1
  48. package/esm2015/app/component/core/base/default-ok-cancel-buttons.component.js +39 -0
  49. package/esm2015/app/component/core/base/transaction-base.component.js +121 -0
  50. package/esm2015/app/component/core/directive/template-wrapper.directive.js +69 -0
  51. package/esm2015/app/component/{shopping-cart → core}/stock-status-indicator/stock-status-indicator.component.js +2 -2
  52. package/esm2015/app/component/service-order/ione-service-order-module.js +103 -0
  53. package/esm2015/app/component/service-order/ione-service-order.component.js +98 -0
  54. package/esm2015/app/component/service-order/service-order.component.js +167 -0
  55. package/esm2015/app/component/service-order/summary/transaction-article-summary.component.js +55 -0
  56. package/esm2015/app/component/service-order/summary/transaction-delivery-summary.component.js +59 -0
  57. package/esm2015/app/component/service-order/summary/transaction-order-summary.component.js +43 -0
  58. package/esm2015/app/component/service-order/summary/transaction-payment-info.component.js +35 -0
  59. package/esm2015/app/component/service-order/summary/transaction-product-contract-summary.component.js +38 -0
  60. package/esm2015/app/component/service-order/summary/transaction-product-summary.component.js +41 -0
  61. package/esm2015/app/component/service-order/summary/transaction-service-status.component.js +37 -0
  62. package/esm2015/app/component/service-order/summary/transaction-service-summary.component.js +38 -0
  63. package/esm2015/app/component/service-order/summary/transaction-summary-block.component.js +53 -0
  64. package/esm2015/app/component/service-order/transaction-article-text/transaction-article-text.component.js +183 -0
  65. package/esm2015/app/component/service-order/transaction-header-block/transaction-header-block.component.js +83 -0
  66. package/esm2015/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.js +76 -0
  67. package/esm2015/app/component/service-order/transaction-order-lines/transaction-order-lines.component.js +71 -0
  68. package/esm2015/app/component/service-order/transaction-order-totals/transaction-order-totals.component.js +37 -0
  69. package/esm2015/app/component/service-order/transaction-relation/transaction-relation-address.component.js +116 -0
  70. package/esm2015/app/component/service-order/transaction-relation/transaction-relation-edit.component.js +225 -0
  71. package/esm2015/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.js +172 -0
  72. package/esm2015/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.js +120 -0
  73. package/esm2015/app/component/shopping-cart/ione-shopping-cart.component.js +52 -7
  74. package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +4 -6
  75. package/esm2015/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +16 -19
  76. package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +1 -1
  77. package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +64 -4
  78. package/esm2015/app/service/ione-connector-adapter.service.js +60 -8
  79. package/esm2015/app/service/transaction-event.service.js +7 -1
  80. package/esm2015/app/service/transaction.service.js +87 -19
  81. package/esm2015/assets/dictionary/text.properties.js +33 -1
  82. package/esm2015/colijnit-transaction.js +24 -2
  83. package/esm2015/public_api.js +3 -1
  84. package/fesm2015/colijnit-transaction.js +2284 -76
  85. package/fesm2015/colijnit-transaction.js.map +1 -1
  86. package/package.json +17 -17
  87. package/public_api.d.ts +2 -0
@@ -1,12 +1,13 @@
1
1
  import { __awaiter } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { Injectable, EventEmitter, Component, Input, Output, ChangeDetectorRef, ViewChild, Pipe, HostBinding, NgModule } from '@angular/core';
3
+ import { Injectable, EventEmitter, Component, Input, Output, ChangeDetectorRef, ViewChild, Pipe, HostBinding, NgModule, Directive, ContentChild, ViewContainerRef } from '@angular/core';
4
4
  import { BehaviorSubject, Subject, throwError } from 'rxjs';
5
5
  import { Options } from '@colijnit/ioneconnector/build/model/options';
6
6
  import { CustomerFullObject } from '@colijnit/transactionapi/build/model/customer-full-object.bo';
7
7
  import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/transaction-info-response.bo';
8
8
  import { RelationPrivacySetting } from '@colijnit/transactionapi/build/model/relation-privacy-setting.bo';
9
9
  import { GetPostalCodeRetrievalOutputParams } from '@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params';
10
+ import { RelationListObject } from '@colijnit/transactionapi/build/model/relation-list-object.bo';
10
11
  import { ArticleFullObject } from '@colijnit/transactionapi/build/model/article-full-object';
11
12
  import { LineOperationResponse } from '@colijnit/transactionapi/build/model/line-operation-response.bo';
12
13
  import { Transaction } from '@colijnit/transactionapi/build/transaction';
@@ -24,7 +25,7 @@ import { BooleanTextDecorator as BooleanTextDecorator$1 } from '@colijnit/transa
24
25
  import { JsonFieldFieldDecorator } from '@colijnit/transactionapi/build/factory/decorators/json.decorator';
25
26
  import { ComplexArrayDecorator as ComplexArrayDecorator$1 } from '@colijnit/transactionapi/build/factory/decorators/complex-array.decorator';
26
27
  import { ImageUtils } from '@colijnit/transactionapi/build/utils/image-utils';
27
- import { NULL_RELATION_OBJECT } from '@colijnit/transactionapi/build/model/nul-relation-object';
28
+ import { NULL_RELATION_OBJECT, NULL_CUSTOMER_FULL_OBJECT, NULL_RELATION_LIST_OBJECT } from '@colijnit/transactionapi/build/model/nul-relation-object';
28
29
  import { TransactionKind } from '@colijnit/transactionapi/build/enum/transaction-kind.enum';
29
30
  import { SequenceName } from '@colijnit/transactionapi/build/enum/sequence-name.enum';
30
31
  import { ArrayUtils as ArrayUtils$1 } from '@colijnit/transactionapi/build/utils/array-utils';
@@ -51,8 +52,15 @@ import { DomSanitizer } from '@angular/platform-browser';
51
52
  import { ResolvePendingLineReasonRequest } from '@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo';
52
53
  import { SortDirection } from '@colijnit/transactionapi/build/enum/sort-direction';
53
54
  import { SortType } from '@colijnit/transactionapi/build/enum/sort-type.enum';
54
- import { SortUtils } from '@colijnit/transactionapi/build/utils/sort-utils';
55
55
  import { StockStatus } from '@colijnit/transactionapi/build/enum/refcode/stock-status.enum';
56
+ import { trigger, state, style, transition, animate } from '@angular/animations';
57
+ import { RelationRequest } from '@colijnit/transactionapi/build/model/relation-request';
58
+ import { DropDownButtonModule } from '@syncfusion/ej2-angular-splitbuttons';
59
+ import { ChipListModule, CheckBoxModule } from '@syncfusion/ej2-angular-buttons';
60
+ import { DropDownListModule } from '@syncfusion/ej2-angular-dropdowns';
61
+ import { Sidebar, Accordion } from '@syncfusion/ej2-navigations';
62
+ import { TabModule } from '@syncfusion/ej2-angular-navigations';
63
+ import { TransactionLineInfo } from '@colijnit/transactionapi/build/model/transaction-line-info.bo';
56
64
 
57
65
  class OptionsService {
58
66
  constructor() {
@@ -805,9 +813,16 @@ class IOneConnectorAdapterService {
805
813
  }
806
814
  connect(options) {
807
815
  return __awaiter(this, void 0, void 0, function* () {
808
- this.options = options;
809
- this.connector = new Transaction(options);
810
- this.options.session = this.connector.session;
816
+ if (this.options === undefined) {
817
+ this.options = options;
818
+ this.connector = new Transaction(options);
819
+ this.options.session = this.connector.session;
820
+ }
821
+ });
822
+ }
823
+ disconnect() {
824
+ return __awaiter(this, void 0, void 0, function* () {
825
+ this.options = undefined;
811
826
  });
812
827
  }
813
828
  getArticleFullObject(goodId) {
@@ -953,6 +968,18 @@ class IOneConnectorAdapterService {
953
968
  });
954
969
  });
955
970
  }
971
+ getTransactionById(transactionId) {
972
+ return new Promise((resolve, reject) => {
973
+ return this.connector.getTransactionById(transactionId).then((result) => {
974
+ if (result.validationResult && result.validationResult.success) {
975
+ resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
976
+ }
977
+ else {
978
+ reject(result.validationMessagesAsString);
979
+ }
980
+ });
981
+ });
982
+ }
956
983
  saveTransaction(uuid) {
957
984
  return new Promise((resolve, reject) => {
958
985
  return this.connector.saveTransaction(uuid).then((result) => {
@@ -1113,7 +1140,35 @@ class IOneConnectorAdapterService {
1113
1140
  return new Promise((resolve, reject) => {
1114
1141
  return this.connector.getRelationListObjects(relationRequest).then((result) => {
1115
1142
  if (result.validationResult && result.validationResult.success) {
1116
- resolve(result.resultObjects);
1143
+ resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(RelationListObject, result.resultObjects));
1144
+ }
1145
+ else {
1146
+ reject(result.validationMessagesAsString);
1147
+ }
1148
+ });
1149
+ });
1150
+ });
1151
+ }
1152
+ addTransactionLine(uuid, articleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr) {
1153
+ return __awaiter(this, void 0, void 0, function* () {
1154
+ return new Promise((resolve, reject) => {
1155
+ return this.connector.addTransactionLine(uuid, articleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr).then((result) => {
1156
+ if (result.validationResult && result.validationResult.success) {
1157
+ resolve(this._boFactory.makeWithRawBackendData(LineOperationResponse, result.resultObject));
1158
+ }
1159
+ else {
1160
+ reject(result.validationMessagesAsString);
1161
+ }
1162
+ });
1163
+ });
1164
+ });
1165
+ }
1166
+ addTextLineToTransaction(uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr) {
1167
+ return __awaiter(this, void 0, void 0, function* () {
1168
+ return new Promise((resolve, reject) => {
1169
+ return this.connector.addTextLineToTransaction(uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr).then((result) => {
1170
+ if (result.validationResult && result.validationResult.success) {
1171
+ resolve(this._boFactory.makeWithRawBackendData(LineOperationResponse, result.resultObject));
1117
1172
  }
1118
1173
  else {
1119
1174
  reject(result.validationMessagesAsString);
@@ -1122,10 +1177,10 @@ class IOneConnectorAdapterService {
1122
1177
  });
1123
1178
  });
1124
1179
  }
1125
- addTransactionLine(uuid, articleLine, articleNo, amount, warehouseNo, commissionCode, isReturn) {
1180
+ changeLineSequence(uuid, lineUuid, aboveLineNr, belowLineNr) {
1126
1181
  return __awaiter(this, void 0, void 0, function* () {
1127
1182
  return new Promise((resolve, reject) => {
1128
- return this.connector.addTransactionLine(uuid, articleLine, articleNo, amount, warehouseNo, commissionCode, isReturn).then((result) => {
1183
+ return this.connector.changeLineSequence(uuid, lineUuid, aboveLineNr, belowLineNr).then((result) => {
1129
1184
  if (result.validationResult && result.validationResult.success) {
1130
1185
  resolve(this._boFactory.makeWithRawBackendData(LineOperationResponse, result.resultObject));
1131
1186
  }
@@ -1249,8 +1304,11 @@ class IOneConnectorAdapterService {
1249
1304
  });
1250
1305
  }
1251
1306
  }
1307
+ IOneConnectorAdapterService.ɵprov = i0.ɵɵdefineInjectable({ factory: function IOneConnectorAdapterService_Factory() { return new IOneConnectorAdapterService(); }, token: IOneConnectorAdapterService, providedIn: "root" });
1252
1308
  IOneConnectorAdapterService.decorators = [
1253
- { type: Injectable }
1309
+ { type: Injectable, args: [{
1310
+ providedIn: "root"
1311
+ },] }
1254
1312
  ];
1255
1313
  IOneConnectorAdapterService.ctorParameters = () => [];
1256
1314
 
@@ -1258,6 +1316,7 @@ class TransactionService {
1258
1316
  constructor(_connector) {
1259
1317
  this._connector = _connector;
1260
1318
  this.transactionUpdated = new EventEmitter();
1319
+ this.transactionLoaded = new EventEmitter();
1261
1320
  this.applicationUser = false;
1262
1321
  this.articleAmount = 0;
1263
1322
  this._currentLines = [];
@@ -1401,8 +1460,25 @@ class TransactionService {
1401
1460
  return new Promise((resolve, reject) => {
1402
1461
  this._connector.getTransactionByNrAndKind(kind, transactionNr)
1403
1462
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1404
- this._rememberCurrentTransaction(response);
1405
1463
  if (response.isSuccess) {
1464
+ this.transactionLoaded.emit(response);
1465
+ resolve(true);
1466
+ }
1467
+ else {
1468
+ reject(false);
1469
+ }
1470
+ }))
1471
+ .catch((reason) => {
1472
+ reject(false);
1473
+ });
1474
+ });
1475
+ }
1476
+ getTransactionById(transactionId) {
1477
+ return new Promise((resolve, reject) => {
1478
+ this._connector.getTransactionById(transactionId)
1479
+ .then((response) => __awaiter(this, void 0, void 0, function* () {
1480
+ if (response.isSuccess) {
1481
+ this.transactionLoaded.emit(response);
1406
1482
  resolve(true);
1407
1483
  }
1408
1484
  else {
@@ -1501,7 +1577,17 @@ class TransactionService {
1501
1577
  }
1502
1578
  retrieveLineImage(line) {
1503
1579
  return __awaiter(this, void 0, void 0, function* () {
1504
- const goodId = yield this._connector.getGoodIdFromArticleNr(line.articleNumber);
1580
+ return yield this.getArticleImageByArticleNumber(line.articleNumber);
1581
+ });
1582
+ }
1583
+ getArticleImageByArticleNumber(articleNumber) {
1584
+ return __awaiter(this, void 0, void 0, function* () {
1585
+ const goodId = yield this._connector.getGoodIdFromArticleNr(articleNumber);
1586
+ return this.getArticleImageByGoodId(goodId);
1587
+ });
1588
+ }
1589
+ getArticleImageByGoodId(goodId) {
1590
+ return __awaiter(this, void 0, void 0, function* () {
1505
1591
  if (!isNaN(goodId)) {
1506
1592
  return this._connector.getSingleImage(goodId, 1, true, true);
1507
1593
  }
@@ -1510,10 +1596,10 @@ class TransactionService {
1510
1596
  }
1511
1597
  });
1512
1598
  }
1513
- addArticle(articleNo, amount = 1, warehouseNo = 1, commissionCode = "2", isReturn = false) {
1599
+ addArticle(articleNo, amount = 1, warehouseNo = 1, commissionCode = "2", isReturn = false, aboveLineNr = 0, belowLineNr = 0) {
1514
1600
  return __awaiter(this, void 0, void 0, function* () {
1515
1601
  return new Promise((resolve, reject) => {
1516
- this._connector.addTransactionLine(this._currentTransaction.uuid, TransactionLineType.ArticleLine, articleNo, amount, warehouseNo, commissionCode, isReturn)
1602
+ this._connector.addTransactionLine(this._currentTransaction.uuid, TransactionLineType.ArticleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr)
1517
1603
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1518
1604
  resolve(true);
1519
1605
  }), (error) => {
@@ -1525,10 +1611,27 @@ class TransactionService {
1525
1611
  });
1526
1612
  });
1527
1613
  }
1528
- addTransactionLine(lineType, articleNo, amount, warehouseNo, commissionCode, isReturn) {
1614
+ addTransactionLine(lineType, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr) {
1615
+ return __awaiter(this, void 0, void 0, function* () {
1616
+ return new Promise((resolve, reject) => {
1617
+ this._connector.addTransactionLine(this.currentTransaction.uuid, lineType, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr)
1618
+ .then((response) => __awaiter(this, void 0, void 0, function* () {
1619
+ this._rememberCurrentTransaction(response);
1620
+ this._rememberCurrentTransactionLineStatus(response);
1621
+ resolve(response);
1622
+ }), (error) => {
1623
+ reject(error);
1624
+ })
1625
+ .catch((reason) => {
1626
+ resolve(null);
1627
+ });
1628
+ });
1629
+ });
1630
+ }
1631
+ addTextLineToTransaction(showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr) {
1529
1632
  return __awaiter(this, void 0, void 0, function* () {
1530
1633
  return new Promise((resolve, reject) => {
1531
- this._connector.addTransactionLine(this.currentTransaction.uuid, lineType, articleNo, amount, warehouseNo, commissionCode, isReturn)
1634
+ this._connector.addTextLineToTransaction(this.currentTransaction.uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr)
1532
1635
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1533
1636
  this._rememberCurrentTransaction(response);
1534
1637
  this._rememberCurrentTransactionLineStatus(response);
@@ -1542,6 +1645,21 @@ class TransactionService {
1542
1645
  });
1543
1646
  });
1544
1647
  }
1648
+ changeLineSequence(lineUuid, aboveLineNr, belowLineNr) {
1649
+ return new Promise((resolve, reject) => {
1650
+ this._connector.changeLineSequence(this.currentTransaction.uuid, lineUuid, aboveLineNr, belowLineNr)
1651
+ .then((response) => __awaiter(this, void 0, void 0, function* () {
1652
+ this._rememberCurrentTransaction(response);
1653
+ this._rememberCurrentTransactionLineStatus(response);
1654
+ resolve(response);
1655
+ }), (error) => {
1656
+ reject(error);
1657
+ })
1658
+ .catch((reason) => {
1659
+ resolve(null);
1660
+ });
1661
+ });
1662
+ }
1545
1663
  cancelAddTransactionLine(lineUuid) {
1546
1664
  return __awaiter(this, void 0, void 0, function* () {
1547
1665
  return new Promise((resolve, reject) => {
@@ -1609,6 +1727,15 @@ class TransactionService {
1609
1727
  });
1610
1728
  });
1611
1729
  }
1730
+ getCustomerFulObjectByRelationId(relationId) {
1731
+ return __awaiter(this, void 0, void 0, function* () {
1732
+ const relationNr = yield this._connector.getRelationNumber(relationId);
1733
+ if (relationNr) {
1734
+ return yield this._connector.getCustomerFullObject(Number(relationNr));
1735
+ }
1736
+ return NULL_CUSTOMER_FULL_OBJECT;
1737
+ });
1738
+ }
1612
1739
  // public async setRelationByUser(username: string, password: string): Promise<boolean> {
1613
1740
  // const response: boolean = await this._connector.setRelationByUser(this.currentTransaction.uuid, username, password);
1614
1741
  // return response;
@@ -1619,13 +1746,15 @@ class TransactionService {
1619
1746
  }
1620
1747
  }
1621
1748
  _rememberCurrentTransaction(value) {
1622
- this._currentTransaction = value.transactionInfo;
1623
- this._initializeTransaction();
1624
- this.currentLines = value.transactionLines;
1625
- this.currentTotals = value.transactionTotal;
1626
- this.currentLineOperationStatuses = value.lineOperationStatuses;
1627
- this._updateRelation();
1628
- this.transactionUpdated.emit();
1749
+ return __awaiter(this, void 0, void 0, function* () {
1750
+ this._currentTransaction = value.transactionInfo;
1751
+ this._initializeTransaction();
1752
+ this.currentLines = value.transactionLines;
1753
+ this.currentTotals = value.transactionTotal;
1754
+ this.currentLineOperationStatuses = value.lineOperationStatuses;
1755
+ yield this._updateRelation();
1756
+ this.transactionUpdated.emit();
1757
+ });
1629
1758
  }
1630
1759
  _rememberCurrentTransactionLineStatus(value) {
1631
1760
  // this._currentLineOperationStatus.uuid = value.lineUuid;
@@ -1636,10 +1765,7 @@ class TransactionService {
1636
1765
  return __awaiter(this, void 0, void 0, function* () {
1637
1766
  if (this.currentTransaction && this.currentTransaction.relation && this.currentTransaction.relation.relationId) {
1638
1767
  if (!this._currentRelation || this._currentRelation.relationId !== this.currentTransaction.relation.relationId) {
1639
- const relationNr = yield this._connector.getRelationNumber(this.currentTransaction.relation.relationId);
1640
- if (relationNr) {
1641
- this._currentRelation = yield this._connector.getCustomerFullObject(Number(relationNr));
1642
- }
1768
+ this._currentRelation = yield this.getCustomerFulObjectByRelationId(this.currentTransaction.relation.relationId);
1643
1769
  }
1644
1770
  }
1645
1771
  });
@@ -1759,6 +1885,7 @@ class Dictionary {
1759
1885
  "ADDRESS_CHANGE": "Adres wijzigen",
1760
1886
  "ALWAYS_SHOW_LOGISTICS_POPUP": "Controleer magazijn en commissiecode",
1761
1887
  "ARTICLE": "Artikel",
1888
+ "ARTICLE_DESCRIPTION": "Artikelomschrijving",
1762
1889
  "ARTICLE_IN_OUT_COLLECTION": "Status van artikel is '|~'. Weet u zeker dat u door wilt gaan?",
1763
1890
  "ARTICLE_NR": "Artikelnummer",
1764
1891
  "ASSEMBLY_COSTS": "Montagekosten",
@@ -1799,12 +1926,15 @@ class Dictionary {
1799
1926
  "DELIVERY_OPTARTICLE_NRIONS": "Bezorgopties",
1800
1927
  "DELIVERY_TIME_PERIOD": "Levertijd",
1801
1928
  "DESCRIPTION": "Omschrijving",
1929
+ "DETAILS": "Details",
1802
1930
  "DISCOUNT": "Korting",
1803
1931
  "DISCOUNT_AMOUNT": "Kortingsbedrag",
1804
1932
  "DISCOUNT_PERCENTAGE": "Kortings %",
1805
1933
  "DROPSHIPMENT": "Dropshipment",
1806
1934
  "EMAIL_ADDRESS": "E-mailadres",
1807
1935
  "EXISTING_CUSTOMERS": "Bestaande klanten",
1936
+ "EXPECTED_DELIVERY_DATE": "Verwachte bezorgdatum",
1937
+ "EXPECTED_DELIVERY_WEEK": "Verwachte leverweek",
1808
1938
  "FEMALE": "Vrouw",
1809
1939
  "FIRST_NAME": "Voornaam",
1810
1940
  "GOOD_DESCRIPTION": "Artikelomschrijving",
@@ -1831,11 +1961,14 @@ class Dictionary {
1831
1961
  "NUMBER": "Aantal",
1832
1962
  "ON_DATE": "Op datum",
1833
1963
  "OPEN_SHOPPING_CART": "Open winkelwagen",
1964
+ "ORDER_DATE": "Orderdatum",
1834
1965
  "ORDER_GROSS": "Ordertotaal bruto",
1835
1966
  "ORDER_NET": "Ordertotaal netto",
1967
+ "ORDER_NUMBER": "Ordernummer",
1836
1968
  "ORDER_TYPE": "Type bestelling",
1837
1969
  "OVERVIEW": "Overzicht",
1838
1970
  "OWN_REFERENCE": "Eigen referentie",
1971
+ "PAID_DOWN2": "Aanbetaald",
1839
1972
  "PART_DELIVERIES": "Deelleveringen",
1840
1973
  "PASSWORD": "Wachtwoord",
1841
1974
  "PAYMENT": "Betaling",
@@ -1848,6 +1981,8 @@ class Dictionary {
1848
1981
  "PRICE_LIST": "Prijslijst",
1849
1982
  "PRIVACY_PREFERENCES": "Privacyvoorkeuren",
1850
1983
  "PRIVATE_PERSON": "Particulier",
1984
+ "PRODUCT": "Product",
1985
+ "PRODUCT_TYPE": "Productsoort",
1851
1986
  "QUANTITY_CANNOT_BE_ZERO_OR_EMPTY": "Het aantal mag geen 0 zijn.",
1852
1987
  "QUANTITY_CANNOT_BE_LESS_THAN_DELIVERED": "Het aantal moet gelijk zijn aan het geleverde aantal",
1853
1988
  "QUANTITY_CANNOT_BE_MORE_THAN_DELIVERED": "Het aantal moet gelijk zijn aan het geleverde aantal",
@@ -1863,6 +1998,9 @@ class Dictionary {
1863
1998
  "SALUTATION": "Aanhef",
1864
1999
  "SAVE": "Opslaan",
1865
2000
  "SELECT": "Selecteren",
2001
+ "SERVICE_NUMBER": "Servicenummer",
2002
+ "SERVICE_REQUEST_DATE": "Datum aanvraag",
2003
+ "SERVICE_STATE": "Service status",
1866
2004
  "SHOPPING_CART": "Winkelwagen",
1867
2005
  "SHOPPING_CART_CHECKOUT": "Bestellen",
1868
2006
  "SHOPPING_CART_OVERVIEW": "Overzicht van uw bestelling",
@@ -1874,16 +2012,20 @@ class Dictionary {
1874
2012
  "SUBTOTAL": "Subtotaal",
1875
2013
  "SUGGESTIONS": "Suggesties",
1876
2014
  "SURCHARGE_AMOUNT": "Toeslag",
2015
+ "STATE": "Status",
1877
2016
  "STREET": "Straatnaam",
2017
+ "TOTAL_AMOUNT": "Totaalbedrag",
1878
2018
  "TOTAL_GROSS": "Totaal bruto",
1879
2019
  "TOTAL_ASSEMBLY_TIME": "Totale montagetijd",
1880
2020
  "TRANSACTION_DISCOUNT": "Totale transactie korting",
1881
2021
  "TRANSACTION_DISCOUNT_PERC": "% Trans. korting",
1882
2022
  "TRANSACTION_PRICE_DECLARATION": "Order prijsverklaring",
2023
+ "TRANSACTION_SUM_I": "Ordertotaal incl. BTW",
1883
2024
  "TRANSACTION_TOTAL": "Transactie totaal",
1884
2025
  "UNKNOWN": "Onbekend",
1885
2026
  "UNKNOWN_ADDRESS_CHECK_IT": "Onbekend adres",
1886
2027
  "VAT": "Btw",
2028
+ "VAT_AMOUNT": "BTW-bedrag",
1887
2029
  "VALUE": "Waarde",
1888
2030
  "WAREHOUSE": "Magazijn",
1889
2031
  "YOUR_DATA": "Uw gegevens",
@@ -1904,6 +2046,7 @@ class Dictionary {
1904
2046
  "ADDRESS_CHANGE": "Change address",
1905
2047
  "ALWAYS_SHOW_LOGISTICS_POPUP": "Check warehouse and commissioncode",
1906
2048
  "ARTICLE": "Article",
2049
+ "ARTICLE_DESCRIPTION": "Article description",
1907
2050
  "ARTICLE_IN_OUT_COLLECTION": "Status of article is '|~'. Are you sure to proceed?",
1908
2051
  "ARTICLE_NR": "Article number",
1909
2052
  "ASSEMBLY_COSTS": "Assembly costs",
@@ -1944,12 +2087,15 @@ class Dictionary {
1944
2087
  "DELIVERY_OPTARTICLE_NRIONS": "Delivery options",
1945
2088
  "DELIVERY_TIME_PERIOD": "Delivery time period",
1946
2089
  "DESCRIPTION": "Description",
2090
+ "DETAILS": "Details",
1947
2091
  "DISCOUNT": "Discount",
1948
2092
  "DISCOUNT_AMOUNT": "Discount amount",
1949
2093
  "DISCOUNT_PERCENTAGE": "Discount %",
1950
2094
  "DROPSHIPMENT": "Dropshipment",
1951
2095
  "EMAIL_ADDRESS": "E-mailadres",
1952
2096
  "EXISTING_CUSTOMERS": "Existing customers",
2097
+ "EXPECTED_DELIVERY_DATE": "Expected delivery date",
2098
+ "EXPECTED_DELIVERY_WEEK": "Expected delivery week",
1953
2099
  "FEMALE": "Female",
1954
2100
  "FIRST_NAME": "First name",
1955
2101
  "GOOD_DESCRIPTION": "Article description",
@@ -1976,11 +2122,14 @@ class Dictionary {
1976
2122
  "NUMBER": "Amount",
1977
2123
  "ON_DATE": "On date",
1978
2124
  "OPEN_SHOPPING_CART": "Open shopping cart",
2125
+ "ORDER_DATE": "Order date",
1979
2126
  "ORDER_GROSS": "Total gross amount",
1980
2127
  "ORDER_NET": "Total net amount",
2128
+ "ORDER_NUMBER": "Order number",
1981
2129
  "ORDER_TYPE": "Order type",
1982
2130
  "OVERVIEW": "Overview",
1983
2131
  "OWN_REFERENCE": "Own reference",
2132
+ "PAID_DOWN2": "Prepaid",
1984
2133
  "PART_DELIVERIES": "Partial deliveries",
1985
2134
  "PASSWORD": "Password",
1986
2135
  "PAYMENT": "Payment",
@@ -1993,6 +2142,8 @@ class Dictionary {
1993
2142
  "PRICE_LIST": "Pricelist",
1994
2143
  "PRIVACY_PREFERENCES": "Privacy preferences",
1995
2144
  "PRIVATE_PERSON": "Private",
2145
+ "PRODUCT": "Product",
2146
+ "PRODUCT_TYPE": "Product type",
1996
2147
  "QUANTITY_CANNOT_BE_ZERO_OR_EMPTY": "Quantity cannot be zero or empty",
1997
2148
  "QUANTUM_DISCOUNT": "Quantum discount",
1998
2149
  "REFERENCE_RELATION": "Ref. relation",
@@ -2000,6 +2151,9 @@ class Dictionary {
2000
2151
  "SALUTATION": "Salutation",
2001
2152
  "SAVE": "Save",
2002
2153
  "SELECT": "Select",
2154
+ "SERVICE_NUMBER": "Service number",
2155
+ "SERVICE_REQUEST_DATE": "Service request data",
2156
+ "SERVICE_STATE": "Service state",
2003
2157
  "SHOPPING_CART": "Shopping cart",
2004
2158
  "SHOPPING_CART_CHECKOUT": "Checkout",
2005
2159
  "SHOPPING_CART_OVERVIEW": "Order overview",
@@ -2011,17 +2165,21 @@ class Dictionary {
2011
2165
  "SUBTOTAL": "Subtotal",
2012
2166
  "SUGGESTIONS": "Suggestions",
2013
2167
  "SURCHARGE_AMOUNT": "Surcharge",
2168
+ "STATE": "STATUS",
2014
2169
  "STREET": "Streetname",
2170
+ "TOTAL_AMOUNT": "Total amount",
2015
2171
  "TOTAL_GROSS": "Gross total",
2016
2172
  "TOTAL_ASSEMBLY_TIME": "Total assembly time",
2017
2173
  "TRANSACTION_DISCOUNT": "Total transaction discount",
2018
2174
  "TRANSACTION_DISCOUNT_PERC": "% Trans. discount",
2019
2175
  "TRANSACTION_PRICE_DECLARATION": "Transaction price declaration",
2176
+ "TRANSACTION_SUM_I": "Ordertotal incl VAT",
2020
2177
  "TRANSACTION_TOTAL": "Transaction total",
2021
2178
  "UNKNOWN": "unknown",
2022
2179
  "UNKNOWN_ADDRESS_CHECK_IT": "Unknown address",
2023
2180
  "VALUE": "Value",
2024
2181
  "VAT": "VAT",
2182
+ "VAT_AMOUNT": "VAT amount",
2025
2183
  "WAREHOUSE": "Warehouse",
2026
2184
  "YOUR_DATA": "Your data",
2027
2185
  },
@@ -2099,6 +2257,12 @@ class TransactionEventService {
2099
2257
  this.addUserRelationShoppingCartModule = new Subject();
2100
2258
  this.addArticleLine = new Subject();
2101
2259
  this.addTextLine = new Subject();
2260
+ this.addArticleLineAt = new Subject();
2261
+ this.addTextLineAt = new Subject();
2262
+ this.changeLineSequence = new Subject();
2263
+ this.transactionLineClicked = new Subject();
2264
+ this.rightSidebarClose = new Subject();
2265
+ this.scrollContent = new Subject();
2102
2266
  }
2103
2267
  }
2104
2268
  TransactionEventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionEventService_Factory() { return new TransactionEventService(); }, token: TransactionEventService, providedIn: "root" });
@@ -2151,7 +2315,7 @@ CheckoutOverviewBlockComponent.decorators = [
2151
2315
  </div>
2152
2316
  </div>
2153
2317
  `,
2154
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-customer,.step-content-delivery{display:flex}.step-content-delivery,.flex-center{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-delivery,.step-content-customer{padding-bottom:20px}.step-content-delivery,.step-content-customer{padding-top:20px}.step-content-delivery,.step-content-customer{padding-left:20px}.step-content-delivery,.step-content-customer{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n"]
2318
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-delivery,.step-content-customer{display:flex}.flex-center,.step-content-delivery{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-customer,.step-content-delivery{padding-bottom:20px}.step-content-customer,.step-content-delivery{padding-top:20px}.step-content-customer,.step-content-delivery{padding-left:20px}.step-content-customer,.step-content-delivery{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n"]
2155
2319
  },] }
2156
2320
  ];
2157
2321
  CheckoutOverviewBlockComponent.ctorParameters = () => [];
@@ -2526,7 +2690,7 @@ CheckoutOverviewRelationEditComponent.decorators = [
2526
2690
  </co-sidebar>
2527
2691
 
2528
2692
  `,
2529
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-customer,.step-content-delivery{display:flex}.step-content-delivery,.flex-center{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-delivery,.step-content-customer{padding-bottom:20px}.step-content-delivery,.step-content-customer{padding-top:20px}.step-content-delivery,.step-content-customer{padding-left:20px}.step-content-delivery,.step-content-customer{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n", ".relation-sidebar-header{margin-left:5px}\n"]
2693
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-delivery,.step-content-customer{display:flex}.flex-center,.step-content-delivery{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-customer,.step-content-delivery{padding-bottom:20px}.step-content-customer,.step-content-delivery{padding-top:20px}.step-content-customer,.step-content-delivery{padding-left:20px}.step-content-customer,.step-content-delivery{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n", ".relation-sidebar-header{margin-left:5px}\n"]
2530
2694
  },] }
2531
2695
  ];
2532
2696
  CheckoutOverviewRelationEditComponent.ctorParameters = () => [
@@ -2923,8 +3087,8 @@ CheckoutOverviewDeliveryEditComponent.decorators = [
2923
3087
  <co-grid #addressGrid
2924
3088
  [data]="addresses"
2925
3089
  [columns]="columns"
2926
- [pagingEnabled]="'true'"
2927
- [maxNumberOfRows]="'20'"
3090
+ [pagingEnabled]="true"
3091
+ [maxNumberOfRows]="20"
2928
3092
  (rowsSelected)="handleAddressSelected($event)"
2929
3093
  ></co-grid>
2930
3094
  </div>
@@ -2936,7 +3100,7 @@ CheckoutOverviewDeliveryEditComponent.decorators = [
2936
3100
  </co-form>
2937
3101
  </co-dialog>
2938
3102
  `,
2939
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-customer,.step-content-delivery{display:flex}.step-content-delivery,.flex-center{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-delivery,.step-content-customer{padding-bottom:20px}.step-content-delivery,.step-content-customer{padding-top:20px}.step-content-delivery,.step-content-customer{padding-left:20px}.step-content-delivery,.step-content-customer{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n", ".container-button-change-address{margin-top:5px}\n"]
3103
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-delivery,.step-content-customer{display:flex}.flex-center,.step-content-delivery{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-customer,.step-content-delivery{padding-bottom:20px}.step-content-customer,.step-content-delivery{padding-top:20px}.step-content-customer,.step-content-delivery{padding-left:20px}.step-content-customer,.step-content-delivery{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n", ".container-button-change-address{margin-top:5px}\n"]
2940
3104
  },] }
2941
3105
  ];
2942
3106
  CheckoutOverviewDeliveryEditComponent.ctorParameters = () => [
@@ -3116,7 +3280,7 @@ CheckoutOverviewComponent.decorators = [
3116
3280
  </ng-container>
3117
3281
  </checkout-overview-block>
3118
3282
  `,
3119
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-customer,.step-content-delivery{display:flex}.step-content-delivery,.flex-center{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-delivery,.step-content-customer{padding-bottom:20px}.step-content-delivery,.step-content-customer{padding-top:20px}.step-content-delivery,.step-content-customer{padding-left:20px}.step-content-delivery,.step-content-customer{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n"]
3283
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-delivery,.step-content-customer{display:flex}.flex-center,.step-content-delivery{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-customer,.step-content-delivery{padding-bottom:20px}.step-content-customer,.step-content-delivery{padding-top:20px}.step-content-customer,.step-content-delivery{padding-left:20px}.step-content-customer,.step-content-delivery{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n"]
3120
3284
  },] }
3121
3285
  ];
3122
3286
  CheckoutOverviewComponent.ctorParameters = () => [];
@@ -3263,7 +3427,7 @@ CheckoutComponent.decorators = [
3263
3427
  <div class="step-content-customer"></div>
3264
3428
  </div>
3265
3429
  `,
3266
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-customer,.step-content-delivery{display:flex}.step-content-delivery,.flex-center{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-delivery,.step-content-customer{padding-bottom:20px}.step-content-delivery,.step-content-customer{padding-top:20px}.step-content-delivery,.step-content-customer{padding-left:20px}.step-content-delivery,.step-content-customer{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n"]
3430
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-delivery,.step-content-customer{display:flex}.flex-center,.step-content-delivery{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-customer,.step-content-delivery{padding-bottom:20px}.step-content-customer,.step-content-delivery{padding-top:20px}.step-content-customer,.step-content-delivery{padding-left:20px}.step-content-customer,.step-content-delivery{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n"]
3267
3431
  },] }
3268
3432
  ];
3269
3433
  CheckoutComponent.ctorParameters = () => [
@@ -3653,7 +3817,7 @@ CheckoutOverviewRelationAddressComponent.decorators = [
3653
3817
  </div>
3654
3818
  </div>
3655
3819
  `,
3656
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-customer,.step-content-delivery{display:flex}.step-content-delivery,.flex-center{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-delivery,.step-content-customer{padding-bottom:20px}.step-content-delivery,.step-content-customer{padding-top:20px}.step-content-delivery,.step-content-customer{padding-left:20px}.step-content-delivery,.step-content-customer{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n"]
3820
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-delivery,.step-content-customer{display:flex}.flex-center,.step-content-delivery{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-customer,.step-content-delivery{padding-bottom:20px}.step-content-customer,.step-content-delivery{padding-top:20px}.step-content-customer,.step-content-delivery{padding-left:20px}.step-content-customer,.step-content-delivery{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n"]
3657
3821
  },] }
3658
3822
  ];
3659
3823
  CheckoutOverviewRelationAddressComponent.ctorParameters = () => [
@@ -3698,7 +3862,7 @@ CheckoutOverviewDeliveryAddressComponent.decorators = [
3698
3862
  </div>
3699
3863
  </div>
3700
3864
  `,
3701
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-customer,.step-content-delivery{display:flex}.step-content-delivery,.flex-center{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-delivery,.step-content-customer{padding-bottom:20px}.step-content-delivery,.step-content-customer{padding-top:20px}.step-content-delivery,.step-content-customer{padding-left:20px}.step-content-delivery,.step-content-customer{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n", ""]
3865
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.overview-header .overview-step-nr{border-radius:50%}.flex-center,.step-content-delivery,.step-content-customer{display:flex}.flex-center,.step-content-delivery{flex-direction:row}.step-content-customer{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.step-content-customer,.step-content-delivery{padding-bottom:20px}.step-content-customer,.step-content-delivery{padding-top:20px}.step-content-customer,.step-content-delivery{padding-left:20px}.step-content-customer,.step-content-delivery{padding-right:20px}.overview-body{padding-left:30px}.overview-body{padding-right:30px}.overview-body{padding-top:30px}.overview-body{padding-bottom:30px}ul.cart-buttons>li{padding-left:11px}ul.cart-buttons>li{padding-right:11px}ul.cart-buttons{margin-top:20px}ul.cart-buttons{margin-bottom:20px}.overview-header .overview-step-nr{color:#f7fafa}.overview-header .overview-step-nr{background-color:#2b60a7}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}.checkout-viewport{max-width:60%;margin-left:20%}.mat-label{font-family:Montserrat,Arial,Helvetica,sans-serif}.default-flex-row{flex-direction:row;box-sizing:border-box;grid-column-gap:20px;-moz-column-gap:20px;column-gap:20px;display:flex}.default-flex-column{display:flex;flex-direction:column;width:200px}.privacy-row{display:flex;flex-direction:row;margin-bottom:20px}.privacy-column-left{display:flex;flex-direction:column;min-width:150px;max-width:150px;overflow-wrap:break-word}.privacy-column-right{display:flex;flex-direction:row;margin-left:50px}.checkout-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.checkout-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}co-input-radio-button{margin-left:16px}.checkout-overview h2{font-size:18px;font-weight:bold}.checkout-overview h3{font-size:15px}mat-horizontal-stepper{position:sticky;top:0;z-index:30}::ng-deep .mat-horizontal-content-container{display:none}.step-content-customer{background-color:#fff}.step-content-delivery{background-color:#fff}::ng-deep .step-wrapper{width:auto;background:rgba(255,255,255,.25)}::ng-deep .step-wrapper button-colijn{margin-top:20px}::ng-deep .step-wrapper.payment{align-items:center!important;justify-content:left!important}.overview-header{background:rgba(255,255,255,.25);border-top-left-radius:5px;border-top-right-radius:5px}.overview-header .overview-step-nr{width:20px;height:20px;text-align:center;font-weight:bold}.overview-body{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.overview-body .contact-option-value{align-self:center}.overview-header-label{font-weight:bold}.overview-label{font-weight:bold}ul.cart-buttons{display:flex;justify-content:space-between;flex-wrap:nowrap;list-style-type:none}ul.cart-buttons>li{display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:40px;background-color:#f7fafa;cursor:pointer;font-size:15px;color:#2b60a7;border:1px solid #DCE4EA;border-radius:5px;opacity:1}ul.cart-buttons>li a{white-space:nowrap}\n", ""]
3702
3866
  },] }
3703
3867
  ];
3704
3868
  CheckoutOverviewDeliveryAddressComponent.ctorParameters = () => [
@@ -3790,7 +3954,7 @@ CheckOutRelationSuggestionsListItemComponent.decorators = [
3790
3954
  </div>
3791
3955
  <co-button [label]="'SELECT' | localize" class="popup rounded" (click)="buttonClick.emit($event)"></co-button>
3792
3956
  `,
3793
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}:host,.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}:host{flex-shrink:0}:host{padding-top:11px}:host{padding-bottom:11px}div.email,div.address,div.phone{padding-bottom:5px}:host{padding-top:20px}div.right,:host{padding-left:11px}:host{padding-right:11px}:host{position:relative}:host:hover co-button.popup{visibility:visible}co-button.popup{position:absolute!important}co-button.popup{transform:translate(-50%,-50%)}co-button.popup{top:50%;left:50%;margin-right:-50%}co-button.popup{visibility:hidden}div.name{font-weight:bold}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{background-color:#fff;border:1px solid #DCE4EA;border-radius:5px;margin:5px;max-width:250px}:host:hover{background-color:#e8eceb}div.name{font-size:15px}div.email,div.address,div.phone{color:#747b87;font-size:13px}div.right{display:flex;flex-direction:column;justify-content:center}\n"]
3957
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center,:host{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}:host{flex-shrink:0}:host{padding-top:11px}:host{padding-bottom:11px}div.email,div.address,div.phone{padding-bottom:5px}:host{padding-top:20px}:host,div.right{padding-left:11px}:host{padding-right:11px}:host{position:relative}:host:hover co-button.popup{visibility:visible}co-button.popup{position:absolute!important}co-button.popup{transform:translate(-50%,-50%)}co-button.popup{top:50%;left:50%;margin-right:-50%}co-button.popup{visibility:hidden}div.name{font-weight:bold}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{background-color:#fff;border:1px solid #DCE4EA;border-radius:5px;margin:5px;max-width:250px}:host:hover{background-color:#e8eceb}div.name{font-size:15px}div.email,div.address,div.phone{color:#747b87;font-size:13px}div.right{display:flex;flex-direction:column;justify-content:center}\n"]
3794
3958
  },] }
3795
3959
  ];
3796
3960
  CheckOutRelationSuggestionsListItemComponent.ctorParameters = () => [];
@@ -4022,7 +4186,7 @@ ImageDisplayComponent.decorators = [
4022
4186
  <ng-content></ng-content>
4023
4187
  </div>
4024
4188
  `,
4025
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}div.img-wrapper,:host,.flex-center{display:flex}.flex-center{flex-direction:row}div.img-wrapper,:host,.flex-center{align-items:center!important;justify-content:center!important}div.image,div.img-wrapper,:host{width:100%}div.image,div.img-wrapper,:host{height:100%}div.img-wrapper{position:relative}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host.cover-image div.image{background-size:cover}:host.circle .img-wrapper,:host.circle .image{border-radius:50%}div.image{background-repeat:no-repeat;background-size:contain;background-position:center center}\n"]
4189
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center,:host,div.img-wrapper{display:flex}.flex-center{flex-direction:row}.flex-center,:host,div.img-wrapper{align-items:center!important;justify-content:center!important}:host,div.img-wrapper,div.image{width:100%}:host,div.img-wrapper,div.image{height:100%}div.img-wrapper{position:relative}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host.cover-image div.image{background-size:cover}:host.circle .img-wrapper,:host.circle .image{border-radius:50%}div.image{background-repeat:no-repeat;background-size:contain;background-position:center center}\n"]
4026
4190
  },] }
4027
4191
  ];
4028
4192
  ImageDisplayComponent.propDecorators = {
@@ -4075,9 +4239,10 @@ class IconComponent {
4075
4239
  }
4076
4240
  IconComponent.decorators = [
4077
4241
  { type: Component, args: [{
4242
+ // eslint-disable-next-line @angular-eslint/component-selector
4078
4243
  selector: "icon",
4079
4244
  template: "",
4080
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}:host.circle{border-radius:50%}.flex-center{display:flex}:host{display:inline-flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}:host.no-shrink{flex-shrink:0}:host.action ::ng-deep{cursor:pointer}:host ::ng-deep svg{width:100%}:host ::ng-deep svg{height:100%}:host.massive{width:100px;height:100px}:host.humongous{width:70px;height:70px}:host.very-big{width:45px;height:45px}:host.big{width:40px;height:40px}:host{width:30px;height:30px}:host.small{width:25px;height:25px}:host.nano{width:18px;height:18px}:host.pico{width:14px;height:14px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host.dark ::ng-deep [fill]{fill:#22313c}:host.light ::ng-deep [fill]{fill:#fff}:host.red ::ng-deep [fill]{fill:#c1002a}:host.grey ::ng-deep [fill]{fill:#dad9d9}:host.action-color ::ng-deep [fill]{fill:#2b60a7}:host.inactive{opacity:.25}:host.disabled{opacity:.25!important}:host:hover.action ::ng-deep [fill]{fill:#2b60a7}\n"]
4245
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.circle:host{border-radius:50%}.flex-center{display:flex}:host{display:inline-flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.no-shrink:host{flex-shrink:0}:host.action ::ng-deep{cursor:pointer}:host ::ng-deep svg{width:100%}:host ::ng-deep svg{height:100%}.massive:host{width:100px;height:100px}.humongous:host{width:70px;height:70px}.very-big:host{width:45px;height:45px}.big:host{width:40px;height:40px}:host{width:30px;height:30px}.small:host{width:25px;height:25px}.nano:host{width:18px;height:18px}.pico:host{width:14px;height:14px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host.dark ::ng-deep [fill]{fill:#22313c}:host.light ::ng-deep [fill]{fill:#fff}:host.red ::ng-deep [fill]{fill:#c1002a}:host.grey ::ng-deep [fill]{fill:#dad9d9}:host.action-color ::ng-deep [fill]{fill:#2b60a7}:host.inactive{opacity:.25}:host.disabled{opacity:.25!important}:host:hover.action ::ng-deep [fill]{fill:#2b60a7}\n"]
4081
4246
  },] }
4082
4247
  ];
4083
4248
  IconComponent.ctorParameters = () => [
@@ -4161,7 +4326,6 @@ IoneCheckoutModule.decorators = [
4161
4326
  IoneCheckoutComponent,
4162
4327
  ],
4163
4328
  providers: [
4164
- IOneConnectorAdapterService,
4165
4329
  DictionaryService,
4166
4330
  TransactionService,
4167
4331
  OptionsService
@@ -4174,6 +4338,12 @@ IoneCheckoutModule.decorators = [
4174
4338
  },] }
4175
4339
  ];
4176
4340
 
4341
+ var PositionGridRow;
4342
+ (function (PositionGridRow) {
4343
+ PositionGridRow["Before"] = "before";
4344
+ PositionGridRow["After"] = "after";
4345
+ })(PositionGridRow || (PositionGridRow = {}));
4346
+
4177
4347
  class ShoppingCartManagerComponent {
4178
4348
  constructor(service, transactionEvents, promptService, _dictionaryService) {
4179
4349
  this.service = service;
@@ -4203,6 +4373,12 @@ class ShoppingCartManagerComponent {
4203
4373
  }), this.transactionEvents.addToCartBySku.subscribe((params) => {
4204
4374
  this.waitForLinesChangedToOpenCart = params.popCart;
4205
4375
  this.addToCart(params.sku, params.amount).then();
4376
+ }), this.transactionEvents.addArticleLineAt.subscribe((params) => {
4377
+ this.addArticleLineToCartAt(params.sku, params.amount, params.lineNr, params.beforeOrAfter).then();
4378
+ }), this.transactionEvents.addTextLineAt.subscribe((params) => {
4379
+ this.addTextLineToCartAt(params.text, params.lineNr, params.beforeOrAfter).then();
4380
+ }), this.transactionEvents.changeLineSequence.subscribe((params) => {
4381
+ this.changeLineSequence(params.fromIndex, params.toIndex).then();
4206
4382
  }), this.transactionEvents.addToCartBySelectorResult.subscribe((params) => {
4207
4383
  this.waitForLinesChangedToOpenCart = params.popCart;
4208
4384
  this.addToCartBySelectorResult(params.selectorResult).then();
@@ -4244,6 +4420,41 @@ class ShoppingCartManagerComponent {
4244
4420
  this.articleAdded.emit();
4245
4421
  });
4246
4422
  }
4423
+ addArticleLineToCartAt(sku, amount, lineNr, beforeOrAfter) {
4424
+ return __awaiter(this, void 0, void 0, function* () {
4425
+ const goodId = yield this.service.getGoodIdFromArticleNr(sku);
4426
+ yield this._loadArticle(goodId);
4427
+ yield this._createTransaction();
4428
+ yield this._handleAddArticleLineAt(amount, lineNr, beforeOrAfter);
4429
+ this.articleAdded.emit();
4430
+ });
4431
+ }
4432
+ addTextLineToCartAt(text, lineNr, beforeOrAfter) {
4433
+ return __awaiter(this, void 0, void 0, function* () {
4434
+ yield this.service.addTextLineToTransaction(0, text, 0, false, 0, beforeOrAfter === PositionGridRow.Before ? lineNr : undefined, beforeOrAfter === PositionGridRow.After ? lineNr : undefined)
4435
+ .then((value) => {
4436
+ this._handleLineOperationStatus();
4437
+ }, (error) => this.promptService.showError(error));
4438
+ });
4439
+ }
4440
+ changeLineSequence(fromIndex, toIndex) {
4441
+ return __awaiter(this, void 0, void 0, function* () {
4442
+ let fromLine = this._getTransactionLineInfoByIndex(fromIndex);
4443
+ let toLine = this._getTransactionLineInfoByIndex(toIndex);
4444
+ let aboveLineNr;
4445
+ let belowLineNr;
4446
+ if (fromIndex > toIndex) {
4447
+ aboveLineNr = toLine.lineNr;
4448
+ }
4449
+ else {
4450
+ belowLineNr = toLine.lineNr;
4451
+ }
4452
+ yield this.service.changeLineSequence(fromLine.uuid, aboveLineNr, belowLineNr)
4453
+ .then((value) => {
4454
+ this._handleLineOperationStatus();
4455
+ }, (error) => this.promptService.showError(error));
4456
+ });
4457
+ }
4247
4458
  addToCartBySelectorResult(result) {
4248
4459
  return __awaiter(this, void 0, void 0, function* () {
4249
4460
  yield this._loadArticle(result.goodId);
@@ -4316,7 +4527,7 @@ class ShoppingCartManagerComponent {
4316
4527
  }
4317
4528
  else {
4318
4529
  if (this.editingLine === undefined) {
4319
- yield this.service.addTransactionLine(TransactionLineType.ArticleLine, this.newArticleNr, this.amount, this.selectedWarehouseNr, this.commissionCode, this.isReturn)
4530
+ yield this.service.addTransactionLine(TransactionLineType.ArticleLine, this.newArticleNr, this.amount, this.selectedWarehouseNr, this.commissionCode, this.isReturn, 0, 0)
4320
4531
  .then((value) => {
4321
4532
  this._handleLineOperationStatus();
4322
4533
  });
@@ -4352,7 +4563,15 @@ class ShoppingCartManagerComponent {
4352
4563
  }
4353
4564
  _handleAddArticle(amount = 1) {
4354
4565
  return __awaiter(this, void 0, void 0, function* () {
4355
- yield this.service.addTransactionLine(TransactionLineType.ArticleLine, this.newArticleNr, amount, this.newArticle.standardWareHouse, this.newArticle.commissionCode)
4566
+ yield this.service.addTransactionLine(TransactionLineType.ArticleLine, this.newArticleNr, amount, this.newArticle.standardWareHouse, this.newArticle.commissionCode, false, 0, 0)
4567
+ .then((value) => {
4568
+ this._handleLineOperationStatus();
4569
+ }, (error) => this.promptService.showError(error));
4570
+ });
4571
+ }
4572
+ _handleAddArticleLineAt(amount, lineNr, beforeOrAfter) {
4573
+ return __awaiter(this, void 0, void 0, function* () {
4574
+ yield this.service.addTransactionLine(TransactionLineType.ArticleLine, this.newArticleNr, amount, this.newArticle.standardWareHouse, this.newArticle.commissionCode, false, beforeOrAfter === PositionGridRow.Before ? lineNr : undefined, beforeOrAfter === PositionGridRow.After ? lineNr : undefined)
4356
4575
  .then((value) => {
4357
4576
  this._handleLineOperationStatus();
4358
4577
  }, (error) => this.promptService.showError(error));
@@ -4486,9 +4705,19 @@ class ShoppingCartManagerComponent {
4486
4705
  // eslint-disable-next-line no-magic-numbers
4487
4706
  }, 1000);
4488
4707
  }
4708
+ _getLineUuidByLineNr(lineNr) {
4709
+ const transactionLine = this.service.currentLines.filter(transLines => transLines.lineNr === lineNr);
4710
+ return transactionLine[0].uuid;
4711
+ }
4712
+ _getTransactionLineInfoByIndex(index) {
4713
+ if (index >= 0 && index < this.service.currentLines.length) {
4714
+ return this.service.currentLines[index];
4715
+ }
4716
+ }
4489
4717
  }
4490
4718
  ShoppingCartManagerComponent.decorators = [
4491
4719
  { type: Component, args: [{
4720
+ // eslint-disable-next-line @angular-eslint/component-selector
4492
4721
  selector: "shopping-cart-manager",
4493
4722
  template: `
4494
4723
  <co-dialog #warehouseDialog
@@ -4536,7 +4765,7 @@ ShoppingCartManagerComponent.decorators = [
4536
4765
  (okClick)="handleCharacteristicAnswerOkClick($event)"
4537
4766
  ></characteristic-answer>
4538
4767
  `,
4539
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.warehouse-line-container,.flex-center{display:flex}.warehouse-line-container,.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.commission-fields,::ng-deep #warehouseDialog ::ng-deep .form-content .message-field{margin-left:11px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}::ng-deep #warehouseDialog{align-items:center;max-height:100%}::ng-deep #warehouseDialog ::ng-deep co-form{height:100%;width:500px}::ng-deep #warehouseDialog ::ng-deep .form-content{height:calc(100% - 80px);width:100%}::ng-deep #warehouseDialog ::ng-deep .form-content .message-field{height:20px;word-wrap:break-word;white-space:normal}co-button:not(:last-child){margin-right:10px}.commission-fields{justify-content:space-between;margin:10px 0}.warehouse-description-item{width:15rem}.warehouse-nr-item{width:5rem}co-input-number-picker co-button{max-width:20px}\n"]
4768
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center,.warehouse-line-container{display:flex}.flex-center,.warehouse-line-container{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}::ng-deep #warehouseDialog ::ng-deep .form-content .message-field,.commission-fields{margin-left:11px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}::ng-deep #warehouseDialog{align-items:center;max-height:100%}::ng-deep #warehouseDialog ::ng-deep co-form{height:100%;width:500px}::ng-deep #warehouseDialog ::ng-deep .form-content{height:calc(100% - 80px);width:100%}::ng-deep #warehouseDialog ::ng-deep .form-content .message-field{height:20px;word-wrap:break-word;white-space:normal}co-button:not(:last-child){margin-right:10px}.commission-fields{justify-content:space-between;margin:10px 0}.warehouse-description-item{width:15rem}.warehouse-nr-item{width:5rem}co-input-number-picker co-button{max-width:20px}\n"]
4540
4769
  },] }
4541
4770
  ];
4542
4771
  ShoppingCartManagerComponent.ctorParameters = () => [
@@ -4571,12 +4800,6 @@ var ContentViewMode;
4571
4800
  ContentViewMode[ContentViewMode["Timeline"] = 4] = "Timeline";
4572
4801
  })(ContentViewMode || (ContentViewMode = {}));
4573
4802
 
4574
- var PositionGridRow;
4575
- (function (PositionGridRow) {
4576
- PositionGridRow["Before"] = "before";
4577
- PositionGridRow["After"] = "after";
4578
- })(PositionGridRow || (PositionGridRow = {}));
4579
-
4580
4803
  class ShoppingCartComponent {
4581
4804
  constructor(iconCacheService, _dictionary, service, _transactionEvents, _changeDetector) {
4582
4805
  this.iconCacheService = iconCacheService;
@@ -4603,7 +4826,7 @@ class ShoppingCartComponent {
4603
4826
  });
4604
4827
  this.setFilteredCollection(this.service.currentLines);
4605
4828
  const mediaQuery = "(min-width: 500px)";
4606
- this.columns.push({ field: "lineNr", headerText: this._dictionary.get("NR"), allowFiltering: false }, { field: "articleNumber", headerText: this._dictionary.get("ARTICLE_NR") }, { field: "goodDescription", headerText: this._dictionary.get("GOOD_DESCRIPTION"), hideAtMedia: mediaQuery }, { field: "amount", headerText: this._dictionary.get("NUMBER"), textAlign: "Right" }, { field: "price", headerText: this._dictionary.get("PRICE"), format: "C2", textAlign: "Right" }, { field: "priceListCode", headerText: this._dictionary.get("PRICE_LIST"), hideAtMedia: mediaQuery }, { field: "lineDiscount", headerText: this._dictionary.get("DISCOUNT_PERCENTAGE"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "specialDiscount", headerText: this._dictionary.get("SPECIAL_DISCOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "discountAmount", headerText: this._dictionary.get("DISCOUNT_AMOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "surchargeAmount", headerText: this._dictionary.get("SURCHARGE_AMOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "assemblyCost", headerText: this._dictionary.get("ASSEMBLY_COSTS"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "grossLineTotal", headerText: this._dictionary.get("TOTAL_GROSS"), format: "C2", visible: true, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "lineTotalDiscountAmount", headerText: this._dictionary.get("DISCOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "netLineTotal", headerText: this._dictionary.get("SUBTOTAL"), format: "C2", visible: false, textAlign: "Right" }, { field: "vatId", headerText: this._dictionary.get("VAT"), hideAtMedia: mediaQuery, visible: false, textAlign: "Right" }, { field: "priceDeclaration", headerText: this._dictionary.get("TRANSACTION_PRICE_DECLARATION"), visible: false, hideAtMedia: mediaQuery }, { field: "netto", headerText: this._dictionary.get("NETT"), format: "C2", hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "warehouseNumber", headerText: this._dictionary.get("WAREHOUSE"), hideAtMedia: mediaQuery, textAlign: "Right" });
4829
+ this.columns.push({ field: "lineNr", headerText: this._dictionary.get("NR"), allowFiltering: false, allowSorting: false }, { field: "text", headerText: this._dictionary.get("TEXT") }, { field: "articleNumber", headerText: this._dictionary.get("ARTICLE_NR") }, { field: "goodDescription", headerText: this._dictionary.get("GOOD_DESCRIPTION"), hideAtMedia: mediaQuery }, { field: "amount", headerText: this._dictionary.get("NUMBER"), textAlign: "Right" }, { field: "price", headerText: this._dictionary.get("PRICE"), format: "C2", textAlign: "Right" }, { field: "priceListCode", headerText: this._dictionary.get("PRICE_LIST"), hideAtMedia: mediaQuery }, { field: "lineDiscount", headerText: this._dictionary.get("DISCOUNT_PERCENTAGE"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "specialDiscount", headerText: this._dictionary.get("SPECIAL_DISCOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "discountAmount", headerText: this._dictionary.get("DISCOUNT_AMOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "surchargeAmount", headerText: this._dictionary.get("SURCHARGE_AMOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "assemblyCost", headerText: this._dictionary.get("ASSEMBLY_COSTS"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "grossLineTotal", headerText: this._dictionary.get("TOTAL_GROSS"), format: "C2", visible: true, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "lineTotalDiscountAmount", headerText: this._dictionary.get("DISCOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "netLineTotal", headerText: this._dictionary.get("SUBTOTAL"), format: "C2", visible: false, textAlign: "Right" }, { field: "vatId", headerText: this._dictionary.get("VAT"), hideAtMedia: mediaQuery, visible: false, textAlign: "Right" }, { field: "priceDeclaration", headerText: this._dictionary.get("TRANSACTION_PRICE_DECLARATION"), visible: false, hideAtMedia: mediaQuery }, { field: "netto", headerText: this._dictionary.get("NETT"), format: "C2", hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "warehouseNumber", headerText: this._dictionary.get("WAREHOUSE"), hideAtMedia: mediaQuery, textAlign: "Right" });
4607
4830
  this.contextMenuItems.push({ text: this._dictionary.get("ADD_ARTICLE_LINE_UP"), target: ".e-content", id: "articleLineUp" }, { text: this._dictionary.get("ADD_ARTICLE_LINE_DOWN"), target: ".e-content", id: "articleLineDown" }, { text: this._dictionary.get("ADD_ARTICLE_TEXT_LINE_UP"), target: ".e-content", id: "articleTextLineUp" }, { text: this._dictionary.get("ADD_ARTICLE_TEXT_LINE_DOWN"), target: ".e-content", id: "articleTextLineDown" });
4608
4831
  }
4609
4832
  get filteredCollection() {
@@ -4617,7 +4840,7 @@ class ShoppingCartComponent {
4617
4840
  property: "lineNr",
4618
4841
  type: SortType.Number
4619
4842
  };
4620
- SortUtils.SortObjectArray(this._filteredCollection, [sortByLineNr]);
4843
+ // SortUtils.SortObjectArray(this._filteredCollection, [sortByLineNr]);
4621
4844
  }
4622
4845
  ngAfterViewInit() {
4623
4846
  this.hideSidebar();
@@ -4698,28 +4921,27 @@ class ShoppingCartComponent {
4698
4921
  const lineNr = this._selectedRow.lineNr;
4699
4922
  switch (args.item.id) {
4700
4923
  case "articleLineUp":
4701
- this._transactionEvents.addArticleLine.next({ lineNr: lineNr, beforeOrAfter: PositionGridRow.Before });
4924
+ // this._transactionEvents.addArticleLine.next({lineNr: lineNr, beforeOrAfter: PositionGridRow.Before});
4925
+ this._transactionEvents.addArticleLineAt.next({ sku: "iPod", amount: 1, lineNr: lineNr, beforeOrAfter: PositionGridRow.Before });
4702
4926
  break;
4703
4927
  case "articleLineDown":
4704
- this._transactionEvents.addArticleLine.next({ lineNr: lineNr, beforeOrAfter: PositionGridRow.After });
4928
+ // this._transactionEvents.addArticleLine.next({lineNr: lineNr, beforeOrAfter: PositionGridRow.After});
4929
+ this._transactionEvents.addArticleLineAt.next({ sku: "iPod", amount: 1, lineNr: lineNr, beforeOrAfter: PositionGridRow.After });
4705
4930
  break;
4706
4931
  case "articleTextLineUp":
4707
- this._transactionEvents.addTextLine.next({ lineNr: lineNr, beforeOrAfter: PositionGridRow.Before });
4932
+ // this._transactionEvents.addTextLine.next({lineNr: lineNr, beforeOrAfter: PositionGridRow.Before});
4933
+ this._transactionEvents.addTextLineAt.next({ text: "textregel before", lineNr: lineNr, beforeOrAfter: PositionGridRow.Before });
4708
4934
  break;
4709
4935
  case "articleTextLineDown":
4710
- this._transactionEvents.addTextLine.next({ lineNr: lineNr, beforeOrAfter: PositionGridRow.After });
4936
+ // this._transactionEvents.addTextLine.next({lineNr: lineNr, beforeOrAfter: PositionGridRow.After});
4937
+ this._transactionEvents.addTextLineAt.next({ text: "textregel after", lineNr: lineNr, beforeOrAfter: PositionGridRow.After });
4711
4938
  break;
4712
4939
  }
4713
4940
  }
4714
- rowDragStart(args) {
4715
- // @ts-ignore
4716
- // tslint:disable-next-line:no-console
4717
- console.log("Drag start -> Nummer: " + args.data[0].Nummer + ", Index: " + args.fromIndex);
4718
- }
4719
4941
  rowDrop(args) {
4720
- // @ts-ignore
4721
- // tslint:disable-next-line:no-console
4722
- console.log("Drop -> Nummer: " + args.data[0].Nummer + ", drag Index: " + args.fromIndex + ", drop Index: " + args.dropIndex);
4942
+ this._transactionEvents.changeLineSequence.next({ fromIndex: args.fromIndex, toIndex: args.dropIndex });
4943
+ // Transaction lines will be reloaded by previous action on success, not by failure. So, cancel the drop in all cases.
4944
+ args.cancel = true;
4723
4945
  }
4724
4946
  }
4725
4947
  ShoppingCartComponent.decorators = [
@@ -4754,12 +4976,12 @@ ShoppingCartComponent.decorators = [
4754
4976
  [data]="filteredCollection"
4755
4977
  [rowDragAndDropEnabled]="true"
4756
4978
  [contextMenuItems]="contextMenuItems"
4979
+ [sortingEnabled]="false"
4757
4980
  [columns]="columns"
4758
4981
  [pagingEnabled]="'true'"
4759
4982
  [maxNumberOfRows]="'20'"
4760
4983
  (rowsSelected)="handleRowsSelected($event)"
4761
4984
  (contextMenuItemClick)="menuItemClick($event)"
4762
- (rowDragStartEvent)="rowDragStart($event)"
4763
4985
  (rowDropEvent)="rowDrop($event)"
4764
4986
  ></co-grid>
4765
4987
  </div>
@@ -4862,6 +5084,19 @@ ShoppingCartComponent.propDecorators = {
4862
5084
  overview: [{ type: Output }]
4863
5085
  };
4864
5086
 
5087
+ // <co-sidebar #catalogSidebar isOpen="false" *ngIf="showCatalogSidebar">
5088
+ // <div class="relation-sidebar-header">
5089
+ // <label [textContent]="'ARTICLE' | localize "
5090
+ // class="checkout-label-h3"
5091
+ // ></label>
5092
+ // </div>
5093
+ // <app-ione-catalog
5094
+ // [settings]="options"
5095
+ // [parameters]="{publicationCode: 71}"
5096
+ // (onAddToCart)="addToCart($event)"
5097
+ // (onAddArticleButtonClick)="addArticleButtonClick($event)"
5098
+ // ></app-ione-catalog>
5099
+ // </co-sidebar>
4865
5100
  class IoneShoppingCartComponent {
4866
5101
  constructor(_changeDetector, _optionsService, _connector, _dictionary, _service, transactionEvents, _promptService) {
4867
5102
  this._changeDetector = _changeDetector;
@@ -4877,6 +5112,11 @@ class IoneShoppingCartComponent {
4877
5112
  this.closeCart = new EventEmitter();
4878
5113
  this.checkout = new EventEmitter();
4879
5114
  this.overview = new EventEmitter();
5115
+ this.addArticleLine = new EventEmitter();
5116
+ this.addTextLine = new EventEmitter();
5117
+ this.showCatalogSidebar = false;
5118
+ this.currentArticleLineNr = 0;
5119
+ this.currentPositionGridRow = PositionGridRow.After;
4880
5120
  this.show = false;
4881
5121
  this.amountOfLines = 0;
4882
5122
  this.upAndLoaded = false;
@@ -4884,24 +5124,26 @@ class IoneShoppingCartComponent {
4884
5124
  this._subscriptions = [];
4885
5125
  this._remoteOptions = true;
4886
5126
  this._publicOptions = true;
4887
- this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
5127
+ this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)), this.transactionEvents.addArticleLine.subscribe(args => this._handleAddArticleLine(args)), this.transactionEvents.addTextLine.subscribe(args => this._handleAddTextLine(args)));
4888
5128
  }
4889
5129
  set options(value) {
4890
5130
  if (value) {
4891
- let options;
4892
5131
  if (typeof value === "string") {
4893
- options = JSON.parse(value);
5132
+ this._options = JSON.parse(value);
4894
5133
  }
4895
5134
  else {
4896
- options = value;
5135
+ this._options = value;
4897
5136
  }
4898
5137
  this._publicOptions = true;
4899
- this._optionsService.initialize(options).then();
5138
+ this._optionsService.initialize(this._options).then();
4900
5139
  }
4901
5140
  }
4902
5141
  get transactionNr() {
4903
5142
  return this._service.currentTransaction.transactionNr;
4904
5143
  }
5144
+ get options() {
5145
+ return this._options;
5146
+ }
4905
5147
  ngOnInit() {
4906
5148
  if (!this._publicOptions) {
4907
5149
  this._optionsService.initializeDevelopmentOptions(this._remoteOptions);
@@ -4925,6 +5167,18 @@ class IoneShoppingCartComponent {
4925
5167
  addArticle(articleNo, amount) {
4926
5168
  this.transactionEvents.addToCartBySku.next({ sku: articleNo, amount: amount, popCart: true });
4927
5169
  }
5170
+ addArticleButtonClick(article) {
5171
+ this.transactionEvents.addArticleLineAt.next({ sku: article.articleNumber, amount: 1, lineNr: this.currentArticleLineNr, beforeOrAfter: this.currentPositionGridRow });
5172
+ }
5173
+ addToCart(article) {
5174
+ this.transactionEvents.addArticleLineAt.next({ sku: article.articleNumber, amount: 1, lineNr: this.currentArticleLineNr, beforeOrAfter: this.currentPositionGridRow });
5175
+ }
5176
+ addArticleLineAt(articleNo, amount, lineNr, beforeOrAfter) {
5177
+ this.transactionEvents.addArticleLineAt.next({ sku: articleNo, amount: amount, lineNr: lineNr, beforeOrAfter: beforeOrAfter });
5178
+ }
5179
+ addTextLineAt(text, lineNr, beforeOrAfter) {
5180
+ this.transactionEvents.addTextLineAt.next({ text: text, lineNr: lineNr, beforeOrAfter: beforeOrAfter });
5181
+ }
4928
5182
  addArticleByBySelectorResult(selectorResult, popCart) {
4929
5183
  this.transactionEvents.addToCartBySelectorResult.next({ selectorResult: selectorResult, popCart: popCart });
4930
5184
  }
@@ -4948,9 +5202,19 @@ class IoneShoppingCartComponent {
4948
5202
  });
4949
5203
  });
4950
5204
  }
5205
+ _handleAddArticleLine(args) {
5206
+ //this.addArticleLine.next(args);
5207
+ this.showCatalogSidebar = true;
5208
+ this.currentArticleLineNr = args.lineNr;
5209
+ this.currentPositionGridRow = args.beforeOrAfter;
5210
+ }
5211
+ _handleAddTextLine(args) {
5212
+ this.addTextLine.next(args);
5213
+ }
4951
5214
  }
4952
5215
  IoneShoppingCartComponent.decorators = [
4953
5216
  { type: Component, args: [{
5217
+ // eslint-disable-next-line @angular-eslint/component-selector
4954
5218
  selector: "ione-shopping-cart",
4955
5219
  template: `
4956
5220
  <ng-container *ngIf="upAndLoaded">
@@ -4989,7 +5253,9 @@ IoneShoppingCartComponent.propDecorators = {
4989
5253
  hideCloseCartButton: [{ type: Input }],
4990
5254
  closeCart: [{ type: Output }],
4991
5255
  checkout: [{ type: Output }],
4992
- overview: [{ type: Output }]
5256
+ overview: [{ type: Output }],
5257
+ addArticleLine: [{ type: Output }],
5258
+ addTextLine: [{ type: Output }]
4993
5259
  };
4994
5260
 
4995
5261
  class ShoppingCartLineComponent {
@@ -5138,7 +5404,7 @@ ShoppingCartLineComponent.decorators = [
5138
5404
  [textContent]="line.text">
5139
5405
  </div>
5140
5406
  `,
5141
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.cart-line-r .cart-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}:host{padding-bottom:20px}:host{padding-top:20px}.cart-line-r .cart-line-right .cart-line-totals,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-description{margin-top:20px}.cart-line-r .cart-line-right .cart-line-totals,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-description{margin-bottom:20px}.cart-line-r .cart-line-right .cart-line-totals,.cart-line-t,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-description{margin-left:20px}.cart-line-t,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-description{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:flex;flex-wrap:wrap;border-bottom:1px solid #DBE3E8;width:100%}:host.overlayed.is-text{display:none!important}:host.overlayed.is-selected{background-color:#add8e6}:host.overview.is-text{display:none!important}:host.overview.is-selected{background-color:#add8e6}.cart-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.cart-line-r{flex-direction:column}}.cart-line-r co-button{border:0;padding:0}.cart-line-r .cart-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center}.cart-line-r .cart-line-image image-display{width:6em;height:6em}.cart-line-r .cart-line-description{display:flex;flex-direction:column;width:100%}.cart-line-r .cart-line-description .cart-line-description-main{font-weight:bold}.cart-line-r .cart-line-right{justify-content:flex-end}.cart-line-r .cart-line-right .cart-line-stock{width:10em}.cart-line-r .cart-line-right .cart-line-amount{width:10em}.cart-line-r .cart-line-right .cart-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.cart-line-r .cart-line-right .cart-line-totals span{text-align:right}.cart-line-t.article-text{padding-left:10em}\n"]
5407
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.cart-line-r .cart-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}:host{padding-bottom:20px}:host{padding-top:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-right .cart-line-totals{margin-top:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-right .cart-line-totals{margin-bottom:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-t,.cart-line-r .cart-line-right .cart-line-totals{margin-left:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-t{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:flex;flex-wrap:wrap;border-bottom:1px solid #DBE3E8;width:100%}:host.overlayed.is-text{display:none!important}:host.overlayed.is-selected{background-color:#add8e6}:host.overview.is-text{display:none!important}:host.overview.is-selected{background-color:#add8e6}.horizontal{display:flex;flex-direction:row-reverse}.cart-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.cart-line-r{flex-direction:column}}.cart-line-r co-button{border:0;padding:0}.cart-line-r .cart-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center}.cart-line-r .cart-line-image image-display{width:6em;height:6em}.cart-line-r .cart-line-description{display:flex;flex-direction:column;width:100%}.cart-line-r .cart-line-description .cart-line-description-main{font-weight:bold}.cart-line-r .cart-line-right{justify-content:flex-end}.cart-line-r .cart-line-right .cart-line-stock{width:10em}.cart-line-r .cart-line-right .cart-line-amount{width:10em}.cart-line-r .cart-line-right .cart-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.cart-line-r .cart-line-right .cart-line-totals span{text-align:right}.cart-line-t.article-text{padding-left:10em}\n"]
5142
5408
  },] }
5143
5409
  ];
5144
5410
  ShoppingCartLineComponent.ctorParameters = () => [
@@ -5172,7 +5438,7 @@ StockStatusIndicatorComponent.decorators = [
5172
5438
  <div class="square-3"></div>
5173
5439
  </div>
5174
5440
  `,
5175
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}:host{display:inline-block}:host>div,.flex-center{display:flex}.flex-center{flex-direction:row}:host>div,.flex-center{align-items:center!important;justify-content:center!important}:host>div{width:100%}:host>div{height:100%}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{background-color:#ffffff40;width:30px;height:20px}:host>div>div{width:5px;height:5px;flex-shrink:0;flex-grow:0;margin-right:2px}:host>div.low>div.square-1,:host>div.empty>div.square-1,:host>div.none>div.square-1{background-color:#c1002a}:host>div.low>div.square-2,:host>div.low div.square-3,:host>div.empty>div.square-2,:host>div.empty div.square-3,:host>div.none>div.square-2,:host>div.none div.square-3{background-color:#dad9d9}:host>div.medium>div.square-1,:host>div.medium div.square-2{background-color:#df7c2a}:host>div.medium>div.square-3{background-color:#dad9d9}:host>div.high>div.square-1,:host>div.high div.square-2,:host>div.high div.square-3{background-color:#429777}\n"]
5441
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}:host{display:inline-block}.flex-center,:host>div{display:flex}.flex-center{flex-direction:row}.flex-center,:host>div{align-items:center!important;justify-content:center!important}:host>div{width:100%}:host>div{height:100%}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{background-color:#ffffff40;width:30px;height:20px}:host>div>div{width:5px;height:5px;flex-shrink:0;flex-grow:0;margin-right:2px}:host>div.low>div.square-1,:host>div.empty>div.square-1,:host>div.none>div.square-1{background-color:#c1002a}:host>div.low>div.square-2,:host>div.low div.square-3,:host>div.empty>div.square-2,:host>div.empty div.square-3,:host>div.none>div.square-2,:host>div.none div.square-3{background-color:#dad9d9}:host>div.medium>div.square-1,:host>div.medium div.square-2{background-color:#df7c2a}:host>div.medium>div.square-3{background-color:#dad9d9}:host>div.high>div.square-1,:host>div.high div.square-2,:host>div.high div.square-3{background-color:#429777}\n"]
5176
5442
  },] }
5177
5443
  ];
5178
5444
  StockStatusIndicatorComponent.propDecorators = {
@@ -5308,10 +5574,9 @@ IoneShoppingCartModule.decorators = [
5308
5574
  PopupModule.forRoot(),
5309
5575
  CoSidebarModule,
5310
5576
  CoGridModule,
5311
- CoreModule,
5577
+ CoreModule
5312
5578
  ],
5313
5579
  providers: [
5314
- IOneConnectorAdapterService,
5315
5580
  DictionaryService,
5316
5581
  TransactionService,
5317
5582
  OptionsService
@@ -5319,16 +5584,1959 @@ IoneShoppingCartModule.decorators = [
5319
5584
  entryComponents: [
5320
5585
  IoneShoppingCartComponent
5321
5586
  ],
5322
- exports: [IoneShoppingCartComponent],
5587
+ exports: [IoneShoppingCartComponent, StockStatusIndicatorComponent],
5323
5588
  bootstrap: [IoneShoppingCartComponent]
5324
5589
  },] }
5325
5590
  ];
5326
5591
 
5592
+ class IoneServiceOrderComponent {
5593
+ constructor(_changeDetector, _optionsService, _connector, _dictionary, _service) {
5594
+ this._changeDetector = _changeDetector;
5595
+ this._optionsService = _optionsService;
5596
+ this._connector = _connector;
5597
+ this._dictionary = _dictionary;
5598
+ this._service = _service;
5599
+ this.orderNr = 0;
5600
+ this.orderId = 0;
5601
+ this.upAndLoaded = false;
5602
+ this._subscriptions = [];
5603
+ this._remoteOptions = true;
5604
+ this._publicOptions = true;
5605
+ this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
5606
+ }
5607
+ set options(value) {
5608
+ if (value) {
5609
+ let options;
5610
+ if (typeof value === "string") {
5611
+ options = JSON.parse(value);
5612
+ }
5613
+ else {
5614
+ options = value;
5615
+ }
5616
+ this._publicOptions = true;
5617
+ this._optionsService.initialize(options).then();
5618
+ }
5619
+ }
5620
+ ngOnInit() {
5621
+ if (!this._publicOptions) {
5622
+ this._optionsService.initializeDevelopmentOptions(this._remoteOptions);
5623
+ }
5624
+ }
5625
+ ngOnDestroy() {
5626
+ this._subscriptions.forEach(subscription => subscription.unsubscribe());
5627
+ }
5628
+ _handleSettingsLoaded(loaded) {
5629
+ return __awaiter(this, void 0, void 0, function* () {
5630
+ if (loaded) {
5631
+ yield this._initConnection().then();
5632
+ this.upAndLoaded = true;
5633
+ }
5634
+ });
5635
+ }
5636
+ _initConnection() {
5637
+ return __awaiter(this, void 0, void 0, function* () {
5638
+ yield this._connector.connect(this._optionsService.options);
5639
+ if (this.orderNr) {
5640
+ yield this._service.getTransaction(this.orderNr);
5641
+ }
5642
+ else if (this.orderId) {
5643
+ yield this._service.getTransactionById(this.orderId);
5644
+ }
5645
+ else {
5646
+ yield this._service.getTransaction(IoneServiceOrderComponent.TEST_ORDER_NR);
5647
+ }
5648
+ if (this._optionsService.options.url) {
5649
+ this._dictionary.rootUrl = this._optionsService.options.url.replace("/ajaxservice", "");
5650
+ }
5651
+ yield this._dictionary.setDictionary(this._optionsService.options.languageCode);
5652
+ setTimeout(() => {
5653
+ this._changeDetector.detectChanges();
5654
+ });
5655
+ });
5656
+ }
5657
+ }
5658
+ IoneServiceOrderComponent.TEST_ORDER_NR = 18156;
5659
+ IoneServiceOrderComponent.decorators = [
5660
+ { type: Component, args: [{
5661
+ // eslint-disable-next-line @angular-eslint/component-selector
5662
+ selector: "ione-service-order",
5663
+ template: `
5664
+ <div>
5665
+ <service-order></service-order>
5666
+ </div>
5667
+ <transaction-sidebar-right></transaction-sidebar-right>
5668
+ `
5669
+ },] }
5670
+ ];
5671
+ IoneServiceOrderComponent.ctorParameters = () => [
5672
+ { type: ChangeDetectorRef },
5673
+ { type: OptionsService },
5674
+ { type: IOneConnectorAdapterService },
5675
+ { type: DictionaryService },
5676
+ { type: TransactionService }
5677
+ ];
5678
+ IoneServiceOrderComponent.propDecorators = {
5679
+ orderNr: [{ type: Input }],
5680
+ orderId: [{ type: Input }],
5681
+ options: [{ type: Input }]
5682
+ };
5683
+
5684
+ class TransactionBaseComponent {
5685
+ constructor(service) {
5686
+ this.service = service;
5687
+ this.relation = NULL_RELATION_LIST_OBJECT;
5688
+ this.customer = NULL_CUSTOMER_FULL_OBJECT;
5689
+ this._isService = false;
5690
+ this.basedOnProduct = false;
5691
+ }
5692
+ set transaction(value) {
5693
+ this._transaction = value;
5694
+ if (this._transaction && this._transaction.transactionInfo) {
5695
+ this._isService = this._transaction.transactionInfo.transactionKind === TransactionKind.ServiceOrder;
5696
+ }
5697
+ }
5698
+ get transaction() {
5699
+ return this._transaction;
5700
+ }
5701
+ get transactionInfo() {
5702
+ return this._transaction.transactionInfo;
5703
+ }
5704
+ get transactionLines() {
5705
+ if (this._transaction) {
5706
+ return this._transaction.transactionLines;
5707
+ }
5708
+ }
5709
+ get transactionTotal() {
5710
+ if (this._transaction) {
5711
+ return this._transaction.transactionTotal;
5712
+ }
5713
+ }
5714
+ get isService() {
5715
+ return this._isService;
5716
+ }
5717
+ set relationId(value) {
5718
+ if (value === undefined) {
5719
+ return;
5720
+ }
5721
+ this._relationId = value;
5722
+ this._retrieveRelation();
5723
+ }
5724
+ get relationId() {
5725
+ return this._relationId;
5726
+ }
5727
+ set customerId(value) {
5728
+ if (value === undefined) {
5729
+ return;
5730
+ }
5731
+ this._customerId = value;
5732
+ this._retrieveCustomer();
5733
+ }
5734
+ get customerId() {
5735
+ return this._customerId;
5736
+ }
5737
+ set product(value) {
5738
+ this._product = value;
5739
+ this.productSet();
5740
+ this._setBasedOnProduct();
5741
+ }
5742
+ get product() {
5743
+ return this._product;
5744
+ }
5745
+ get isNew() {
5746
+ return isNill$1(this.transaction) || isNill$1(this.transactionInfo.transactionNr);
5747
+ }
5748
+ transactionSet() {
5749
+ // overridden by descendents
5750
+ }
5751
+ productSet() {
5752
+ // overridden by descendents
5753
+ }
5754
+ _retrieveCustomer() {
5755
+ return __awaiter(this, void 0, void 0, function* () {
5756
+ this.customer = yield this.service.getCustomerFulObjectByRelationId(this._customerId);
5757
+ });
5758
+ }
5759
+ _retrieveRelation() {
5760
+ return __awaiter(this, void 0, void 0, function* () {
5761
+ const relationRequest = new RelationRequest();
5762
+ let relations = [];
5763
+ relationRequest.relationId = this.relationId;
5764
+ relations = yield this.service.getRelationListObjects(relationRequest);
5765
+ if (relations && relations.length) {
5766
+ this.relation = relations[0];
5767
+ }
5768
+ });
5769
+ }
5770
+ _setBasedOnProduct() {
5771
+ if (this.product) {
5772
+ this.basedOnProduct = true;
5773
+ }
5774
+ else { //check transaction (service) for product
5775
+ // TODO: assProduct is not a property of transaction right now.
5776
+ // this.basedOnProduct = notNill(this._transaction.assProduct);
5777
+ // if (this.basedOnProduct) {
5778
+ // this._product = this.transaction.assProduct;
5779
+ // }
5780
+ }
5781
+ }
5782
+ }
5783
+ TransactionBaseComponent.decorators = [
5784
+ { type: Directive }
5785
+ ];
5786
+ TransactionBaseComponent.ctorParameters = () => [
5787
+ { type: TransactionService }
5788
+ ];
5789
+ TransactionBaseComponent.propDecorators = {
5790
+ transaction: [{ type: Input }],
5791
+ relationId: [{ type: Input }],
5792
+ customerId: [{ type: Input }],
5793
+ product: [{ type: Input }],
5794
+ relation: [{ type: Input }],
5795
+ customer: [{ type: Input }]
5796
+ };
5797
+
5798
+ class TransactionArticleTextComponent extends TransactionBaseComponent {
5799
+ constructor(service) {
5800
+ super(service);
5801
+ this.service = service;
5802
+ this.visible = false;
5803
+ this.floatButtonSelected = false;
5804
+ this.overviewSelected = false;
5805
+ this.editArtikelText = false;
5806
+ this.collection = [
5807
+ { id: 1, name: "Standaardtekst 1" },
5808
+ { id: 2, name: "Standaardtekst 1" },
5809
+ { id: 3, name: "Standaardtekst 1" },
5810
+ { id: 4, name: "Standaardtekst 1" },
5811
+ { id: 5, name: "Standaardtekst 1" }
5812
+ ];
5813
+ this.articleTexts = [
5814
+ { title: "title 1", description: "Omschrijving 1" },
5815
+ { title: "title 2", description: "Omschrijving 2" },
5816
+ { title: "title 3", description: "Omschrijving 3" },
5817
+ { title: "title 4", description: "Omschrijving 4" },
5818
+ { title: "title 5", description: "Omschrijving 5" },
5819
+ ];
5820
+ this.fields = { text: "name", value: "id" };
5821
+ }
5822
+ onOkClick() {
5823
+ this.hide();
5824
+ }
5825
+ onPopupClose() {
5826
+ this.hide();
5827
+ this.hideOverview();
5828
+ this.hideEditArtikelText();
5829
+ }
5830
+ hide() {
5831
+ // TODO: throw hide event
5832
+ this.visible = false;
5833
+ }
5834
+ onOverview() {
5835
+ this.overviewSelected = true;
5836
+ }
5837
+ onOkOverviewClick() {
5838
+ this.hideOverview();
5839
+ }
5840
+ hideOverview() {
5841
+ this.overviewSelected = false;
5842
+ }
5843
+ onDetailLinkClick(bo) {
5844
+ this.editArtikelText = true;
5845
+ }
5846
+ hideEditArtikelText() {
5847
+ this.editArtikelText = false;
5848
+ }
5849
+ onOkEditArtikelTextClick() {
5850
+ this.editArtikelText = false;
5851
+ }
5852
+ }
5853
+ TransactionArticleTextComponent.decorators = [
5854
+ { type: Component, args: [{
5855
+ // eslint-disable-next-line @angular-eslint/component-selector
5856
+ selector: "transaction-article-text",
5857
+ template: `
5858
+ <co-dialog [visible]="visible" (close)="onPopupClose()">
5859
+ <ng-container header>{{ subHeader }}</ng-container>
5860
+ <ng-container content>
5861
+ <div class="tags-join-content" fxLayout fxLayoutGap="10px">
5862
+ <div class="column-separator">
5863
+ <co-input-text placeholder="Titel"></co-input-text>
5864
+ <!--transactiontransaction-->
5865
+ <!-- label="Artikeltekst"-->
5866
+ <!-- ></co-text-editor>-->
5867
+ </div>
5868
+ <div style="margin-left:5px;">
5869
+ <div style="margin-top:16px;">
5870
+ <ejs-dropdownlist
5871
+ [dataSource]="collection"
5872
+ [fields]="fields"
5873
+ placeholder="Standaardteksten"
5874
+ ></ejs-dropdownlist>
5875
+ </div>
5876
+ <div style="margin-top:20px;">
5877
+ <co-input-checkbox
5878
+ label="Artikelgebonden tekst"
5879
+ name="articleBoundText">
5880
+ </co-input-checkbox>
5881
+ </div>
5882
+ <div style="margin-top:20px;">
5883
+ <label>Bestemd voor documenten</label>
5884
+ <ejs-chiplist id="chip-default">
5885
+ <e-chips>
5886
+ <e-chip text="Apple" cssClass="e-primary"></e-chip>
5887
+ <e-chip text="Microsoft" cssClass="e-info"></e-chip>
5888
+ <e-chip text="Google" cssClass="e-success"></e-chip>
5889
+ <e-chip text="Tesla" cssClass="e-warning"></e-chip>
5890
+ <e-chip text="Intel" cssClass="e-danger"></e-chip>
5891
+ </e-chips>
5892
+ </ejs-chiplist>
5893
+ </div>
5894
+ </div>
5895
+ </div>
5896
+ </ng-container>
5897
+ <ng-container footer>
5898
+ <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
5899
+ <co-button label="OK" (click)="onOkClick()"></co-button>
5900
+ <co-button label="CANCEL" (click)="hide()"></co-button>
5901
+ <co-button label="OVERVIEW" (click)="onOverview()"></co-button>
5902
+ </div>
5903
+ </ng-container>
5904
+ </co-dialog>
5905
+
5906
+ <co-dialog [visible]="overviewSelected" (close)="hideOverview()">
5907
+ <ng-container header>Artikelgebonden teksten {{ subHeader }}</ng-container>
5908
+ <ng-container content>
5909
+ <div class="tags-join-content" fxLayout fxLayoutGap="10px">
5910
+ <div class="column-separator" style="width:75%">
5911
+ <!-- <grid [data]="articleTexts" detailLink (detailLinkClick)="onDetailLinkClick($event)">-->
5912
+ <!-- <grid-column key="title" header="TITLE" width="100px;"></grid-column>-->
5913
+ <!-- <grid-column key="description" header="DESCRIPTION" width="200px"></grid-column>-->
5914
+ <!-- </grid>-->
5915
+ </div>
5916
+ <div style="margin-left:5px;">
5917
+ <div style="margin-top:20px;">
5918
+
5919
+ <co-input-checkbox
5920
+ label="Artikelgebonden tekst"
5921
+ name="articleBoundText"
5922
+ value="true"
5923
+ ></co-input-checkbox>
5924
+ </div>
5925
+ <div style="margin-top:20px;">
5926
+ <label>Bestemd voor documenten</label>
5927
+ <ejs-chiplist id="chip-default">
5928
+ <e-chips>
5929
+ <e-chip text="Apple" cssClass="e-primary"></e-chip>
5930
+ <e-chip text="Microsoft" cssClass="e-info"></e-chip>
5931
+ <e-chip text="Google" cssClass="e-success"></e-chip>
5932
+ <e-chip text="Tesla" cssClass="e-warning"></e-chip>
5933
+ <e-chip text="Intel" cssClass="e-danger"></e-chip>
5934
+ </e-chips>
5935
+ </ejs-chiplist>
5936
+ </div>
5937
+ </div>
5938
+ </div>
5939
+ </ng-container>
5940
+ <ng-container footer>
5941
+ <div class="footer" fxLayout fxPosition="row" fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
5942
+ <co-button label="OK" (click)="onOkOverviewClick()"></co-button>
5943
+ <co-button label="CANCEL" (click)="hideOverview()"></co-button>
5944
+ </div>
5945
+ </ng-container>
5946
+ </co-dialog>
5947
+
5948
+ <co-dialog [visible]="editArtikelText" (close)="hideEditArtikelText()">
5949
+ <ng-container header>{{ subHeader }}</ng-container>
5950
+ <ng-container content>
5951
+ <div class="tags-join-content" fxLayout fxLayoutGap="10px">
5952
+ <div class="column-separator">
5953
+ <co-input-text placeholder="Titel"></co-input-text>
5954
+ <!-- <co-text-editor-->
5955
+ <!-- label="Artikeltekst"-->
5956
+ <!-- ></co-text-editor>-->
5957
+ </div>
5958
+ </div>
5959
+ </ng-container>
5960
+ <ng-container footer>
5961
+ <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
5962
+ <co-button label="OK" (click)="onOkEditArtikelTextClick()"></co-button>
5963
+ <co-button label="CANCEL" (click)="hideEditArtikelText()"></co-button>
5964
+ </div>
5965
+ </ng-container>
5966
+ </co-dialog>
5967
+ `,
5968
+ styles: [""]
5969
+ },] }
5970
+ ];
5971
+ TransactionArticleTextComponent.ctorParameters = () => [
5972
+ { type: TransactionService }
5973
+ ];
5974
+ TransactionArticleTextComponent.propDecorators = {
5975
+ subHeader: [{ type: Input }]
5976
+ };
5977
+
5978
+ class ServiceOrderComponent extends TransactionBaseComponent {
5979
+ constructor(service, transactionEvents, iconCacheService) {
5980
+ super(service);
5981
+ this.service = service;
5982
+ this.transactionEvents = transactionEvents;
5983
+ this.iconCacheService = iconCacheService;
5984
+ this.iconThickLines = CoreComponentsIcon.ThickLines;
5985
+ this.iconThinLines = CoreComponentsIcon.ThinLines;
5986
+ this.iconOrder = CoreComponentsIcon.Order;
5987
+ this.viewModes = ContentViewMode;
5988
+ this.canPlanDelivery = false;
5989
+ this.showTotals = true;
5990
+ this.contextMenuItems = [];
5991
+ this.isRouteOptimizationConfigured = false;
5992
+ this.activeViewMode = ContentViewMode.List;
5993
+ this.floatButtonSelected = false;
5994
+ this._subs = [];
5995
+ }
5996
+ get inListView() {
5997
+ return this.activeViewMode === ContentViewMode.List;
5998
+ }
5999
+ get inGridView() {
6000
+ return this.activeViewMode === ContentViewMode.Grid;
6001
+ }
6002
+ ngOnInit() {
6003
+ return __awaiter(this, void 0, void 0, function* () {
6004
+ this._subs.push(this.service.transactionLoaded.subscribe((transactionInfoResponse) => {
6005
+ if (transactionInfoResponse.isSuccess) {
6006
+ this.transaction = transactionInfoResponse;
6007
+ if (this.transaction && this.transaction.transactionInfo) {
6008
+ this.customerId = Number(this.transaction.transactionInfo.relation.relationNr);
6009
+ this.relationId = this.transaction.transactionInfo.relation.relationId;
6010
+ }
6011
+ }
6012
+ }), this.transactionEvents.rightSidebarClose.subscribe(() => {
6013
+ this.moveFloatingButtonToRight();
6014
+ }), this.transactionEvents.transactionLineClicked.subscribe((transactionLine) => {
6015
+ this._selectedTransLine = transactionLine;
6016
+ this.moveFloatingButtonToLeft();
6017
+ }), this.transactionEvents.scrollContent.subscribe((event) => {
6018
+ this.hideOrderTotals(event);
6019
+ }));
6020
+ });
6021
+ }
6022
+ ngOnDestroy() {
6023
+ this._subs.forEach(sub => sub.unsubscribe());
6024
+ }
6025
+ animationFn() {
6026
+ return trigger("showPopup", [
6027
+ state("void", style({ transform: "translate3d(0, 0, 0)" })),
6028
+ state("*", style({ transform: "translate3d(100%, 0, 0)" })),
6029
+ transition("void <=> *", [
6030
+ animate("200ms ease-in-out")
6031
+ ])
6032
+ ]);
6033
+ }
6034
+ trackByFn(index, line) {
6035
+ return line.lineNr;
6036
+ }
6037
+ handleRowsSelected(rows) {
6038
+ this._selectedTransLine = rows.find(x => x !== undefined);
6039
+ }
6040
+ handlePlanningRequest(event) {
6041
+ // TODO: handlePlanningRequest... from new Planning package
6042
+ }
6043
+ moveFloatingButtonToLeft() {
6044
+ if (this.floatButtonRightPosition === ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITHOUT_SIDEBAR) {
6045
+ this.floatButtonRightPosition = ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITH_SIDEBAR;
6046
+ }
6047
+ }
6048
+ moveFloatingButtonToRight() {
6049
+ if (this.floatButtonRightPosition === ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITH_SIDEBAR) {
6050
+ this.floatButtonRightPosition = ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITHOUT_SIDEBAR;
6051
+ }
6052
+ }
6053
+ onOkClick() {
6054
+ this.hide();
6055
+ }
6056
+ hide() {
6057
+ this.floatButtonSelected = false;
6058
+ }
6059
+ floatButtonClick() {
6060
+ this.floatButtonSelected = true;
6061
+ this._transactionArticleTextComponent.visible = this.floatButtonSelected;
6062
+ }
6063
+ get subHeader() {
6064
+ if (this._selectedTransLine && this._selectedTransLine !== undefined) {
6065
+ return this._selectedTransLine.goodDescription;
6066
+ }
6067
+ return "";
6068
+ }
6069
+ hideOrderTotals(event) {
6070
+ this.showTotals = false;
6071
+ }
6072
+ }
6073
+ ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITHOUT_SIDEBAR = 50;
6074
+ ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITH_SIDEBAR = 350;
6075
+ ServiceOrderComponent.decorators = [
6076
+ { type: Component, args: [{
6077
+ // eslint-disable-next-line @angular-eslint/component-selector
6078
+ selector: "service-order",
6079
+ template: `
6080
+ <div id="transaction-general-tab" style="height:100%;">
6081
+ <transaction-header-block
6082
+ [relationId]="relationId"
6083
+ [transaction]="transaction"
6084
+ [canPlanDelivery]="canPlanDelivery"
6085
+ (planningRequestButtonClick)="handlePlanningRequest($event)"
6086
+ ></transaction-header-block>
6087
+ <div *ngIf="!isService">
6088
+ <div class="transaction-view" fxLayout="row" fxLayoutGap="1px" fxLayoutAlign="flex-end">
6089
+ <div class="view-mode-buttons">
6090
+ <co-button [iconData]="iconCacheService.getIcon(iconThickLines)"
6091
+ [title]="'LIST_VIEW' | localize"
6092
+ (click)="this.activeViewMode = viewModes.List"
6093
+ class="triangle white"
6094
+ iconClass="medium light"></co-button>
6095
+ <co-button [iconData]="iconCacheService.getIcon(iconThinLines)"
6096
+ [title]="'GRID_VIEW' | localize"
6097
+ (click)="this.activeViewMode = viewModes.Grid"
6098
+ class="triangle white"
6099
+ iconClass="medium light"></co-button>
6100
+ </div>
6101
+ </div>
6102
+ <div *ngIf="this.activeViewMode === viewModes.List">
6103
+ <transaction-order-line-view *ngFor="let line of transactionLines; trackBy:trackByFn;"
6104
+ [line]="line"
6105
+ ></transaction-order-line-view>
6106
+ </div>
6107
+ <div *ngIf="this.activeViewMode === viewModes.Grid">
6108
+ <transaction-order-lines [transaction]="transaction"></transaction-order-lines>
6109
+ </div>
6110
+ <div class="floating-icon-wrapper" [style.right.px]="floatButtonRightPosition">
6111
+ <icon [icon]="iconOrder"
6112
+ class="light"
6113
+ (click)="floatButtonClick()" id="floatingIcon"
6114
+ [style.right.px]="floatButtonRightPosition"></icon>
6115
+ </div>
6116
+ </div>
6117
+ <transaction-order-totals *ngIf="!isService"
6118
+ [transactionTotal]="transactionTotal"
6119
+ [ngClass]="showTotals ? 'transaction-totals-show' : 'transaction-totals-hide'"></transaction-order-totals>
6120
+ </div>
6121
+
6122
+ <transaction-article-text></transaction-article-text>
6123
+ `,
6124
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center,:host :host{display:flex}.flex-center{flex-direction:row}:host :host{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.transaction-view .view-mode-buttons{margin-left:11px}:host :host{width:100%}:host :host{overflow:hidden}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host :host{padding-bottom:60px}.page-wrapper :host{padding:20px;margin-bottom:60px}:host transaction-order-totals{display:flex;flex-direction:column;align-items:flex-end}:host .transaction-totals-show{padding:20px}:host .transaction-totals-hide{position:relative;bottom:0;right:0}::ng-deep #transaction_planning_agenda{top:160px!important;width:calc(100vw - 80px)!important}::ng-deep #transaction_planning_agenda .popup-card-title{padding:10px 20px;background:#74B77F;color:#fff}::ng-deep #transaction_planning_agenda .popup-card-title .header-wrapper{align-items:center!important}::ng-deep #transaction_planning_agenda .popup-card-title .separator{border-color:#fff!important}::ng-deep #transaction_planning_agenda .popup-card-title .header{font-size:15px;font-weight:normal}::ng-deep #transaction_planning_agenda .popup-card-title .sub-header{font-size:18px;color:#fff!important;font-weight:bold!important}::ng-deep #transaction_planning_agenda .popup-card-title button-select icon [fill]{fill:#fff}::ng-deep #transaction_planning_agenda .popup-card-content{overflow:hidden}@media only screen and (max-width: 599px){::ng-deep #transaction_planning_agenda{width:100vw!important}::ng-deep #transaction_planning_agenda .popup-card-content{padding:0}}.column-separator{padding-right:25px;border-right:1px solid #0000001c}.floating-icon-wrapper{position:fixed;bottom:50px;right:50px;display:flex;flex-shrink:0;align-items:center;justify-content:center;background:#475060;height:50px;width:50px;opacity:.5;transition:opacity .4s ease-in-out;border-radius:50%;overflow:hidden;box-shadow:0 0 6px #0009;-webkit-box-shadow:0px 0px 6px 0px rgba(0,0,0,.6);-moz-box-shadow:0px 0px 6px 0px rgba(0,0,0,.6);cursor:pointer}.floating-icon-wrapper:hover{opacity:1;transition:opacity .4s ease-in-out}.floating-icon-wrapper ::ng-deep icon{height:44px!important;width:44px!important;color:#fff!important;flex-shrink:0}.transaction-wrapper{padding:0 20px}.view-mode-buttons co-button{padding:0}.transaction-view{display:flex;margin-top:10px;justify-content:stretch}.transaction-view .view-mode-buttons{display:flex;flex-direction:row}.transaction-view .view-mode-buttons button-select ::ng-deep button-colijn{border-radius:0}.transaction-view .view-mode-buttons button-select:first-child{margin-right:5px}.transaction-view .view-mode-buttons button-select:first-child ::ng-deep button-colijn{border-radius:3px}.transaction-view .view-mode-buttons button-select:nth-child(2) ::ng-deep button-colijn{border-top-left-radius:3px;border-bottom-left-radius:3px}.transaction-view .view-mode-buttons button-select:last-child ::ng-deep button-colijn{border-top-right-radius:3px;border-bottom-right-radius:3px}\n"]
6125
+ },] }
6126
+ ];
6127
+ ServiceOrderComponent.ctorParameters = () => [
6128
+ { type: TransactionService },
6129
+ { type: TransactionEventService },
6130
+ { type: IconCacheService }
6131
+ ];
6132
+ ServiceOrderComponent.propDecorators = {
6133
+ _transactionArticleTextComponent: [{ type: ViewChild, args: [TransactionArticleTextComponent, { static: false },] }]
6134
+ };
6135
+
6136
+ class TransactionOrderTotalsComponent /*extends TransactionBaseComponent*/ {
6137
+ constructor(service) {
6138
+ this.service = service;
6139
+ //super(service);
6140
+ }
6141
+ }
6142
+ TransactionOrderTotalsComponent.decorators = [
6143
+ { type: Component, args: [{
6144
+ selector: "transaction-order-totals",
6145
+ template: `
6146
+ <div class="totals-wrapper">
6147
+ <div class="totals-item">
6148
+ <div class="totals-item-description" [textContent]="'SUBTOTAL' | localize"></div>
6149
+ <div class="totals-item-value" [textContent]="transactionTotal.grossAmount | coCurrency | coCurrency"></div>
6150
+ </div>
6151
+ <div class="totals-item">
6152
+ <div class="totals-item-description" [textContent]="'VAT_AMOUNT' | localize"></div>
6153
+ <div class="totals-item-value" [textContent]="transactionTotal.surchargeAmount | coCurrency"></div>
6154
+ </div>
6155
+ <div class="totals-item total">
6156
+ <div class="totals-item-description" [textContent]="'TRANSACTION_SUM_I' | localize"></div>
6157
+ <div class="totals-item-value" [textContent]="transactionTotal.netAmount | coCurrency"></div>
6158
+ </div>
6159
+ </div>
6160
+ `,
6161
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host .totals-wrapper{width:310px;font-size:13px}:host .totals-item{display:flex;flex-direction:row;height:25px;align-items:center}:host .totals-item>div{text-align:end;width:50%}:host .totals-item.total{font-weight:bold;height:30px;border-top:1px solid #DCE4EA}\n"]
6162
+ },] }
6163
+ ];
6164
+ TransactionOrderTotalsComponent.ctorParameters = () => [
6165
+ { type: TransactionService }
6166
+ ];
6167
+ TransactionOrderTotalsComponent.propDecorators = {
6168
+ transactionTotal: [{ type: Input }]
6169
+ };
6170
+
6171
+ class TransactionOrderLineViewComponent {
6172
+ constructor(_service, _eventService) {
6173
+ this._service = _service;
6174
+ this._eventService = _eventService;
6175
+ this.stock = StockStatus.Low;
6176
+ }
6177
+ ngOnInit() {
6178
+ this._loadArticleImage();
6179
+ }
6180
+ _loadArticleImage() {
6181
+ return __awaiter(this, void 0, void 0, function* () {
6182
+ if (this.line) {
6183
+ this.image = this.line ? yield this._service.retrieveLineImage(this.line) : undefined;
6184
+ }
6185
+ });
6186
+ }
6187
+ transactionLineClick(line) {
6188
+ this._eventService.transactionLineClicked.next(this.line);
6189
+ }
6190
+ }
6191
+ TransactionOrderLineViewComponent.decorators = [
6192
+ { type: Component, args: [{
6193
+ // eslint-disable-next-line @angular-eslint/component-selector
6194
+ selector: "transaction-order-line-view",
6195
+ template: `
6196
+ <div class="transaction-order-line-r" fxFlex (click)="transactionLineClick(line)">
6197
+ <div fxLayout="row" class="full-width">
6198
+ <div fxLayout="column" class="transaction-order-line-description" fxLayoutGap="20px">
6199
+ <div fxLayout="row" fxLayoutGap="10px">
6200
+ <span [textContent]="line.goodDescription" class="cart-line-description-main"></span>
6201
+ <span *ngIf="line.goodDescription && line.articleNumber">|</span>
6202
+ <span [textContent]="line.articleNumber" class="cart-line-description-artnr"></span>
6203
+ </div>
6204
+ <div>
6205
+ <span [innerHTML]="line.configurationReadable" class="cart-line-description-detail"></span>
6206
+ </div>
6207
+ </div>
6208
+ <div fxLayout="column" class="transaction-order-line-image">
6209
+ <image-display [model]="image"></image-display>
6210
+ </div>
6211
+ </div>
6212
+ <div fxLayout="row" class="transaction-order-line-right">
6213
+ <div fxLayout="column" class="transaction-order-line-stock">
6214
+ <span [textContent]="'STOCK' | localize" class="small-font"></span>
6215
+ <stock-status-indicator [model]="stock"></stock-status-indicator>
6216
+ <span [textContent]="'DELIVERY_TIME_PERIOD' | localize" class="small-font"></span>
6217
+ <span [textContent]="line.deliveryDate | deliveryTime"></span>
6218
+ </div>
6219
+ <div class="transaction-order-line-amount">
6220
+ <co-input-number-picker
6221
+ class="horizontal"
6222
+ [(model)]="line.amount" [min]="0" [buttonShowMode]="'always'"
6223
+ [readonly]="true"></co-input-number-picker>
6224
+ </div>
6225
+ <div class="transaction-order-line-totals">
6226
+ <span [textContent]="line.netLineTotal | coCurrency: true"></span>
6227
+ </div>
6228
+ </div>
6229
+ </div>
6230
+ `,
6231
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.transaction-order-line-r .transaction-order-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-top:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-bottom:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-left:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:block;padding:20px}:host ::ng-deep collapseable{width:100%!important}.horizontal{display:flex;flex-direction:row}.service-request-button-wrapper{display:flex;justify-content:center;margin-top:20px}.transaction-order-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.transaction-order-line-r{flex-direction:column}}.transaction-order-line-r .transaction-order-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center;padding-right:10px}.transaction-order-line-r .transaction-order-line-image image-display{width:6em;height:6em}.transaction-order-line-r .transaction-order-line-image ::ng-deep no-image-display{display:none}.transaction-order-line-r .transaction-order-line-description{display:flex;flex-direction:column;width:auto;max-width:355px;margin-left:10px}.transaction-order-line-r .transaction-order-line-description .cart-line-description-main{font-weight:bold}.transaction-order-line-r .transaction-order-line-right{justify-content:flex-end;align-items:center}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals span{text-align:right}\n"]
6232
+ },] }
6233
+ ];
6234
+ TransactionOrderLineViewComponent.ctorParameters = () => [
6235
+ { type: TransactionService },
6236
+ { type: TransactionEventService }
6237
+ ];
6238
+ TransactionOrderLineViewComponent.propDecorators = {
6239
+ line: [{ type: Input }]
6240
+ };
6241
+
6242
+ class TransactionOrderLinesComponent extends TransactionBaseComponent {
6243
+ constructor(service, _eventService, _dictionaryService) {
6244
+ super(service);
6245
+ this.service = service;
6246
+ this._eventService = _eventService;
6247
+ this._dictionaryService = _dictionaryService;
6248
+ this.createServiceClick = new EventEmitter();
6249
+ this.nothingSelected = true;
6250
+ this.columns = [];
6251
+ this.columns.push({ field: "articleNumber", headerText: this._dictionaryService.get("ARTICLE_NR"), allowFiltering: false }, { field: "goodDescription", headerText: this._dictionaryService.get("DESCRIPTION") }, { field: "detailsAsString", headerText: this._dictionaryService.get("DETAILS") }, { field: "price", headerText: this._dictionaryService.get("PRICE") }, { field: "amount", headerText: this._dictionaryService.get("NUMBER") }, { field: "lineTotal", headerText: this._dictionaryService.get("SUBTOTAL") }, { field: "logisticState", headerText: this._dictionaryService.get("STATE") }, { field: "expectedDeliveryDate", headerText: this._dictionaryService.get("EXPECTED_DELIVERY_DATE") });
6252
+ }
6253
+ get pagingEnabled() {
6254
+ if (this.transactionLines) {
6255
+ return this.transactionLines.length >= TransactionOrderLinesComponent.MAX_TRANSACTION_LINES;
6256
+ }
6257
+ return false;
6258
+ }
6259
+ set selectedTransLine(value) {
6260
+ this._selectedTransLine = value;
6261
+ this.nothingSelected = this._selectedTransLine === null;
6262
+ }
6263
+ get selectedTransLine() {
6264
+ return this._selectedTransLine;
6265
+ }
6266
+ onRowClick(row) {
6267
+ this.selectedTransLine = row;
6268
+ this._eventService.transactionLineClicked.next(this.selectedTransLine);
6269
+ }
6270
+ onRowDeselect(event) {
6271
+ this.selectedTransLine = null;
6272
+ }
6273
+ // TODO: navragen wat de bedoeling is, zie originele source iOneJS
6274
+ newServiceRequestClick() {
6275
+ if (this.nothingSelected) {
6276
+ return;
6277
+ }
6278
+ this.createServiceClick.emit(this._selectedTransLine);
6279
+ }
6280
+ }
6281
+ TransactionOrderLinesComponent.MAX_TRANSACTION_LINES = 20;
6282
+ TransactionOrderLinesComponent.decorators = [
6283
+ { type: Component, args: [{
6284
+ // eslint-disable-next-line @angular-eslint/component-selector
6285
+ selector: "transaction-order-lines",
6286
+ template: `
6287
+ <co-grid #transactionGrid
6288
+ [data]="transactionLines"
6289
+ [columns]="columns"
6290
+ [pagingEnabled]="pagingEnabled"
6291
+ [maxNumberOfRows]="'20'"
6292
+ (rowsSelected)="onRowClick($event)"
6293
+ ></co-grid>
6294
+ `,
6295
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.transaction-order-line-r .transaction-order-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-top:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-bottom:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-left:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:block;padding:20px}:host ::ng-deep collapseable{width:100%!important}.service-request-button-wrapper{display:flex;justify-content:center;margin-top:20px}.transaction-order-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.transaction-order-line-r{flex-direction:column}}.transaction-order-line-r .transaction-order-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center;padding-right:10px}.transaction-order-line-r .transaction-order-line-image image-display{width:6em;height:6em}.transaction-order-line-r .transaction-order-line-image ::ng-deep no-image-display{display:none}.transaction-order-line-r .transaction-order-line-description{display:flex;flex-direction:column;width:auto;max-width:355px;margin-left:10px}.transaction-order-line-r .transaction-order-line-description .cart-line-description-main{font-weight:bold}.transaction-order-line-r .transaction-order-line-right{justify-content:flex-end;align-items:center}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals span{text-align:right}\n"]
6296
+ },] }
6297
+ ];
6298
+ TransactionOrderLinesComponent.ctorParameters = () => [
6299
+ { type: TransactionService },
6300
+ { type: TransactionEventService },
6301
+ { type: DictionaryService }
6302
+ ];
6303
+ TransactionOrderLinesComponent.propDecorators = {
6304
+ transactionGrid: [{ type: ViewChild, args: ["transactionGrid",] }],
6305
+ createServiceClick: [{ type: Output }]
6306
+ };
6307
+
6308
+ class TransactionRelationAddressComponent {
6309
+ constructor(_dictionary, _connector) {
6310
+ this._dictionary = _dictionary;
6311
+ this._connector = _connector;
6312
+ this.countries = [];
6313
+ this.fields = { text: "description", value: "code" };
6314
+ this.postalCodeCheckErrorMessage = "";
6315
+ this._prevPostalCodeForCheck = "";
6316
+ }
6317
+ set address(address) {
6318
+ this._address = address;
6319
+ }
6320
+ get address() {
6321
+ if (this._address === undefined) {
6322
+ this._address = new Address();
6323
+ }
6324
+ return this._address;
6325
+ }
6326
+ ngOnInit() {
6327
+ return __awaiter(this, void 0, void 0, function* () {
6328
+ this.countries = yield this._connector.getCountries();
6329
+ });
6330
+ }
6331
+ checkForPostalCodeCheckError() {
6332
+ return __awaiter(this, void 0, void 0, function* () {
6333
+ if (!this.address.postalCode || isNill$1(this.address.houseNo)) {
6334
+ this.postalCodeCheckErrorMessage = "";
6335
+ return;
6336
+ }
6337
+ if (this._prevPostalCodeForCheck !== this.address.postalCode || this._prevHouseNoForCheck !== this.address.houseNo) {
6338
+ this._prevPostalCodeForCheck = this.address.postalCode;
6339
+ this._prevHouseNoForCheck = this.address.houseNo;
6340
+ const postalCodeResponse = yield this._connector.getPostalCodeRetrieval((this.address.postalCode ? this.address.postalCode : ""), StringUtils.ParseString(this.address.houseNo));
6341
+ if (postalCodeResponse && postalCodeResponse.isBadAddress) {
6342
+ this.postalCodeCheckErrorMessage = this._dictionary.get("UNKNOWN_ADDRESS_CHECK_IT");
6343
+ }
6344
+ else {
6345
+ this.postalCodeCheckErrorMessage = "";
6346
+ this.address.streetName = postalCodeResponse.street;
6347
+ this.address.city = postalCodeResponse.city;
6348
+ }
6349
+ }
6350
+ });
6351
+ }
6352
+ changeHouseNo() {
6353
+ this.address.houseNo = Number(this.address.houseNo);
6354
+ }
6355
+ }
6356
+ TransactionRelationAddressComponent.decorators = [
6357
+ { type: Component, args: [{
6358
+ // eslint-disable-next-line @angular-eslint/component-selector
6359
+ selector: "transaction-relation-address",
6360
+ template: `
6361
+ <label [textContent]="label | localize"
6362
+ class="transaction-relation-label-h3"
6363
+ ></label>
6364
+ <div class="default-flex-row">
6365
+ <div class="default-flex-column">
6366
+ <co-input-text [(model)]="address.postalCode"
6367
+ [placeholder]="'POSTAL_CODE' | localize"
6368
+ (blur)="checkForPostalCodeCheckError()"
6369
+ required
6370
+ ></co-input-text>
6371
+ </div>
6372
+ <div class="default-flex-column">
6373
+ <co-input-text [(model)]="address.houseNo"
6374
+ [placeholder]="'HOUSE_NO' | localize"
6375
+ (blur)="checkForPostalCodeCheckError()"
6376
+ (modelChange) = "changeHouseNo()"
6377
+ required
6378
+ ></co-input-text>
6379
+ </div>
6380
+ <div class="default-flex-column">
6381
+ <co-input-text [(model)]="address.houseNoAddition"
6382
+ [placeholder]="'HOUSE_NO_ADDITION' | localize"
6383
+ ></co-input-text>
6384
+ </div>
6385
+ </div>
6386
+ <div>
6387
+ <div class="default-flex-row">
6388
+ <div class="default-flex-column">
6389
+ <co-input-text [(model)]="address.streetName" [placeholder]="'STREET' | localize" required></co-input-text>
6390
+ </div>
6391
+ <div class="default-flex-column">
6392
+ <co-input-text [(model)]="address.city" [placeholder]="'CITY' | localize" required></co-input-text>
6393
+ </div>
6394
+ <div class="default-flex-column">
6395
+ <co-input-combo-box [(model)]="address.countryId"
6396
+ [source]="countries"
6397
+ [fields]="fields"
6398
+ [placeholder]="'COUNTRY'| localize"
6399
+ [required]="true"
6400
+ ></co-input-combo-box>
6401
+ </div>
6402
+ </div>
6403
+ </div>
6404
+ `,
6405
+ styles: [".button-wrapper{margin-top:10px;justify-content:center}co-input-radio-button{margin-left:16px}.transaction-relation-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.transaction-relation-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}\n"]
6406
+ },] }
6407
+ ];
6408
+ TransactionRelationAddressComponent.ctorParameters = () => [
6409
+ { type: DictionaryService },
6410
+ { type: IOneConnectorAdapterService }
6411
+ ];
6412
+ TransactionRelationAddressComponent.propDecorators = {
6413
+ label: [{ type: Input }],
6414
+ address: [{ type: Input }]
6415
+ };
6416
+
6417
+ class TransactionSidebarRightComponent extends TransactionBaseComponent {
6418
+ constructor(service, iconCacheService, _eventService, changeDetector) {
6419
+ super(service);
6420
+ this.service = service;
6421
+ this.iconCacheService = iconCacheService;
6422
+ this._eventService = _eventService;
6423
+ this.changeDetector = changeDetector;
6424
+ this.iconDetailView = CoreComponentsIcon.DetailView;
6425
+ this.iconArrowPointRight = CoreComponentsIcon.ArrowPointRight;
6426
+ this.iconStock = CoreComponentsIcon.Stock;
6427
+ this.iconDocuments = CoreComponentsIcon.Documents;
6428
+ this.test = "";
6429
+ this.defaultSidebar = new Sidebar({
6430
+ width: "320px",
6431
+ type: "Auto",
6432
+ isOpen: false,
6433
+ position: "Right",
6434
+ target: "#app-module-sidebar-right"
6435
+ });
6436
+ this._subscriptions = [];
6437
+ this._subscriptions.push(this._eventService.transactionLineClicked.subscribe((transactionLine) => {
6438
+ this.transactionLine = transactionLine;
6439
+ this.defaultSidebar.show();
6440
+ }));
6441
+ }
6442
+ ngOnInit() {
6443
+ setTimeout(() => {
6444
+ this.defaultSidebar.appendTo("#default-sidebar");
6445
+ this.sidebarCloseClick();
6446
+ this.changeDetector.detectChanges();
6447
+ });
6448
+ }
6449
+ ngOnDestroy() {
6450
+ this._subscriptions.forEach(sub => sub.unsubscribe());
6451
+ }
6452
+ sidebarCloseClick() {
6453
+ this.defaultSidebar.hide();
6454
+ this._eventService.rightSidebarClose.next();
6455
+ }
6456
+ }
6457
+ TransactionSidebarRightComponent.decorators = [
6458
+ { type: Component, args: [{
6459
+ // eslint-disable-next-line @angular-eslint/component-selector
6460
+ selector: "transaction-sidebar-right",
6461
+ template: `
6462
+ <div id="default-sidebar">
6463
+ <div>
6464
+ <icon [icon]="iconArrowPointRight" (click)="sidebarCloseClick()"></icon>
6465
+ <label [textContent]="transactionLine?.goodDescription"></label>
6466
+ </div>
6467
+ <div>
6468
+ <ejs-tab id="element2">
6469
+ <e-tabitems>
6470
+ <e-tabitem>
6471
+ <ng-template #headerText>
6472
+ <icon [icon]="iconDetailView" title="Regeldetails"></icon>
6473
+ </ng-template>
6474
+ <ng-template #content>
6475
+ <transaction-line-accordion [transactionLine]="transactionLine"></transaction-line-accordion>
6476
+ </ng-template>
6477
+ </e-tabitem>
6478
+ <e-tabitem>
6479
+ <ng-template #headerText>
6480
+ <icon [icon]="iconStock" title="Voorraad"></icon>
6481
+ </ng-template>
6482
+ <ng-template #content>
6483
+ <div style="margin: 10px;">
6484
+ <div fxLayout="row" fxLayoutGap="10px">
6485
+ <co-input-text placeholder="In voorraad"></co-input-text>
6486
+ <co-input-text placeholder="In order voorraad"></co-input-text>
6487
+ </div>
6488
+
6489
+ <div fxLayout="row" fxLayoutGap="10px">
6490
+ <co-input-text placeholder="In order commissie"></co-input-text>
6491
+ <co-input-text placeholder="Beschikbaar"></co-input-text>
6492
+ </div>
6493
+
6494
+ <div fxLayout="row" fxLayoutGap="10px">
6495
+ <co-input-text placeholder="In bestelling"></co-input-text>
6496
+ <co-input-text placeholder="Later beschikbaar"></co-input-text>
6497
+ </div>
6498
+
6499
+ <div fxLayout="row" fxLayoutGap="10px">
6500
+ <co-input-text placeholder="Toegewezen" [model]="transactionLine?.amount"></co-input-text>
6501
+ <co-input-text placeholder="Vrije voorraad"></co-input-text>
6502
+ </div>
6503
+ </div>
6504
+ </ng-template>
6505
+ </e-tabitem>
6506
+ <e-tabitem>
6507
+ <ng-template #headerText>
6508
+ <icon [icon]="iconDocuments" title="Documenten en notities"></icon>
6509
+ </ng-template>
6510
+ <ng-template #content>
6511
+ <div>
6512
+ Documenten en notities
6513
+ </div>
6514
+ </ng-template>
6515
+ </e-tabitem>
6516
+ </e-tabitems>
6517
+ </ejs-tab>
6518
+ </div>
6519
+ </div>
6520
+ `,
6521
+ styles: [":host{display:block;width:100%}.e-accordion{border:none}.e-accordion .e-acrdn-item .e-acrdn-header .e-toggle-icon .e-icons{color:#add8e6}.e-tab .e-toolbar-items{display:flex;justify-content:center}\n"]
6522
+ },] }
6523
+ ];
6524
+ TransactionSidebarRightComponent.ctorParameters = () => [
6525
+ { type: TransactionService },
6526
+ { type: IconCacheService },
6527
+ { type: TransactionEventService },
6528
+ { type: ChangeDetectorRef }
6529
+ ];
6530
+
6531
+ class TransactionLineAccordionComponent {
6532
+ constructor(changeDetector) {
6533
+ this.changeDetector = changeDetector;
6534
+ this.transactionLine = new TransactionLineInfo;
6535
+ this.accordion = new Accordion({});
6536
+ this._subscriptions = [];
6537
+ }
6538
+ ngOnInit() {
6539
+ setTimeout(() => {
6540
+ this.accordion.appendTo("#accordion_html_markup");
6541
+ this.changeDetector.detectChanges();
6542
+ });
6543
+ }
6544
+ }
6545
+ TransactionLineAccordionComponent.decorators = [
6546
+ { type: Component, args: [{
6547
+ // eslint-disable-next-line @angular-eslint/component-selector
6548
+ selector: "transaction-line-accordion",
6549
+ template: `
6550
+ <div id='container'>
6551
+ <div id='accordion_html_markup'>
6552
+ <div>
6553
+ <div>Prijsdetails</div>
6554
+ <div>
6555
+ <div style="margin-left:10px;">
6556
+ <div fxLayout="row" fxLayoutGap="10px">
6557
+ <co-input-text placeholder="Aantal" [model]="transactionLine?.amount"></co-input-text>
6558
+ <co-input-text placeholder="Verkoopprijs" [model]="transactionLine?.price"></co-input-text>
6559
+ </div>
6560
+ <div fxLayout="row" fxLayoutGap="10px">
6561
+ <co-input-text placeholder="Adviesprijs"></co-input-text>
6562
+ <co-input-text placeholder="Totaal korting"></co-input-text>
6563
+ </div>
6564
+ <div fxLayout="row" fxLayoutGap="10px">
6565
+ <co-input-text placeholder="Koritngspercentage"></co-input-text>
6566
+ <co-input-text placeholder="Kortingsbedrag" [model]="transactionLine?.discountAmount"></co-input-text>
6567
+ </div>
6568
+
6569
+ <div fxLayout="row" fxLayoutGap="10px">
6570
+ <co-input-text placeholder="Speciale korting"></co-input-text>
6571
+ <co-input-text placeholder="Transactiekorting"></co-input-text>
6572
+ </div>
6573
+
6574
+ <div fxLayout="row" fxLayoutGap="10px">
6575
+ <co-input-text placeholder="Business rule korting"></co-input-text>
6576
+ <co-input-text placeholder="Kwantumkorting"></co-input-text>
6577
+ </div>
6578
+
6579
+ <div fxLayout="row" fxLayoutGap="10px">
6580
+ <co-input-text placeholder="Toeslag"></co-input-text>
6581
+ <co-input-text placeholder="BTW"></co-input-text>
6582
+ </div>
6583
+
6584
+ <div fxLayout="row" fxLayoutGap="10px">
6585
+ <co-input-text placeholder="Prijslijst"></co-input-text>
6586
+ </div>
6587
+ </div>
6588
+ </div>
6589
+ </div>
6590
+ <div>
6591
+ <div>Logistiek</div>
6592
+ <div>
6593
+ <div style="margin-left:10px;">
6594
+ <div fxLayout="row" fxLayoutGap="10px">
6595
+ <co-input-text placeholder="Commissiecode"></co-input-text>
6596
+ <co-input-text placeholder="Levermethode"></co-input-text>
6597
+ </div>
6598
+ <div fxLayout="row" fxLayoutGap="10px">
6599
+ <co-input-text placeholder="Montagetijd"></co-input-text>
6600
+ <co-input-text placeholder="Bewerkingstijd"></co-input-text>
6601
+ </div>
6602
+ <div fxLayout="row" fxLayoutGap="10px">
6603
+ <co-input-text placeholder="Leverancier"></co-input-text>
6604
+ <co-input-text placeholder="Artikelnummer leverancier"></co-input-text>
6605
+ </div>
6606
+
6607
+ <div fxLayout="row" fxLayoutGap="10px">
6608
+ <co-input-text placeholder="In/uit collectie"></co-input-text>
6609
+ <co-input-text placeholder="Dropshipment"></co-input-text>
6610
+ </div>
6611
+
6612
+ <div fxLayout="row" fxLayoutGap="10px">
6613
+ <co-input-text placeholder="Leverdatum"></co-input-text>
6614
+ <co-input-text placeholder="Referentie"></co-input-text>
6615
+ </div>
6616
+ </div>
6617
+ </div>
6618
+
6619
+ </div>
6620
+ <div>
6621
+ <div id="header">Opmaak</div>
6622
+ <div id="opmaak">
6623
+ <div style="margin-left:10px;">
6624
+ <div fxLayout="row" fxLayoutGap="10px">
6625
+ <co-input-text placeholder="Orderregelset"></co-input-text>
6626
+ <co-input-text placeholder="Hoofdstuk"></co-input-text>
6627
+ </div>
6628
+ <div>
6629
+ <co-input-text placeholder="Laatste wijziging Door"></co-input-text>
6630
+ </div>
6631
+ <div>
6632
+ <co-input-text placeholder="Zichtbaar op documenten"></co-input-text>
6633
+ </div>
6634
+ </div>
6635
+ </div>
6636
+ </div>
6637
+ <div>
6638
+ <div>Artikelkenmerken</div>
6639
+ <div>
6640
+ <div style="margin-left:10px;">
6641
+ <div fxLayout="row" fxLayoutGap="10px">
6642
+ <co-input-text placeholder="Breedte"></co-input-text>
6643
+ <co-input-text placeholder="Lengte"></co-input-text>
6644
+ </div>
6645
+ <div fxLayout="row" fxLayoutGap="10px">
6646
+ <co-input-text placeholder="Hoogte"></co-input-text>
6647
+ <co-input-text placeholder="Zitdiepte"></co-input-text>
6648
+ </div>
6649
+ <div fxLayout="row" fxLayoutGap="10px">
6650
+ <co-input-text placeholder="Zithoogte"></co-input-text>
6651
+ <co-input-text placeholder="Volume"></co-input-text>
6652
+ </div>
6653
+ <div fxLayout="row" fxLayoutGap="10px">
6654
+ <co-input-text placeholder="Stopmaat"></co-input-text>
6655
+ <co-input-text placeholder="Patroonhoogte"></co-input-text>
6656
+ </div>
6657
+ <br>
6658
+ <div fxLayout="row" fxLayoutGap="10px">
6659
+ <co-input-text placeholder="Standaard levertijd"></co-input-text>
6660
+ <co-input-text placeholder="Standaard levertijd verkoop"></co-input-text>
6661
+ </div>
6662
+ <div fxLayout="row" fxLayoutGap="10px">
6663
+ <co-input-text placeholder="Eenheid verkoop"></co-input-text>
6664
+ <co-input-text placeholder="Verkoophoeveelheid"></co-input-text>
6665
+ </div>
6666
+ <div fxLayout="row" fxLayoutGap="10px">
6667
+ <co-input-text placeholder="Aantal"></co-input-text>
6668
+ <co-input-text placeholder="Colli"></co-input-text>
6669
+ </div>
6670
+ <br>
6671
+ <div fxLayout="row" fxLayoutGap="10px">
6672
+ <co-input-text placeholder="Omzetgroep"></co-input-text>
6673
+ <co-input-text placeholder="Artikelgroep"></co-input-text>
6674
+ </div>
6675
+ <div fxLayout="row" fxLayoutGap="10px">
6676
+ <co-input-text placeholder="Hoofdartikel"></co-input-text>
6677
+ <co-input-text placeholder="Sfeer"></co-input-text>
6678
+ </div>
6679
+ <div fxLayout="row" fxLayoutGap="10px">
6680
+ <co-input-text placeholder="Concept"></co-input-text>
6681
+ <co-input-text placeholder="Afdeling"></co-input-text>
6682
+ </div>
6683
+ </div>
6684
+ </div>
6685
+ </div>
6686
+
6687
+ </div>
6688
+ </div>
6689
+ `,
6690
+ styles: [""]
6691
+ },] }
6692
+ ];
6693
+ TransactionLineAccordionComponent.ctorParameters = () => [
6694
+ { type: ChangeDetectorRef }
6695
+ ];
6696
+ TransactionLineAccordionComponent.propDecorators = {
6697
+ transactionLine: [{ type: Input }]
6698
+ };
6699
+
6700
+ class TransactionRelationEditComponent extends TransactionBaseComponent {
6701
+ constructor(service) {
6702
+ super(service);
6703
+ this.service = service;
6704
+ this.showPopup = false;
6705
+ this.relType = RelationNameKind;
6706
+ this.genderType = GenderType;
6707
+ this.validSubmit = new EventEmitter();
6708
+ this.invalidSubmit = new EventEmitter();
6709
+ this.dateOfBirth = new Date();
6710
+ this.phoneNumber = new ContactOption();
6711
+ }
6712
+ get readonly() {
6713
+ return false;
6714
+ }
6715
+ get subHeader() {
6716
+ return "";
6717
+ }
6718
+ get editFirstAddress() {
6719
+ if (this.firstAddress) {
6720
+ return this.firstAddress;
6721
+ }
6722
+ else if (this.customer) {
6723
+ const address = new Address();
6724
+ address.addressType = AddressType.DeliveryAddress;
6725
+ address.startDate = new Date();
6726
+ address.sequence = this.customer.getNextAddressSequence();
6727
+ this.customer.addresses.push(address);
6728
+ return address;
6729
+ }
6730
+ }
6731
+ get firstAddress() {
6732
+ if (!this.relation || !this.customer.addresses.length) {
6733
+ return;
6734
+ }
6735
+ return this.customer.getFirstAvailableAddress([
6736
+ AddressType.DeliveryAddress,
6737
+ AddressType.BillingAddress,
6738
+ AddressType.VisitingAddress,
6739
+ AddressType.MailingAddress,
6740
+ AddressType.NursingAddress
6741
+ ]);
6742
+ }
6743
+ onPopupClose() {
6744
+ this.showPopup = false;
6745
+ }
6746
+ changeRelationType(relationType) {
6747
+ if (this.customer) {
6748
+ this.customer.type = relationType;
6749
+ }
6750
+ }
6751
+ changeGenderType(genderType) {
6752
+ if (this.customer) {
6753
+ this.customer.gender = genderType;
6754
+ }
6755
+ }
6756
+ firstNameChange(firstName) {
6757
+ if (this.customer) {
6758
+ this.customer.firstName = firstName;
6759
+ }
6760
+ }
6761
+ familyNameChange(familyName) {
6762
+ if (this.customer) {
6763
+ this.customer.familyName = familyName;
6764
+ }
6765
+ }
6766
+ }
6767
+ TransactionRelationEditComponent.decorators = [
6768
+ { type: Component, args: [{
6769
+ // eslint-disable-next-line @angular-eslint/component-selector
6770
+ selector: "transaction-relation-edit",
6771
+ template: `
6772
+ <co-dialog [visible]="showPopup" header="ACCOUNT_DETAILS" (close)="onPopupClose()"
6773
+ noClickOutside contentSize>
6774
+ <ng-container content>
6775
+ <co-form #transactionRelationEditForm (validSubmit)="validSubmit.emit()" (invalidSubmit)="invalidSubmit.emit()">
6776
+ <div style="min-width: 500px;">
6777
+ <div>
6778
+ <label [textContent]="'PERSONAL_DATA' | localize"
6779
+ class="transaction-relation-label-h3"
6780
+ ></label>
6781
+ </div>
6782
+ <div>
6783
+ <div>
6784
+ <label [textContent]="'ORDER_TYPE' | localize "
6785
+ class="transaction-relation-label-h3"
6786
+ ></label>
6787
+ </div>
6788
+ <div *ngIf="customer?.type">
6789
+ <co-input-radio-button [name]="'type'"
6790
+ [label]="'PRIVATE_PERSON' | localize"
6791
+ [value]="relType.Private"
6792
+ [checked]="customer.type === relType.Private"
6793
+ (modelChange)="changeRelationType(relType.Private)"
6794
+ ></co-input-radio-button>
6795
+ <co-input-radio-button [name]="'type'"
6796
+ [label]="'COMPANY' | localize"
6797
+ [value]="relType.Company"
6798
+ [checked]="customer.type === relType.Company"
6799
+ (modelChange)="changeRelationType(relType.Company)"
6800
+ ></co-input-radio-button>
6801
+ </div>
6802
+ </div>
6803
+ <div *ngIf="customer?.type === relType.Private">
6804
+ <label [textContent]="'SALUTATION' | localize"
6805
+ class="transaction-relation-label-h3"
6806
+ ></label>
6807
+ <div *ngIf="customer?.gender">
6808
+ <co-input-radio-button [name]="'gender'"
6809
+ [label]="'MALE' | localize"
6810
+ [value]="genderType.Male"
6811
+ [checked]="customer.gender === genderType.Male"
6812
+ (modelChange)="changeGenderType(genderType.Male)"
6813
+ ></co-input-radio-button>
6814
+ <co-input-radio-button [name]="'gender'"
6815
+ [label]="'FEMALE' | localize "
6816
+ [value]="genderType.Female"
6817
+ [checked]="customer.gender === genderType.Female"
6818
+ (modelChange)="changeGenderType(genderType.Female)"
6819
+ ></co-input-radio-button>
6820
+ <co-input-radio-button [name]="'gender'"
6821
+ [label]="'UNKNOWN' | localize"
6822
+ [value]="genderType.Unspecified"
6823
+ [checked]="customer.gender === genderType.Unspecified"
6824
+ (modelChange)="changeGenderType(genderType.Unspecified)"
6825
+ ></co-input-radio-button>
6826
+ </div>
6827
+ </div>
6828
+ <div *ngIf="customer?.type === relType.Private">
6829
+ <div>
6830
+ <label [textContent]="'NAME' | localize "
6831
+ class="transaction-relation-label-h3"
6832
+ ></label>
6833
+ <div class="default-flex-row">
6834
+ <div class="default-flex-column">
6835
+ <co-input-text
6836
+ [(model)]="customer.firstName"
6837
+ [placeholder]="'FIRST_NAME' | localize "
6838
+ (modelChange)="firstNameChange($event)"
6839
+ required
6840
+ ></co-input-text>
6841
+ </div>
6842
+ <div class="default-flex-column">
6843
+ <co-input-text
6844
+ [(model)]="customer.prefix"
6845
+ [placeholder]="'PREFIX' | localize "
6846
+ ></co-input-text>
6847
+ </div>
6848
+ <div class="default-flex-column">
6849
+ <co-input-text
6850
+ [(model)]="customer.familyName"
6851
+ [placeholder]="'LAST_NAME' | localize"
6852
+ (modelChange)="familyNameChange($event)"
6853
+ required
6854
+ ></co-input-text>
6855
+ </div>
6856
+ <div class="default-flex-column">
6857
+ <co-input-date
6858
+ [placeholder]="'DATE_OF_BIRTH' | localize "
6859
+ [(model)]="dateOfBirth"
6860
+ required
6861
+ ></co-input-date>
6862
+ </div>
6863
+ <div class="default-flex-column">
6864
+ <co-input-text
6865
+ [(model)]="phoneNumber.value"
6866
+ [placeholder]="'PHONE_NO' | localize "
6867
+ required
6868
+ ></co-input-text>
6869
+ </div>
6870
+ </div>
6871
+ </div>
6872
+ </div>
6873
+ <div>
6874
+ <div *ngIf="customer?.type === relType.Company" class="default-flex-column">
6875
+ <label [textContent]="'COMPANY_NAME' | localize "
6876
+ class="transaction-relation-label-h3"
6877
+ ></label>
6878
+ <co-input-text
6879
+ [(model)]="customer.familyName"
6880
+ [label]="'COMPANY_NAME'"
6881
+ required
6882
+ ></co-input-text>
6883
+ </div>
6884
+ </div>
6885
+
6886
+ <div>
6887
+ <transaction-relation-address
6888
+ label="DELIVERY_ADDRESS" [address]="editFirstAddress"
6889
+ ></transaction-relation-address>
6890
+ </div>
6891
+
6892
+ <div fxLayout="row" fxLayoutGap="10px" class="button-wrapper">
6893
+ <default-ok-cancel-buttons
6894
+ [okDisabled]="readonly"
6895
+ (okClick)="transactionRelationEditForm.submit()"
6896
+ (cancelClick)="onPopupClose()"
6897
+ ></default-ok-cancel-buttons>
6898
+ </div>
6899
+ </div>
6900
+ </co-form>
6901
+ </ng-container>
6902
+ </co-dialog>
6903
+ `,
6904
+ styles: [".button-wrapper{margin-top:10px;justify-content:center}co-input-radio-button{margin-left:16px}.transaction-relation-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.transaction-relation-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}\n"]
6905
+ },] }
6906
+ ];
6907
+ TransactionRelationEditComponent.ctorParameters = () => [
6908
+ { type: TransactionService }
6909
+ ];
6910
+ TransactionRelationEditComponent.propDecorators = {
6911
+ transactionRelationEditForm: [{ type: ViewChild, args: ["transactionRelationEditForm", { read: FormComponent },] }],
6912
+ showPopup: [{ type: Input }],
6913
+ validSubmit: [{ type: Output }]
6914
+ };
6915
+
6916
+ class TransactionHeaderBlockComponent extends TransactionBaseComponent {
6917
+ constructor(service) {
6918
+ super(service);
6919
+ this.service = service;
6920
+ this.planningRequestButtonClick = new EventEmitter();
6921
+ }
6922
+ showPopupTab(index) {
6923
+ this.selectedTab = index;
6924
+ }
6925
+ tabClick() {
6926
+ this.relationPopup.showPopup = true;
6927
+ }
6928
+ transactionEditClose() {
6929
+ this.relationPopup.showPopup = false;
6930
+ }
6931
+ }
6932
+ TransactionHeaderBlockComponent.decorators = [
6933
+ { type: Component, args: [{
6934
+ // eslint-disable-next-line @angular-eslint/component-selector
6935
+ selector: "transaction-header-block",
6936
+ template: `
6937
+ <div fxLayout="row wrap" fxLayout.xs="column">
6938
+ <div class="summary-block" (click)="tabClick()">
6939
+ <div class="block-wrapper">
6940
+ <div class="content-wrapper">
6941
+ <div class="name"
6942
+ [textContent]="relation?.displayName"></div>
6943
+ <div class="address link pointer"
6944
+ [textContent]="relation?.displayAddressFull"></div>
6945
+ <div class="phone link pointer"
6946
+ [textContent]="relation?.tel1"></div>
6947
+ <div [textContent]="relation?.email"
6948
+ class="email link pointer"
6949
+ ></div>
6950
+ </div>
6951
+ </div>
6952
+ </div>
6953
+
6954
+ <transaction-service-info class="summary-block"
6955
+ [transaction]="transaction"
6956
+ ></transaction-service-info>
6957
+ <transaction-service-status class="summary-block"
6958
+ [transaction]="transaction"
6959
+ ></transaction-service-status>
6960
+ <transaction-order-info class="summary-block"
6961
+ [transaction]="transaction"
6962
+ ></transaction-order-info>
6963
+ <transaction-payment-info class="summary-block"
6964
+ [transaction]="transaction"
6965
+ ></transaction-payment-info>
6966
+ <transaction-delivery-summary class="summary-block"
6967
+ [transaction]="transaction"
6968
+ [canPlanDelivery]="!isService && canPlanDelivery"
6969
+ (planningRequestButtonClick)="planningRequestButtonClick.emit($event)"
6970
+ (click)="showPopupTab(1)"
6971
+ ></transaction-delivery-summary>
6972
+ <transaction-article-info class="summary-block"
6973
+ [transaction]="transaction"
6974
+ ></transaction-article-info>
6975
+ <transaction-product-summary class="summary-block"
6976
+ [transaction]="transaction"
6977
+ [product]="product"
6978
+ ></transaction-product-summary>
6979
+ </div>
6980
+
6981
+ <transaction-relation-edit [customerId]="relationId" (validSubmit)="transactionEditClose()"></transaction-relation-edit>
6982
+ `,
6983
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:block;padding:15px 0 30px}.name{font-size:13px;font-weight:bold;color:#22313c;margin-bottom:5px}.address,.phone,.email{font-size:13px;line-height:16px;color:#5b6875}.pointer{cursor:pointer}.link{color:#2b60a7}.summary-block{width:calc(25% - 15px);border:2px dashed #DCE4EA;margin:7px;border-radius:15px;position:relative}.summary-block .block-wrapper{position:relative;display:flex;align-items:center;padding:30px 20px}.summary-block:after{content:\"\";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border:1px solid #FFF;pointer-events:none;border-radius:15px}@media only screen and (min-width: 960px) and (max-width: 1279px){.summary-block{width:calc(50% - 15px)}}@media only screen and (max-width: 599px){.summary-block{width:calc(100%);margin:7px 0}}\n"]
6984
+ },] }
6985
+ ];
6986
+ TransactionHeaderBlockComponent.ctorParameters = () => [
6987
+ { type: TransactionService }
6988
+ ];
6989
+ TransactionHeaderBlockComponent.propDecorators = {
6990
+ relationPopup: [{ type: ViewChild, args: [TransactionRelationEditComponent, { static: true },] }],
6991
+ canPlanDelivery: [{ type: Input }],
6992
+ planningRequestButtonClick: [{ type: Output }]
6993
+ };
6994
+
6995
+ class TransactionServiceSummaryComponent extends TransactionBaseComponent {
6996
+ constructor(service, iconCacheService) {
6997
+ super(service);
6998
+ this.service = service;
6999
+ this.iconCacheService = iconCacheService;
7000
+ this.iconWrench = CoreComponentsIcon.Wrench;
7001
+ }
7002
+ }
7003
+ TransactionServiceSummaryComponent.decorators = [
7004
+ { type: Component, args: [{
7005
+ // eslint-disable-next-line @angular-eslint/component-selector
7006
+ selector: "transaction-service-info",
7007
+ template: `
7008
+ <transaction-summary-block
7009
+ [hideAvatar]="true"
7010
+ [class.disabled]="!isNew"
7011
+ label="SERVICE"
7012
+ [icon]="iconWrench"
7013
+ headerLabel="SERVICE_NUMBER"
7014
+ [headerValue]="transactionInfo.transactionNr"
7015
+ subHeaderLabel="SERVICE_REQUEST_DATE"
7016
+ [subHeaderValue]="transactionInfo.transactionDate | date:'shortDate'"
7017
+ ></transaction-summary-block>
7018
+ `
7019
+ },] }
7020
+ ];
7021
+ TransactionServiceSummaryComponent.ctorParameters = () => [
7022
+ { type: TransactionService },
7023
+ { type: IconCacheService }
7024
+ ];
7025
+ TransactionServiceSummaryComponent.propDecorators = {
7026
+ hidden: [{ type: HostBinding, args: ["class.hidden",] }]
7027
+ };
7028
+
7029
+ class TransactionSummaryBlockComponent {
7030
+ constructor() {
7031
+ this.Icon = CoreComponentsIcon;
7032
+ this.hideAvatar = false;
7033
+ this.label = "";
7034
+ this.headerLabel = "";
7035
+ this.subHeaderLabel = "";
7036
+ }
7037
+ ngOnDestroy() {
7038
+ this.subHeaderTemplate = undefined;
7039
+ }
7040
+ }
7041
+ TransactionSummaryBlockComponent.decorators = [
7042
+ { type: Component, args: [{
7043
+ // eslint-disable-next-line @angular-eslint/component-selector
7044
+ selector: "transaction-summary-block",
7045
+ template: `
7046
+ <div class="block-wrapper">
7047
+ <div *ngIf="hideAvatar" class="icon-wrapper">
7048
+ <icon *ngIf="icon" [icon]="icon" class="dark"></icon>
7049
+ <image-display *ngIf="!icon" [model]="image"></image-display>
7050
+ </div>
7051
+ <div class="content-wrapper">
7052
+ <div class="value-block">
7053
+ <div class="header-label" [textContent]="headerLabel | localize"></div>
7054
+ <div class="header" [textContent]="headerValue"></div>
7055
+ </div>
7056
+ <div class="value-block">
7057
+ <div class="subheader-label" [textContent]="subHeaderLabel | localize"></div>
7058
+ <ng-container *ngIf="subHeaderTemplate" [templateWrapper]="subHeaderTemplate"></ng-container>
7059
+ <div *ngIf="!subHeaderTemplate" class="subheader" [textContent]="subHeaderValue"></div>
7060
+ </div>
7061
+ </div>
7062
+ </div>
7063
+ `,
7064
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{width:368px;min-height:130px;height:auto;display:flex;flex-direction:column;margin-top:1px;margin-left:1px;padding:30px 20px}:host .content-wrapper .value-block{margin-bottom:10px}:host .content-wrapper .value-block ::ng-deep .planning-wrapper{justify-content:flex-start}:host .content-wrapper .value-block ::ng-deep .planning-wrapper arrow-link{margin-right:10px}:host .disabled-indicator{position:absolute;top:0;left:0;display:none}:host.disabled .disabled-indicator{display:block}:host ::ng-deep image-display{height:60px;width:60px;flex-shrink:0}:host ::ng-deep image-display span{display:none}:host .icon-wrapper{display:flex;flex-shrink:0;align-items:center;justify-content:center;background:#F8FBFA;height:60px;width:60px;border-radius:50%;border:1px solid #DCE4EA;overflow:hidden}:host .icon-wrapper ::ng-deep icon{height:60px!important;width:60px!important;flex-shrink:0}:host .title{font-size:13px;color:#22313c}:host .block-wrapper{position:relative;display:flex;align-items:center}:host .border{border-radius:3px;padding:15px;background:white;border:1px solid #DCE4EA}:host .content-wrapper{display:flex;flex-direction:column;justify-content:center;margin-left:10px;min-height:60px;height:auto;width:100%}:host .header-label,:host .subheader-label{font-size:11px;line-height:13px;color:#5b6875}:host .header,:host .subheader{font-size:13px;font-weight:bold;color:#22313c}\n"]
7065
+ },] }
7066
+ ];
7067
+ TransactionSummaryBlockComponent.ctorParameters = () => [];
7068
+ TransactionSummaryBlockComponent.propDecorators = {
7069
+ hideAvatar: [{ type: Input }],
7070
+ label: [{ type: Input }],
7071
+ icon: [{ type: Input }],
7072
+ image: [{ type: Input }],
7073
+ headerLabel: [{ type: Input }],
7074
+ headerValue: [{ type: Input }],
7075
+ subHeaderLabel: [{ type: Input }],
7076
+ subHeaderValue: [{ type: Input }],
7077
+ subHeaderTemplate: [{ type: ContentChild, args: ["subHeaderTemplate", { static: false },] }]
7078
+ };
7079
+
7080
+ class TransactionServiceStatusComponent extends TransactionBaseComponent {
7081
+ constructor(service) {
7082
+ super(service);
7083
+ this.service = service;
7084
+ this.iconPin = CoreComponentsIcon.Pin;
7085
+ }
7086
+ get serviceStatus() {
7087
+ // TODO: transaction.serviceStatus
7088
+ return "serviceStatus";
7089
+ }
7090
+ }
7091
+ TransactionServiceStatusComponent.decorators = [
7092
+ { type: Component, args: [{
7093
+ // eslint-disable-next-line @angular-eslint/component-selector
7094
+ selector: "transaction-service-status",
7095
+ template: `
7096
+ <transaction-summary-block
7097
+ [class.disabled]="!isNew"
7098
+ label="STATUS"
7099
+ [icon]="iconPin"
7100
+ headerLabel="SERVICE_STATE"
7101
+ [headerValue]="serviceStatus"
7102
+ ></transaction-summary-block>
7103
+ `
7104
+ },] }
7105
+ ];
7106
+ TransactionServiceStatusComponent.ctorParameters = () => [
7107
+ { type: TransactionService }
7108
+ ];
7109
+ TransactionServiceStatusComponent.propDecorators = {
7110
+ hidden: [{ type: HostBinding, args: ["class.hidden",] }]
7111
+ };
7112
+
7113
+ class TransactionOrderSummaryComponent extends TransactionBaseComponent {
7114
+ constructor(service) {
7115
+ super(service);
7116
+ this.service = service;
7117
+ this.iconOrder = CoreComponentsIcon.Order;
7118
+ }
7119
+ get sourceTransactionNr() {
7120
+ // TODO: transaction.sourceTransactionNr
7121
+ return 0;
7122
+ }
7123
+ get sourceTransactionDate() {
7124
+ // TODO: transaction.sourceTransactionDate
7125
+ return new Date();
7126
+ }
7127
+ }
7128
+ TransactionOrderSummaryComponent.decorators = [
7129
+ { type: Component, args: [{
7130
+ // eslint-disable-next-line @angular-eslint/component-selector
7131
+ selector: "transaction-order-info",
7132
+ template: `
7133
+ <transaction-summary-block
7134
+ [class.disabled]="!isNew"
7135
+ label="ORDER_INFO"
7136
+ [icon]="iconOrder"
7137
+ headerLabel="ORDER_NUMBER"
7138
+ [headerValue]="isService ? sourceTransactionNr : transactionInfo.transactionNr"
7139
+ subHeaderLabel="ORDER_DATE"
7140
+ [subHeaderValue]="(isService ? sourceTransactionDate : this.transactionInfo.transactionDate) | date:'shortDate'"
7141
+ ></transaction-summary-block>
7142
+ `
7143
+ },] }
7144
+ ];
7145
+ TransactionOrderSummaryComponent.ctorParameters = () => [
7146
+ { type: TransactionService }
7147
+ ];
7148
+ TransactionOrderSummaryComponent.propDecorators = {
7149
+ hidden: [{ type: HostBinding, args: ["class.hidden",] }]
7150
+ };
7151
+
7152
+ class TransactionPaymentInfoComponent extends TransactionBaseComponent {
7153
+ constructor(service) {
7154
+ super(service);
7155
+ this.service = service;
7156
+ this.euro = CoreComponentsIcon.Information;
7157
+ }
7158
+ }
7159
+ TransactionPaymentInfoComponent.decorators = [
7160
+ { type: Component, args: [{
7161
+ // eslint-disable-next-line @angular-eslint/component-selector
7162
+ selector: "transaction-payment-info",
7163
+ template: `
7164
+ <transaction-summary-block
7165
+ [class.disabled]="!isNew"
7166
+ label="PAYMENT"
7167
+ [icon]="euro"
7168
+ headerLabel="TOTAL_AMOUNT"
7169
+ [headerValue]="transactionTotal.netAmount | coCurrency"
7170
+ subHeaderLabel="PAID_DOWN2"
7171
+ [subHeaderValue]="transactionTotal.transactionDiscountAmount | coCurrency"
7172
+ ></transaction-summary-block>
7173
+ `
7174
+ },] }
7175
+ ];
7176
+ TransactionPaymentInfoComponent.ctorParameters = () => [
7177
+ { type: TransactionService }
7178
+ ];
7179
+ TransactionPaymentInfoComponent.propDecorators = {
7180
+ hidden: [{ type: HostBinding, args: ["class.hidden",] }]
7181
+ };
7182
+
7183
+ class TransactionArticleSummaryComponent extends TransactionBaseComponent {
7184
+ constructor(service) {
7185
+ super(service);
7186
+ this.service = service;
7187
+ this.imageDataUri = "";
7188
+ }
7189
+ get sourceArticleDescription() {
7190
+ // TODO: transaction.sourceArticleDescription
7191
+ return "sourceArticleDescription";
7192
+ }
7193
+ get sourceArticleNr() {
7194
+ // TODO: transaction.sourceArticleNr
7195
+ return "sourceArticleNr";
7196
+ }
7197
+ _getArticleImage() {
7198
+ return __awaiter(this, void 0, void 0, function* () {
7199
+ // TODO: Add to TransactionAPI?
7200
+ // if (this.transaction.sourceGoodId) {
7201
+ // this.imageDataUri =
7202
+ // (await this._articleDalRepo.getThumbnailImageContentTableGoods(
7203
+ // this.transaction.sourceGoodId + "", DocumentPublication.None, false, true));
7204
+ // }
7205
+ });
7206
+ }
7207
+ transactionSet() {
7208
+ this._getArticleImage();
7209
+ }
7210
+ }
7211
+ TransactionArticleSummaryComponent.decorators = [
7212
+ { type: Component, args: [{
7213
+ // eslint-disable-next-line @angular-eslint/component-selector
7214
+ selector: "transaction-article-info",
7215
+ template: `
7216
+ <transaction-summary-block
7217
+ [class.disabled]="!isNew"
7218
+ headerLabel="ARTICLE_DESCRIPTION"
7219
+ [image]="imageDataUri"
7220
+ [headerValue]="sourceArticleDescription"
7221
+ subHeaderLabel="ARTICLE_NR"
7222
+ [subHeaderValue]="sourceArticleNr"
7223
+ ></transaction-summary-block>
7224
+ `
7225
+ },] }
7226
+ ];
7227
+ TransactionArticleSummaryComponent.ctorParameters = () => [
7228
+ { type: TransactionService }
7229
+ ];
7230
+ TransactionArticleSummaryComponent.propDecorators = {
7231
+ hidden: [{ type: HostBinding, args: ["class.hidden",] }]
7232
+ };
7233
+
7234
+ class TransactionDeliverySummaryComponent extends TransactionBaseComponent {
7235
+ constructor(service) {
7236
+ super(service);
7237
+ this.service = service;
7238
+ this.deliveryTruck = CoreComponentsIcon.DeliveryTruck;
7239
+ this.calendarRoundOpen = CoreComponentsIcon.CalendarRoundOpen;
7240
+ this.deliveryMethodDescription = "";
7241
+ this.canPlanDelivery = false;
7242
+ this.planningRequestButtonClick = new EventEmitter();
7243
+ }
7244
+ transactionSet() {
7245
+ return __awaiter(this, void 0, void 0, function* () {
7246
+ // TODO: move call to TransactionAPI?
7247
+ //this.deliveryMethodDescription = await this._lookupService.lookup(DeliveryMethod, this.transaction.deliveryMethod);
7248
+ });
7249
+ }
7250
+ }
7251
+ TransactionDeliverySummaryComponent.decorators = [
7252
+ { type: Component, args: [{
7253
+ // eslint-disable-next-line @angular-eslint/component-selector
7254
+ selector: "transaction-delivery-summary",
7255
+ template: `
7256
+ <transaction-summary-block
7257
+ label="DELIVERY"
7258
+ [icon]="deliveryTruck"
7259
+ headerLabel="DELIVERY_METHOD2"
7260
+ [headerValue]="deliveryMethodDescription"
7261
+ [subHeaderLabel]="transactionInfo.preferredDeliveryDate ? 'DELIVERY_DATE' : !canPlanDelivery ? 'EXPECTED_DELIVERY_WEEK' : 'EXPECTED_DELIVERY'"
7262
+ [subHeaderValue]="transactionInfo.preferredDeliveryDate ? (transactionInfo.deliveryDate | date:'shortDate') : 'WEEK' | localize | append:(' ') | append:(transactionInfo.deliveryDate | date:'w')">
7263
+ <ng-template #subHeaderTemplate *ngIf="canPlanDelivery">
7264
+ <div class="planning-wrapper">
7265
+ <span class="subheader" *ngIf="transactionInfo.preferredDeliveryDate"
7266
+ [textContent]="(transactionInfo.preferredDeliveryDate | date:'shortDate') + ', ' + transactionInfo.preferredDeliveryDate | date: 'time' "></span>
7267
+ <!-- <arrow-link *ngIf="!transactionInfo.preferredDeliveryDate"-->
7268
+ <!-- label="PLAN_YOUR_DELIVERY"-->
7269
+ <!-- (click)="planningRequestButtonClick.emit($event)"-->
7270
+ <!-- ></arrow-link>-->
7271
+ <icon [icon]="calendarRoundOpen" (click)="planningRequestButtonClick.emit($event)"></icon>
7272
+ </div>
7273
+ </ng-template>
7274
+ </transaction-summary-block>
7275
+ `,
7276
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host .planning-wrapper{display:flex;justify-content:space-between;align-items:center;flex-direction:row;color:#2b60a7;margin-top:-10px;font-size:13px}:host .planning-wrapper ::ng-deep icon{cursor:pointer}:host .planning-wrapper ::ng-deep icon [fill]{fill:#2b60a7}\n"]
7277
+ },] }
7278
+ ];
7279
+ TransactionDeliverySummaryComponent.ctorParameters = () => [
7280
+ { type: TransactionService }
7281
+ ];
7282
+ TransactionDeliverySummaryComponent.propDecorators = {
7283
+ hidden: [{ type: HostBinding, args: ["class.hidden",] }],
7284
+ canPlanDelivery: [{ type: Input }],
7285
+ planningRequestButtonClick: [{ type: Output }]
7286
+ };
7287
+
7288
+ class TransactionProductContractSummaryComponent extends TransactionBaseComponent {
7289
+ constructor(service) {
7290
+ super(service);
7291
+ this.service = service;
7292
+ }
7293
+ productSet() {
7294
+ // TODO: add to TransactionAPI?
7295
+ if (!this.product.imageAsDataUri) {
7296
+ // this._generalRepo.getDocument(this.product.image.documentId).then((doc: CoDocument) => {
7297
+ // this.product.imageAsDataUri = doc.thumbnailBodyAsDataUri;
7298
+ // });
7299
+ }
7300
+ }
7301
+ }
7302
+ TransactionProductContractSummaryComponent.decorators = [
7303
+ { type: Component, args: [{
7304
+ // eslint-disable-next-line @angular-eslint/component-selector
7305
+ selector: "transaction-product-contract-summary",
7306
+ template: `
7307
+ <transaction-summary-block
7308
+ [class.disabled]="!isNew"
7309
+ label="CONTRACT"
7310
+ [image]="product?.imageAsDataUri"
7311
+ headerLabel="PRODUCT"
7312
+ [headerValue]="product?.product"
7313
+ subHeaderLabel="REFERENCE"
7314
+ [subHeaderValue]="product?.productReference"
7315
+ ></transaction-summary-block>
7316
+ `
7317
+ },] }
7318
+ ];
7319
+ TransactionProductContractSummaryComponent.ctorParameters = () => [
7320
+ { type: TransactionService }
7321
+ ];
7322
+
7323
+ class TransactionProductSummaryComponent extends TransactionBaseComponent {
7324
+ constructor(service) {
7325
+ super(service);
7326
+ this.service = service;
7327
+ }
7328
+ productSet() {
7329
+ // TODO: Add to TransactionAPI?
7330
+ if (this.product && !this.product.imageAsDataUri && this.product.image && this.product.image.documentId) {
7331
+ // this._generalRepo.getDocument(this.product.image.documentId).then((doc: CoDocument) => {
7332
+ // this.product.imageAsDataUri = doc.thumbnailBodyAsDataUri;
7333
+ // });
7334
+ }
7335
+ }
7336
+ }
7337
+ TransactionProductSummaryComponent.decorators = [
7338
+ { type: Component, args: [{
7339
+ // eslint-disable-next-line @angular-eslint/component-selector
7340
+ selector: "transaction-product-summary",
7341
+ template: `
7342
+ <transaction-summary-block
7343
+ [class.disabled]="!isNew"
7344
+ label="PRODUCT"
7345
+ [image]="product?.imageAsDataUri"
7346
+ headerLabel="PRODUCT_TYPE"
7347
+ [headerValue]="product?.productReference"
7348
+ subHeaderLabel="PRODUCT"
7349
+ [subHeaderValue]="product?.product"
7350
+ ></transaction-summary-block>
7351
+ `
7352
+ },] }
7353
+ ];
7354
+ TransactionProductSummaryComponent.ctorParameters = () => [
7355
+ { type: TransactionService }
7356
+ ];
7357
+ TransactionProductSummaryComponent.propDecorators = {
7358
+ hidden: [{ type: HostBinding, args: ["class.hidden",] }]
7359
+ };
7360
+
7361
+ class TemplateWrapperDirective {
7362
+ constructor(viewContainer) {
7363
+ this.viewContainer = viewContainer;
7364
+ this.templateWrapper = null;
7365
+ this.templateWrapperContext = null;
7366
+ }
7367
+ ngOnChanges(changes) {
7368
+ const recreateView = this._shouldRecreateView(changes);
7369
+ if (recreateView) {
7370
+ if (this._viewRef) {
7371
+ this.viewContainer.remove(this.viewContainer.indexOf(this._viewRef));
7372
+ }
7373
+ if (this.templateWrapper) {
7374
+ this._viewRef = this.viewContainer.createEmbeddedView(this.templateWrapper, this.templateWrapperContext);
7375
+ }
7376
+ }
7377
+ else {
7378
+ if (this._viewRef && this.templateWrapperContext) {
7379
+ this._updateExistingContext(this.templateWrapperContext);
7380
+ }
7381
+ }
7382
+ }
7383
+ ngOnDestroy() {
7384
+ if (this._viewRef) {
7385
+ this.viewContainer.remove(this.viewContainer.indexOf(this._viewRef));
7386
+ this._viewRef = undefined;
7387
+ }
7388
+ this.templateWrapper = undefined;
7389
+ }
7390
+ _shouldRecreateView(changes) {
7391
+ const ctxChange = changes["templateWrapperContext"];
7392
+ return !!changes["templateWrapper"] || (ctxChange && this._hasContextShapeChanged(ctxChange));
7393
+ }
7394
+ _hasContextShapeChanged(ctxChange) {
7395
+ const prevCtxKeys = Object.keys(ctxChange.previousValue || {});
7396
+ const currCtxKeys = Object.keys(ctxChange.currentValue || {});
7397
+ if (prevCtxKeys.length === currCtxKeys.length) {
7398
+ for (const propName of currCtxKeys) {
7399
+ if (prevCtxKeys.indexOf(propName) === -1) {
7400
+ return true;
7401
+ }
7402
+ }
7403
+ return false;
7404
+ }
7405
+ else {
7406
+ return true;
7407
+ }
7408
+ }
7409
+ _updateExistingContext(ctx) {
7410
+ for (const propName of Object.keys(ctx)) {
7411
+ this._viewRef.context[propName] = this.templateWrapperContext[propName];
7412
+ }
7413
+ }
7414
+ }
7415
+ TemplateWrapperDirective.decorators = [
7416
+ { type: Directive, args: [{
7417
+ // eslint-disable-next-line @angular-eslint/directive-selector
7418
+ selector: "[templateWrapper]"
7419
+ },] }
7420
+ ];
7421
+ TemplateWrapperDirective.ctorParameters = () => [
7422
+ { type: ViewContainerRef }
7423
+ ];
7424
+ TemplateWrapperDirective.propDecorators = {
7425
+ templateWrapper: [{ type: Input }],
7426
+ templateWrapperContext: [{ type: Input }]
7427
+ };
7428
+
7429
+ class DefaultOkCancelButtonsComponent {
7430
+ constructor() {
7431
+ this.hideCancel = false;
7432
+ this.hideOk = false;
7433
+ this.okLabel = "OK";
7434
+ // only emits when ok button was not disabled when it was clicked
7435
+ this.okClick = new EventEmitter();
7436
+ this.cancelClick = new EventEmitter();
7437
+ }
7438
+ onOkClick(event) {
7439
+ if (this.okButtonComp && !this.okButtonComp.disabled) {
7440
+ this.okClick.emit(event);
7441
+ }
7442
+ }
7443
+ }
7444
+ DefaultOkCancelButtonsComponent.decorators = [
7445
+ { type: Component, args: [{
7446
+ // eslint-disable-next-line @angular-eslint/component-selector
7447
+ selector: "default-ok-cancel-buttons",
7448
+ template: `
7449
+ <co-button *ngIf="!hideOk" [label]="okLabel" [disabled]="okDisabled" class="ok" #okButton (click)="onOkClick($event)"></co-button>
7450
+ <co-button *ngIf="!hideCancel" label="CANCEL" (click)="cancelClick.emit($event)"></co-button>
7451
+ <ng-content></ng-content>
7452
+ `,
7453
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center,:host{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.margin-popup:host{margin-top:20px}.margin-popup:host{margin-bottom:20px}.margin-popup:host{margin-left:20px}.margin-popup:host{margin-right:20px}.margin-top:host{margin-top:11px}:host button-colijn:not(:last-child){margin-right:11px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host.justify-center{justify-content:center}\n"]
7454
+ },] }
7455
+ ];
7456
+ DefaultOkCancelButtonsComponent.ctorParameters = () => [];
7457
+ DefaultOkCancelButtonsComponent.propDecorators = {
7458
+ okDisabled: [{ type: Input }],
7459
+ hideCancel: [{ type: Input }],
7460
+ hideOk: [{ type: Input }],
7461
+ okLabel: [{ type: Input }],
7462
+ okClick: [{ type: Output }],
7463
+ cancelClick: [{ type: Output }],
7464
+ okButtonComp: [{ type: ViewChild, args: ["okButton",] }]
7465
+ };
7466
+
7467
+ class IoneServiceOrderModule {
7468
+ }
7469
+ IoneServiceOrderModule.decorators = [
7470
+ { type: NgModule, args: [{
7471
+ imports: [
7472
+ BrowserAnimationsModule,
7473
+ IconModule,
7474
+ InputTextModule,
7475
+ InputCheckboxModule,
7476
+ InputRadioButtonModule,
7477
+ FormModule,
7478
+ InputComboBoxModule,
7479
+ InputDatePickerModule,
7480
+ InputNumberPickerModule,
7481
+ CoDialogModule,
7482
+ CoDialogPromptModule,
7483
+ ButtonModule,
7484
+ FlexModule,
7485
+ MultiSelectListModule,
7486
+ DropDownModule,
7487
+ PopupModule.forRoot(),
7488
+ CoSidebarModule,
7489
+ CoGridModule,
7490
+ CoreModule,
7491
+ ChipListModule,
7492
+ DropDownButtonModule,
7493
+ CheckBoxModule,
7494
+ DropDownListModule,
7495
+ IoneShoppingCartModule,
7496
+ TabModule,
7497
+ ],
7498
+ declarations: [
7499
+ TemplateWrapperDirective,
7500
+ DefaultOkCancelButtonsComponent,
7501
+ IoneServiceOrderComponent,
7502
+ ServiceOrderComponent,
7503
+ TransactionOrderTotalsComponent,
7504
+ TransactionOrderLineViewComponent,
7505
+ TransactionOrderLinesComponent,
7506
+ TransactionRelationAddressComponent,
7507
+ TransactionArticleTextComponent,
7508
+ TransactionSidebarRightComponent,
7509
+ TransactionLineAccordionComponent,
7510
+ TransactionHeaderBlockComponent,
7511
+ TransactionServiceSummaryComponent,
7512
+ TransactionSummaryBlockComponent,
7513
+ TransactionServiceStatusComponent,
7514
+ TransactionOrderSummaryComponent,
7515
+ TransactionPaymentInfoComponent,
7516
+ TransactionRelationEditComponent,
7517
+ TransactionArticleSummaryComponent,
7518
+ TransactionDeliverySummaryComponent,
7519
+ TransactionProductContractSummaryComponent,
7520
+ TransactionProductSummaryComponent,
7521
+ ],
7522
+ providers: [
7523
+ DictionaryService,
7524
+ TransactionService,
7525
+ OptionsService
7526
+ ],
7527
+ entryComponents: [
7528
+ IoneServiceOrderComponent
7529
+ ],
7530
+ exports: [IoneServiceOrderComponent],
7531
+ bootstrap: [IoneServiceOrderComponent]
7532
+ },] }
7533
+ ];
7534
+
5327
7535
  //export * from "./app/component/ione-transaction.module";
5328
7536
 
5329
7537
  /**
5330
7538
  * Generated bundle index. Do not edit.
5331
7539
  */
5332
7540
 
5333
- export { IoneCheckoutComponent, IoneCheckoutModule, IoneShoppingCartComponent, IoneShoppingCartModule, RetailTransactionCheckoutComponent as ɵa, CheckoutComponent as ɵb, ShoppingCartManagerComponent as ɵba, ShoppingCartComponent as ɵbb, ShoppingCartLineComponent as ɵbc, StockStatusIndicatorComponent as ɵbd, CharacteristicAnswerComponent as ɵbe, CheckoutOverviewComponent as ɵc, CheckoutOverviewBlockComponent as ɵd, CheckoutOverviewRelationEditComponent as ɵe, TransactionService as ɵf, IOneConnectorAdapterService as ɵg, CheckoutOverviewDeliveryEditComponent as ɵh, DictionaryService as ɵi, CheckoutLoginComponent as ɵj, OptionsService as ɵk, TransactionEventService as ɵl, CoreModule as ɵm, AppendPipe as ɵn, DeliveryTimePipe as ɵo, DateDurationPipe as ɵp, LocalizePipe as ɵq, CoCurrencyPipe as ɵr, SafeStylePipe as ɵs, ImageDisplayComponent as ɵt, NoImageDisplayComponent as ɵu, IconComponent as ɵv, CheckoutOverviewRelationAddressComponent as ɵw, CheckoutOverviewDeliveryAddressComponent as ɵx, CheckOutRelationSuggestionsListComponent as ɵy, CheckOutRelationSuggestionsListItemComponent as ɵz };
7541
+ export { IoneCheckoutComponent, IoneCheckoutModule, IoneServiceOrderComponent, IoneServiceOrderModule, IoneShoppingCartComponent, IoneShoppingCartModule, RetailTransactionCheckoutComponent as ɵa, CheckoutComponent as ɵb, ShoppingCartManagerComponent as ɵba, ShoppingCartComponent as ɵbb, ShoppingCartLineComponent as ɵbc, StockStatusIndicatorComponent as ɵbd, CharacteristicAnswerComponent as ɵbe, TemplateWrapperDirective as ɵbf, DefaultOkCancelButtonsComponent as ɵbg, ServiceOrderComponent as ɵbh, TransactionBaseComponent as ɵbi, TransactionArticleTextComponent as ɵbj, TransactionOrderTotalsComponent as ɵbk, TransactionOrderLineViewComponent as ɵbl, TransactionOrderLinesComponent as ɵbm, TransactionRelationAddressComponent as ɵbn, TransactionSidebarRightComponent as ɵbo, TransactionLineAccordionComponent as ɵbp, TransactionHeaderBlockComponent as ɵbq, TransactionRelationEditComponent as ɵbr, TransactionServiceSummaryComponent as ɵbs, TransactionSummaryBlockComponent as ɵbt, TransactionServiceStatusComponent as ɵbu, TransactionOrderSummaryComponent as ɵbv, TransactionPaymentInfoComponent as ɵbw, TransactionArticleSummaryComponent as ɵbx, TransactionDeliverySummaryComponent as ɵby, TransactionProductContractSummaryComponent as ɵbz, CheckoutOverviewComponent as ɵc, TransactionProductSummaryComponent as ɵca, CheckoutOverviewBlockComponent as ɵd, CheckoutOverviewRelationEditComponent as ɵe, TransactionService as ɵf, IOneConnectorAdapterService as ɵg, CheckoutOverviewDeliveryEditComponent as ɵh, DictionaryService as ɵi, CheckoutLoginComponent as ɵj, OptionsService as ɵk, TransactionEventService as ɵl, CoreModule as ɵm, AppendPipe as ɵn, DeliveryTimePipe as ɵo, DateDurationPipe as ɵp, LocalizePipe as ɵq, CoCurrencyPipe as ɵr, SafeStylePipe as ɵs, ImageDisplayComponent as ɵt, NoImageDisplayComponent as ɵu, IconComponent as ɵv, CheckoutOverviewRelationAddressComponent as ɵw, CheckoutOverviewDeliveryAddressComponent as ɵx, CheckOutRelationSuggestionsListComponent as ɵy, CheckOutRelationSuggestionsListItemComponent as ɵz };
5334
7542
  //# sourceMappingURL=colijnit-transaction.js.map