@colijnit/transaction 12.1.2 → 12.1.6

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 (66) hide show
  1. package/app/component/checkout/{retail-transaction-checkout/retail-transaction-checkout.component.d.ts → checkout-transaction/checkout-transaction.component.d.ts} +1 -1
  2. package/app/component/checkout/ione-checkout.component.d.ts +0 -2
  3. package/app/component/core/base/transaction-base.component.d.ts +10 -0
  4. package/app/component/{shopping-cart → core}/characteristic-answer/characteristic-answer.component.d.ts +0 -0
  5. package/app/component/{common → core}/icon/icon.component.d.ts +0 -0
  6. package/app/component/{common → core}/image-display/image-display.component.d.ts +0 -0
  7. package/app/component/{common → core}/no-image-display/no-image-display.component.d.ts +0 -0
  8. package/app/component/service-order/service-order.component.d.ts +13 -9
  9. package/app/component/service-order/transaction-article-text/transaction-article-text.component.d.ts +22 -13
  10. package/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +23 -0
  11. package/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.d.ts +19 -0
  12. package/app/component/service-order/transaction-manager/transaction-manager.component.d.ts +64 -0
  13. package/app/component/service-order/warehouse/warehouse.component.d.ts +35 -0
  14. package/app/component/shopping-cart/ione-shopping-cart.component.d.ts +1 -1
  15. package/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.d.ts +2 -2
  16. package/{enum → app/enum}/position-grid-row.enum.d.ts +0 -0
  17. package/app/model/standard-text.d.ts +5 -0
  18. package/app/model/transaction-add-text-line-request.d.ts +9 -0
  19. package/app/service/dictionary.service.d.ts +1 -0
  20. package/app/service/ione-connector-adapter.service.d.ts +3 -0
  21. package/app/service/transaction-event.service.d.ts +1 -1
  22. package/app/service/transaction.service.d.ts +18 -8
  23. package/bundles/colijnit-transaction.umd.js +1535 -533
  24. package/bundles/colijnit-transaction.umd.js.map +1 -1
  25. package/colijnit-transaction.d.ts +45 -41
  26. package/colijnit-transaction.metadata.json +1 -1
  27. package/esm2015/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +2 -2
  28. package/esm2015/app/component/checkout/checkout-transaction/checkout-transaction.component.js +53 -0
  29. package/esm2015/app/component/checkout/ione-checkout.component.js +2 -4
  30. package/esm2015/app/component/checkout/ione-checkout.module.js +5 -3
  31. package/esm2015/app/component/core/base/transaction-base.component.js +35 -12
  32. package/esm2015/app/component/core/characteristic-answer/characteristic-answer.component.js +100 -0
  33. package/esm2015/app/component/core/core.module.js +4 -4
  34. package/esm2015/app/component/{common → core}/icon/icon.component.js +1 -1
  35. package/esm2015/app/component/core/image-display/image-display.component.js +41 -0
  36. package/esm2015/app/component/core/no-image-display/no-image-display.component.js +26 -0
  37. package/esm2015/app/component/service-order/ione-service-order-module.js +15 -4
  38. package/esm2015/app/component/service-order/service-order.component.js +53 -20
  39. package/esm2015/app/component/service-order/transaction-article-text/transaction-article-text.component.js +107 -150
  40. package/esm2015/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.js +105 -0
  41. package/esm2015/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.js +73 -0
  42. package/esm2015/app/component/service-order/transaction-manager/transaction-manager.component.js +314 -0
  43. package/esm2015/app/component/service-order/transaction-order-lines/transaction-order-lines.component.js +2 -2
  44. package/esm2015/app/component/service-order/warehouse/warehouse.component.js +133 -0
  45. package/esm2015/app/component/shopping-cart/ione-shopping-cart.component.js +2 -2
  46. package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +3 -3
  47. package/esm2015/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +3 -3
  48. package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +1 -1
  49. package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +3 -3
  50. package/esm2015/app/enum/position-grid-row.enum.js +6 -0
  51. package/esm2015/app/model/standard-text.js +3 -0
  52. package/esm2015/app/model/transaction-add-text-line-request.js +11 -0
  53. package/esm2015/app/service/dictionary.service.js +20 -9
  54. package/esm2015/app/service/ione-connector-adapter.service.js +30 -1
  55. package/esm2015/app/service/transaction-event.service.js +1 -1
  56. package/esm2015/app/service/transaction.service.js +98 -23
  57. package/esm2015/assets/dictionary/text.properties.js +13 -1
  58. package/esm2015/colijnit-transaction.js +46 -42
  59. package/fesm2015/colijnit-transaction.js +1512 -757
  60. package/fesm2015/colijnit-transaction.js.map +1 -1
  61. package/package.json +4 -3
  62. package/esm2015/app/component/checkout/retail-transaction-checkout/retail-transaction-checkout.component.js +0 -53
  63. package/esm2015/app/component/common/image-display/image-display.component.js +0 -41
  64. package/esm2015/app/component/common/no-image-display/no-image-display.component.js +0 -26
  65. package/esm2015/app/component/shopping-cart/characteristic-answer/characteristic-answer.component.js +0 -99
  66. package/esm2015/enum/position-grid-row.enum.js +0 -6
@@ -1,6 +1,6 @@
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, Directive, ContentChild, ViewContainerRef } from '@angular/core';
3
+ import { Injectable, EventEmitter, Component, ViewChild, Output, ChangeDetectorRef, Input, 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';
@@ -35,25 +35,27 @@ import { TransactionLineType } from '@colijnit/transactionapi/build/enum/transac
35
35
  import { LineOperationStatus } from '@colijnit/transactionapi/build/model/line-operation-status.bo';
36
36
  import { TransactionInfo } from '@colijnit/transactionapi/build/model/transaction-info.bo';
37
37
  import { PendingReasonType } from '@colijnit/transactionapi/build/enum/pending-reason-type.enum';
38
+ import { PromptService, FormComponent, CoSidebarComponent, CoreComponentsIcon, IconCacheService, IconModule, InputTextModule, InputCheckboxModule, InputRadioButtonModule, FormModule, InputComboBoxModule, InputDatePickerModule, InputNumberPickerModule, CoDialogModule, CoDialogPromptModule, ButtonModule, MultiSelectListModule, DropDownModule, PopupModule, CoSidebarModule, CoGridModule, CoRichTextEditorModule } from '@colijnit/corecomponents_v12';
39
+ import { FlexModule } from '@angular/flex-layout';
38
40
  import { CommunicationType } from '@colijnit/transactionapi/build/enum/communication-type.enum';
39
41
  import { ContactOption } from '@colijnit/transactionapi/build/model/contact-option.bo';
40
42
  import { RelationNameKind } from '@colijnit/transactionapi/build/enum/relation-name-kind.enum';
41
43
  import { AddressType } from '@colijnit/transactionapi/build/enum/address-type.enum';
42
44
  import { GenderType } from '@colijnit/transactionapi/build/enum/gender-type.enum';
43
45
  import { BusinessObjectUtils } from '@colijnit/transactionapi/build/utils/business-object-utils';
44
- import { FormComponent, CoSidebarComponent, PromptService, CoreComponentsIcon, IconCacheService, IconModule, InputTextModule, InputCheckboxModule, InputRadioButtonModule, FormModule, InputComboBoxModule, InputDatePickerModule, InputNumberPickerModule, CoDialogModule, CoDialogPromptModule, ButtonModule, MultiSelectListModule, DropDownModule, PopupModule, CoSidebarModule, CoGridModule } from '@colijnit/corecomponents_v12';
45
46
  import { FunctionUtils } from '@colijnit/transactionapi/build/utils/function-utils';
46
47
  import { Address } from '@colijnit/transactionapi/build/model/address.bo';
47
- import { FlexModule } from '@angular/flex-layout';
48
48
  import { MatStepperModule } from '@angular/material/stepper';
49
49
  import { CommonModule } from '@angular/common';
50
50
  import { DomSanitizer } from '@angular/platform-browser';
51
+ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
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
55
  import { StockStatus } from '@colijnit/transactionapi/build/enum/refcode/stock-status.enum';
55
56
  import { trigger, state, style, transition, animate } from '@angular/animations';
56
57
  import { RelationRequest } from '@colijnit/transactionapi/build/model/relation-request';
58
+ import { ToolbarService, LinkService, ImageService, HtmlEditorService, RichTextEditorModule } from '@syncfusion/ej2-angular-richtexteditor';
57
59
  import { DropDownButtonModule } from '@syncfusion/ej2-angular-splitbuttons';
58
60
  import { ChipListModule, CheckBoxModule } from '@syncfusion/ej2-angular-buttons';
59
61
  import { DropDownListModule } from '@syncfusion/ej2-angular-dropdowns';
@@ -805,6 +807,9 @@ class BusinessObjectFactory {
805
807
  }
806
808
  }
807
809
 
810
+ class StandardText {
811
+ }
812
+
808
813
  class IOneConnectorAdapterService {
809
814
  constructor() {
810
815
  this._boFactory = new BusinessObjectFactory();
@@ -1307,6 +1312,34 @@ class IOneConnectorAdapterService {
1307
1312
  });
1308
1313
  });
1309
1314
  }
1315
+ getTextTypes(languageCode) {
1316
+ return __awaiter(this, void 0, void 0, function* () {
1317
+ return new Promise((resolve, reject) => {
1318
+ return this.connector.getTextTypes(languageCode).then((result) => {
1319
+ if (result.validationResult && result.validationResult.success) {
1320
+ resolve(result.resultObjects);
1321
+ }
1322
+ else {
1323
+ reject(result.validationMessagesAsString);
1324
+ }
1325
+ });
1326
+ });
1327
+ });
1328
+ }
1329
+ getStandardTexts(languageCode) {
1330
+ return __awaiter(this, void 0, void 0, function* () {
1331
+ return new Promise((resolve, reject) => {
1332
+ return this.connector.getStandardTexts(languageCode).then((result) => {
1333
+ if (result.validationResult && result.validationResult.success) {
1334
+ resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StandardText, result.resultObject));
1335
+ }
1336
+ else {
1337
+ reject(result.validationMessagesAsString);
1338
+ }
1339
+ });
1340
+ });
1341
+ });
1342
+ }
1310
1343
  }
1311
1344
  IOneConnectorAdapterService.ɵprov = i0.ɵɵdefineInjectable({ factory: function IOneConnectorAdapterService_Factory() { return new IOneConnectorAdapterService(); }, token: IOneConnectorAdapterService, providedIn: "root" });
1312
1345
  IOneConnectorAdapterService.decorators = [
@@ -1317,8 +1350,9 @@ IOneConnectorAdapterService.decorators = [
1317
1350
  IOneConnectorAdapterService.ctorParameters = () => [];
1318
1351
 
1319
1352
  class TransactionService {
1320
- constructor(_connector) {
1353
+ constructor(_connector, _prompt) {
1321
1354
  this._connector = _connector;
1355
+ this._prompt = _prompt;
1322
1356
  this.transactionUpdated = new EventEmitter();
1323
1357
  this.transactionLoaded = new EventEmitter();
1324
1358
  this.applicationUser = false;
@@ -1364,6 +1398,11 @@ class TransactionService {
1364
1398
  && line.pendingReasonType !== PendingReasonType.NON_CRITICAL_DISCONTINUATION);
1365
1399
  return status;
1366
1400
  }
1401
+ pendingLineOperationStatus(lineOperationStatuses) {
1402
+ const status = lineOperationStatuses.find(line => line.pendingReasonType !== PendingReasonType.NONE
1403
+ && line.pendingReasonType !== PendingReasonType.NON_CRITICAL_DISCONTINUATION);
1404
+ return status;
1405
+ }
1367
1406
  getArticleFullObject(goodId) {
1368
1407
  return __awaiter(this, void 0, void 0, function* () {
1369
1408
  return yield this._connector.getArticleFullObject(goodId);
@@ -1444,11 +1483,10 @@ class TransactionService {
1444
1483
  });
1445
1484
  });
1446
1485
  }
1447
- resolvePendingLineReason(pendingLineValues) {
1486
+ resolvePendingLineReason(pendingLineValues, remember = true) {
1448
1487
  return new Promise((resolve) => {
1449
1488
  this._connector.resolvePendingLineReason(pendingLineValues).then((response) => __awaiter(this, void 0, void 0, function* () {
1450
- this._rememberCurrentTransaction(response);
1451
- this._rememberCurrentTransactionLineStatus(response);
1489
+ this._rememberResponse(remember, response);
1452
1490
  resolve(response);
1453
1491
  })).catch((reason) => {
1454
1492
  resolve();
@@ -1502,6 +1540,28 @@ class TransactionService {
1502
1540
  }
1503
1541
  });
1504
1542
  }
1543
+ saveTransactionByUuid(transactionUuid) {
1544
+ return __awaiter(this, void 0, void 0, function* () {
1545
+ return new Promise((resolve, reject) => {
1546
+ this._connector.saveTransaction(transactionUuid)
1547
+ .then((response) => __awaiter(this, void 0, void 0, function* () {
1548
+ if (response.isSuccess) {
1549
+ this.transactionLoaded.emit(response);
1550
+ resolve(true);
1551
+ }
1552
+ else {
1553
+ reject(false);
1554
+ }
1555
+ }))
1556
+ .catch((reason) => {
1557
+ if (reason) {
1558
+ this._prompt.showError(reason.getFullErrorString());
1559
+ }
1560
+ reject(false);
1561
+ });
1562
+ });
1563
+ });
1564
+ }
1505
1565
  addRelationToTransaction(relationId) {
1506
1566
  return __awaiter(this, void 0, void 0, function* () {
1507
1567
  const success = yield this._connector.addRelationToTransaction(this._currentTransaction.uuid, relationId);
@@ -1615,13 +1675,29 @@ class TransactionService {
1615
1675
  });
1616
1676
  });
1617
1677
  }
1618
- addTransactionLine(lineType, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr) {
1678
+ addArticleToTransaction(transactionUuid, articleNo, amount = 1, warehouseNo = 1, commissionCode = "2", isReturn = false, aboveLineNr = 0, belowLineNr = 0) {
1679
+ return __awaiter(this, void 0, void 0, function* () {
1680
+ return new Promise((resolve, reject) => {
1681
+ this._connector.addTransactionLine(transactionUuid, TransactionLineType.ArticleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr)
1682
+ .then((response) => __awaiter(this, void 0, void 0, function* () {
1683
+ resolve(response);
1684
+ }), (error) => {
1685
+ this._prompt.showError(error);
1686
+ reject(error);
1687
+ })
1688
+ .catch((reason) => {
1689
+ this._prompt.showError(reason.getFullErrorString());
1690
+ resolve(null);
1691
+ });
1692
+ });
1693
+ });
1694
+ }
1695
+ addTransactionLine(lineType, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr, remember = true) {
1619
1696
  return __awaiter(this, void 0, void 0, function* () {
1620
1697
  return new Promise((resolve, reject) => {
1621
1698
  this._connector.addTransactionLine(this.currentTransaction.uuid, lineType, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr)
1622
1699
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1623
- this._rememberCurrentTransaction(response);
1624
- this._rememberCurrentTransactionLineStatus(response);
1700
+ this._rememberResponse(remember, response);
1625
1701
  resolve(response);
1626
1702
  }), (error) => {
1627
1703
  reject(error);
@@ -1632,13 +1708,27 @@ class TransactionService {
1632
1708
  });
1633
1709
  });
1634
1710
  }
1635
- addTextLineToTransaction(showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr) {
1711
+ addTextLine(showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr, remember = true) {
1636
1712
  return __awaiter(this, void 0, void 0, function* () {
1637
1713
  return new Promise((resolve, reject) => {
1638
1714
  this._connector.addTextLineToTransaction(this.currentTransaction.uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr)
1639
1715
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1640
- this._rememberCurrentTransaction(response);
1641
- this._rememberCurrentTransactionLineStatus(response);
1716
+ this._rememberResponse(remember, response);
1717
+ resolve(response);
1718
+ }), (error) => {
1719
+ reject(error);
1720
+ })
1721
+ .catch((reason) => {
1722
+ resolve(null);
1723
+ });
1724
+ });
1725
+ });
1726
+ }
1727
+ addTextLineToTransaction(transactionUuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr) {
1728
+ return __awaiter(this, void 0, void 0, function* () {
1729
+ return new Promise((resolve, reject) => {
1730
+ this._connector.addTextLineToTransaction(transactionUuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr)
1731
+ .then((response) => __awaiter(this, void 0, void 0, function* () {
1642
1732
  resolve(response);
1643
1733
  }), (error) => {
1644
1734
  reject(error);
@@ -1649,12 +1739,11 @@ class TransactionService {
1649
1739
  });
1650
1740
  });
1651
1741
  }
1652
- changeLineSequence(lineUuid, aboveLineNr, belowLineNr) {
1742
+ changeLineSequence(lineUuid, aboveLineNr, belowLineNr, remember = true) {
1653
1743
  return new Promise((resolve, reject) => {
1654
1744
  this._connector.changeLineSequence(this.currentTransaction.uuid, lineUuid, aboveLineNr, belowLineNr)
1655
1745
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1656
- this._rememberCurrentTransaction(response);
1657
- this._rememberCurrentTransactionLineStatus(response);
1746
+ this._rememberResponse(remember, response);
1658
1747
  resolve(response);
1659
1748
  }), (error) => {
1660
1749
  reject(error);
@@ -1664,12 +1753,14 @@ class TransactionService {
1664
1753
  });
1665
1754
  });
1666
1755
  }
1667
- cancelAddTransactionLine(lineUuid) {
1756
+ cancelAddTransactionLine(lineUuid, remember = true) {
1668
1757
  return __awaiter(this, void 0, void 0, function* () {
1669
1758
  return new Promise((resolve, reject) => {
1670
1759
  this._connector.cancelAddTransactionLine(lineUuid)
1671
1760
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1672
- this._rememberCurrentTransaction(response);
1761
+ if (remember) {
1762
+ this._rememberCurrentTransaction(response);
1763
+ }
1673
1764
  if (response.isSuccess) {
1674
1765
  resolve(response);
1675
1766
  }
@@ -1683,13 +1774,12 @@ class TransactionService {
1683
1774
  });
1684
1775
  });
1685
1776
  }
1686
- deleteTransactionLine(transactionUuid, TransactionLineUuid) {
1777
+ deleteTransactionLine(transactionUuid, TransactionLineUuid, remember = true) {
1687
1778
  return __awaiter(this, void 0, void 0, function* () {
1688
1779
  return new Promise((resolve, reject) => {
1689
1780
  this._connector.deleteTransactionLine(transactionUuid, TransactionLineUuid)
1690
1781
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1691
- this._rememberCurrentTransaction(response);
1692
- this._rememberCurrentTransactionLineStatus(response);
1782
+ this._rememberResponse(remember, response);
1693
1783
  if (response.isSuccess) {
1694
1784
  resolve(response);
1695
1785
  }
@@ -1703,14 +1793,13 @@ class TransactionService {
1703
1793
  });
1704
1794
  });
1705
1795
  }
1706
- changeTransactionLineQuantity(lineUuid, newQuantity) {
1796
+ changeTransactionLineQuantity(lineUuid, newQuantity, remember = true) {
1707
1797
  return __awaiter(this, void 0, void 0, function* () {
1708
1798
  return new Promise((resolve) => {
1709
1799
  this._connector.changeTransactionLineQuantity(this.currentTransaction.uuid, lineUuid, newQuantity)
1710
1800
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1711
1801
  if (response.isSuccess) {
1712
- this._rememberCurrentTransaction(response);
1713
- this._rememberCurrentTransactionLineStatus(response);
1802
+ this._rememberResponse(remember, response);
1714
1803
  }
1715
1804
  resolve(response);
1716
1805
  })).catch((reason) => {
@@ -1744,6 +1833,17 @@ class TransactionService {
1744
1833
  // const response: boolean = await this._connector.setRelationByUser(this.currentTransaction.uuid, username, password);
1745
1834
  // return response;
1746
1835
  // }
1836
+ getTextTypes(languageCode) {
1837
+ return __awaiter(this, void 0, void 0, function* () {
1838
+ return yield this._connector.getTextTypes(languageCode);
1839
+ });
1840
+ }
1841
+ getStandardTexts(languageCode) {
1842
+ return __awaiter(this, void 0, void 0, function* () {
1843
+ let data = yield this._connector.getStandardTexts(languageCode);
1844
+ return data;
1845
+ });
1846
+ }
1747
1847
  _initializeTransaction() {
1748
1848
  if (this._currentTransaction.preferredDeliveryDate2 === undefined) {
1749
1849
  this._currentTransaction.preferredDeliveryDate2 = "=";
@@ -1791,12 +1891,19 @@ class TransactionService {
1791
1891
  transactionDeliveryOptionsRequest.invoiceAddress = this._currentTransaction.invoiceAddress.nawNr;
1792
1892
  return transactionDeliveryOptionsRequest;
1793
1893
  }
1894
+ _rememberResponse(remember, response) {
1895
+ if (remember) {
1896
+ this._rememberCurrentTransaction(response);
1897
+ this._rememberCurrentTransactionLineStatus(response);
1898
+ }
1899
+ }
1794
1900
  }
1795
1901
  TransactionService.decorators = [
1796
1902
  { type: Injectable }
1797
1903
  ];
1798
1904
  TransactionService.ctorParameters = () => [
1799
- { type: IOneConnectorAdapterService }
1905
+ { type: IOneConnectorAdapterService },
1906
+ { type: PromptService }
1800
1907
  ];
1801
1908
 
1802
1909
  var LanguageCode;
@@ -1892,6 +1999,7 @@ class Dictionary {
1892
1999
  "ARTICLE_DESCRIPTION": "Artikelomschrijving",
1893
2000
  "ARTICLE_IN_OUT_COLLECTION": "Status van artikel is '|~'. Weet u zeker dat u door wilt gaan?",
1894
2001
  "ARTICLE_NR": "Artikelnummer",
2002
+ "ARTICLE_UNKNOWN": "Onbekend artikel",
1895
2003
  "ASSEMBLY_COSTS": "Montagekosten",
1896
2004
  "ASSEMBLY_DATE": "Montagedatum",
1897
2005
  "AMOUNT": "Aantal",
@@ -2031,8 +2139,13 @@ class Dictionary {
2031
2139
  "VAT": "Btw",
2032
2140
  "VAT_AMOUNT": "BTW-bedrag",
2033
2141
  "VALUE": "Waarde",
2142
+ "WHERE_ARE_YOU_LOOKING_FOR": "Waar ben je naar op zoek?",
2034
2143
  "WAREHOUSE": "Magazijn",
2035
2144
  "YOUR_DATA": "Uw gegevens",
2145
+ "STANDARD_TEXTS": "Standaardteksten",
2146
+ "ARTICLE_BOUND_TEXT": "Artikelgebonden tekst",
2147
+ "FOR_DOCUMENTS": "Bestemd voor documenten",
2148
+ "CHANGE_ARTICLE_TEXT": "Wijzigen artikeltekst",
2036
2149
  },
2037
2150
  "de": {},
2038
2151
  "fr": {},
@@ -2053,6 +2166,7 @@ class Dictionary {
2053
2166
  "ARTICLE_DESCRIPTION": "Article description",
2054
2167
  "ARTICLE_IN_OUT_COLLECTION": "Status of article is '|~'. Are you sure to proceed?",
2055
2168
  "ARTICLE_NR": "Article number",
2169
+ "ARTICLE_UNKNOWN": "Article unknown",
2056
2170
  "ASSEMBLY_COSTS": "Assembly costs",
2057
2171
  "ASSEMBLY_DATE": "Assembly date",
2058
2172
  "AMOUNT": "Amount",
@@ -2185,7 +2299,12 @@ class Dictionary {
2185
2299
  "VAT": "VAT",
2186
2300
  "VAT_AMOUNT": "VAT amount",
2187
2301
  "WAREHOUSE": "Warehouse",
2302
+ "WHERE_ARE_YOU_LOOKING_FOR": "Where are you looking for?",
2188
2303
  "YOUR_DATA": "Your data",
2304
+ "STANDARD_TEXTS": "Standard texts",
2305
+ "ARTICLE_BOUND_TEXT": "Article bound text",
2306
+ "FOR_DOCUMENTS": "Used at documents",
2307
+ "CHANGE_ARTICLE_TEXT": "Change article text",
2189
2308
  },
2190
2309
  };
2191
2310
  }
@@ -2211,15 +2330,18 @@ class DictionaryService {
2211
2330
  setDictionary(language) {
2212
2331
  return __awaiter(this, void 0, void 0, function* () {
2213
2332
  this._language = language || LanguageCode.Dutch;
2214
- if (!this._dictionaries.has(this._language)) {
2215
- const dictionary = new Dictionary();
2333
+ this._loadDictionary();
2334
+ });
2335
+ }
2336
+ _loadDictionary() {
2337
+ if (!this._dictionaries.has(this._language)) {
2338
+ const dictionary = new Dictionary();
2339
+ // eslint-disable-next-line no-magic-numbers
2340
+ if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {
2216
2341
  // eslint-disable-next-line no-magic-numbers
2217
- if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {
2218
- // eslint-disable-next-line no-magic-numbers
2219
- this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);
2220
- }
2342
+ this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);
2221
2343
  }
2222
- });
2344
+ }
2223
2345
  }
2224
2346
  /**
2225
2347
  * Returns the localized text for the given dictionary key.
@@ -2232,6 +2354,10 @@ class DictionaryService {
2232
2354
  if (!StringUtils.IsStringWithLength(key)) {
2233
2355
  return key || "";
2234
2356
  }
2357
+ if (this.language === undefined) {
2358
+ this._language = LanguageCode.Dutch;
2359
+ this._loadDictionary();
2360
+ }
2235
2361
  let text = this._dictionaries.get(this.language)[key];
2236
2362
  text = StringUtils.IsStringWithLength(text) ? text : key;
2237
2363
  if (upperCaseFirst) {
@@ -2246,8 +2372,11 @@ class DictionaryService {
2246
2372
  return text;
2247
2373
  }
2248
2374
  }
2375
+ DictionaryService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DictionaryService_Factory() { return new DictionaryService(); }, token: DictionaryService, providedIn: "root" });
2249
2376
  DictionaryService.decorators = [
2250
- { type: Injectable }
2377
+ { type: Injectable, args: [{
2378
+ providedIn: "root"
2379
+ },] }
2251
2380
  ];
2252
2381
  DictionaryService.ctorParameters = () => [];
2253
2382
 
@@ -2274,82 +2403,313 @@ TransactionEventService.decorators = [
2274
2403
  { type: Injectable, args: [{ providedIn: "root" },] }
2275
2404
  ];
2276
2405
 
2277
- var CheckoutSteps;
2278
- (function (CheckoutSteps) {
2279
- CheckoutSteps[CheckoutSteps["Overview"] = 0] = "Overview";
2280
- // Login,
2281
- CheckoutSteps[CheckoutSteps["Relation"] = 1] = "Relation";
2282
- CheckoutSteps[CheckoutSteps["Delivery"] = 2] = "Delivery";
2283
- CheckoutSteps[CheckoutSteps["Payment"] = 3] = "Payment";
2284
- CheckoutSteps[CheckoutSteps["Printing"] = 4] = "Printing";
2285
- })(CheckoutSteps || (CheckoutSteps = {}));
2286
-
2287
- class CheckoutOverviewBlockComponent {
2406
+ class CheckoutLoginComponent {
2288
2407
  constructor() {
2289
- this.sequenceNr = 1;
2290
- this.startInEdit = false;
2291
- this.editMode = false;
2292
- this.editModeChange = new EventEmitter();
2408
+ this.createNewAccountSubmit = new EventEmitter();
2409
+ this.continueWithoutSubmit = new EventEmitter();
2410
+ this.loginSubmit = new EventEmitter();
2411
+ this.userEmailAddress = "";
2412
+ this.userNewEmailAddress = "";
2413
+ this.userPassword = "";
2414
+ this.continueWithoutAccount = false;
2415
+ this.company = "<bedrijf>";
2293
2416
  }
2294
2417
  ngOnInit() {
2295
- if (this.startInEdit) {
2296
- this.editMode = true;
2297
- }
2298
2418
  }
2299
- startEdit() {
2300
- this.editMode = true;
2301
- this.editModeChange.emit(this.editMode);
2419
+ login() {
2420
+ this.loginSubmit.emit();
2302
2421
  }
2303
- stopEdit(emitChange = true) {
2304
- this.editMode = false;
2305
- if (emitChange) {
2306
- this.editModeChange.emit(this.editMode);
2422
+ submit() {
2423
+ this.loginForm.submit();
2424
+ }
2425
+ createAccountSubmit() {
2426
+ this.accountForm.submit();
2427
+ }
2428
+ continueSubmit() {
2429
+ this.continueWithoutAccount = true;
2430
+ this.accountForm.submit();
2431
+ }
2432
+ accountLogin() {
2433
+ if (this.continueWithoutAccount) {
2434
+ this.continueWithoutSubmit.emit();
2435
+ }
2436
+ else {
2437
+ this.createNewAccountSubmit.emit();
2307
2438
  }
2308
2439
  }
2309
2440
  }
2310
- CheckoutOverviewBlockComponent.decorators = [
2441
+ CheckoutLoginComponent.decorators = [
2311
2442
  { type: Component, args: [{
2312
- selector: "checkout-overview-block",
2443
+ selector: "checkout-login",
2313
2444
  template: `
2314
- <div class="overview-wrapper" fxLayout="column" fxLayoutGap="0px">
2315
- <div class="overview-header" fxLayout="row">
2316
- </div>
2317
- <div class="overview-body" fxLayout="row" fxLayoutGap="20px">
2318
- <ng-content select="[edit-mode-content]"></ng-content>
2319
- </div>
2445
+ <h1>{{ "LOGIN" | localize}}</h1>
2446
+ <div class="users">
2447
+ <co-form #loginForm (validSubmit)="login()">
2448
+ <div class="existing-user">
2449
+ <p><strong>{{ "EXISTING_CUSTOMERS" | localize }}</strong></p>
2450
+ <co-input-text
2451
+ [(model)]="userEmailAddress"
2452
+ [placeholder]="'EMAIL_ADDRESS' | localize "
2453
+ [type]="'email'"
2454
+ required
2455
+ ></co-input-text>
2456
+
2457
+ <co-input-text
2458
+ [(model)]="userPassword"
2459
+ [placeholder]="'PASSWORD' | localize "
2460
+ [type]="'password'"
2461
+ required
2462
+ ></co-input-text>
2463
+ <div class="login-button">
2464
+ <co-button
2465
+ [label]="'LOGIN' | localize" (click)="submit()"
2466
+ ></co-button>
2467
+ </div>
2320
2468
  </div>
2321
- `,
2322
- 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"]
2469
+ </co-form>
2470
+
2471
+ <co-form #accountForm (validSubmit)="accountLogin()">
2472
+ <div class="new-user">
2473
+ <p class="boxedbottom">
2474
+ <strong>{{ "NEW_AT" | localize}}{{company}}</strong>
2475
+ <br/>{{ "CREATE_ACCOUNT_IN_2_MIN" | localize }}
2476
+ </p>
2477
+ <div class="new-user-e-mail">
2478
+ <co-input-text
2479
+ [(model)]="userNewEmailAddress"
2480
+ [placeholder]="'EMAIL_ADDRESS' | localize "
2481
+ [type]="'email'"
2482
+ required
2483
+ ></co-input-text>
2484
+ </div>
2485
+ <div class="login-button">
2486
+ <co-button
2487
+ [label]="'CREATE_ACCOUNT' | localize"
2488
+ (click)="createAccountSubmit()"
2489
+ ></co-button>
2490
+ <co-button
2491
+ [label]="'CONTINUE_WITHOUT_ACCOUNT' | localize"
2492
+ (click)="continueSubmit()"
2493
+ ></co-button>
2494
+ </div>
2495
+ </div>
2496
+ </co-form>
2497
+ </div>
2498
+ `,
2499
+ styles: [".users{display:flex;flex-direction:row}.users co-form{width:50%}.existing-user{padding-right:2rem;margin-bottom:0;border-right:1px solid #aaa}.new-user{padding-left:2rem}.new-user-e-mail{padding-top:2.6rem}.boxedbottom{margin-bottom:.5rem}.login-button{display:flex;margin-top:10px}.login-button co-button{margin-right:10px}\n"]
2323
2500
  },] }
2324
2501
  ];
2325
- CheckoutOverviewBlockComponent.ctorParameters = () => [];
2326
- CheckoutOverviewBlockComponent.propDecorators = {
2327
- sequenceNr: [{ type: Input }],
2328
- label: [{ type: Input }],
2329
- startInEdit: [{ type: Input }],
2330
- editModeChange: [{ type: Output }]
2502
+ CheckoutLoginComponent.ctorParameters = () => [];
2503
+ CheckoutLoginComponent.propDecorators = {
2504
+ loginForm: [{ type: ViewChild, args: ["loginForm",] }],
2505
+ accountForm: [{ type: ViewChild, args: ["accountForm",] }],
2506
+ createNewAccountSubmit: [{ type: Output }],
2507
+ continueWithoutSubmit: [{ type: Output }],
2508
+ loginSubmit: [{ type: Output }]
2331
2509
  };
2332
2510
 
2333
- class CheckoutOverviewRelationEditComponent {
2334
- constructor(_changeDetector, _transactionService) {
2511
+ class IoneCheckoutComponent {
2512
+ constructor(_changeDetector, _optionsService, _connector, _dictionary, _service, transactionEvents, _promptService, globalEvents) {
2335
2513
  this._changeDetector = _changeDetector;
2336
- this._transactionService = _transactionService;
2337
- this.validSubmit = new EventEmitter();
2338
- this.invalidSubmit = new EventEmitter();
2339
- this.testje = false;
2340
- this.dateOfBirth = new Date();
2341
- this.accountPassword = "";
2342
- this.hide = true;
2343
- this.gender = GenderType.Unspecified;
2344
- this.emailAddress = new ContactOption();
2345
- this.phoneNumber = new ContactOption();
2346
- this.relationSuggestions = [];
2347
- this.showRelationSidebar = false;
2348
- this.inviteToAccount = false;
2349
- this.relType = RelationNameKind;
2350
- this.genderType = GenderType;
2351
- this._relation = NULL_RELATION_OBJECT;
2352
- // fetches relation suggestions
2514
+ this._optionsService = _optionsService;
2515
+ this._connector = _connector;
2516
+ this._dictionary = _dictionary;
2517
+ this._service = _service;
2518
+ this.transactionEvents = transactionEvents;
2519
+ this._promptService = _promptService;
2520
+ this.globalEvents = globalEvents;
2521
+ this.upAndLoaded = false;
2522
+ this.show = false;
2523
+ this.loggedIn = false;
2524
+ this._subscriptions = [];
2525
+ this._remoteOptions = true;
2526
+ this._publicOptions = true;
2527
+ this._applicationUser = false;
2528
+ this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
2529
+ this._subscriptions.push(this.transactionEvents.loggedIn.subscribe(() => {
2530
+ this.loggedIn = true;
2531
+ }));
2532
+ }
2533
+ set options(value) {
2534
+ if (value) {
2535
+ let options;
2536
+ if (typeof value === "string") {
2537
+ options = JSON.parse(value);
2538
+ }
2539
+ else {
2540
+ options = value;
2541
+ }
2542
+ this._publicOptions = true;
2543
+ this._optionsService.initialize(options).then();
2544
+ }
2545
+ }
2546
+ set applicationUser(value) {
2547
+ this._applicationUser = value;
2548
+ this._service.applicationUser = this.applicationUser;
2549
+ }
2550
+ get transactionNr() {
2551
+ return this._service.currentTransaction.transactionNr;
2552
+ }
2553
+ get applicationUser() {
2554
+ return this._applicationUser;
2555
+ }
2556
+ ngOnInit() {
2557
+ if (!this._publicOptions) {
2558
+ this._optionsService.initializeDevelopmentOptions(this._remoteOptions);
2559
+ }
2560
+ }
2561
+ ngOnDestroy() {
2562
+ this._subscriptions.forEach(subscription => subscription.unsubscribe());
2563
+ }
2564
+ _handleSettingsLoaded(loaded) {
2565
+ return __awaiter(this, void 0, void 0, function* () {
2566
+ if (loaded) {
2567
+ yield this._initConnection().then();
2568
+ this.upAndLoaded = true;
2569
+ }
2570
+ });
2571
+ }
2572
+ _initConnection() {
2573
+ return __awaiter(this, void 0, void 0, function* () {
2574
+ yield this._connector.connect(this._optionsService.options);
2575
+ if (this._optionsService.options.url) {
2576
+ this._dictionary.rootUrl = this._optionsService.options.url.replace("/ajaxservice", "");
2577
+ }
2578
+ yield this._dictionary.setDictionary(this._optionsService.options.languageCode);
2579
+ setTimeout(() => {
2580
+ this._changeDetector.detectChanges();
2581
+ });
2582
+ });
2583
+ }
2584
+ loginSubmit() {
2585
+ this.globalEvents.addUserRelationShoppingCartModule.next({ user: this.checkoutLogin.userEmailAddress, pw: this.checkoutLogin.userPassword });
2586
+ this.loggedIn = true;
2587
+ }
2588
+ continueWithoutAccount() {
2589
+ this.closeLogin();
2590
+ this.loggedIn = true;
2591
+ this.transactionEvents.addNewUserToShoppingCartModule.next(this.checkoutLogin.userNewEmailAddress);
2592
+ }
2593
+ createNewAccount() {
2594
+ this.closeLogin();
2595
+ this.transactionEvents.addNewUserToShoppingCartModule.next(this.checkoutLogin.userNewEmailAddress);
2596
+ }
2597
+ closeLogin() {
2598
+ this.loggedIn = true;
2599
+ this.show = true;
2600
+ }
2601
+ }
2602
+ IoneCheckoutComponent.decorators = [
2603
+ { type: Component, args: [{
2604
+ selector: "ione-checkout",
2605
+ template: `
2606
+ <ng-container *ngIf="show && (applicationUser || loggedIn)">
2607
+ <app-checkout-transaction></app-checkout-transaction>
2608
+ </ng-container>
2609
+
2610
+
2611
+ <div *ngIf="show && !applicationUser && !loggedIn">
2612
+ <checkout-login
2613
+ #checkoutLogin
2614
+ (continueWithoutSubmit)="continueWithoutAccount()"
2615
+ (createNewAccountSubmit)="createNewAccount()"
2616
+ ></checkout-login>
2617
+ </div>
2618
+ `
2619
+ },] }
2620
+ ];
2621
+ IoneCheckoutComponent.ctorParameters = () => [
2622
+ { type: ChangeDetectorRef },
2623
+ { type: OptionsService },
2624
+ { type: IOneConnectorAdapterService },
2625
+ { type: DictionaryService },
2626
+ { type: TransactionService },
2627
+ { type: TransactionEventService },
2628
+ { type: PromptService },
2629
+ { type: TransactionEventService }
2630
+ ];
2631
+ IoneCheckoutComponent.propDecorators = {
2632
+ checkoutLogin: [{ type: ViewChild, args: [CheckoutLoginComponent,] }],
2633
+ options: [{ type: Input }],
2634
+ applicationUser: [{ type: Input }]
2635
+ };
2636
+
2637
+ var CheckoutSteps;
2638
+ (function (CheckoutSteps) {
2639
+ CheckoutSteps[CheckoutSteps["Overview"] = 0] = "Overview";
2640
+ // Login,
2641
+ CheckoutSteps[CheckoutSteps["Relation"] = 1] = "Relation";
2642
+ CheckoutSteps[CheckoutSteps["Delivery"] = 2] = "Delivery";
2643
+ CheckoutSteps[CheckoutSteps["Payment"] = 3] = "Payment";
2644
+ CheckoutSteps[CheckoutSteps["Printing"] = 4] = "Printing";
2645
+ })(CheckoutSteps || (CheckoutSteps = {}));
2646
+
2647
+ class CheckoutOverviewBlockComponent {
2648
+ constructor() {
2649
+ this.sequenceNr = 1;
2650
+ this.startInEdit = false;
2651
+ this.editMode = false;
2652
+ this.editModeChange = new EventEmitter();
2653
+ }
2654
+ ngOnInit() {
2655
+ if (this.startInEdit) {
2656
+ this.editMode = true;
2657
+ }
2658
+ }
2659
+ startEdit() {
2660
+ this.editMode = true;
2661
+ this.editModeChange.emit(this.editMode);
2662
+ }
2663
+ stopEdit(emitChange = true) {
2664
+ this.editMode = false;
2665
+ if (emitChange) {
2666
+ this.editModeChange.emit(this.editMode);
2667
+ }
2668
+ }
2669
+ }
2670
+ CheckoutOverviewBlockComponent.decorators = [
2671
+ { type: Component, args: [{
2672
+ selector: "checkout-overview-block",
2673
+ template: `
2674
+ <div class="overview-wrapper" fxLayout="column" fxLayoutGap="0px">
2675
+ <div class="overview-header" fxLayout="row">
2676
+ </div>
2677
+ <div class="overview-body" fxLayout="row" fxLayoutGap="20px">
2678
+ <ng-content select="[edit-mode-content]"></ng-content>
2679
+ </div>
2680
+ </div>
2681
+ `,
2682
+ 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"]
2683
+ },] }
2684
+ ];
2685
+ CheckoutOverviewBlockComponent.ctorParameters = () => [];
2686
+ CheckoutOverviewBlockComponent.propDecorators = {
2687
+ sequenceNr: [{ type: Input }],
2688
+ label: [{ type: Input }],
2689
+ startInEdit: [{ type: Input }],
2690
+ editModeChange: [{ type: Output }]
2691
+ };
2692
+
2693
+ class CheckoutOverviewRelationEditComponent {
2694
+ constructor(_changeDetector, _transactionService) {
2695
+ this._changeDetector = _changeDetector;
2696
+ this._transactionService = _transactionService;
2697
+ this.validSubmit = new EventEmitter();
2698
+ this.invalidSubmit = new EventEmitter();
2699
+ this.testje = false;
2700
+ this.dateOfBirth = new Date();
2701
+ this.accountPassword = "";
2702
+ this.hide = true;
2703
+ this.gender = GenderType.Unspecified;
2704
+ this.emailAddress = new ContactOption();
2705
+ this.phoneNumber = new ContactOption();
2706
+ this.relationSuggestions = [];
2707
+ this.showRelationSidebar = false;
2708
+ this.inviteToAccount = false;
2709
+ this.relType = RelationNameKind;
2710
+ this.genderType = GenderType;
2711
+ this._relation = NULL_RELATION_OBJECT;
2712
+ // fetches relation suggestions
2353
2713
  this._relationNameChangeHandler = FunctionUtils.Throttle(() => {
2354
2714
  return this._relationNameChangedHandlerFn();
2355
2715
  // eslint-disable-next-line no-magic-numbers
@@ -2534,7 +2894,7 @@ CheckoutOverviewRelationEditComponent.decorators = [
2534
2894
  <div>
2535
2895
  <label [textContent]="'PERSONAL_DATA' | localize"
2536
2896
  class="checkout-label-h3"
2537
- ></label>7
2897
+ ></label>
2538
2898
  </div>
2539
2899
  <div>
2540
2900
  <div>
@@ -3443,546 +3803,314 @@ CheckoutComponent.propDecorators = {
3443
3803
  stepper: [{ type: ViewChild, args: ["stepper",] }]
3444
3804
  };
3445
3805
 
3446
- class RetailTransactionCheckoutComponent {
3447
- constructor(service) {
3448
- this.service = service;
3806
+ class CheckoutOverviewRelationAddressComponent {
3807
+ constructor(_dictionary, _connector) {
3808
+ this._dictionary = _dictionary;
3809
+ this._connector = _connector;
3810
+ this.countries = [];
3811
+ this.fields = { text: "description", value: "code" };
3812
+ this.postalCodeCheckErrorMessage = "";
3813
+ this._prevPostalCodeForCheck = "";
3449
3814
  }
3450
- get canPrevious() {
3451
- var _a;
3452
- return this.checkout && ((_a = this.checkout.stepper) === null || _a === void 0 ? void 0 : _a.selectedIndex) !== 0;
3815
+ set address(address) {
3816
+ this._address = address;
3453
3817
  }
3454
- get canContinue() {
3455
- var _a;
3456
- return this.checkout && ((_a = this.checkout.stepper) === null || _a === void 0 ? void 0 : _a.selectedIndex) !== 3;
3818
+ get address() {
3819
+ if (this._address === undefined) {
3820
+ this._address = new Address();
3821
+ }
3822
+ return this._address;
3457
3823
  }
3458
- get started() {
3459
- var _a;
3460
- return this.checkout && ((_a = this.checkout.stepper) === null || _a === void 0 ? void 0 : _a.selectedIndex) === 0;
3824
+ ngOnInit() {
3825
+ return __awaiter(this, void 0, void 0, function* () {
3826
+ this.countries = yield this._connector.getCountries();
3827
+ });
3461
3828
  }
3462
- get finished() {
3463
- return this.checkout && this.checkout.finished;
3829
+ checkForPostalCodeCheckError() {
3830
+ return __awaiter(this, void 0, void 0, function* () {
3831
+ if (!this.address.postalCode || isNill$1(this.address.houseNo)) {
3832
+ this.postalCodeCheckErrorMessage = "";
3833
+ return;
3834
+ }
3835
+ if (this._prevPostalCodeForCheck !== this.address.postalCode || this._prevHouseNoForCheck !== this.address.houseNo) {
3836
+ this._prevPostalCodeForCheck = this.address.postalCode;
3837
+ this._prevHouseNoForCheck = this.address.houseNo;
3838
+ const postalCodeResponse = yield this._connector.getPostalCodeRetrieval((this.address.postalCode ? this.address.postalCode : ""), StringUtils.ParseString(this.address.houseNo));
3839
+ if (postalCodeResponse && postalCodeResponse.isBadAddress) {
3840
+ this.postalCodeCheckErrorMessage = this._dictionary.get("UNKNOWN_ADDRESS_CHECK_IT");
3841
+ }
3842
+ else {
3843
+ this.postalCodeCheckErrorMessage = "";
3844
+ this.address.streetName = postalCodeResponse.street;
3845
+ this.address.city = postalCodeResponse.city;
3846
+ }
3847
+ }
3848
+ });
3464
3849
  }
3465
- continueCheckout() {
3466
- this.checkout.continue();
3850
+ changeHouseNo() {
3851
+ this.address.houseNo = Number(this.address.houseNo);
3467
3852
  }
3468
- previousCheckout() {
3853
+ }
3854
+ CheckoutOverviewRelationAddressComponent.decorators = [
3855
+ { type: Component, args: [{
3856
+ selector: "checkout-overview-relation-address",
3857
+ template: `
3858
+ <label [textContent]="label | localize"
3859
+ class="checkout-label-h3"
3860
+ ></label>
3861
+ <div class="default-flex-row">
3862
+ <div class="default-flex-column">
3863
+ <co-input-text [(model)]="address.postalCode"
3864
+ [placeholder]="'POSTAL_CODE' | localize"
3865
+ (blur)="checkForPostalCodeCheckError()"
3866
+ required
3867
+ ></co-input-text>
3868
+ </div>
3869
+ <div class="default-flex-column">
3870
+ <co-input-text [(model)]="address.houseNo"
3871
+ [placeholder]="'HOUSE_NO' | localize"
3872
+ (blur)="checkForPostalCodeCheckError()"
3873
+ (modelChange) = "changeHouseNo()"
3874
+ required
3875
+ ></co-input-text>
3876
+ </div>
3877
+ <div class="default-flex-column">
3878
+ <co-input-text [(model)]="address.houseNoAddition"
3879
+ [placeholder]="'HOUSE_NO_ADDITION' | localize"
3880
+ ></co-input-text>
3881
+ </div>
3882
+ </div>
3883
+ <div>
3884
+ <div class="default-flex-row">
3885
+ <div class="default-flex-column">
3886
+ <co-input-text [(model)]="address.streetName" [placeholder]="'STREET' | localize" required></co-input-text>
3887
+ </div>
3888
+ <div class="default-flex-column">
3889
+ <co-input-text [(model)]="address.city" [placeholder]="'CITY' | localize" required></co-input-text>
3890
+ </div>
3891
+ <div class="default-flex-column">
3892
+ <co-input-combo-box [(model)]="address.countryId"
3893
+ [source]="countries"
3894
+ [fields]="fields"
3895
+ [placeholder]="'COUNTRY'| localize"
3896
+ [required]="true"
3897
+ ></co-input-combo-box>
3898
+ </div>
3899
+ </div>
3900
+ </div>
3901
+ `,
3902
+ 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"]
3903
+ },] }
3904
+ ];
3905
+ CheckoutOverviewRelationAddressComponent.ctorParameters = () => [
3906
+ { type: DictionaryService },
3907
+ { type: IOneConnectorAdapterService }
3908
+ ];
3909
+ CheckoutOverviewRelationAddressComponent.propDecorators = {
3910
+ label: [{ type: Input }],
3911
+ address: [{ type: Input }]
3912
+ };
3913
+
3914
+ class CheckoutTransactionComponent {
3915
+ constructor(service) {
3916
+ this.service = service;
3917
+ }
3918
+ get canPrevious() {
3919
+ var _a;
3920
+ return this.checkout && ((_a = this.checkout.stepper) === null || _a === void 0 ? void 0 : _a.selectedIndex) !== 0;
3921
+ }
3922
+ get canContinue() {
3923
+ var _a;
3924
+ return this.checkout && ((_a = this.checkout.stepper) === null || _a === void 0 ? void 0 : _a.selectedIndex) !== 3;
3925
+ }
3926
+ get started() {
3927
+ var _a;
3928
+ return this.checkout && ((_a = this.checkout.stepper) === null || _a === void 0 ? void 0 : _a.selectedIndex) === 0;
3929
+ }
3930
+ get finished() {
3931
+ return this.checkout && this.checkout.finished;
3932
+ }
3933
+ continueCheckout() {
3934
+ this.checkout.continue();
3935
+ }
3936
+ previousCheckout() {
3469
3937
  this.checkout.previous();
3470
3938
  }
3471
3939
  }
3472
- RetailTransactionCheckoutComponent.decorators = [
3940
+ CheckoutTransactionComponent.decorators = [
3473
3941
  { type: Component, args: [{
3474
- selector: "app-retail-transaction-checkout",
3942
+ selector: "app-checkout-transaction",
3475
3943
  template: `
3476
3944
  <ng-container [ngTemplateOutlet]="content"></ng-container>
3477
3945
  <app-checkout class="checkout"></app-checkout>
3478
3946
  <ng-container [ngTemplateOutlet]="content"></ng-container>
3479
3947
  <ng-template #content>
3480
- <div class="checkout-retail-viewport checkout-row-end">
3948
+ <div class="checkout-transaction-viewport checkout-row-end">
3481
3949
  <co-button [label]="'BACK'| localize" [disabled]="!canPrevious" (click)="previousCheckout()"></co-button>
3482
3950
  <co-button [label]="'CONTINUE'| localize" [disabled]="!canContinue" (click)="continueCheckout()"></co-button>
3483
3951
  </div>
3484
3952
  </ng-template>
3485
3953
  `,
3486
- styles: [".checkout-retail-viewport{max-width:60%;margin-left:20%}.checkout-row-end{display:flex;flex-direction:row;grid-column-gap:10px;-moz-column-gap:10px;column-gap:10px;justify-content:flex-end}\n"]
3954
+ styles: [".checkout-transaction-viewport{max-width:60%;margin-left:20%}.checkout-row-end{display:flex;flex-direction:row;grid-column-gap:10px;-moz-column-gap:10px;column-gap:10px;justify-content:flex-end}\n"]
3487
3955
  },] }
3488
3956
  ];
3489
- RetailTransactionCheckoutComponent.ctorParameters = () => [
3957
+ CheckoutTransactionComponent.ctorParameters = () => [
3490
3958
  { type: TransactionService }
3491
3959
  ];
3492
- RetailTransactionCheckoutComponent.propDecorators = {
3960
+ CheckoutTransactionComponent.propDecorators = {
3493
3961
  checkout: [{ type: ViewChild, args: [CheckoutComponent, { static: true },] }]
3494
3962
  };
3495
3963
 
3496
- class CheckoutLoginComponent {
3497
- constructor() {
3498
- this.createNewAccountSubmit = new EventEmitter();
3499
- this.continueWithoutSubmit = new EventEmitter();
3500
- this.loginSubmit = new EventEmitter();
3501
- this.userEmailAddress = "";
3502
- this.userNewEmailAddress = "";
3503
- this.userPassword = "";
3504
- this.continueWithoutAccount = false;
3505
- this.company = "<bedrijf>";
3506
- }
3507
- ngOnInit() {
3508
- }
3509
- login() {
3510
- this.loginSubmit.emit();
3511
- }
3512
- submit() {
3513
- this.loginForm.submit();
3514
- }
3515
- createAccountSubmit() {
3516
- this.accountForm.submit();
3517
- }
3518
- continueSubmit() {
3519
- this.continueWithoutAccount = true;
3520
- this.accountForm.submit();
3964
+ class CheckoutOverviewDeliveryAddressComponent {
3965
+ constructor(service) {
3966
+ this.service = service;
3967
+ this.editRequest = new EventEmitter();
3521
3968
  }
3522
- accountLogin() {
3523
- if (this.continueWithoutAccount) {
3524
- this.continueWithoutSubmit.emit();
3525
- }
3526
- else {
3527
- this.createNewAccountSubmit.emit();
3528
- }
3969
+ onClick() {
3970
+ this.editRequest.emit();
3529
3971
  }
3530
3972
  }
3531
- CheckoutLoginComponent.decorators = [
3973
+ CheckoutOverviewDeliveryAddressComponent.decorators = [
3532
3974
  { type: Component, args: [{
3533
- selector: "checkout-login",
3975
+ selector: "checkout-overview-delivery-address",
3534
3976
  template: `
3535
- <h1>{{ "LOGIN" | localize}}</h1>
3536
- <div class="users">
3537
- <co-form #loginForm (validSubmit)="login()">
3538
- <div class="existing-user">
3539
- <p><strong>{{ "EXISTING_CUSTOMERS" | localize }}</strong></p>
3540
- <co-input-text
3541
- [(model)]="userEmailAddress"
3542
- [placeholder]="'EMAIL_ADDRESS' | localize "
3543
- [type]="'email'"
3544
- required
3545
- ></co-input-text>
3977
+ <div>
3978
+ <div>
3979
+ <label [textContent]="label | localize"
3980
+ class="checkout-label-h3"
3981
+ ></label>
3982
+ </div>
3546
3983
 
3547
- <co-input-text
3548
- [(model)]="userPassword"
3549
- [placeholder]="'PASSWORD' | localize "
3550
- [type]="'password'"
3551
- required
3552
- ></co-input-text>
3553
- <div class="login-button">
3554
- <co-button
3555
- [label]="'LOGIN' | localize" (click)="submit()"
3556
- ></co-button>
3557
- </div>
3984
+ <div (click)="onClick()">
3985
+ <div>
3986
+ {{ address?.streetName }} {{ address?.houseNo}} {{ address?.houseNoAddition}}
3558
3987
  </div>
3559
- </co-form>
3560
-
3561
- <co-form #accountForm (validSubmit)="accountLogin()">
3562
- <div class="new-user">
3563
- <p class="boxedbottom">
3564
- <strong>{{ "NEW_AT" | localize}}{{company}}</strong>
3565
- <br/>{{ "CREATE_ACCOUNT_IN_2_MIN" | localize }}
3566
- </p>
3567
- <div class="new-user-e-mail">
3568
- <co-input-text
3569
- [(model)]="userNewEmailAddress"
3570
- [placeholder]="'EMAIL_ADDRESS' | localize "
3571
- [type]="'email'"
3572
- required
3573
- ></co-input-text>
3574
- </div>
3575
- <div class="login-button">
3576
- <co-button
3577
- [label]="'CREATE_ACCOUNT' | localize"
3578
- (click)="createAccountSubmit()"
3579
- ></co-button>
3580
- <co-button
3581
- [label]="'CONTINUE_WITHOUT_ACCOUNT' | localize"
3582
- (click)="continueSubmit()"
3583
- ></co-button>
3584
- </div>
3988
+ <div>
3989
+ {{ address?.postalCode }} {{ address?.city}}
3585
3990
  </div>
3586
- </co-form>
3991
+ <div>
3992
+ {{ address?.countryName }}
3993
+ </div>
3994
+ </div>
3587
3995
  </div>
3588
3996
  `,
3589
- styles: [".users{display:flex;flex-direction:row}.users co-form{width:50%}.existing-user{padding-right:2rem;margin-bottom:0;border-right:1px solid #aaa}.new-user{padding-left:2rem}.new-user-e-mail{padding-top:2.6rem}.boxedbottom{margin-bottom:.5rem}.login-button{display:flex;margin-top:10px}.login-button co-button{margin-right:10px}\n"]
3997
+ 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", ""]
3590
3998
  },] }
3591
3999
  ];
3592
- CheckoutLoginComponent.ctorParameters = () => [];
3593
- CheckoutLoginComponent.propDecorators = {
3594
- loginForm: [{ type: ViewChild, args: ["loginForm",] }],
3595
- accountForm: [{ type: ViewChild, args: ["accountForm",] }],
3596
- createNewAccountSubmit: [{ type: Output }],
3597
- continueWithoutSubmit: [{ type: Output }],
3598
- loginSubmit: [{ type: Output }]
4000
+ CheckoutOverviewDeliveryAddressComponent.ctorParameters = () => [
4001
+ { type: TransactionService }
4002
+ ];
4003
+ CheckoutOverviewDeliveryAddressComponent.propDecorators = {
4004
+ label: [{ type: Input }],
4005
+ address: [{ type: Input }],
4006
+ editRequest: [{ type: Output }]
3599
4007
  };
3600
4008
 
3601
- class IoneCheckoutComponent {
3602
- constructor(_changeDetector, _optionsService, _connector, _dictionary, _service, transactionEvents, _promptService, globalEvents) {
3603
- this._changeDetector = _changeDetector;
3604
- this._optionsService = _optionsService;
3605
- this._connector = _connector;
3606
- this._dictionary = _dictionary;
3607
- this._service = _service;
3608
- this.transactionEvents = transactionEvents;
3609
- this._promptService = _promptService;
3610
- this.globalEvents = globalEvents;
3611
- this.upAndLoaded = false;
3612
- this.show = false;
3613
- this.loggedIn = false;
3614
- this._subscriptions = [];
3615
- this._remoteOptions = true;
3616
- this._publicOptions = true;
3617
- this._applicationUser = false;
3618
- this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
3619
- this._subscriptions.push(this.transactionEvents.loggedIn.subscribe(() => {
3620
- this.loggedIn = true;
3621
- }));
3622
- }
3623
- set options(value) {
3624
- if (value) {
3625
- let options;
3626
- if (typeof value === "string") {
3627
- options = JSON.parse(value);
3628
- }
3629
- else {
3630
- options = value;
3631
- }
3632
- this._publicOptions = true;
3633
- this._optionsService.initialize(options).then();
3634
- }
3635
- }
3636
- set applicationUser(value) {
3637
- this._applicationUser = value;
3638
- this._service.applicationUser = this.applicationUser;
3639
- }
3640
- get transactionNr() {
3641
- return this._service.currentTransaction.transactionNr;
3642
- }
3643
- get applicationUser() {
3644
- return this._applicationUser;
3645
- }
3646
- ngOnInit() {
3647
- if (!this._publicOptions) {
3648
- this._optionsService.initializeDevelopmentOptions(this._remoteOptions);
3649
- }
3650
- }
3651
- ngOnDestroy() {
3652
- this._subscriptions.forEach(subscription => subscription.unsubscribe());
3653
- }
3654
- _handleSettingsLoaded(loaded) {
3655
- return __awaiter(this, void 0, void 0, function* () {
3656
- if (loaded) {
3657
- yield this._initConnection().then();
3658
- this.upAndLoaded = true;
3659
- }
3660
- });
3661
- }
3662
- _initConnection() {
3663
- return __awaiter(this, void 0, void 0, function* () {
3664
- yield this._connector.connect(this._optionsService.options);
3665
- if (this._optionsService.options.url) {
3666
- this._dictionary.rootUrl = this._optionsService.options.url.replace("/ajaxservice", "");
3667
- }
3668
- yield this._dictionary.setDictionary(this._optionsService.options.languageCode);
3669
- setTimeout(() => {
3670
- this._changeDetector.detectChanges();
3671
- });
3672
- });
3673
- }
3674
- loginSubmit() {
3675
- this.globalEvents.addUserRelationShoppingCartModule.next({ user: this.checkoutLogin.userEmailAddress, pw: this.checkoutLogin.userPassword });
3676
- this.loggedIn = true;
3677
- }
3678
- continueWithoutAccount() {
3679
- this.closeLogin();
3680
- this.loggedIn = true;
3681
- this.transactionEvents.addNewUserToShoppingCartModule.next(this.checkoutLogin.userNewEmailAddress);
3682
- }
3683
- createNewAccount() {
3684
- this.closeLogin();
3685
- this.transactionEvents.addNewUserToShoppingCartModule.next(this.checkoutLogin.userNewEmailAddress);
3686
- }
3687
- closeLogin() {
3688
- this.loggedIn = true;
3689
- this.show = true;
4009
+ // Direction type for regular straight directions.
4010
+ var Direction;
4011
+ (function (Direction) {
4012
+ Direction["Right"] = "right";
4013
+ Direction["Left"] = "left";
4014
+ Direction["Up"] = "top";
4015
+ Direction["Down"] = "bottom";
4016
+ })(Direction || (Direction = {}));
4017
+
4018
+ class CheckOutRelationSuggestionsListComponent {
4019
+ constructor() {
4020
+ this.suggestions = [];
4021
+ this.arrowDirection = Direction.Left;
4022
+ // Emits the clicked relation list object.
4023
+ this.suggestionButtonClick = new EventEmitter();
3690
4024
  }
3691
4025
  }
3692
- IoneCheckoutComponent.decorators = [
4026
+ CheckOutRelationSuggestionsListComponent.decorators = [
3693
4027
  { type: Component, args: [{
3694
- selector: "ione-checkout",
3695
- template: `
3696
- <ng-container *ngIf="show && (applicationUser || loggedIn)">
3697
- <app-retail-transaction-checkout></app-retail-transaction-checkout>
3698
- </ng-container>
3699
-
3700
-
3701
- <div *ngIf="show && !applicationUser && !loggedIn">
3702
- <checkout-login
3703
- #checkoutLogin
3704
- (continueWithoutSubmit)="continueWithoutAccount()"
3705
- (createNewAccountSubmit)="createNewAccount()"
3706
- ></checkout-login>
3707
- </div>
3708
- `
4028
+ selector: "checkout-relation-suggestions-list",
4029
+ template: `
4030
+ <div class="flex-column items-wrapper">
4031
+ <checkout-relation-suggestions-list-item *ngFor="let suggestion of suggestions" [suggestion]="suggestion"
4032
+ [arrowDirection]="arrowDirection"
4033
+ (buttonClick)="suggestionButtonClick.emit(suggestion)"></checkout-relation-suggestions-list-item>
4034
+ <span *ngIf="suggestions?.length === 0" class="no-results" localize="NO_RESULTS_FOUND"></span>
4035
+ </div>
4036
+ `,
4037
+ host: {
4038
+ "class": "narrow-scrollbar"
4039
+ },
4040
+ styles: [""]
3709
4041
  },] }
3710
4042
  ];
3711
- IoneCheckoutComponent.ctorParameters = () => [
3712
- { type: ChangeDetectorRef },
3713
- { type: OptionsService },
3714
- { type: IOneConnectorAdapterService },
3715
- { type: DictionaryService },
3716
- { type: TransactionService },
3717
- { type: TransactionEventService },
3718
- { type: PromptService },
3719
- { type: TransactionEventService }
3720
- ];
3721
- IoneCheckoutComponent.propDecorators = {
3722
- retailCheckout: [{ type: ViewChild, args: [RetailTransactionCheckoutComponent,] }],
3723
- checkoutLogin: [{ type: ViewChild, args: [CheckoutLoginComponent,] }],
3724
- options: [{ type: Input }],
3725
- applicationUser: [{ type: Input }]
4043
+ CheckOutRelationSuggestionsListComponent.propDecorators = {
4044
+ suggestions: [{ type: Input }],
4045
+ arrowDirection: [{ type: Input }],
4046
+ suggestionButtonClick: [{ type: Output }]
3726
4047
  };
3727
4048
 
3728
- class CheckoutOverviewRelationAddressComponent {
3729
- constructor(_dictionary, _connector) {
3730
- this._dictionary = _dictionary;
3731
- this._connector = _connector;
3732
- this.countries = [];
3733
- this.fields = { text: "description", value: "code" };
3734
- this.postalCodeCheckErrorMessage = "";
3735
- this._prevPostalCodeForCheck = "";
3736
- }
3737
- set address(address) {
3738
- this._address = address;
4049
+ class CheckOutRelationSuggestionsListItemComponent {
4050
+ constructor() {
4051
+ this.buttonClick = new EventEmitter();
4052
+ // public icon: Icon;
4053
+ this._arrowDirection = Direction.Left;
3739
4054
  }
3740
- get address() {
3741
- if (this._address === undefined) {
3742
- this._address = new Address();
3743
- }
3744
- return this._address;
4055
+ set arrowDirection(arrowDirection) {
4056
+ this._arrowDirection = arrowDirection;
4057
+ this._updateIcon();
3745
4058
  }
3746
4059
  ngOnInit() {
3747
- return __awaiter(this, void 0, void 0, function* () {
3748
- this.countries = yield this._connector.getCountries();
3749
- });
3750
- }
3751
- checkForPostalCodeCheckError() {
3752
- return __awaiter(this, void 0, void 0, function* () {
3753
- if (!this.address.postalCode || isNill$1(this.address.houseNo)) {
3754
- this.postalCodeCheckErrorMessage = "";
3755
- return;
3756
- }
3757
- if (this._prevPostalCodeForCheck !== this.address.postalCode || this._prevHouseNoForCheck !== this.address.houseNo) {
3758
- this._prevPostalCodeForCheck = this.address.postalCode;
3759
- this._prevHouseNoForCheck = this.address.houseNo;
3760
- const postalCodeResponse = yield this._connector.getPostalCodeRetrieval((this.address.postalCode ? this.address.postalCode : ""), StringUtils.ParseString(this.address.houseNo));
3761
- if (postalCodeResponse && postalCodeResponse.isBadAddress) {
3762
- this.postalCodeCheckErrorMessage = this._dictionary.get("UNKNOWN_ADDRESS_CHECK_IT");
3763
- }
3764
- else {
3765
- this.postalCodeCheckErrorMessage = "";
3766
- this.address.streetName = postalCodeResponse.street;
3767
- this.address.city = postalCodeResponse.city;
3768
- }
3769
- }
3770
- });
4060
+ this._updateIcon();
3771
4061
  }
3772
- changeHouseNo() {
3773
- this.address.houseNo = Number(this.address.houseNo);
4062
+ _updateIcon() {
4063
+ // if (this._arrowDirection === Direction.Left) {
4064
+ // this.icon = Icon.ArrowFatLeft;
4065
+ // } else {
4066
+ // this.icon = Icon.ArrowFatRight;
4067
+ // }
3774
4068
  }
3775
4069
  }
3776
- CheckoutOverviewRelationAddressComponent.decorators = [
4070
+ CheckOutRelationSuggestionsListItemComponent.decorators = [
3777
4071
  { type: Component, args: [{
3778
- selector: "checkout-overview-relation-address",
4072
+ selector: "checkout-relation-suggestions-list-item",
3779
4073
  template: `
3780
- <label [textContent]="label | localize"
3781
- class="checkout-label-h3"
3782
- ></label>
3783
- <div class="default-flex-row">
3784
- <div class="default-flex-column">
3785
- <co-input-text [(model)]="address.postalCode"
3786
- [placeholder]="'POSTAL_CODE' | localize"
3787
- (blur)="checkForPostalCodeCheckError()"
3788
- required
3789
- ></co-input-text>
3790
- </div>
3791
- <div class="default-flex-column">
3792
- <co-input-text [(model)]="address.houseNo"
3793
- [placeholder]="'HOUSE_NO' | localize"
3794
- (blur)="checkForPostalCodeCheckError()"
3795
- (modelChange) = "changeHouseNo()"
3796
- required
3797
- ></co-input-text>
3798
- </div>
3799
- <div class="default-flex-column">
3800
- <co-input-text [(model)]="address.houseNoAddition"
3801
- [placeholder]="'HOUSE_NO_ADDITION' | localize"
3802
- ></co-input-text>
4074
+ <!-- <div class="left" fxLayout fxLayoutAlign="start center">-->
4075
+ <!-- <avatar [relation]="suggestion" class="smaller"></avatar>-->
4076
+ <!-- </div>-->
4077
+ <div class="right">
4078
+ <div class="name medium-big-font" *ngIf="suggestion.displayName as displayName" [textContent]="displayName"></div>
4079
+ <div class="email" *ngIf="suggestion.email">
4080
+ {{ suggestion.email }}
3803
4081
  </div>
3804
- </div>
3805
- <div>
3806
- <div class="default-flex-row">
3807
- <div class="default-flex-column">
3808
- <co-input-text [(model)]="address.streetName" [placeholder]="'STREET' | localize" required></co-input-text>
3809
- </div>
3810
- <div class="default-flex-column">
3811
- <co-input-text [(model)]="address.city" [placeholder]="'CITY' | localize" required></co-input-text>
3812
- </div>
3813
- <div class="default-flex-column">
3814
- <co-input-combo-box [(model)]="address.countryId"
3815
- [source]="countries"
3816
- [fields]="fields"
3817
- [placeholder]="'COUNTRY'| localize"
3818
- [required]="true"
3819
- ></co-input-combo-box>
3820
- </div>
4082
+ <div class="address" *ngIf="suggestion.displayAddress as address" [textContent]="address"></div>
4083
+ <div class="phone" *ngIf="suggestion.tel1">
4084
+ {{ suggestion?.tel1 }}
3821
4085
  </div>
3822
4086
  </div>
4087
+ <co-button [label]="'SELECT' | localize" class="popup rounded" (click)="buttonClick.emit($event)"></co-button>
3823
4088
  `,
3824
- 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"]
4089
+ 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"]
3825
4090
  },] }
3826
4091
  ];
3827
- CheckoutOverviewRelationAddressComponent.ctorParameters = () => [
3828
- { type: DictionaryService },
3829
- { type: IOneConnectorAdapterService }
3830
- ];
3831
- CheckoutOverviewRelationAddressComponent.propDecorators = {
3832
- label: [{ type: Input }],
3833
- address: [{ type: Input }]
4092
+ CheckOutRelationSuggestionsListItemComponent.ctorParameters = () => [];
4093
+ CheckOutRelationSuggestionsListItemComponent.propDecorators = {
4094
+ suggestion: [{ type: Input }],
4095
+ arrowDirection: [{ type: Input }],
4096
+ buttonClick: [{ type: Output }]
3834
4097
  };
3835
4098
 
3836
- class CheckoutOverviewDeliveryAddressComponent {
3837
- constructor(service) {
3838
- this.service = service;
3839
- this.editRequest = new EventEmitter();
3840
- }
3841
- onClick() {
3842
- this.editRequest.emit();
4099
+ // A pipe for appending strings to other strings in view templates.
4100
+ class AppendPipe {
4101
+ transform(value, append) {
4102
+ if (!value) {
4103
+ return "";
4104
+ }
4105
+ if (!append) {
4106
+ return value;
4107
+ }
4108
+ return value + append;
3843
4109
  }
3844
4110
  }
3845
- CheckoutOverviewDeliveryAddressComponent.decorators = [
3846
- { type: Component, args: [{
3847
- selector: "checkout-overview-delivery-address",
3848
- template: `
3849
- <div>
3850
- <div>
3851
- <label [textContent]="label | localize"
3852
- class="checkout-label-h3"
3853
- ></label>
3854
- </div>
3855
-
3856
- <div (click)="onClick()">
3857
- <div>
3858
- {{ address?.streetName }} {{ address?.houseNo}} {{ address?.houseNoAddition}}
3859
- </div>
3860
- <div>
3861
- {{ address?.postalCode }} {{ address?.city}}
3862
- </div>
3863
- <div>
3864
- {{ address?.countryName }}
3865
- </div>
3866
- </div>
3867
- </div>
3868
- `,
3869
- 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", ""]
3870
- },] }
3871
- ];
3872
- CheckoutOverviewDeliveryAddressComponent.ctorParameters = () => [
3873
- { type: TransactionService }
3874
- ];
3875
- CheckoutOverviewDeliveryAddressComponent.propDecorators = {
3876
- label: [{ type: Input }],
3877
- address: [{ type: Input }],
3878
- editRequest: [{ type: Output }]
3879
- };
3880
-
3881
- // Direction type for regular straight directions.
3882
- var Direction;
3883
- (function (Direction) {
3884
- Direction["Right"] = "right";
3885
- Direction["Left"] = "left";
3886
- Direction["Up"] = "top";
3887
- Direction["Down"] = "bottom";
3888
- })(Direction || (Direction = {}));
3889
-
3890
- class CheckOutRelationSuggestionsListComponent {
3891
- constructor() {
3892
- this.suggestions = [];
3893
- this.arrowDirection = Direction.Left;
3894
- // Emits the clicked relation list object.
3895
- this.suggestionButtonClick = new EventEmitter();
3896
- }
3897
- }
3898
- CheckOutRelationSuggestionsListComponent.decorators = [
3899
- { type: Component, args: [{
3900
- selector: "checkout-relation-suggestions-list",
3901
- template: `
3902
- <div class="flex-column items-wrapper">
3903
- <checkout-relation-suggestions-list-item *ngFor="let suggestion of suggestions" [suggestion]="suggestion"
3904
- [arrowDirection]="arrowDirection"
3905
- (buttonClick)="suggestionButtonClick.emit(suggestion)"></checkout-relation-suggestions-list-item>
3906
- <span *ngIf="suggestions?.length === 0" class="no-results" localize="NO_RESULTS_FOUND"></span>
3907
- </div>
3908
- `,
3909
- host: {
3910
- "class": "narrow-scrollbar"
3911
- },
3912
- styles: [""]
3913
- },] }
3914
- ];
3915
- CheckOutRelationSuggestionsListComponent.propDecorators = {
3916
- suggestions: [{ type: Input }],
3917
- arrowDirection: [{ type: Input }],
3918
- suggestionButtonClick: [{ type: Output }]
3919
- };
3920
-
3921
- class CheckOutRelationSuggestionsListItemComponent {
3922
- constructor() {
3923
- this.buttonClick = new EventEmitter();
3924
- // public icon: Icon;
3925
- this._arrowDirection = Direction.Left;
3926
- }
3927
- set arrowDirection(arrowDirection) {
3928
- this._arrowDirection = arrowDirection;
3929
- this._updateIcon();
3930
- }
3931
- ngOnInit() {
3932
- this._updateIcon();
3933
- }
3934
- _updateIcon() {
3935
- // if (this._arrowDirection === Direction.Left) {
3936
- // this.icon = Icon.ArrowFatLeft;
3937
- // } else {
3938
- // this.icon = Icon.ArrowFatRight;
3939
- // }
3940
- }
3941
- }
3942
- CheckOutRelationSuggestionsListItemComponent.decorators = [
3943
- { type: Component, args: [{
3944
- selector: "checkout-relation-suggestions-list-item",
3945
- template: `
3946
- <!-- <div class="left" fxLayout fxLayoutAlign="start center">-->
3947
- <!-- <avatar [relation]="suggestion" class="smaller"></avatar>-->
3948
- <!-- </div>-->
3949
- <div class="right">
3950
- <div class="name medium-big-font" *ngIf="suggestion.displayName as displayName" [textContent]="displayName"></div>
3951
- <div class="email" *ngIf="suggestion.email">
3952
- {{ suggestion.email }}
3953
- </div>
3954
- <div class="address" *ngIf="suggestion.displayAddress as address" [textContent]="address"></div>
3955
- <div class="phone" *ngIf="suggestion.tel1">
3956
- {{ suggestion?.tel1 }}
3957
- </div>
3958
- </div>
3959
- <co-button [label]="'SELECT' | localize" class="popup rounded" (click)="buttonClick.emit($event)"></co-button>
3960
- `,
3961
- 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"]
3962
- },] }
3963
- ];
3964
- CheckOutRelationSuggestionsListItemComponent.ctorParameters = () => [];
3965
- CheckOutRelationSuggestionsListItemComponent.propDecorators = {
3966
- suggestion: [{ type: Input }],
3967
- arrowDirection: [{ type: Input }],
3968
- buttonClick: [{ type: Output }]
3969
- };
3970
-
3971
- // A pipe for appending strings to other strings in view templates.
3972
- class AppendPipe {
3973
- transform(value, append) {
3974
- if (!value) {
3975
- return "";
3976
- }
3977
- if (!append) {
3978
- return value;
3979
- }
3980
- return value + append;
3981
- }
3982
- }
3983
- AppendPipe.decorators = [
3984
- { type: Pipe, args: [{ name: "append" },] }
3985
- ];
4111
+ AppendPipe.decorators = [
4112
+ { type: Pipe, args: [{ name: "append" },] }
4113
+ ];
3986
4114
 
3987
4115
  // Time size types, as in 'days' or 'weeks' or 'months'.
3988
4116
  var TimeSizeType;
@@ -4314,6 +4442,7 @@ IoneCheckoutModule.decorators = [
4314
4442
  CoGridModule,
4315
4443
  CoreModule,
4316
4444
  CommonModule,
4445
+ NoopAnimationsModule,
4317
4446
  ],
4318
4447
  declarations: [
4319
4448
  CheckoutComponent,
@@ -4322,7 +4451,7 @@ IoneCheckoutModule.decorators = [
4322
4451
  CheckoutOverviewRelationEditComponent,
4323
4452
  CheckoutOverviewRelationAddressComponent,
4324
4453
  CheckoutOverviewDeliveryEditComponent,
4325
- RetailTransactionCheckoutComponent,
4454
+ CheckoutTransactionComponent,
4326
4455
  CheckoutOverviewDeliveryAddressComponent,
4327
4456
  CheckOutRelationSuggestionsListComponent,
4328
4457
  CheckOutRelationSuggestionsListItemComponent,
@@ -4435,7 +4564,7 @@ class ShoppingCartManagerComponent {
4435
4564
  }
4436
4565
  addTextLineToCartAt(text, lineNr, beforeOrAfter) {
4437
4566
  return __awaiter(this, void 0, void 0, function* () {
4438
- yield this.service.addTextLineToTransaction(0, text, 0, false, 0, beforeOrAfter === PositionGridRow.Before ? lineNr : undefined, beforeOrAfter === PositionGridRow.After ? lineNr : undefined)
4567
+ yield this.service.addTextLine(0, text, 0, false, 0, beforeOrAfter === PositionGridRow.Before ? lineNr : undefined, beforeOrAfter === PositionGridRow.After ? lineNr : undefined)
4439
4568
  .then((value) => {
4440
4569
  this._handleLineOperationStatus();
4441
4570
  }, (error) => this.promptService.showError(error));
@@ -5066,7 +5195,7 @@ ShoppingCartComponent.decorators = [
5066
5195
  </co-form>
5067
5196
  </co-dialog>
5068
5197
  `,
5069
- 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}.shopping-cart-totals{padding-bottom:20px}.shopping-cart-totals{padding-top:20px}.cart-header{margin-top:20px}.cart-header{margin-bottom:20px}.cart-header .view-mode-buttons{margin-left:11px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{background-color:#fff;opacity:1;display:flex;flex-direction:column;height:100%;color:#22313c}.cart-header{display:flex;justify-content:space-between}.cart-header .cart-header-label{font-weight:bold}.cart-header .view-mode-buttons{display:flex;flex-direction:row}.cart-header .view-mode-buttons co-button{padding:0}.cart-header .view-mode-buttons co-button ::ng-deep co-button{border-radius:0}.cart-header .view-mode-buttons co-button:first-child ::ng-deep co-button{border-radius:3px}.cart-header .view-mode-buttons co-button:nth-child(2) ::ng-deep co-button{border-top-left-radius:3px;border-bottom-left-radius:3px}.cart-header .view-mode-buttons co-button:last-child ::ng-deep co-button{border-top-right-radius:3px;border-bottom-right-radius:3px}.cart-lines{display:flex;height:100%;overflow:auto}.shopping-cart-totals{align-items:flex-end}.shopping-cart-totals>div{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.shopping-cart-totals>div span:last-of-type{min-width:6em;text-align:right}.shopping-cart-totals div:last-of-type{font-weight:bold}\n", ":host .shopping-cart-viewport{max-width:60%;margin-left:20%}:host .shopping-cart-row-end{display:flex;flex-direction:row;grid-column-gap:10px;-moz-column-gap:10px;column-gap:10px;justify-content:flex-end}\n"]
5198
+ 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}.shopping-cart-totals{padding-bottom:20px}.shopping-cart-totals{padding-top:20px}.cart-header{margin-top:20px}.cart-header{margin-bottom:20px}.cart-header .view-mode-buttons{margin-left:11px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{background-color:#fff;opacity:1;display:flex;flex-direction:column;height:100%;color:#22313c}:host .shopping-cart-viewport{max-width:60%;margin-left:20%}:host .shopping-cart-row-end{display:flex;flex-direction:row;grid-column-gap:10px;-moz-column-gap:10px;column-gap:10px;justify-content:flex-end}.cart-header{display:flex;justify-content:space-between}.cart-header .cart-header-label{font-weight:bold}.cart-header .view-mode-buttons{display:flex;flex-direction:row}.cart-header .view-mode-buttons co-button{padding:0}.cart-header .view-mode-buttons co-button ::ng-deep co-button{border-radius:0}.cart-header .view-mode-buttons co-button:first-child ::ng-deep co-button{border-radius:3px}.cart-header .view-mode-buttons co-button:nth-child(2) ::ng-deep co-button{border-top-left-radius:3px;border-bottom-left-radius:3px}.cart-header .view-mode-buttons co-button:last-child ::ng-deep co-button{border-top-right-radius:3px;border-bottom-right-radius:3px}.cart-lines{display:flex;height:100%;overflow:auto}.shopping-cart-totals{align-items:flex-end}.shopping-cart-totals>div{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.shopping-cart-totals>div span:last-of-type{min-width:6em;text-align:right}.shopping-cart-totals div:last-of-type{font-weight:bold}\n"]
5070
5199
  },] }
5071
5200
  ];
5072
5201
  ShoppingCartComponent.ctorParameters = () => [
@@ -5408,7 +5537,7 @@ ShoppingCartLineComponent.decorators = [
5408
5537
  [textContent]="line.text">
5409
5538
  </div>
5410
5539
  `,
5411
- 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}.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"]
5540
+ 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}.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:15em}.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"]
5412
5541
  },] }
5413
5542
  ];
5414
5543
  ShoppingCartLineComponent.ctorParameters = () => [
@@ -5482,6 +5611,7 @@ class CharacteristicAnswerComponent {
5482
5611
  }
5483
5612
  CharacteristicAnswerComponent.decorators = [
5484
5613
  { type: Component, args: [{
5614
+ // eslint-disable-next-line @angular-eslint/component-selector
5485
5615
  selector: "characteristic-answer",
5486
5616
  template: `
5487
5617
  <co-dialog
@@ -5587,7 +5717,7 @@ IoneShoppingCartModule.decorators = [
5587
5717
  entryComponents: [
5588
5718
  IoneShoppingCartComponent
5589
5719
  ],
5590
- exports: [IoneShoppingCartComponent, StockStatusIndicatorComponent],
5720
+ exports: [IoneShoppingCartComponent, StockStatusIndicatorComponent, CharacteristicAnswerComponent],
5591
5721
  bootstrap: [IoneShoppingCartComponent]
5592
5722
  },] }
5593
5723
  ];
@@ -5689,30 +5819,53 @@ class TransactionBaseComponent {
5689
5819
  this.customer = NULL_CUSTOMER_FULL_OBJECT;
5690
5820
  this._isService = false;
5691
5821
  this.basedOnProduct = false;
5822
+ this._lineOperationStatuses = [];
5823
+ this._transactionLines = [];
5692
5824
  }
5693
5825
  set transaction(value) {
5694
5826
  this._transaction = value;
5695
- if (this._transaction && this._transaction.transactionInfo) {
5696
- this._isService = this._transaction.transactionInfo.transactionKind === TransactionKind.ServiceOrder;
5827
+ if (this._transaction) {
5828
+ if (this._transaction.transactionInfo) {
5829
+ this._transactionInfo = this._transaction.transactionInfo;
5830
+ this._isService = this._transaction.transactionInfo.transactionKind === TransactionKind.ServiceOrder;
5831
+ }
5832
+ if (this._transaction.transactionLines) {
5833
+ this.transactionLines = this._transaction.transactionLines;
5834
+ }
5835
+ if (this._transaction.transactionTotal) {
5836
+ this._transactionTotal = this._transaction.transactionTotal;
5837
+ }
5838
+ if (this._transaction.lineOperationStatuses) {
5839
+ this.lineOperationStatuses = this._transaction.lineOperationStatuses;
5840
+ }
5697
5841
  }
5698
5842
  }
5699
5843
  get transaction() {
5700
5844
  return this._transaction;
5701
5845
  }
5846
+ set transactionInfo(value) {
5847
+ this._transactionInfo = value;
5848
+ }
5702
5849
  get transactionInfo() {
5703
- if (this._transaction) {
5704
- return this._transaction.transactionInfo;
5705
- }
5850
+ return this._transactionInfo;
5851
+ }
5852
+ set transactionLines(value) {
5853
+ this._transactionLines = value;
5706
5854
  }
5707
5855
  get transactionLines() {
5708
- if (this._transaction) {
5709
- return this._transaction.transactionLines;
5710
- }
5856
+ return this._transactionLines;
5857
+ }
5858
+ set transactionTotal(value) {
5859
+ this._transactionTotal = value;
5711
5860
  }
5712
5861
  get transactionTotal() {
5713
- if (this._transaction) {
5714
- return this._transaction.transactionTotal;
5715
- }
5862
+ return this._transactionTotal;
5863
+ }
5864
+ get lineOperationStatuses() {
5865
+ return this._lineOperationStatuses;
5866
+ }
5867
+ set lineOperationStatuses(value) {
5868
+ this._lineOperationStatuses = value;
5716
5869
  }
5717
5870
  get isService() {
5718
5871
  return this._isService;
@@ -5798,59 +5951,67 @@ TransactionBaseComponent.propDecorators = {
5798
5951
  customer: [{ type: Input }]
5799
5952
  };
5800
5953
 
5954
+ class TransactionAddTextLineRequest {
5955
+ constructor() {
5956
+ this.showOnDocuments = false;
5957
+ this.text = "";
5958
+ this.articleBound = false;
5959
+ this.refArticleLineNr = 0;
5960
+ this.aboveLineNr = 0;
5961
+ this.belowLineNr = 0;
5962
+ }
5963
+ }
5964
+
5801
5965
  class TransactionArticleTextComponent extends TransactionBaseComponent {
5802
5966
  constructor(service) {
5803
5967
  super(service);
5804
5968
  this.service = service;
5969
+ this.addTextLine = new EventEmitter();
5970
+ this.transactionAddTextLineRequest = new TransactionAddTextLineRequest();
5971
+ this.textTitle = "";
5805
5972
  this.visible = false;
5806
- this.floatButtonSelected = false;
5807
- this.overviewSelected = false;
5808
- this.editArtikelText = false;
5809
- this.collection = [
5810
- { id: 1, name: "Standaardtekst 1" },
5811
- { id: 2, name: "Standaardtekst 1" },
5812
- { id: 3, name: "Standaardtekst 1" },
5813
- { id: 4, name: "Standaardtekst 1" },
5814
- { id: 5, name: "Standaardtekst 1" }
5815
- ];
5816
- this.articleTexts = [
5817
- { title: "title 1", description: "Omschrijving 1" },
5818
- { title: "title 2", description: "Omschrijving 2" },
5819
- { title: "title 3", description: "Omschrijving 3" },
5820
- { title: "title 4", description: "Omschrijving 4" },
5821
- { title: "title 5", description: "Omschrijving 5" },
5822
- ];
5823
- this.fields = { text: "name", value: "id" };
5973
+ this.collection = [];
5974
+ this.fields = { text: "description", value: "textId" };
5975
+ this.transactionAddTextLineRequest.text = "";
5976
+ }
5977
+ ngOnInit() {
5978
+ return __awaiter(this, void 0, void 0, function* () {
5979
+ this.collection = yield this.service.getStandardTexts("NL");
5980
+ });
5824
5981
  }
5825
5982
  onOkClick() {
5983
+ if (this.selectedLine) {
5984
+ this.transactionAddTextLineRequest.refArticleLineNr = this.selectedLine.lineNr;
5985
+ }
5986
+ this.addTextLine.emit(this.transactionAddTextLineRequest);
5826
5987
  this.hide();
5827
5988
  }
5828
- onPopupClose() {
5989
+ onCancelClick() {
5829
5990
  this.hide();
5830
- this.hideOverview();
5831
- this.hideEditArtikelText();
5832
- }
5833
- hide() {
5834
- // TODO: throw hide event
5835
- this.visible = false;
5836
5991
  }
5837
- onOverview() {
5838
- this.overviewSelected = true;
5992
+ onOverviewClick() {
5993
+ this.articleTextOverview.open();
5839
5994
  }
5840
- onOkOverviewClick() {
5841
- this.hideOverview();
5995
+ open() {
5996
+ if (this.articleTextDialog) {
5997
+ this.articleTextDialog.open();
5998
+ }
5842
5999
  }
5843
- hideOverview() {
5844
- this.overviewSelected = false;
6000
+ onPopupClose() {
6001
+ this.hide();
5845
6002
  }
5846
- onDetailLinkClick(bo) {
5847
- this.editArtikelText = true;
6003
+ hide() {
6004
+ if (this.articleTextDialog) {
6005
+ this.articleTextDialog.close();
6006
+ }
5848
6007
  }
5849
- hideEditArtikelText() {
5850
- this.editArtikelText = false;
6008
+ onChangeText(event) {
6009
+ if (this.editor) {
6010
+ this.transactionAddTextLineRequest.text = this.editor.getText();
6011
+ }
5851
6012
  }
5852
- onOkEditArtikelTextClick() {
5853
- this.editArtikelText = false;
6013
+ onSelectStandardText(value) {
6014
+ this.transactionAddTextLineRequest.text = (this.collection.find(x => x.textId === value)).text;
5854
6015
  }
5855
6016
  }
5856
6017
  TransactionArticleTextComponent.decorators = [
@@ -5858,142 +6019,403 @@ TransactionArticleTextComponent.decorators = [
5858
6019
  // eslint-disable-next-line @angular-eslint/component-selector
5859
6020
  selector: "transaction-article-text",
5860
6021
  template: `
5861
- <co-dialog [visible]="visible" (close)="onPopupClose()">
5862
- <ng-container header>{{ subHeader }}</ng-container>
5863
- <ng-container content>
5864
- <div class="tags-join-content" fxLayout fxLayoutGap="10px">
5865
- <div class="column-separator">
5866
- <co-input-text placeholder="Titel"></co-input-text>
5867
- <!--transactiontransaction-->
5868
- <!-- label="Artikeltekst"-->
5869
- <!-- ></co-text-editor>-->
5870
- </div>
5871
- <div style="margin-left:5px;">
5872
- <div style="margin-top:16px;">
5873
- <ejs-dropdownlist
5874
- [dataSource]="collection"
5875
- [fields]="fields"
5876
- placeholder="Standaardteksten"
5877
- ></ejs-dropdownlist>
5878
- </div>
5879
- <div style="margin-top:20px;">
5880
- <co-input-checkbox
5881
- label="Artikelgebonden tekst"
5882
- name="articleBoundText">
5883
- </co-input-checkbox>
5884
- </div>
5885
- <div style="margin-top:20px;">
5886
- <label>Bestemd voor documenten</label>
5887
- <ejs-chiplist id="chip-default">
5888
- <e-chips>
5889
- <e-chip text="Apple" cssClass="e-primary"></e-chip>
5890
- <e-chip text="Microsoft" cssClass="e-info"></e-chip>
5891
- <e-chip text="Google" cssClass="e-success"></e-chip>
5892
- <e-chip text="Tesla" cssClass="e-warning"></e-chip>
5893
- <e-chip text="Intel" cssClass="e-danger"></e-chip>
5894
- </e-chips>
5895
- </ejs-chiplist>
5896
- </div>
5897
- </div>
5898
- </div>
5899
- </ng-container>
5900
- <ng-container footer>
5901
- <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
5902
- <co-button label="OK" (click)="onOkClick()"></co-button>
5903
- <co-button label="CANCEL" (click)="hide()"></co-button>
5904
- <co-button label="OVERVIEW" (click)="onOverview()"></co-button>
5905
- </div>
5906
- </ng-container>
5907
- </co-dialog>
5908
-
5909
- <co-dialog [visible]="overviewSelected" (close)="hideOverview()">
5910
- <ng-container header>Artikelgebonden teksten {{ subHeader }}</ng-container>
5911
- <ng-container content>
5912
- <div class="tags-join-content" fxLayout fxLayoutGap="10px">
5913
- <div class="column-separator" style="width:75%">
5914
- <!-- <grid [data]="articleTexts" detailLink (detailLinkClick)="onDetailLinkClick($event)">-->
5915
- <!-- <grid-column key="title" header="TITLE" width="100px;"></grid-column>-->
5916
- <!-- <grid-column key="description" header="DESCRIPTION" width="200px"></grid-column>-->
5917
- <!-- </grid>-->
5918
- </div>
5919
- <div style="margin-left:5px;">
5920
- <div style="margin-top:20px;">
5921
-
5922
- <co-input-checkbox
5923
- label="Artikelgebonden tekst"
5924
- name="articleBoundText"
5925
- value="true"
5926
- ></co-input-checkbox>
5927
- </div>
5928
- <div style="margin-top:20px;">
5929
- <label>Bestemd voor documenten</label>
5930
- <ejs-chiplist id="chip-default">
5931
- <e-chips>
5932
- <e-chip text="Apple" cssClass="e-primary"></e-chip>
5933
- <e-chip text="Microsoft" cssClass="e-info"></e-chip>
5934
- <e-chip text="Google" cssClass="e-success"></e-chip>
5935
- <e-chip text="Tesla" cssClass="e-warning"></e-chip>
5936
- <e-chip text="Intel" cssClass="e-danger"></e-chip>
5937
- </e-chips>
5938
- </ejs-chiplist>
5939
- </div>
5940
- </div>
5941
- </div>
5942
- </ng-container>
5943
- <ng-container footer>
5944
- <div class="footer" fxLayout fxPosition="row" fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
5945
- <co-button label="OK" (click)="onOkOverviewClick()"></co-button>
5946
- <co-button label="CANCEL" (click)="hideOverview()"></co-button>
5947
- </div>
5948
- </ng-container>
5949
- </co-dialog>
6022
+ <co-dialog #articleTextDialog (close)="onPopupClose()">
6023
+ <ng-container header>{{ subHeader }}</ng-container>
6024
+ <ng-container content>
6025
+ <div class="tags-join-content" fxLayout fxLayoutGap="10px">
6026
+ <div>
6027
+ <co-rich-text-editor
6028
+ #rte
6029
+ id="rte"
6030
+ [model]="transactionAddTextLineRequest.text"
6031
+ (onChangeEvent)="onChangeText($event)"
6032
+ ></co-rich-text-editor>
6033
+ </div>
6034
+ <div style="margin-left:5px;">
6035
+ <div style="margin-top:16px;">
6036
+ <ejs-dropdownlist
6037
+ [dataSource]="collection"
6038
+ [fields]="fields"
6039
+ [placeholder]="'STANDARD_TEXTS' | localize"
6040
+ (valueChange)="onSelectStandardText($event)"
6041
+ ></ejs-dropdownlist>
6042
+ <!-- <co-drop-down-list [-->
6043
+ <!-- [collection]="collection"-->
6044
+ <!-- [fields]="fields"-->
6045
+ <!-- [placeHolder]="'STANDARD_TEXTS' | localize"-->
6046
+ <!-- (valueChange)="onSelectStandardText($event)"-->
6047
+ <!-- ></co-drop-down-list>-->
6048
+ </div>
6049
+ <div style="margin-top:20px;">
6050
+ <co-input-checkbox
6051
+ [(model)]="transactionAddTextLineRequest.articleBound"
6052
+ [label]="'ARTICLE_BOUND_TEXT' | localize"
6053
+ name="articleBoundText">
6054
+ </co-input-checkbox>
6055
+ </div>
6056
+ <div style="margin-top:20px;">
6057
+ <label [textContent]="'FOR_DOCUMENTS' | localize"></label>
6058
+ <ejs-chiplist id="chip-default">
6059
+ <e-chips>
6060
+ <e-chip text="Apple" cssClass="e-primary"></e-chip>
6061
+ <e-chip text="Microsoft" cssClass="e-info"></e-chip>
6062
+ <e-chip text="Google" cssClass="e-success"></e-chip>
6063
+ <e-chip text="Tesla" cssClass="e-warning"></e-chip>
6064
+ <e-chip text="Intel" cssClass="e-danger"></e-chip>
6065
+ </e-chips>
6066
+ </ejs-chiplist>
6067
+ </div>
6068
+ </div>
6069
+ </div>
6070
+ </ng-container>
6071
+ <ng-container footer>
6072
+ <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
6073
+ <co-button [label]="'OK' | localize" (click)="onOkClick()"></co-button>
6074
+ <co-button [label]="'CANCEL' | localize " (click)="onCancelClick()"></co-button>
6075
+ <co-button [label]="'OVERVIEW' | localize" (click)="onOverviewClick()"></co-button>
6076
+ </div>
6077
+ </ng-container>
6078
+ </co-dialog>
5950
6079
 
5951
- <co-dialog [visible]="editArtikelText" (close)="hideEditArtikelText()">
5952
- <ng-container header>{{ subHeader }}</ng-container>
5953
- <ng-container content>
5954
- <div class="tags-join-content" fxLayout fxLayoutGap="10px">
5955
- <div class="column-separator">
5956
- <co-input-text placeholder="Titel"></co-input-text>
5957
- <!-- <co-text-editor-->
5958
- <!-- label="Artikeltekst"-->
5959
- <!-- ></co-text-editor>-->
5960
- </div>
5961
- </div>
5962
- </ng-container>
5963
- <ng-container footer>
5964
- <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
5965
- <co-button label="OK" (click)="onOkEditArtikelTextClick()"></co-button>
5966
- <co-button label="CANCEL" (click)="hideEditArtikelText()"></co-button>
5967
- </div>
5968
- </ng-container>
5969
- </co-dialog>
5970
- `,
5971
- styles: [""]
6080
+ <transaction-article-text-overview
6081
+ #articleTextOverview>
6082
+ </transaction-article-text-overview>
6083
+ `,
6084
+ providers: [ToolbarService, LinkService, ImageService, HtmlEditorService],
6085
+ styles: [":host .e-toolbar-wrapper{height:50px}\n"]
6086
+ },] }
6087
+ ];
6088
+ TransactionArticleTextComponent.ctorParameters = () => [
6089
+ { type: TransactionService }
6090
+ ];
6091
+ TransactionArticleTextComponent.propDecorators = {
6092
+ articleTextDialog: [{ type: ViewChild, args: ["articleTextDialog",] }],
6093
+ articleTextOverview: [{ type: ViewChild, args: ["articleTextOverview",] }],
6094
+ editor: [{ type: ViewChild, args: ["rte",] }],
6095
+ subHeader: [{ type: Input }],
6096
+ addTextLine: [{ type: Output }]
6097
+ };
6098
+
6099
+ class TransactionManagerComponent extends TransactionBaseComponent {
6100
+ constructor(service, transactionEvents, promptService, _dictionaryService) {
6101
+ super(service);
6102
+ this.service = service;
6103
+ this.transactionEvents = transactionEvents;
6104
+ this.promptService = promptService;
6105
+ this._dictionaryService = _dictionaryService;
6106
+ this.linesChanged = new EventEmitter();
6107
+ this.articleAdded = new EventEmitter();
6108
+ this.columns = [];
6109
+ this._inOutCollection = [];
6110
+ this._showCharacteristic = false;
6111
+ this._subs = [];
6112
+ this._subs.push(this.service.transactionLoaded.subscribe((transactionInfoResponse) => {
6113
+ if (transactionInfoResponse.isSuccess) {
6114
+ this.transaction = transactionInfoResponse;
6115
+ }
6116
+ }));
6117
+ }
6118
+ get amountOfLines() {
6119
+ return NumberUtils.NrOrDefault(this.service.articleAmount, 0);
6120
+ }
6121
+ get showCharacteristicDialog() {
6122
+ return this._showCharacteristic;
6123
+ }
6124
+ set showCharacteristicDialog(value) {
6125
+ this._showCharacteristic = value;
6126
+ }
6127
+ ngOnDestroy() {
6128
+ this._subs.forEach(sub => sub.unsubscribe());
6129
+ }
6130
+ addArticleLine(transactionUuid, sku, amount, lineNr, beforeOrAfter) {
6131
+ return __awaiter(this, void 0, void 0, function* () {
6132
+ const goodId = yield this.service.getGoodIdFromArticleNr(sku);
6133
+ if (goodId) {
6134
+ yield this._loadArticle(goodId);
6135
+ yield this._handleAddArticleLineAt(amount, lineNr, beforeOrAfter);
6136
+ }
6137
+ else {
6138
+ this.promptService.showError(this._dictionaryService.get("ARTICLE_UNKNOWN"));
6139
+ }
6140
+ });
6141
+ }
6142
+ changeLineSequence(fromIndex, toIndex) {
6143
+ return __awaiter(this, void 0, void 0, function* () {
6144
+ let fromLine = this._getTransactionLineInfoByIndex(fromIndex);
6145
+ let toLine = this._getTransactionLineInfoByIndex(toIndex);
6146
+ let aboveLineNr;
6147
+ let belowLineNr;
6148
+ if (fromIndex > toIndex) {
6149
+ aboveLineNr = toLine.lineNr;
6150
+ }
6151
+ else {
6152
+ belowLineNr = toLine.lineNr;
6153
+ }
6154
+ yield this.service.changeLineSequence(fromLine.uuid, aboveLineNr, belowLineNr, false)
6155
+ .then((value) => {
6156
+ this.handleLineOperationStatus(value);
6157
+ }, (error) => this.promptService.showError(error));
6158
+ });
6159
+ }
6160
+ showStockManager(line) {
6161
+ return __awaiter(this, void 0, void 0, function* () {
6162
+ this.warehouse.selectedWarehouseNr = line.warehouseNumber;
6163
+ this.warehouse.amount = line.amount;
6164
+ this.warehouse.commissionCode = line.commissionCode;
6165
+ this.warehouse.message = this.currentOperationStatus.pendingReason;
6166
+ this.warehouse.show(line.articleNumber);
6167
+ });
6168
+ }
6169
+ warehouseOkClick() {
6170
+ return __awaiter(this, void 0, void 0, function* () {
6171
+ if (this.warehouse.commissionCode !== undefined) {
6172
+ this.currentReason.commissionCode = this.warehouse.commissionCode;
6173
+ }
6174
+ if (this.warehouse.amount !== undefined) {
6175
+ this.currentReason.quantity = this.warehouse.amount;
6176
+ }
6177
+ if (this.warehouse.selectedWarehouseNr !== undefined) {
6178
+ this.currentReason.warehouseNr = this.warehouse.selectedWarehouseNr;
6179
+ }
6180
+ if (this.currentReason) {
6181
+ yield this.service.resolvePendingLineReason(this.currentReason, false)
6182
+ .then((value) => {
6183
+ this.handleLineOperationStatus(value);
6184
+ });
6185
+ }
6186
+ });
6187
+ }
6188
+ warehouseCancelClick() {
6189
+ return __awaiter(this, void 0, void 0, function* () {
6190
+ if (this.currentReason) {
6191
+ yield this._cancelArticle(this.currentReason.lineUuid);
6192
+ }
6193
+ });
6194
+ }
6195
+ handleCharacteristicAnswerOkClick(answer) {
6196
+ return __awaiter(this, void 0, void 0, function* () {
6197
+ this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
6198
+ this.currentReason.textualUserInput = answer;
6199
+ yield this.service.resolvePendingLineReason(this.currentReason, false)
6200
+ .then((value) => {
6201
+ this.handleLineOperationStatus(value);
6202
+ });
6203
+ });
6204
+ }
6205
+ _handleAddArticle(amount = 1) {
6206
+ return __awaiter(this, void 0, void 0, function* () {
6207
+ yield this.service.addTransactionLine(TransactionLineType.ArticleLine, this.newArticleNr, amount, this.newArticle.standardWareHouse, this.newArticle.commissionCode, false, 0, 0, false)
6208
+ .then((value) => {
6209
+ this.handleLineOperationStatus(value);
6210
+ }, (error) => this.promptService.showError(error));
6211
+ });
6212
+ }
6213
+ _handleAddArticleLineAt(amount, lineNr, beforeOrAfter) {
6214
+ return __awaiter(this, void 0, void 0, function* () {
6215
+ yield this.service.addArticleToTransaction(this.transactionInfo.uuid, this.newArticleNr, amount, this.newArticle.standardWareHouse, this.newArticle.commissionCode, false, beforeOrAfter === PositionGridRow.Before ? lineNr : undefined, beforeOrAfter === PositionGridRow.After ? lineNr : undefined)
6216
+ .then((value) => {
6217
+ this.lineOperationStatuses = value.lineOperationStatuses;
6218
+ this.handleLineOperationStatus(value);
6219
+ }, (error) => this.promptService.showError(error));
6220
+ });
6221
+ }
6222
+ _getWareHouseNoFromArticle() {
6223
+ if (this.newArticle !== undefined && this.newArticle.stockLocations !== undefined && this.newArticle.stockLocations.length) {
6224
+ return this.newArticle.stockLocations[0].warehouseNr;
6225
+ }
6226
+ return 0;
6227
+ }
6228
+ isLineOperationStatus(lineOperationStatuses) {
6229
+ this.currentOperationStatus = this.service.pendingLineOperationStatus(lineOperationStatuses);
6230
+ if (this.currentOperationStatus !== undefined) {
6231
+ return true;
6232
+ }
6233
+ return false;
6234
+ }
6235
+ _confirmAction() {
6236
+ return __awaiter(this, void 0, void 0, function* () {
6237
+ this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
6238
+ const pendingReasonText = yield this._getPendingReasonText(this.currentOperationStatus.pendingReason);
6239
+ this.currentReason.confirmation = yield this.promptService.showYesNo(pendingReasonText, " ");
6240
+ yield this.service.resolvePendingLineReason(this.currentReason, false)
6241
+ .then((value) => {
6242
+ this.handleLineOperationStatus(value);
6243
+ });
6244
+ });
6245
+ }
6246
+ _showInformation() {
6247
+ return __awaiter(this, void 0, void 0, function* () {
6248
+ this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
6249
+ const pendingReasonText = yield this._getPendingReasonText(this.currentOperationStatus.pendingReason);
6250
+ yield this.promptService.showOkModal(pendingReasonText, " ");
6251
+ yield this.service.resolvePendingLineReason(this.currentReason, false)
6252
+ .then((value) => {
6253
+ this.handleLineOperationStatus(value);
6254
+ });
6255
+ });
6256
+ }
6257
+ _getPendingReasonText(pendingReason) {
6258
+ return __awaiter(this, void 0, void 0, function* () {
6259
+ if (pendingReason === "ARTICLE_IS_DISCONTINUED_DO_YOU_WANT_TO_CONTINUE_PLEASE_CONFIRM") {
6260
+ return this._dictionaryService.get("ARTICLE_IN_OUT_COLLECTION").replace("|~", yield this.getInOutCollectionOfArticle());
6261
+ }
6262
+ return this._dictionaryService.get(pendingReason);
6263
+ });
6264
+ }
6265
+ getInOutCollectionOfArticle() {
6266
+ return __awaiter(this, void 0, void 0, function* () {
6267
+ if (!this._inOutCollection.length) {
6268
+ this._inOutCollection = yield this.service.getInOutCollection("NL");
6269
+ }
6270
+ const domainValue = this._inOutCollection.find(element => element.code === this.newArticle.inOutCollection);
6271
+ if (domainValue) {
6272
+ return domainValue.description;
6273
+ }
6274
+ return "";
6275
+ });
6276
+ }
6277
+ handleLineOperationStatus(lineOperationResponse) {
6278
+ return __awaiter(this, void 0, void 0, function* () {
6279
+ if (this.isLineOperationStatus(lineOperationResponse.lineOperationStatuses)) {
6280
+ this.transaction = lineOperationResponse;
6281
+ this.articleAdded.emit(this.transaction);
6282
+ yield this._handlePendingLine(this.currentOperationStatus.uuid).then();
6283
+ }
6284
+ else {
6285
+ yield this._saveTransaction();
6286
+ }
6287
+ });
6288
+ }
6289
+ _handlePendingLine(lineUuid) {
6290
+ return __awaiter(this, void 0, void 0, function* () {
6291
+ this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
6292
+ this.currentPendingLine = this.transactionLines.find(l => l.uuid === lineUuid);
6293
+ switch (this.currentOperationStatus.pendingReasonType) {
6294
+ case PendingReasonType.ABORTED:
6295
+ case PendingReasonType.CANCELLED:
6296
+ yield this._cancelArticle(this.currentPendingLine.uuid);
6297
+ break;
6298
+ case PendingReasonType.CONFIRMATION_NEEDED:
6299
+ yield this._confirmAction();
6300
+ break;
6301
+ case PendingReasonType.INVALID_LOGISTICS:
6302
+ yield this.showStockManager(this.currentPendingLine);
6303
+ break;
6304
+ case PendingReasonType.NON_CRITICAL_DISCONTINUATION:
6305
+ yield this._showInformation();
6306
+ break;
6307
+ case PendingReasonType.CHARACTERISTICS_ANSWER_NEEDED:
6308
+ this.CharacteristicsAnswerNeeded();
6309
+ break;
6310
+ case PendingReasonType.NONE:
6311
+ default:
6312
+ this.currentReason = undefined;
6313
+ this.currentPendingLine = undefined;
6314
+ break;
6315
+ }
6316
+ });
6317
+ }
6318
+ _saveTransaction() {
6319
+ return __awaiter(this, void 0, void 0, function* () {
6320
+ if (this.transactionInfo) {
6321
+ const success = yield this.service.saveTransactionByUuid(this.transactionInfo.uuid);
6322
+ if (!success) {
6323
+ this.promptService.showError("Transaction could not be saved!");
6324
+ }
6325
+ }
6326
+ });
6327
+ }
6328
+ _loadArticle(goodId) {
6329
+ return __awaiter(this, void 0, void 0, function* () {
6330
+ this.newArticle = yield this.service.getArticleFullObject(goodId);
6331
+ this.newArticleNr = this.newArticle.articleNr;
6332
+ });
6333
+ }
6334
+ addEmailAddressToTransaction(emailAddress) {
6335
+ this.service.emailAddress = emailAddress;
6336
+ }
6337
+ CharacteristicsAnswerNeeded() {
6338
+ this.characteristicAnswer.question = this.currentOperationStatus.characteristic.question;
6339
+ this.characteristicAnswer.title = this.newArticle.description;
6340
+ this.characteristicAnswer.value = this.currentOperationStatus.characteristic.value;
6341
+ this.characteristicAnswer.characteristics = this.currentOperationStatus.characteristic.transactionLineCharacteristicChoices;
6342
+ setTimeout(() => {
6343
+ this.characteristicAnswer.open();
6344
+ // eslint-disable-next-line no-magic-numbers
6345
+ }, 1000);
6346
+ }
6347
+ _getTransactionLineInfoByIndex(index) {
6348
+ if (index >= 0 && index < this.transactionLines.length) {
6349
+ return this.service.currentLines[index];
6350
+ }
6351
+ }
6352
+ _cancelArticle(uuid) {
6353
+ return __awaiter(this, void 0, void 0, function* () {
6354
+ yield this.service.cancelAddTransactionLine(uuid, false)
6355
+ .then((response) => {
6356
+ this.transaction = response;
6357
+ this.articleAdded.emit(response);
6358
+ });
6359
+ });
6360
+ }
6361
+ addTextLineToTransaction(transactionUuid, text, lineNr, beforeOrAfter) {
6362
+ return __awaiter(this, void 0, void 0, function* () {
6363
+ yield this.service.addTextLineToTransaction(transactionUuid, 0, text, 0, false, lineNr, beforeOrAfter === PositionGridRow.Before ? lineNr : undefined, beforeOrAfter === PositionGridRow.After ? lineNr : undefined)
6364
+ .then((response) => {
6365
+ this.transaction = response;
6366
+ this.articleAdded.emit(response);
6367
+ }, (error) => this.promptService.showError(error));
6368
+ });
6369
+ }
6370
+ }
6371
+ TransactionManagerComponent.decorators = [
6372
+ { type: Component, args: [{
6373
+ // eslint-disable-next-line @angular-eslint/component-selector
6374
+ selector: "transaction-manager",
6375
+ template: `
6376
+ <warehouse #warehouse
6377
+ (okClick)="warehouseOkClick()"
6378
+ (cancelClick)="warehouseCancelClick()"
6379
+ ></warehouse>
6380
+ <characteristic-answer
6381
+ #characteristicAnswer
6382
+ (okClick)="handleCharacteristicAnswerOkClick($event)"
6383
+ ></characteristic-answer>
6384
+ `,
6385
+ 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"]
5972
6386
  },] }
5973
6387
  ];
5974
- TransactionArticleTextComponent.ctorParameters = () => [
5975
- { type: TransactionService }
6388
+ TransactionManagerComponent.ctorParameters = () => [
6389
+ { type: TransactionService },
6390
+ { type: TransactionEventService },
6391
+ { type: PromptService },
6392
+ { type: DictionaryService }
5976
6393
  ];
5977
- TransactionArticleTextComponent.propDecorators = {
5978
- subHeader: [{ type: Input }]
6394
+ TransactionManagerComponent.propDecorators = {
6395
+ warehouse: [{ type: ViewChild, args: ["warehouse",] }],
6396
+ characteristicAnswer: [{ type: ViewChild, args: ["characteristicAnswer",] }],
6397
+ linesChanged: [{ type: Output }],
6398
+ articleAdded: [{ type: Output }]
5979
6399
  };
5980
6400
 
5981
6401
  class ServiceOrderComponent extends TransactionBaseComponent {
5982
- constructor(service, transactionEvents, iconCacheService) {
6402
+ constructor(service, transactionEvents, iconCacheService, _promptService) {
5983
6403
  super(service);
5984
6404
  this.service = service;
5985
6405
  this.transactionEvents = transactionEvents;
5986
6406
  this.iconCacheService = iconCacheService;
6407
+ this._promptService = _promptService;
5987
6408
  this.iconThickLines = CoreComponentsIcon.ThickLines;
5988
6409
  this.iconThinLines = CoreComponentsIcon.ThinLines;
5989
6410
  this.iconOrder = CoreComponentsIcon.Order;
5990
6411
  this.viewModes = ContentViewMode;
5991
6412
  this.canPlanDelivery = false;
5992
6413
  this.showTotals = true;
6414
+ this.floatButtonRightPosition = ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITHOUT_SIDEBAR;
5993
6415
  this.contextMenuItems = [];
5994
6416
  this.isRouteOptimizationConfigured = false;
5995
6417
  this.activeViewMode = ContentViewMode.List;
5996
- this.floatButtonSelected = false;
6418
+ this.newArticleNr = "";
5997
6419
  this._subs = [];
5998
6420
  }
5999
6421
  get inListView() {
@@ -6002,6 +6424,12 @@ class ServiceOrderComponent extends TransactionBaseComponent {
6002
6424
  get inGridView() {
6003
6425
  return this.activeViewMode === ContentViewMode.Grid;
6004
6426
  }
6427
+ get subHeader() {
6428
+ if (this._selectedTransLine) {
6429
+ return this._selectedTransLine.goodDescription;
6430
+ }
6431
+ return "Geen artikel geselecteerd";
6432
+ }
6005
6433
  ngOnInit() {
6006
6434
  return __awaiter(this, void 0, void 0, function* () {
6007
6435
  this._subs.push(this.service.transactionLoaded.subscribe((transactionInfoResponse) => {
@@ -6022,6 +6450,13 @@ class ServiceOrderComponent extends TransactionBaseComponent {
6022
6450
  }));
6023
6451
  });
6024
6452
  }
6453
+ ngAfterViewInit() {
6454
+ this._subs.push(this._transactionManager.articleAdded.subscribe((transactionInfoResponse) => {
6455
+ this.transaction = transactionInfoResponse;
6456
+ }), this._transactionArticleText.addTextLine.subscribe((transactionAddTextLineRequest) => {
6457
+ this.addTextLine(transactionAddTextLineRequest);
6458
+ }));
6459
+ }
6025
6460
  ngOnDestroy() {
6026
6461
  this._subs.forEach(sub => sub.unsubscribe());
6027
6462
  }
@@ -6053,25 +6488,30 @@ class ServiceOrderComponent extends TransactionBaseComponent {
6053
6488
  this.floatButtonRightPosition = ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITHOUT_SIDEBAR;
6054
6489
  }
6055
6490
  }
6056
- onOkClick() {
6057
- this.hide();
6058
- }
6059
- hide() {
6060
- this.floatButtonSelected = false;
6061
- }
6062
6491
  floatButtonClick() {
6063
- this.floatButtonSelected = true;
6064
- this._transactionArticleTextComponent.visible = this.floatButtonSelected;
6065
- }
6066
- get subHeader() {
6067
- if (this._selectedTransLine && this._selectedTransLine !== undefined) {
6068
- return this._selectedTransLine.goodDescription;
6069
- }
6070
- return "";
6492
+ this._transactionArticleText.transactionAddTextLineRequest.transactionUuid = this.transactionInfo.uuid;
6493
+ this._transactionArticleText.transactionAddTextLineRequest.text = "";
6494
+ this._transactionArticleText.selectedLine = this._selectedTransLine;
6495
+ this._transactionArticleText.subHeader = this.subHeader;
6496
+ this._transactionArticleText.open();
6071
6497
  }
6072
6498
  hideOrderTotals(event) {
6073
6499
  this.showTotals = false;
6074
6500
  }
6501
+ addArticleLine(event) {
6502
+ return __awaiter(this, void 0, void 0, function* () {
6503
+ if (event.code === "Enter") {
6504
+ if (this.newArticleNr && this.newArticleNr !== "") {
6505
+ yield this._transactionManager.addArticleLine(this.transactionInfo.uuid, this.newArticleNr, 1, 0, PositionGridRow.After);
6506
+ }
6507
+ }
6508
+ });
6509
+ }
6510
+ addTextLine(transactionAddTextLineRequest) {
6511
+ return __awaiter(this, void 0, void 0, function* () {
6512
+ this._transactionManager.addTextLineToTransaction(transactionAddTextLineRequest.transactionUuid, transactionAddTextLineRequest.text, transactionAddTextLineRequest.refArticleLineNr, PositionGridRow.After);
6513
+ });
6514
+ }
6075
6515
  }
6076
6516
  ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITHOUT_SIDEBAR = 50;
6077
6517
  ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITH_SIDEBAR = 350;
@@ -6080,6 +6520,7 @@ ServiceOrderComponent.decorators = [
6080
6520
  // eslint-disable-next-line @angular-eslint/component-selector
6081
6521
  selector: "service-order",
6082
6522
  template: `
6523
+ <transaction-manager></transaction-manager>
6083
6524
  <div id="transaction-general-tab" style="height:100%;">
6084
6525
  <transaction-header-block
6085
6526
  [relationId]="relationId"
@@ -6088,6 +6529,14 @@ ServiceOrderComponent.decorators = [
6088
6529
  (planningRequestButtonClick)="handlePlanningRequest($event)"
6089
6530
  ></transaction-header-block>
6090
6531
  <div *ngIf="!isService">
6532
+ <div style="display: flex; flex-direction: row; place-content: center">
6533
+ <co-input-text style="width: 200px;"
6534
+ [(model)]="newArticleNr"
6535
+ [placeholder]="'WHERE_ARE_YOU_LOOKING_FOR' | localize"
6536
+ [showClearButton]="true"
6537
+ (keypress)="addArticleLine($event)"
6538
+ ></co-input-text>
6539
+ </div>
6091
6540
  <div class="transaction-view" fxLayout="row" fxLayoutGap="1px" fxLayoutAlign="flex-end">
6092
6541
  <div class="view-mode-buttons">
6093
6542
  <co-button [iconData]="iconCacheService.getIcon(iconThickLines)"
@@ -6129,10 +6578,12 @@ ServiceOrderComponent.decorators = [
6129
6578
  ServiceOrderComponent.ctorParameters = () => [
6130
6579
  { type: TransactionService },
6131
6580
  { type: TransactionEventService },
6132
- { type: IconCacheService }
6581
+ { type: IconCacheService },
6582
+ { type: PromptService }
6133
6583
  ];
6134
6584
  ServiceOrderComponent.propDecorators = {
6135
- _transactionArticleTextComponent: [{ type: ViewChild, args: [TransactionArticleTextComponent, { static: false },] }]
6585
+ _transactionArticleText: [{ type: ViewChild, args: [TransactionArticleTextComponent,] }],
6586
+ _transactionManager: [{ type: ViewChild, args: [TransactionManagerComponent,] }]
6136
6587
  };
6137
6588
 
6138
6589
  class TransactionOrderTotalsComponent extends TransactionBaseComponent {
@@ -6248,7 +6699,7 @@ class TransactionOrderLinesComponent extends TransactionBaseComponent {
6248
6699
  this.createServiceClick = new EventEmitter();
6249
6700
  this.nothingSelected = true;
6250
6701
  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") });
6702
+ this.columns.push({ field: "articleNumber", headerText: this._dictionaryService.get("ARTICLE_NR"), allowFiltering: false }, { field: "goodDescription", headerText: this._dictionaryService.get("DESCRIPTION") }, { field: "text", headerText: this._dictionaryService.get("TEXT") }, { 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
6703
  }
6253
6704
  get pagingEnabled() {
6254
6705
  if (this.transactionLines) {
@@ -7464,6 +7915,304 @@ DefaultOkCancelButtonsComponent.propDecorators = {
7464
7915
  okButtonComp: [{ type: ViewChild, args: ["okButton",] }]
7465
7916
  };
7466
7917
 
7918
+ class WarehouseComponent {
7919
+ constructor(service, _dictionaryService) {
7920
+ this.service = service;
7921
+ this._dictionaryService = _dictionaryService;
7922
+ this.message = "";
7923
+ this.okClick = new EventEmitter();
7924
+ this.cancelClick = new EventEmitter();
7925
+ this.commissionCodes = [];
7926
+ this.commissionFields = { text: "description", value: "code" };
7927
+ this.transactionArticleWarehouses = [];
7928
+ this.columns = [];
7929
+ this._okOrCancelClick = false;
7930
+ }
7931
+ ngOnInit() {
7932
+ return __awaiter(this, void 0, void 0, function* () {
7933
+ this.commissionCodes = yield this.service.getCommissionCodes("NL");
7934
+ this.columns.push({ field: "warehouseNr", headerText: this._dictionaryService.get("WAREHOUSE"), allowFiltering: false }, { field: "warehouseDesc", headerText: this._dictionaryService.get("DESCRIPTION") }, { field: "stockAmount", headerText: this._dictionaryService.get("STOCK") });
7935
+ });
7936
+ }
7937
+ ngOnDestroy() {
7938
+ this.warehouseDialog.close();
7939
+ }
7940
+ showStockManager(line) {
7941
+ return __awaiter(this, void 0, void 0, function* () {
7942
+ this.selectedWarehouseNr = line.warehouseNumber;
7943
+ this.amount = line.amount;
7944
+ this.commissionCode = line.commissionCode;
7945
+ this.show(line.articleNumber);
7946
+ });
7947
+ }
7948
+ hide() {
7949
+ return __awaiter(this, void 0, void 0, function* () {
7950
+ if (this._okOrCancelClick) {
7951
+ this._okOrCancelClick = false;
7952
+ return;
7953
+ }
7954
+ yield this.onStockManagerCancelClick();
7955
+ });
7956
+ }
7957
+ show(articleNr) {
7958
+ this._reloadDataCollections(articleNr).then();
7959
+ this.warehouseGrid.selectRow(this.selectedWarehouseNr);
7960
+ this.warehouseDialog.targetElement = null;
7961
+ this.warehouseDialog.open();
7962
+ }
7963
+ handleRowsSelected(rows) {
7964
+ this.selectedWarehouseNr = (rows.find(x => x !== undefined)).warehouseNr;
7965
+ }
7966
+ onStockManagerCancelClick() {
7967
+ return __awaiter(this, void 0, void 0, function* () {
7968
+ this._okOrCancelClick = true;
7969
+ this.warehouseDialog.close();
7970
+ this.cancelClick.emit();
7971
+ });
7972
+ }
7973
+ onStockManagerOkClick() {
7974
+ return __awaiter(this, void 0, void 0, function* () {
7975
+ this._okOrCancelClick = true;
7976
+ this.warehouseDialog.close();
7977
+ this.okClick.emit();
7978
+ });
7979
+ }
7980
+ _reloadDataCollections(articleNr) {
7981
+ return __awaiter(this, void 0, void 0, function* () {
7982
+ const goodId = yield this.service.getGoodIdFromArticleNr(articleNr);
7983
+ this.transactionArticleWarehouses = yield this.service.getTransactionArticleWarehouses(goodId);
7984
+ });
7985
+ }
7986
+ }
7987
+ WarehouseComponent.decorators = [
7988
+ { type: Component, args: [{
7989
+ // eslint-disable-next-line @angular-eslint/component-selector
7990
+ selector: "warehouse",
7991
+ template: `
7992
+ <co-dialog #warehouseDialog
7993
+ (closeClick)="hide()"
7994
+ (overlayClick)="onStockManagerCancelClick()"
7995
+ >
7996
+ <ng-container header>{{ 'STOCK_NOTIFICATION' | localize }}</ng-container>
7997
+
7998
+ <ng-container content>
7999
+ <co-form>
8000
+ <div class="form-content">
8001
+ <span *ngIf="message" class="message-field" [textContent]="message | localize"></span>
8002
+ <div class="commission-fields" fxLayout="row">
8003
+ <co-input-number-picker class="horizontal" [(model)]="amount" [min]="0" decimals="3"></co-input-number-picker>
8004
+ <co-input-combo-box [(model)]="commissionCode"
8005
+ [source]="commissionCodes"
8006
+ [fields]="commissionFields"
8007
+ [placeholder]="'COMMISSION_CODE' | localize"
8008
+ [required]="true"
8009
+ ></co-input-combo-box>
8010
+ </div>
8011
+ <div>
8012
+ <co-grid #warehouseGrid
8013
+ [data]="transactionArticleWarehouses"
8014
+ [columns]="columns"
8015
+ [pagingEnabled]="'true'"
8016
+ [maxNumberOfRows]="'10'"
8017
+ (rowsSelected)="handleRowsSelected($event)"
8018
+ ></co-grid>
8019
+ </div>
8020
+ </div>
8021
+ </co-form>
8022
+ </ng-container>
8023
+
8024
+ <ng-container footer>
8025
+ <div class="flex-center">
8026
+ <co-button [label]="'OK' | localize" (click)="onStockManagerOkClick()"></co-button>
8027
+ <co-button [label]="'CANCEL' | localize" (click)="onStockManagerCancelClick()"></co-button>
8028
+ </div>
8029
+ </ng-container>
8030
+ </co-dialog>
8031
+ `,
8032
+ 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"]
8033
+ },] }
8034
+ ];
8035
+ WarehouseComponent.ctorParameters = () => [
8036
+ { type: TransactionService },
8037
+ { type: DictionaryService }
8038
+ ];
8039
+ WarehouseComponent.propDecorators = {
8040
+ warehouseDialog: [{ type: ViewChild, args: ["warehouseDialog",] }],
8041
+ warehouseGrid: [{ type: ViewChild, args: ["warehouseGrid",] }],
8042
+ message: [{ type: Input }],
8043
+ okClick: [{ type: Output }],
8044
+ cancelClick: [{ type: Output }]
8045
+ };
8046
+
8047
+ class TransactionArticleTextOverviewComponent extends TransactionBaseComponent {
8048
+ constructor(service, _dictionaryService) {
8049
+ super(service);
8050
+ this.service = service;
8051
+ this._dictionaryService = _dictionaryService;
8052
+ this.articleTexts = [
8053
+ { title: "title 1", description: "Omschrijving 1" },
8054
+ { title: "title 2", description: "Omschrijving 2" },
8055
+ { title: "title 3", description: "Omschrijving 3" },
8056
+ { title: "title 4", description: "Omschrijving 4" },
8057
+ { title: "title 5", description: "Omschrijving 5" },
8058
+ ];
8059
+ this.columns = [];
8060
+ }
8061
+ ngOnInit() {
8062
+ return __awaiter(this, void 0, void 0, function* () {
8063
+ this.columns.push({ field: "title", headerText: this._dictionaryService.get("TITLE"), allowFiltering: false }, { field: "description", headerText: this._dictionaryService.get("DESCRIPTION") });
8064
+ });
8065
+ }
8066
+ open() {
8067
+ if (this.articleTextOverviewDialog) {
8068
+ this.articleTextOverviewDialog.open();
8069
+ }
8070
+ }
8071
+ onPopupClose() {
8072
+ this.hide();
8073
+ }
8074
+ hide() {
8075
+ if (this.articleTextOverviewDialog) {
8076
+ this.articleTextOverviewDialog.close();
8077
+ }
8078
+ }
8079
+ onOkClick() {
8080
+ this.hide();
8081
+ }
8082
+ onCancelClick() {
8083
+ this.hide();
8084
+ }
8085
+ handleRowsSelected(rows) {
8086
+ this.editArticleText.subHeader = this._dictionaryService.get("CHANGE_ARTICLE_TEXT");
8087
+ this.editArticleText.title = (rows.find(x => x !== undefined)).title;
8088
+ this.editArticleText.text = (rows.find(x => x !== undefined)).description;
8089
+ this.editArticleText.open();
8090
+ }
8091
+ }
8092
+ TransactionArticleTextOverviewComponent.decorators = [
8093
+ { type: Component, args: [{
8094
+ // eslint-disable-next-line @angular-eslint/component-selector
8095
+ selector: "transaction-article-text-overview",
8096
+ template: `
8097
+ <co-dialog #articleTextOverviewDialog (close)="hide()">
8098
+ <ng-container header>Artikelgebonden teksten {{ subHeader }}</ng-container>
8099
+ <ng-container content>
8100
+ <div class="tags-join-content" fxLayout fxLayoutGap="10px">
8101
+ <div class="column-separator" style="width:75%">
8102
+ <co-grid #warehouseGrid
8103
+ [data]="articleTexts"
8104
+ [columns]="columns"
8105
+ [pagingEnabled]="'true'"
8106
+ [maxNumberOfRows]="'10'"
8107
+ (rowsSelected)="handleRowsSelected($event)"
8108
+ ></co-grid>
8109
+ </div>
8110
+ <div style="margin-left:5px;">
8111
+ <label [textContent]="'FOR_DOCUMENTS' | localize"></label>
8112
+ <ejs-chiplist id="chip-default">
8113
+ <e-chips>
8114
+ <e-chip text="Apple" cssClass="e-primary"></e-chip>
8115
+ <e-chip text="Microsoft" cssClass="e-info"></e-chip>
8116
+ <e-chip text="Google" cssClass="e-success"></e-chip>
8117
+ <e-chip text="Tesla" cssClass="e-warning"></e-chip>
8118
+ <e-chip text="Intel" cssClass="e-danger"></e-chip>
8119
+ </e-chips>
8120
+ </ejs-chiplist>
8121
+ </div>
8122
+ </div>
8123
+ </ng-container>
8124
+ <ng-container footer>
8125
+ <div class="footer" fxLayout fxPosition="row" fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
8126
+ <co-button [label]="'OK' | localize" (click)="onOkClick()"></co-button>
8127
+ <co-button [label]="'CANCEL' | localize" (click)="onCancelClick()"></co-button>
8128
+ </div>
8129
+ </ng-container>
8130
+ </co-dialog>
8131
+
8132
+ <transaction-edit-article-text #editArticleText></transaction-edit-article-text>
8133
+ `,
8134
+ styles: [""]
8135
+ },] }
8136
+ ];
8137
+ TransactionArticleTextOverviewComponent.ctorParameters = () => [
8138
+ { type: TransactionService },
8139
+ { type: DictionaryService }
8140
+ ];
8141
+ TransactionArticleTextOverviewComponent.propDecorators = {
8142
+ articleTextOverviewDialog: [{ type: ViewChild, args: ["articleTextOverviewDialog",] }],
8143
+ editArticleText: [{ type: ViewChild, args: ["editArticleText",] }],
8144
+ subHeader: [{ type: Input }]
8145
+ };
8146
+
8147
+ class TransactionEditArticleTextComponent extends TransactionBaseComponent {
8148
+ constructor(service) {
8149
+ super(service);
8150
+ this.service = service;
8151
+ }
8152
+ open() {
8153
+ if (this.editArticleTextDialog) {
8154
+ this.editArticleTextDialog.open();
8155
+ }
8156
+ }
8157
+ onPopupClose() {
8158
+ this.hide();
8159
+ }
8160
+ hide() {
8161
+ if (this.editArticleTextDialog) {
8162
+ this.editArticleTextDialog.close();
8163
+ }
8164
+ }
8165
+ onOkClick() {
8166
+ this.hide();
8167
+ }
8168
+ onCancelClick() {
8169
+ this.hide();
8170
+ }
8171
+ onChangeText(event) {
8172
+ this.text = this.editor.getText();
8173
+ }
8174
+ }
8175
+ TransactionEditArticleTextComponent.decorators = [
8176
+ { type: Component, args: [{
8177
+ // eslint-disable-next-line @angular-eslint/component-selector
8178
+ selector: "transaction-edit-article-text",
8179
+ template: `
8180
+ <co-dialog #editArticleTextDialog (close)="hide()">
8181
+ <ng-container header>{{ subHeader }}</ng-container>
8182
+ <ng-container content>
8183
+ <div class="column-separator">
8184
+ <co-input-text [placeholder]="'TITLE' | localize" [(model)]="title"></co-input-text>
8185
+ <co-rich-text-editor
8186
+ #rte
8187
+ id="rte"
8188
+ [model]="text"
8189
+ (onChangeEvent)="onChangeText($event)"
8190
+ ></co-rich-text-editor>
8191
+ </div>
8192
+ </ng-container>
8193
+ <ng-container footer>
8194
+ <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
8195
+ <co-button [label]="'OK' | localize" (click)="onOkClick()"></co-button>
8196
+ <co-button [label]="'CANCEL' | localize" (click)="onCancelClick()"></co-button>
8197
+ </div>
8198
+ </ng-container>
8199
+ </co-dialog>
8200
+ `,
8201
+ providers: [ToolbarService, LinkService, ImageService, HtmlEditorService],
8202
+ styles: [""]
8203
+ },] }
8204
+ ];
8205
+ TransactionEditArticleTextComponent.ctorParameters = () => [
8206
+ { type: TransactionService }
8207
+ ];
8208
+ TransactionEditArticleTextComponent.propDecorators = {
8209
+ editArticleTextDialog: [{ type: ViewChild, args: ["editArticleTextDialog",] }],
8210
+ editor: [{ type: ViewChild, args: ["rte",] }],
8211
+ subHeader: [{ type: Input }],
8212
+ title: [{ type: Input }],
8213
+ text: [{ type: Input }]
8214
+ };
8215
+
7467
8216
  class IoneServiceOrderModule {
7468
8217
  }
7469
8218
  IoneServiceOrderModule.decorators = [
@@ -7486,14 +8235,16 @@ IoneServiceOrderModule.decorators = [
7486
8235
  PopupModule.forRoot(),
7487
8236
  CoSidebarModule,
7488
8237
  CoGridModule,
7489
- CoreModule,
7490
8238
  ChipListModule,
7491
8239
  DropDownButtonModule,
7492
8240
  CheckBoxModule,
7493
8241
  DropDownListModule,
7494
8242
  IoneShoppingCartModule,
7495
8243
  TabModule,
8244
+ CoreModule,
7496
8245
  CommonModule,
8246
+ RichTextEditorModule,
8247
+ CoRichTextEditorModule,
7497
8248
  ],
7498
8249
  declarations: [
7499
8250
  TemplateWrapperDirective,
@@ -7505,6 +8256,8 @@ IoneServiceOrderModule.decorators = [
7505
8256
  TransactionOrderLinesComponent,
7506
8257
  TransactionRelationAddressComponent,
7507
8258
  TransactionArticleTextComponent,
8259
+ TransactionArticleTextOverviewComponent,
8260
+ TransactionEditArticleTextComponent,
7508
8261
  TransactionSidebarRightComponent,
7509
8262
  TransactionLineAccordionComponent,
7510
8263
  TransactionHeaderBlockComponent,
@@ -7518,11 +8271,13 @@ IoneServiceOrderModule.decorators = [
7518
8271
  TransactionDeliverySummaryComponent,
7519
8272
  TransactionProductContractSummaryComponent,
7520
8273
  TransactionProductSummaryComponent,
8274
+ TransactionManagerComponent,
8275
+ WarehouseComponent,
7521
8276
  ],
7522
8277
  providers: [
7523
8278
  DictionaryService,
7524
8279
  TransactionService,
7525
- OptionsService
8280
+ OptionsService,
7526
8281
  ],
7527
8282
  entryComponents: [
7528
8283
  IoneServiceOrderComponent
@@ -7538,5 +8293,5 @@ IoneServiceOrderModule.decorators = [
7538
8293
  * Generated bundle index. Do not edit.
7539
8294
  */
7540
8295
 
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 };
8296
+ export { IoneCheckoutComponent, IoneCheckoutModule, IoneServiceOrderComponent, IoneServiceOrderModule, IoneShoppingCartComponent, IoneShoppingCartModule, CheckoutLoginComponent as ɵa, OptionsService 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, TransactionManagerComponent as ɵbk, TransactionOrderTotalsComponent as ɵbl, TransactionOrderLineViewComponent as ɵbm, TransactionOrderLinesComponent as ɵbn, TransactionRelationAddressComponent as ɵbo, TransactionArticleTextOverviewComponent as ɵbp, TransactionEditArticleTextComponent as ɵbq, TransactionSidebarRightComponent as ɵbr, TransactionLineAccordionComponent as ɵbs, TransactionHeaderBlockComponent as ɵbt, TransactionRelationEditComponent as ɵbu, TransactionServiceSummaryComponent as ɵbv, TransactionSummaryBlockComponent as ɵbw, TransactionServiceStatusComponent as ɵbx, TransactionOrderSummaryComponent as ɵby, TransactionPaymentInfoComponent as ɵbz, IOneConnectorAdapterService as ɵc, TransactionArticleSummaryComponent as ɵca, TransactionDeliverySummaryComponent as ɵcb, TransactionProductContractSummaryComponent as ɵcc, TransactionProductSummaryComponent as ɵcd, WarehouseComponent as ɵce, DictionaryService as ɵd, TransactionService as ɵe, TransactionEventService as ɵf, CoreModule as ɵg, AppendPipe as ɵh, DeliveryTimePipe as ɵi, DateDurationPipe as ɵj, LocalizePipe as ɵk, CoCurrencyPipe as ɵl, SafeStylePipe as ɵm, ImageDisplayComponent as ɵn, NoImageDisplayComponent as ɵo, IconComponent as ɵp, CheckoutComponent as ɵq, CheckoutOverviewComponent as ɵr, CheckoutOverviewBlockComponent as ɵs, CheckoutOverviewRelationEditComponent as ɵt, CheckoutOverviewDeliveryEditComponent as ɵu, CheckoutOverviewRelationAddressComponent as ɵv, CheckoutTransactionComponent as ɵw, CheckoutOverviewDeliveryAddressComponent as ɵx, CheckOutRelationSuggestionsListComponent as ɵy, CheckOutRelationSuggestionsListItemComponent as ɵz };
7542
8297
  //# sourceMappingURL=colijnit-transaction.js.map