@colijnit/transaction 12.1.1 → 12.1.5

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 (54) hide show
  1. package/app/component/core/base/transaction-base.component.d.ts +10 -0
  2. package/app/component/{shopping-cart → core}/characteristic-answer/characteristic-answer.component.d.ts +0 -0
  3. package/app/component/service-order/ione-service-order.component.d.ts +3 -3
  4. package/app/component/service-order/service-order.component.d.ts +13 -9
  5. package/app/component/service-order/transaction-article-text/transaction-article-text.component.d.ts +22 -13
  6. package/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +23 -0
  7. package/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.d.ts +19 -0
  8. package/app/component/service-order/transaction-manager/transaction-manager.component.d.ts +64 -0
  9. package/app/component/service-order/transaction-order-totals/transaction-order-totals.component.d.ts +2 -3
  10. package/app/component/service-order/warehouse/warehouse.component.d.ts +35 -0
  11. package/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.d.ts +1 -1
  12. package/app/model/standard-text.d.ts +5 -0
  13. package/app/model/transaction-add-text-line-request.d.ts +9 -0
  14. package/app/service/dictionary.service.d.ts +1 -0
  15. package/app/service/ione-connector-adapter.service.d.ts +3 -0
  16. package/app/service/transaction.service.d.ts +18 -8
  17. package/bundles/colijnit-transaction.umd.js +1208 -197
  18. package/bundles/colijnit-transaction.umd.js.map +1 -1
  19. package/colijnit-transaction.d.ts +22 -18
  20. package/colijnit-transaction.metadata.json +1 -1
  21. package/esm2015/app/component/checkout/checkout-overview/checkout-overview.component.js +2 -2
  22. package/esm2015/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +2 -2
  23. package/esm2015/app/component/checkout/ione-checkout.module.js +5 -3
  24. package/esm2015/app/component/core/base/transaction-base.component.js +35 -10
  25. package/esm2015/app/component/core/characteristic-answer/characteristic-answer.component.js +100 -0
  26. package/esm2015/app/component/service-order/ione-service-order-module.js +17 -6
  27. package/esm2015/app/component/service-order/ione-service-order.component.js +12 -14
  28. package/esm2015/app/component/service-order/service-order.component.js +53 -21
  29. package/esm2015/app/component/service-order/summary/transaction-delivery-summary.component.js +5 -5
  30. package/esm2015/app/component/service-order/summary/transaction-order-summary.component.js +3 -3
  31. package/esm2015/app/component/service-order/summary/transaction-payment-info.component.js +3 -3
  32. package/esm2015/app/component/service-order/summary/transaction-service-summary.component.js +3 -3
  33. package/esm2015/app/component/service-order/transaction-article-text/transaction-article-text.component.js +107 -150
  34. package/esm2015/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.js +105 -0
  35. package/esm2015/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.js +73 -0
  36. package/esm2015/app/component/service-order/transaction-manager/transaction-manager.component.js +314 -0
  37. package/esm2015/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.js +1 -1
  38. package/esm2015/app/component/service-order/transaction-order-lines/transaction-order-lines.component.js +3 -3
  39. package/esm2015/app/component/service-order/transaction-order-totals/transaction-order-totals.component.js +9 -10
  40. package/esm2015/app/component/service-order/warehouse/warehouse.component.js +133 -0
  41. package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +3 -5
  42. package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +1 -1
  43. package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +2 -2
  44. package/esm2015/app/model/standard-text.js +3 -0
  45. package/esm2015/app/model/transaction-add-text-line-request.js +11 -0
  46. package/esm2015/app/service/dictionary.service.js +20 -9
  47. package/esm2015/app/service/ione-connector-adapter.service.js +39 -5
  48. package/esm2015/app/service/transaction.service.js +98 -23
  49. package/esm2015/assets/dictionary/text.properties.js +13 -1
  50. package/esm2015/colijnit-transaction.js +23 -19
  51. package/fesm2015/colijnit-transaction.js +1035 -279
  52. package/fesm2015/colijnit-transaction.js.map +1 -1
  53. package/package.json +4 -3
  54. package/esm2015/app/component/shopping-cart/characteristic-answer/characteristic-answer.component.js +0 -99
@@ -35,26 +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';
38
39
  import { CommunicationType } from '@colijnit/transactionapi/build/enum/communication-type.enum';
39
40
  import { ContactOption } from '@colijnit/transactionapi/build/model/contact-option.bo';
40
41
  import { RelationNameKind } from '@colijnit/transactionapi/build/enum/relation-name-kind.enum';
41
42
  import { AddressType } from '@colijnit/transactionapi/build/enum/address-type.enum';
42
43
  import { GenderType } from '@colijnit/transactionapi/build/enum/gender-type.enum';
43
44
  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
45
  import { FunctionUtils } from '@colijnit/transactionapi/build/utils/function-utils';
46
46
  import { Address } from '@colijnit/transactionapi/build/model/address.bo';
47
- import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
48
47
  import { FlexModule } from '@angular/flex-layout';
49
48
  import { MatStepperModule } from '@angular/material/stepper';
50
49
  import { CommonModule } from '@angular/common';
51
50
  import { DomSanitizer } from '@angular/platform-browser';
51
+ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
52
52
  import { ResolvePendingLineReasonRequest } from '@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo';
53
53
  import { SortDirection } from '@colijnit/transactionapi/build/enum/sort-direction';
54
54
  import { SortType } from '@colijnit/transactionapi/build/enum/sort-type.enum';
55
55
  import { StockStatus } from '@colijnit/transactionapi/build/enum/refcode/stock-status.enum';
56
56
  import { trigger, state, style, transition, animate } from '@angular/animations';
57
57
  import { RelationRequest } from '@colijnit/transactionapi/build/model/relation-request';
58
+ import { ToolbarService, LinkService, ImageService, HtmlEditorService, RichTextEditorModule } from '@syncfusion/ej2-angular-richtexteditor';
58
59
  import { DropDownButtonModule } from '@syncfusion/ej2-angular-splitbuttons';
59
60
  import { ChipListModule, CheckBoxModule } from '@syncfusion/ej2-angular-buttons';
60
61
  import { DropDownListModule } from '@syncfusion/ej2-angular-dropdowns';
@@ -806,6 +807,9 @@ class BusinessObjectFactory {
806
807
  }
807
808
  }
808
809
 
810
+ class StandardText {
811
+ }
812
+
809
813
  class IOneConnectorAdapterService {
810
814
  constructor() {
811
815
  this._boFactory = new BusinessObjectFactory();
@@ -857,14 +861,19 @@ class IOneConnectorAdapterService {
857
861
  return new Promise((resolve, reject) => {
858
862
  return this.connector.getSingleImage(nodeId, publication, includeMimetype, thumb).then((result) => {
859
863
  if (result.validationResult && result.validationResult.success) {
860
- if (result.resultObject.filePath !== null && result.resultObject.filePath !== "") {
864
+ if (result.resultObject && result.resultObject.filePath !== null && result.resultObject.filePath !== "") {
861
865
  return resolve(ImageUtils.getFixedImageFilepathUrl(result.resultObject.filePath));
862
866
  }
863
867
  else {
864
- if (includeMimetype) {
865
- return resolve(ImageUtils.getDocBodyWithMimeTypeDefinition(result.resultObject.fileName, thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody));
868
+ if (result.resultObject) {
869
+ if (includeMimetype) {
870
+ return resolve(ImageUtils.getDocBodyWithMimeTypeDefinition(result.resultObject.fileName, thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody));
871
+ }
872
+ return resolve(thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody);
873
+ }
874
+ else {
875
+ reject(result.validationMessagesAsString);
866
876
  }
867
- return resolve(thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody);
868
877
  }
869
878
  }
870
879
  else {
@@ -1303,6 +1312,34 @@ class IOneConnectorAdapterService {
1303
1312
  });
1304
1313
  });
1305
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
+ }
1306
1343
  }
1307
1344
  IOneConnectorAdapterService.ɵprov = i0.ɵɵdefineInjectable({ factory: function IOneConnectorAdapterService_Factory() { return new IOneConnectorAdapterService(); }, token: IOneConnectorAdapterService, providedIn: "root" });
1308
1345
  IOneConnectorAdapterService.decorators = [
@@ -1313,8 +1350,9 @@ IOneConnectorAdapterService.decorators = [
1313
1350
  IOneConnectorAdapterService.ctorParameters = () => [];
1314
1351
 
1315
1352
  class TransactionService {
1316
- constructor(_connector) {
1353
+ constructor(_connector, _prompt) {
1317
1354
  this._connector = _connector;
1355
+ this._prompt = _prompt;
1318
1356
  this.transactionUpdated = new EventEmitter();
1319
1357
  this.transactionLoaded = new EventEmitter();
1320
1358
  this.applicationUser = false;
@@ -1360,6 +1398,11 @@ class TransactionService {
1360
1398
  && line.pendingReasonType !== PendingReasonType.NON_CRITICAL_DISCONTINUATION);
1361
1399
  return status;
1362
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
+ }
1363
1406
  getArticleFullObject(goodId) {
1364
1407
  return __awaiter(this, void 0, void 0, function* () {
1365
1408
  return yield this._connector.getArticleFullObject(goodId);
@@ -1440,11 +1483,10 @@ class TransactionService {
1440
1483
  });
1441
1484
  });
1442
1485
  }
1443
- resolvePendingLineReason(pendingLineValues) {
1486
+ resolvePendingLineReason(pendingLineValues, remember = true) {
1444
1487
  return new Promise((resolve) => {
1445
1488
  this._connector.resolvePendingLineReason(pendingLineValues).then((response) => __awaiter(this, void 0, void 0, function* () {
1446
- this._rememberCurrentTransaction(response);
1447
- this._rememberCurrentTransactionLineStatus(response);
1489
+ this._rememberResponse(remember, response);
1448
1490
  resolve(response);
1449
1491
  })).catch((reason) => {
1450
1492
  resolve();
@@ -1498,6 +1540,28 @@ class TransactionService {
1498
1540
  }
1499
1541
  });
1500
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
+ }
1501
1565
  addRelationToTransaction(relationId) {
1502
1566
  return __awaiter(this, void 0, void 0, function* () {
1503
1567
  const success = yield this._connector.addRelationToTransaction(this._currentTransaction.uuid, relationId);
@@ -1611,13 +1675,29 @@ class TransactionService {
1611
1675
  });
1612
1676
  });
1613
1677
  }
1614
- 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) {
1615
1696
  return __awaiter(this, void 0, void 0, function* () {
1616
1697
  return new Promise((resolve, reject) => {
1617
1698
  this._connector.addTransactionLine(this.currentTransaction.uuid, lineType, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr)
1618
1699
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1619
- this._rememberCurrentTransaction(response);
1620
- this._rememberCurrentTransactionLineStatus(response);
1700
+ this._rememberResponse(remember, response);
1621
1701
  resolve(response);
1622
1702
  }), (error) => {
1623
1703
  reject(error);
@@ -1628,13 +1708,12 @@ class TransactionService {
1628
1708
  });
1629
1709
  });
1630
1710
  }
1631
- addTextLineToTransaction(showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr) {
1711
+ addTextLine(showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr, remember = true) {
1632
1712
  return __awaiter(this, void 0, void 0, function* () {
1633
1713
  return new Promise((resolve, reject) => {
1634
1714
  this._connector.addTextLineToTransaction(this.currentTransaction.uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr)
1635
1715
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1636
- this._rememberCurrentTransaction(response);
1637
- this._rememberCurrentTransactionLineStatus(response);
1716
+ this._rememberResponse(remember, response);
1638
1717
  resolve(response);
1639
1718
  }), (error) => {
1640
1719
  reject(error);
@@ -1645,12 +1724,26 @@ class TransactionService {
1645
1724
  });
1646
1725
  });
1647
1726
  }
1648
- changeLineSequence(lineUuid, aboveLineNr, belowLineNr) {
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* () {
1732
+ resolve(response);
1733
+ }), (error) => {
1734
+ reject(error);
1735
+ })
1736
+ .catch((reason) => {
1737
+ resolve(null);
1738
+ });
1739
+ });
1740
+ });
1741
+ }
1742
+ changeLineSequence(lineUuid, aboveLineNr, belowLineNr, remember = true) {
1649
1743
  return new Promise((resolve, reject) => {
1650
1744
  this._connector.changeLineSequence(this.currentTransaction.uuid, lineUuid, aboveLineNr, belowLineNr)
1651
1745
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1652
- this._rememberCurrentTransaction(response);
1653
- this._rememberCurrentTransactionLineStatus(response);
1746
+ this._rememberResponse(remember, response);
1654
1747
  resolve(response);
1655
1748
  }), (error) => {
1656
1749
  reject(error);
@@ -1660,12 +1753,14 @@ class TransactionService {
1660
1753
  });
1661
1754
  });
1662
1755
  }
1663
- cancelAddTransactionLine(lineUuid) {
1756
+ cancelAddTransactionLine(lineUuid, remember = true) {
1664
1757
  return __awaiter(this, void 0, void 0, function* () {
1665
1758
  return new Promise((resolve, reject) => {
1666
1759
  this._connector.cancelAddTransactionLine(lineUuid)
1667
1760
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1668
- this._rememberCurrentTransaction(response);
1761
+ if (remember) {
1762
+ this._rememberCurrentTransaction(response);
1763
+ }
1669
1764
  if (response.isSuccess) {
1670
1765
  resolve(response);
1671
1766
  }
@@ -1679,13 +1774,12 @@ class TransactionService {
1679
1774
  });
1680
1775
  });
1681
1776
  }
1682
- deleteTransactionLine(transactionUuid, TransactionLineUuid) {
1777
+ deleteTransactionLine(transactionUuid, TransactionLineUuid, remember = true) {
1683
1778
  return __awaiter(this, void 0, void 0, function* () {
1684
1779
  return new Promise((resolve, reject) => {
1685
1780
  this._connector.deleteTransactionLine(transactionUuid, TransactionLineUuid)
1686
1781
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1687
- this._rememberCurrentTransaction(response);
1688
- this._rememberCurrentTransactionLineStatus(response);
1782
+ this._rememberResponse(remember, response);
1689
1783
  if (response.isSuccess) {
1690
1784
  resolve(response);
1691
1785
  }
@@ -1699,14 +1793,13 @@ class TransactionService {
1699
1793
  });
1700
1794
  });
1701
1795
  }
1702
- changeTransactionLineQuantity(lineUuid, newQuantity) {
1796
+ changeTransactionLineQuantity(lineUuid, newQuantity, remember = true) {
1703
1797
  return __awaiter(this, void 0, void 0, function* () {
1704
1798
  return new Promise((resolve) => {
1705
1799
  this._connector.changeTransactionLineQuantity(this.currentTransaction.uuid, lineUuid, newQuantity)
1706
1800
  .then((response) => __awaiter(this, void 0, void 0, function* () {
1707
1801
  if (response.isSuccess) {
1708
- this._rememberCurrentTransaction(response);
1709
- this._rememberCurrentTransactionLineStatus(response);
1802
+ this._rememberResponse(remember, response);
1710
1803
  }
1711
1804
  resolve(response);
1712
1805
  })).catch((reason) => {
@@ -1740,6 +1833,17 @@ class TransactionService {
1740
1833
  // const response: boolean = await this._connector.setRelationByUser(this.currentTransaction.uuid, username, password);
1741
1834
  // return response;
1742
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
+ }
1743
1847
  _initializeTransaction() {
1744
1848
  if (this._currentTransaction.preferredDeliveryDate2 === undefined) {
1745
1849
  this._currentTransaction.preferredDeliveryDate2 = "=";
@@ -1787,12 +1891,19 @@ class TransactionService {
1787
1891
  transactionDeliveryOptionsRequest.invoiceAddress = this._currentTransaction.invoiceAddress.nawNr;
1788
1892
  return transactionDeliveryOptionsRequest;
1789
1893
  }
1894
+ _rememberResponse(remember, response) {
1895
+ if (remember) {
1896
+ this._rememberCurrentTransaction(response);
1897
+ this._rememberCurrentTransactionLineStatus(response);
1898
+ }
1899
+ }
1790
1900
  }
1791
1901
  TransactionService.decorators = [
1792
1902
  { type: Injectable }
1793
1903
  ];
1794
1904
  TransactionService.ctorParameters = () => [
1795
- { type: IOneConnectorAdapterService }
1905
+ { type: IOneConnectorAdapterService },
1906
+ { type: PromptService }
1796
1907
  ];
1797
1908
 
1798
1909
  var LanguageCode;
@@ -1888,6 +1999,7 @@ class Dictionary {
1888
1999
  "ARTICLE_DESCRIPTION": "Artikelomschrijving",
1889
2000
  "ARTICLE_IN_OUT_COLLECTION": "Status van artikel is '|~'. Weet u zeker dat u door wilt gaan?",
1890
2001
  "ARTICLE_NR": "Artikelnummer",
2002
+ "ARTICLE_UNKNOWN": "Onbekend artikel",
1891
2003
  "ASSEMBLY_COSTS": "Montagekosten",
1892
2004
  "ASSEMBLY_DATE": "Montagedatum",
1893
2005
  "AMOUNT": "Aantal",
@@ -2027,8 +2139,13 @@ class Dictionary {
2027
2139
  "VAT": "Btw",
2028
2140
  "VAT_AMOUNT": "BTW-bedrag",
2029
2141
  "VALUE": "Waarde",
2142
+ "WHERE_ARE_YOU_LOOKING_FOR": "Waar ben je naar op zoek?",
2030
2143
  "WAREHOUSE": "Magazijn",
2031
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",
2032
2149
  },
2033
2150
  "de": {},
2034
2151
  "fr": {},
@@ -2049,6 +2166,7 @@ class Dictionary {
2049
2166
  "ARTICLE_DESCRIPTION": "Article description",
2050
2167
  "ARTICLE_IN_OUT_COLLECTION": "Status of article is '|~'. Are you sure to proceed?",
2051
2168
  "ARTICLE_NR": "Article number",
2169
+ "ARTICLE_UNKNOWN": "Article unknown",
2052
2170
  "ASSEMBLY_COSTS": "Assembly costs",
2053
2171
  "ASSEMBLY_DATE": "Assembly date",
2054
2172
  "AMOUNT": "Amount",
@@ -2181,7 +2299,12 @@ class Dictionary {
2181
2299
  "VAT": "VAT",
2182
2300
  "VAT_AMOUNT": "VAT amount",
2183
2301
  "WAREHOUSE": "Warehouse",
2302
+ "WHERE_ARE_YOU_LOOKING_FOR": "Where are you looking for?",
2184
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",
2185
2308
  },
2186
2309
  };
2187
2310
  }
@@ -2207,15 +2330,18 @@ class DictionaryService {
2207
2330
  setDictionary(language) {
2208
2331
  return __awaiter(this, void 0, void 0, function* () {
2209
2332
  this._language = language || LanguageCode.Dutch;
2210
- if (!this._dictionaries.has(this._language)) {
2211
- 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) {
2212
2341
  // eslint-disable-next-line no-magic-numbers
2213
- if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {
2214
- // eslint-disable-next-line no-magic-numbers
2215
- this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);
2216
- }
2342
+ this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);
2217
2343
  }
2218
- });
2344
+ }
2219
2345
  }
2220
2346
  /**
2221
2347
  * Returns the localized text for the given dictionary key.
@@ -2228,6 +2354,10 @@ class DictionaryService {
2228
2354
  if (!StringUtils.IsStringWithLength(key)) {
2229
2355
  return key || "";
2230
2356
  }
2357
+ if (this.language === undefined) {
2358
+ this._language = LanguageCode.Dutch;
2359
+ this._loadDictionary();
2360
+ }
2231
2361
  let text = this._dictionaries.get(this.language)[key];
2232
2362
  text = StringUtils.IsStringWithLength(text) ? text : key;
2233
2363
  if (upperCaseFirst) {
@@ -2242,8 +2372,11 @@ class DictionaryService {
2242
2372
  return text;
2243
2373
  }
2244
2374
  }
2375
+ DictionaryService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DictionaryService_Factory() { return new DictionaryService(); }, token: DictionaryService, providedIn: "root" });
2245
2376
  DictionaryService.decorators = [
2246
- { type: Injectable }
2377
+ { type: Injectable, args: [{
2378
+ providedIn: "root"
2379
+ },] }
2247
2380
  ];
2248
2381
  DictionaryService.ctorParameters = () => [];
2249
2382
 
@@ -2530,7 +2663,7 @@ CheckoutOverviewRelationEditComponent.decorators = [
2530
2663
  <div>
2531
2664
  <label [textContent]="'PERSONAL_DATA' | localize"
2532
2665
  class="checkout-label-h3"
2533
- ></label>7
2666
+ ></label>
2534
2667
  </div>
2535
2668
  <div>
2536
2669
  <div>
@@ -3258,7 +3391,7 @@ CheckoutOverviewComponent.decorators = [
3258
3391
  (editModeChange)="handleEditChangeRelation($event)">
3259
3392
  <ng-container edit-mode-content>
3260
3393
  <checkout-overview-relation-edit #relationForm
3261
- *ngIf="currentStep == steps.Relation && editMode"
3394
+ *ngIf="currentStep === steps.Relation && editMode"
3262
3395
  [relation]="relation"
3263
3396
  [transaction]="transaction"
3264
3397
  (validSubmit)="onRelationValid()"
@@ -4290,7 +4423,6 @@ class IoneCheckoutModule {
4290
4423
  IoneCheckoutModule.decorators = [
4291
4424
  { type: NgModule, args: [{
4292
4425
  imports: [
4293
- BrowserAnimationsModule,
4294
4426
  IconModule,
4295
4427
  InputTextModule,
4296
4428
  InputCheckboxModule,
@@ -4310,6 +4442,8 @@ IoneCheckoutModule.decorators = [
4310
4442
  CoSidebarModule,
4311
4443
  CoGridModule,
4312
4444
  CoreModule,
4445
+ CommonModule,
4446
+ NoopAnimationsModule,
4313
4447
  ],
4314
4448
  declarations: [
4315
4449
  CheckoutComponent,
@@ -4431,7 +4565,7 @@ class ShoppingCartManagerComponent {
4431
4565
  }
4432
4566
  addTextLineToCartAt(text, lineNr, beforeOrAfter) {
4433
4567
  return __awaiter(this, void 0, void 0, function* () {
4434
- yield this.service.addTextLineToTransaction(0, text, 0, false, 0, beforeOrAfter === PositionGridRow.Before ? lineNr : undefined, beforeOrAfter === PositionGridRow.After ? lineNr : undefined)
4568
+ yield this.service.addTextLine(0, text, 0, false, 0, beforeOrAfter === PositionGridRow.Before ? lineNr : undefined, beforeOrAfter === PositionGridRow.After ? lineNr : undefined)
4435
4569
  .then((value) => {
4436
4570
  this._handleLineOperationStatus();
4437
4571
  }, (error) => this.promptService.showError(error));
@@ -5404,7 +5538,7 @@ ShoppingCartLineComponent.decorators = [
5404
5538
  [textContent]="line.text">
5405
5539
  </div>
5406
5540
  `,
5407
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.cart-line-r .cart-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}:host{padding-bottom:20px}:host{padding-top:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-right .cart-line-totals{margin-top:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-right .cart-line-totals{margin-bottom:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-t,.cart-line-r .cart-line-right .cart-line-totals{margin-left:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-t{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:flex;flex-wrap:wrap;border-bottom:1px solid #DBE3E8;width:100%}:host.overlayed.is-text{display:none!important}:host.overlayed.is-selected{background-color:#add8e6}:host.overview.is-text{display:none!important}:host.overview.is-selected{background-color:#add8e6}.horizontal{display:flex;flex-direction:row-reverse}.cart-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.cart-line-r{flex-direction:column}}.cart-line-r co-button{border:0;padding:0}.cart-line-r .cart-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center}.cart-line-r .cart-line-image image-display{width:6em;height:6em}.cart-line-r .cart-line-description{display:flex;flex-direction:column;width:100%}.cart-line-r .cart-line-description .cart-line-description-main{font-weight:bold}.cart-line-r .cart-line-right{justify-content:flex-end}.cart-line-r .cart-line-right .cart-line-stock{width:10em}.cart-line-r .cart-line-right .cart-line-amount{width:10em}.cart-line-r .cart-line-right .cart-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.cart-line-r .cart-line-right .cart-line-totals span{text-align:right}.cart-line-t.article-text{padding-left:10em}\n"]
5541
+ 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"]
5408
5542
  },] }
5409
5543
  ];
5410
5544
  ShoppingCartLineComponent.ctorParameters = () => [
@@ -5478,6 +5612,7 @@ class CharacteristicAnswerComponent {
5478
5612
  }
5479
5613
  CharacteristicAnswerComponent.decorators = [
5480
5614
  { type: Component, args: [{
5615
+ // eslint-disable-next-line @angular-eslint/component-selector
5481
5616
  selector: "characteristic-answer",
5482
5617
  template: `
5483
5618
  <co-dialog
@@ -5554,7 +5689,6 @@ IoneShoppingCartModule.decorators = [
5554
5689
  CharacteristicAnswerComponent,
5555
5690
  ],
5556
5691
  imports: [
5557
- BrowserAnimationsModule,
5558
5692
  CommonModule,
5559
5693
  IconModule,
5560
5694
  InputTextModule,
@@ -5584,7 +5718,7 @@ IoneShoppingCartModule.decorators = [
5584
5718
  entryComponents: [
5585
5719
  IoneShoppingCartComponent
5586
5720
  ],
5587
- exports: [IoneShoppingCartComponent, StockStatusIndicatorComponent],
5721
+ exports: [IoneShoppingCartComponent, StockStatusIndicatorComponent, CharacteristicAnswerComponent],
5588
5722
  bootstrap: [IoneShoppingCartComponent]
5589
5723
  },] }
5590
5724
  ];
@@ -5596,14 +5730,18 @@ class IoneServiceOrderComponent {
5596
5730
  this._connector = _connector;
5597
5731
  this._dictionary = _dictionary;
5598
5732
  this._service = _service;
5599
- this.orderNr = 0;
5600
- this.orderId = 0;
5601
5733
  this.upAndLoaded = false;
5602
5734
  this._subscriptions = [];
5603
5735
  this._remoteOptions = true;
5604
5736
  this._publicOptions = true;
5737
+ this._orderId = 0;
5605
5738
  this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
5606
5739
  }
5740
+ set orderId(value) {
5741
+ this._orderId = value;
5742
+ this._getTransactionById(this._orderId);
5743
+ }
5744
+ ;
5607
5745
  set options(value) {
5608
5746
  if (value) {
5609
5747
  let options;
@@ -5636,15 +5774,6 @@ class IoneServiceOrderComponent {
5636
5774
  _initConnection() {
5637
5775
  return __awaiter(this, void 0, void 0, function* () {
5638
5776
  yield this._connector.connect(this._optionsService.options);
5639
- if (this.orderNr) {
5640
- yield this._service.getTransaction(this.orderNr);
5641
- }
5642
- else if (this.orderId) {
5643
- yield this._service.getTransactionById(this.orderId);
5644
- }
5645
- else {
5646
- yield this._service.getTransaction(IoneServiceOrderComponent.TEST_ORDER_NR);
5647
- }
5648
5777
  if (this._optionsService.options.url) {
5649
5778
  this._dictionary.rootUrl = this._optionsService.options.url.replace("/ajaxservice", "");
5650
5779
  }
@@ -5654,8 +5783,12 @@ class IoneServiceOrderComponent {
5654
5783
  });
5655
5784
  });
5656
5785
  }
5786
+ _getTransactionById(orderId) {
5787
+ return __awaiter(this, void 0, void 0, function* () {
5788
+ yield this._service.getTransactionById(orderId);
5789
+ });
5790
+ }
5657
5791
  }
5658
- IoneServiceOrderComponent.TEST_ORDER_NR = 18156;
5659
5792
  IoneServiceOrderComponent.decorators = [
5660
5793
  { type: Component, args: [{
5661
5794
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -5676,7 +5809,6 @@ IoneServiceOrderComponent.ctorParameters = () => [
5676
5809
  { type: TransactionService }
5677
5810
  ];
5678
5811
  IoneServiceOrderComponent.propDecorators = {
5679
- orderNr: [{ type: Input }],
5680
5812
  orderId: [{ type: Input }],
5681
5813
  options: [{ type: Input }]
5682
5814
  };
@@ -5688,28 +5820,53 @@ class TransactionBaseComponent {
5688
5820
  this.customer = NULL_CUSTOMER_FULL_OBJECT;
5689
5821
  this._isService = false;
5690
5822
  this.basedOnProduct = false;
5823
+ this._lineOperationStatuses = [];
5824
+ this._transactionLines = [];
5691
5825
  }
5692
5826
  set transaction(value) {
5693
5827
  this._transaction = value;
5694
- if (this._transaction && this._transaction.transactionInfo) {
5695
- this._isService = this._transaction.transactionInfo.transactionKind === TransactionKind.ServiceOrder;
5828
+ if (this._transaction) {
5829
+ if (this._transaction.transactionInfo) {
5830
+ this._transactionInfo = this._transaction.transactionInfo;
5831
+ this._isService = this._transaction.transactionInfo.transactionKind === TransactionKind.ServiceOrder;
5832
+ }
5833
+ if (this._transaction.transactionLines) {
5834
+ this.transactionLines = this._transaction.transactionLines;
5835
+ }
5836
+ if (this._transaction.transactionTotal) {
5837
+ this._transactionTotal = this._transaction.transactionTotal;
5838
+ }
5839
+ if (this._transaction.lineOperationStatuses) {
5840
+ this.lineOperationStatuses = this._transaction.lineOperationStatuses;
5841
+ }
5696
5842
  }
5697
5843
  }
5698
5844
  get transaction() {
5699
5845
  return this._transaction;
5700
5846
  }
5847
+ set transactionInfo(value) {
5848
+ this._transactionInfo = value;
5849
+ }
5701
5850
  get transactionInfo() {
5702
- return this._transaction.transactionInfo;
5851
+ return this._transactionInfo;
5852
+ }
5853
+ set transactionLines(value) {
5854
+ this._transactionLines = value;
5703
5855
  }
5704
5856
  get transactionLines() {
5705
- if (this._transaction) {
5706
- return this._transaction.transactionLines;
5707
- }
5857
+ return this._transactionLines;
5858
+ }
5859
+ set transactionTotal(value) {
5860
+ this._transactionTotal = value;
5708
5861
  }
5709
5862
  get transactionTotal() {
5710
- if (this._transaction) {
5711
- return this._transaction.transactionTotal;
5712
- }
5863
+ return this._transactionTotal;
5864
+ }
5865
+ get lineOperationStatuses() {
5866
+ return this._lineOperationStatuses;
5867
+ }
5868
+ set lineOperationStatuses(value) {
5869
+ this._lineOperationStatuses = value;
5713
5870
  }
5714
5871
  get isService() {
5715
5872
  return this._isService;
@@ -5795,59 +5952,67 @@ TransactionBaseComponent.propDecorators = {
5795
5952
  customer: [{ type: Input }]
5796
5953
  };
5797
5954
 
5955
+ class TransactionAddTextLineRequest {
5956
+ constructor() {
5957
+ this.showOnDocuments = false;
5958
+ this.text = "";
5959
+ this.articleBound = false;
5960
+ this.refArticleLineNr = 0;
5961
+ this.aboveLineNr = 0;
5962
+ this.belowLineNr = 0;
5963
+ }
5964
+ }
5965
+
5798
5966
  class TransactionArticleTextComponent extends TransactionBaseComponent {
5799
5967
  constructor(service) {
5800
5968
  super(service);
5801
5969
  this.service = service;
5970
+ this.addTextLine = new EventEmitter();
5971
+ this.transactionAddTextLineRequest = new TransactionAddTextLineRequest();
5972
+ this.textTitle = "";
5802
5973
  this.visible = false;
5803
- this.floatButtonSelected = false;
5804
- this.overviewSelected = false;
5805
- this.editArtikelText = false;
5806
- this.collection = [
5807
- { id: 1, name: "Standaardtekst 1" },
5808
- { id: 2, name: "Standaardtekst 1" },
5809
- { id: 3, name: "Standaardtekst 1" },
5810
- { id: 4, name: "Standaardtekst 1" },
5811
- { id: 5, name: "Standaardtekst 1" }
5812
- ];
5813
- this.articleTexts = [
5814
- { title: "title 1", description: "Omschrijving 1" },
5815
- { title: "title 2", description: "Omschrijving 2" },
5816
- { title: "title 3", description: "Omschrijving 3" },
5817
- { title: "title 4", description: "Omschrijving 4" },
5818
- { title: "title 5", description: "Omschrijving 5" },
5819
- ];
5820
- this.fields = { text: "name", value: "id" };
5974
+ this.collection = [];
5975
+ this.fields = { text: "description", value: "textId" };
5976
+ this.transactionAddTextLineRequest.text = "";
5977
+ }
5978
+ ngOnInit() {
5979
+ return __awaiter(this, void 0, void 0, function* () {
5980
+ this.collection = yield this.service.getStandardTexts("NL");
5981
+ });
5821
5982
  }
5822
5983
  onOkClick() {
5984
+ if (this.selectedLine) {
5985
+ this.transactionAddTextLineRequest.refArticleLineNr = this.selectedLine.lineNr;
5986
+ }
5987
+ this.addTextLine.emit(this.transactionAddTextLineRequest);
5823
5988
  this.hide();
5824
5989
  }
5825
- onPopupClose() {
5990
+ onCancelClick() {
5826
5991
  this.hide();
5827
- this.hideOverview();
5828
- this.hideEditArtikelText();
5829
- }
5830
- hide() {
5831
- // TODO: throw hide event
5832
- this.visible = false;
5833
5992
  }
5834
- onOverview() {
5835
- this.overviewSelected = true;
5993
+ onOverviewClick() {
5994
+ this.articleTextOverview.open();
5836
5995
  }
5837
- onOkOverviewClick() {
5838
- this.hideOverview();
5996
+ open() {
5997
+ if (this.articleTextDialog) {
5998
+ this.articleTextDialog.open();
5999
+ }
5839
6000
  }
5840
- hideOverview() {
5841
- this.overviewSelected = false;
6001
+ onPopupClose() {
6002
+ this.hide();
5842
6003
  }
5843
- onDetailLinkClick(bo) {
5844
- this.editArtikelText = true;
6004
+ hide() {
6005
+ if (this.articleTextDialog) {
6006
+ this.articleTextDialog.close();
6007
+ }
5845
6008
  }
5846
- hideEditArtikelText() {
5847
- this.editArtikelText = false;
6009
+ onChangeText(event) {
6010
+ if (this.editor) {
6011
+ this.transactionAddTextLineRequest.text = this.editor.getText();
6012
+ }
5848
6013
  }
5849
- onOkEditArtikelTextClick() {
5850
- this.editArtikelText = false;
6014
+ onSelectStandardText(value) {
6015
+ this.transactionAddTextLineRequest.text = (this.collection.find(x => x.textId === value)).text;
5851
6016
  }
5852
6017
  }
5853
6018
  TransactionArticleTextComponent.decorators = [
@@ -5855,157 +6020,424 @@ TransactionArticleTextComponent.decorators = [
5855
6020
  // eslint-disable-next-line @angular-eslint/component-selector
5856
6021
  selector: "transaction-article-text",
5857
6022
  template: `
5858
- <co-dialog [visible]="visible" (close)="onPopupClose()">
5859
- <ng-container header>{{ subHeader }}</ng-container>
5860
- <ng-container content>
5861
- <div class="tags-join-content" fxLayout fxLayoutGap="10px">
5862
- <div class="column-separator">
5863
- <co-input-text placeholder="Titel"></co-input-text>
5864
- <!--transactiontransaction-->
5865
- <!-- label="Artikeltekst"-->
5866
- <!-- ></co-text-editor>-->
5867
- </div>
5868
- <div style="margin-left:5px;">
5869
- <div style="margin-top:16px;">
5870
- <ejs-dropdownlist
5871
- [dataSource]="collection"
5872
- [fields]="fields"
5873
- placeholder="Standaardteksten"
5874
- ></ejs-dropdownlist>
5875
- </div>
5876
- <div style="margin-top:20px;">
5877
- <co-input-checkbox
5878
- label="Artikelgebonden tekst"
5879
- name="articleBoundText">
5880
- </co-input-checkbox>
5881
- </div>
5882
- <div style="margin-top:20px;">
5883
- <label>Bestemd voor documenten</label>
5884
- <ejs-chiplist id="chip-default">
5885
- <e-chips>
5886
- <e-chip text="Apple" cssClass="e-primary"></e-chip>
5887
- <e-chip text="Microsoft" cssClass="e-info"></e-chip>
5888
- <e-chip text="Google" cssClass="e-success"></e-chip>
5889
- <e-chip text="Tesla" cssClass="e-warning"></e-chip>
5890
- <e-chip text="Intel" cssClass="e-danger"></e-chip>
5891
- </e-chips>
5892
- </ejs-chiplist>
5893
- </div>
5894
- </div>
5895
- </div>
5896
- </ng-container>
5897
- <ng-container footer>
5898
- <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
5899
- <co-button label="OK" (click)="onOkClick()"></co-button>
5900
- <co-button label="CANCEL" (click)="hide()"></co-button>
5901
- <co-button label="OVERVIEW" (click)="onOverview()"></co-button>
5902
- </div>
5903
- </ng-container>
5904
- </co-dialog>
5905
-
5906
- <co-dialog [visible]="overviewSelected" (close)="hideOverview()">
5907
- <ng-container header>Artikelgebonden teksten {{ subHeader }}</ng-container>
5908
- <ng-container content>
5909
- <div class="tags-join-content" fxLayout fxLayoutGap="10px">
5910
- <div class="column-separator" style="width:75%">
5911
- <!-- <grid [data]="articleTexts" detailLink (detailLinkClick)="onDetailLinkClick($event)">-->
5912
- <!-- <grid-column key="title" header="TITLE" width="100px;"></grid-column>-->
5913
- <!-- <grid-column key="description" header="DESCRIPTION" width="200px"></grid-column>-->
5914
- <!-- </grid>-->
5915
- </div>
5916
- <div style="margin-left:5px;">
5917
- <div style="margin-top:20px;">
5918
-
5919
- <co-input-checkbox
5920
- label="Artikelgebonden tekst"
5921
- name="articleBoundText"
5922
- value="true"
5923
- ></co-input-checkbox>
5924
- </div>
5925
- <div style="margin-top:20px;">
5926
- <label>Bestemd voor documenten</label>
5927
- <ejs-chiplist id="chip-default">
5928
- <e-chips>
5929
- <e-chip text="Apple" cssClass="e-primary"></e-chip>
5930
- <e-chip text="Microsoft" cssClass="e-info"></e-chip>
5931
- <e-chip text="Google" cssClass="e-success"></e-chip>
5932
- <e-chip text="Tesla" cssClass="e-warning"></e-chip>
5933
- <e-chip text="Intel" cssClass="e-danger"></e-chip>
5934
- </e-chips>
5935
- </ejs-chiplist>
5936
- </div>
5937
- </div>
5938
- </div>
5939
- </ng-container>
5940
- <ng-container footer>
5941
- <div class="footer" fxLayout fxPosition="row" fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
5942
- <co-button label="OK" (click)="onOkOverviewClick()"></co-button>
5943
- <co-button label="CANCEL" (click)="hideOverview()"></co-button>
5944
- </div>
5945
- </ng-container>
5946
- </co-dialog>
6023
+ <co-dialog #articleTextDialog (close)="onPopupClose()">
6024
+ <ng-container header>{{ subHeader }}</ng-container>
6025
+ <ng-container content>
6026
+ <div class="tags-join-content" fxLayout fxLayoutGap="10px">
6027
+ <div>
6028
+ <co-rich-text-editor
6029
+ #rte
6030
+ id="rte"
6031
+ [model]="transactionAddTextLineRequest.text"
6032
+ (onChangeEvent)="onChangeText($event)"
6033
+ ></co-rich-text-editor>
6034
+ </div>
6035
+ <div style="margin-left:5px;">
6036
+ <div style="margin-top:16px;">
6037
+ <ejs-dropdownlist
6038
+ [dataSource]="collection"
6039
+ [fields]="fields"
6040
+ [placeholder]="'STANDARD_TEXTS' | localize"
6041
+ (valueChange)="onSelectStandardText($event)"
6042
+ ></ejs-dropdownlist>
6043
+ <!-- <co-drop-down-list [-->
6044
+ <!-- [collection]="collection"-->
6045
+ <!-- [fields]="fields"-->
6046
+ <!-- [placeHolder]="'STANDARD_TEXTS' | localize"-->
6047
+ <!-- (valueChange)="onSelectStandardText($event)"-->
6048
+ <!-- ></co-drop-down-list>-->
6049
+ </div>
6050
+ <div style="margin-top:20px;">
6051
+ <co-input-checkbox
6052
+ [(model)]="transactionAddTextLineRequest.articleBound"
6053
+ [label]="'ARTICLE_BOUND_TEXT' | localize"
6054
+ name="articleBoundText">
6055
+ </co-input-checkbox>
6056
+ </div>
6057
+ <div style="margin-top:20px;">
6058
+ <label [textContent]="'FOR_DOCUMENTS' | localize"></label>
6059
+ <ejs-chiplist id="chip-default">
6060
+ <e-chips>
6061
+ <e-chip text="Apple" cssClass="e-primary"></e-chip>
6062
+ <e-chip text="Microsoft" cssClass="e-info"></e-chip>
6063
+ <e-chip text="Google" cssClass="e-success"></e-chip>
6064
+ <e-chip text="Tesla" cssClass="e-warning"></e-chip>
6065
+ <e-chip text="Intel" cssClass="e-danger"></e-chip>
6066
+ </e-chips>
6067
+ </ejs-chiplist>
6068
+ </div>
6069
+ </div>
6070
+ </div>
6071
+ </ng-container>
6072
+ <ng-container footer>
6073
+ <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
6074
+ <co-button [label]="'OK' | localize" (click)="onOkClick()"></co-button>
6075
+ <co-button [label]="'CANCEL' | localize " (click)="onCancelClick()"></co-button>
6076
+ <co-button [label]="'OVERVIEW' | localize" (click)="onOverviewClick()"></co-button>
6077
+ </div>
6078
+ </ng-container>
6079
+ </co-dialog>
5947
6080
 
5948
- <co-dialog [visible]="editArtikelText" (close)="hideEditArtikelText()">
5949
- <ng-container header>{{ subHeader }}</ng-container>
5950
- <ng-container content>
5951
- <div class="tags-join-content" fxLayout fxLayoutGap="10px">
5952
- <div class="column-separator">
5953
- <co-input-text placeholder="Titel"></co-input-text>
5954
- <!-- <co-text-editor-->
5955
- <!-- label="Artikeltekst"-->
5956
- <!-- ></co-text-editor>-->
5957
- </div>
5958
- </div>
5959
- </ng-container>
5960
- <ng-container footer>
5961
- <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
5962
- <co-button label="OK" (click)="onOkEditArtikelTextClick()"></co-button>
5963
- <co-button label="CANCEL" (click)="hideEditArtikelText()"></co-button>
5964
- </div>
5965
- </ng-container>
5966
- </co-dialog>
5967
- `,
5968
- styles: [""]
6081
+ <transaction-article-text-overview
6082
+ #articleTextOverview>
6083
+ </transaction-article-text-overview>
6084
+ `,
6085
+ providers: [ToolbarService, LinkService, ImageService, HtmlEditorService],
6086
+ styles: [":host .e-toolbar-wrapper{height:50px}\n"]
5969
6087
  },] }
5970
6088
  ];
5971
6089
  TransactionArticleTextComponent.ctorParameters = () => [
5972
6090
  { type: TransactionService }
5973
6091
  ];
5974
6092
  TransactionArticleTextComponent.propDecorators = {
5975
- subHeader: [{ type: Input }]
6093
+ articleTextDialog: [{ type: ViewChild, args: ["articleTextDialog",] }],
6094
+ articleTextOverview: [{ type: ViewChild, args: ["articleTextOverview",] }],
6095
+ editor: [{ type: ViewChild, args: ["rte",] }],
6096
+ subHeader: [{ type: Input }],
6097
+ addTextLine: [{ type: Output }]
5976
6098
  };
5977
6099
 
5978
- class ServiceOrderComponent extends TransactionBaseComponent {
5979
- constructor(service, transactionEvents, iconCacheService) {
6100
+ class TransactionManagerComponent extends TransactionBaseComponent {
6101
+ constructor(service, transactionEvents, promptService, _dictionaryService) {
5980
6102
  super(service);
5981
6103
  this.service = service;
5982
6104
  this.transactionEvents = transactionEvents;
5983
- this.iconCacheService = iconCacheService;
5984
- this.iconThickLines = CoreComponentsIcon.ThickLines;
5985
- this.iconThinLines = CoreComponentsIcon.ThinLines;
5986
- this.iconOrder = CoreComponentsIcon.Order;
5987
- this.viewModes = ContentViewMode;
5988
- this.canPlanDelivery = false;
5989
- this.showTotals = true;
5990
- this.contextMenuItems = [];
5991
- this.isRouteOptimizationConfigured = false;
5992
- this.activeViewMode = ContentViewMode.List;
5993
- this.floatButtonSelected = false;
6105
+ this.promptService = promptService;
6106
+ this._dictionaryService = _dictionaryService;
6107
+ this.linesChanged = new EventEmitter();
6108
+ this.articleAdded = new EventEmitter();
6109
+ this.columns = [];
6110
+ this._inOutCollection = [];
6111
+ this._showCharacteristic = false;
5994
6112
  this._subs = [];
6113
+ this._subs.push(this.service.transactionLoaded.subscribe((transactionInfoResponse) => {
6114
+ if (transactionInfoResponse.isSuccess) {
6115
+ this.transaction = transactionInfoResponse;
6116
+ }
6117
+ }));
5995
6118
  }
5996
- get inListView() {
5997
- return this.activeViewMode === ContentViewMode.List;
6119
+ get amountOfLines() {
6120
+ return NumberUtils.NrOrDefault(this.service.articleAmount, 0);
5998
6121
  }
5999
- get inGridView() {
6000
- return this.activeViewMode === ContentViewMode.Grid;
6122
+ get showCharacteristicDialog() {
6123
+ return this._showCharacteristic;
6001
6124
  }
6002
- ngOnInit() {
6125
+ set showCharacteristicDialog(value) {
6126
+ this._showCharacteristic = value;
6127
+ }
6128
+ ngOnDestroy() {
6129
+ this._subs.forEach(sub => sub.unsubscribe());
6130
+ }
6131
+ addArticleLine(transactionUuid, sku, amount, lineNr, beforeOrAfter) {
6003
6132
  return __awaiter(this, void 0, void 0, function* () {
6004
- this._subs.push(this.service.transactionLoaded.subscribe((transactionInfoResponse) => {
6005
- if (transactionInfoResponse.isSuccess) {
6006
- this.transaction = transactionInfoResponse;
6007
- if (this.transaction && this.transaction.transactionInfo) {
6008
- this.customerId = Number(this.transaction.transactionInfo.relation.relationNr);
6133
+ const goodId = yield this.service.getGoodIdFromArticleNr(sku);
6134
+ if (goodId) {
6135
+ yield this._loadArticle(goodId);
6136
+ yield this._handleAddArticleLineAt(amount, lineNr, beforeOrAfter);
6137
+ }
6138
+ else {
6139
+ this.promptService.showError(this._dictionaryService.get("ARTICLE_UNKNOWN"));
6140
+ }
6141
+ });
6142
+ }
6143
+ changeLineSequence(fromIndex, toIndex) {
6144
+ return __awaiter(this, void 0, void 0, function* () {
6145
+ let fromLine = this._getTransactionLineInfoByIndex(fromIndex);
6146
+ let toLine = this._getTransactionLineInfoByIndex(toIndex);
6147
+ let aboveLineNr;
6148
+ let belowLineNr;
6149
+ if (fromIndex > toIndex) {
6150
+ aboveLineNr = toLine.lineNr;
6151
+ }
6152
+ else {
6153
+ belowLineNr = toLine.lineNr;
6154
+ }
6155
+ yield this.service.changeLineSequence(fromLine.uuid, aboveLineNr, belowLineNr, false)
6156
+ .then((value) => {
6157
+ this.handleLineOperationStatus(value);
6158
+ }, (error) => this.promptService.showError(error));
6159
+ });
6160
+ }
6161
+ showStockManager(line) {
6162
+ return __awaiter(this, void 0, void 0, function* () {
6163
+ this.warehouse.selectedWarehouseNr = line.warehouseNumber;
6164
+ this.warehouse.amount = line.amount;
6165
+ this.warehouse.commissionCode = line.commissionCode;
6166
+ this.warehouse.message = this.currentOperationStatus.pendingReason;
6167
+ this.warehouse.show(line.articleNumber);
6168
+ });
6169
+ }
6170
+ warehouseOkClick() {
6171
+ return __awaiter(this, void 0, void 0, function* () {
6172
+ if (this.warehouse.commissionCode !== undefined) {
6173
+ this.currentReason.commissionCode = this.warehouse.commissionCode;
6174
+ }
6175
+ if (this.warehouse.amount !== undefined) {
6176
+ this.currentReason.quantity = this.warehouse.amount;
6177
+ }
6178
+ if (this.warehouse.selectedWarehouseNr !== undefined) {
6179
+ this.currentReason.warehouseNr = this.warehouse.selectedWarehouseNr;
6180
+ }
6181
+ if (this.currentReason) {
6182
+ yield this.service.resolvePendingLineReason(this.currentReason, false)
6183
+ .then((value) => {
6184
+ this.handleLineOperationStatus(value);
6185
+ });
6186
+ }
6187
+ });
6188
+ }
6189
+ warehouseCancelClick() {
6190
+ return __awaiter(this, void 0, void 0, function* () {
6191
+ if (this.currentReason) {
6192
+ yield this._cancelArticle(this.currentReason.lineUuid);
6193
+ }
6194
+ });
6195
+ }
6196
+ handleCharacteristicAnswerOkClick(answer) {
6197
+ return __awaiter(this, void 0, void 0, function* () {
6198
+ this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
6199
+ this.currentReason.textualUserInput = answer;
6200
+ yield this.service.resolvePendingLineReason(this.currentReason, false)
6201
+ .then((value) => {
6202
+ this.handleLineOperationStatus(value);
6203
+ });
6204
+ });
6205
+ }
6206
+ _handleAddArticle(amount = 1) {
6207
+ return __awaiter(this, void 0, void 0, function* () {
6208
+ yield this.service.addTransactionLine(TransactionLineType.ArticleLine, this.newArticleNr, amount, this.newArticle.standardWareHouse, this.newArticle.commissionCode, false, 0, 0, false)
6209
+ .then((value) => {
6210
+ this.handleLineOperationStatus(value);
6211
+ }, (error) => this.promptService.showError(error));
6212
+ });
6213
+ }
6214
+ _handleAddArticleLineAt(amount, lineNr, beforeOrAfter) {
6215
+ return __awaiter(this, void 0, void 0, function* () {
6216
+ 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)
6217
+ .then((value) => {
6218
+ this.lineOperationStatuses = value.lineOperationStatuses;
6219
+ this.handleLineOperationStatus(value);
6220
+ }, (error) => this.promptService.showError(error));
6221
+ });
6222
+ }
6223
+ _getWareHouseNoFromArticle() {
6224
+ if (this.newArticle !== undefined && this.newArticle.stockLocations !== undefined && this.newArticle.stockLocations.length) {
6225
+ return this.newArticle.stockLocations[0].warehouseNr;
6226
+ }
6227
+ return 0;
6228
+ }
6229
+ isLineOperationStatus(lineOperationStatuses) {
6230
+ this.currentOperationStatus = this.service.pendingLineOperationStatus(lineOperationStatuses);
6231
+ if (this.currentOperationStatus !== undefined) {
6232
+ return true;
6233
+ }
6234
+ return false;
6235
+ }
6236
+ _confirmAction() {
6237
+ return __awaiter(this, void 0, void 0, function* () {
6238
+ this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
6239
+ const pendingReasonText = yield this._getPendingReasonText(this.currentOperationStatus.pendingReason);
6240
+ this.currentReason.confirmation = yield this.promptService.showYesNo(pendingReasonText, " ");
6241
+ yield this.service.resolvePendingLineReason(this.currentReason, false)
6242
+ .then((value) => {
6243
+ this.handleLineOperationStatus(value);
6244
+ });
6245
+ });
6246
+ }
6247
+ _showInformation() {
6248
+ return __awaiter(this, void 0, void 0, function* () {
6249
+ this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
6250
+ const pendingReasonText = yield this._getPendingReasonText(this.currentOperationStatus.pendingReason);
6251
+ yield this.promptService.showOkModal(pendingReasonText, " ");
6252
+ yield this.service.resolvePendingLineReason(this.currentReason, false)
6253
+ .then((value) => {
6254
+ this.handleLineOperationStatus(value);
6255
+ });
6256
+ });
6257
+ }
6258
+ _getPendingReasonText(pendingReason) {
6259
+ return __awaiter(this, void 0, void 0, function* () {
6260
+ if (pendingReason === "ARTICLE_IS_DISCONTINUED_DO_YOU_WANT_TO_CONTINUE_PLEASE_CONFIRM") {
6261
+ return this._dictionaryService.get("ARTICLE_IN_OUT_COLLECTION").replace("|~", yield this.getInOutCollectionOfArticle());
6262
+ }
6263
+ return this._dictionaryService.get(pendingReason);
6264
+ });
6265
+ }
6266
+ getInOutCollectionOfArticle() {
6267
+ return __awaiter(this, void 0, void 0, function* () {
6268
+ if (!this._inOutCollection.length) {
6269
+ this._inOutCollection = yield this.service.getInOutCollection("NL");
6270
+ }
6271
+ const domainValue = this._inOutCollection.find(element => element.code === this.newArticle.inOutCollection);
6272
+ if (domainValue) {
6273
+ return domainValue.description;
6274
+ }
6275
+ return "";
6276
+ });
6277
+ }
6278
+ handleLineOperationStatus(lineOperationResponse) {
6279
+ return __awaiter(this, void 0, void 0, function* () {
6280
+ if (this.isLineOperationStatus(lineOperationResponse.lineOperationStatuses)) {
6281
+ this.transaction = lineOperationResponse;
6282
+ this.articleAdded.emit(this.transaction);
6283
+ yield this._handlePendingLine(this.currentOperationStatus.uuid).then();
6284
+ }
6285
+ else {
6286
+ yield this._saveTransaction();
6287
+ }
6288
+ });
6289
+ }
6290
+ _handlePendingLine(lineUuid) {
6291
+ return __awaiter(this, void 0, void 0, function* () {
6292
+ this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
6293
+ this.currentPendingLine = this.transactionLines.find(l => l.uuid === lineUuid);
6294
+ switch (this.currentOperationStatus.pendingReasonType) {
6295
+ case PendingReasonType.ABORTED:
6296
+ case PendingReasonType.CANCELLED:
6297
+ yield this._cancelArticle(this.currentPendingLine.uuid);
6298
+ break;
6299
+ case PendingReasonType.CONFIRMATION_NEEDED:
6300
+ yield this._confirmAction();
6301
+ break;
6302
+ case PendingReasonType.INVALID_LOGISTICS:
6303
+ yield this.showStockManager(this.currentPendingLine);
6304
+ break;
6305
+ case PendingReasonType.NON_CRITICAL_DISCONTINUATION:
6306
+ yield this._showInformation();
6307
+ break;
6308
+ case PendingReasonType.CHARACTERISTICS_ANSWER_NEEDED:
6309
+ this.CharacteristicsAnswerNeeded();
6310
+ break;
6311
+ case PendingReasonType.NONE:
6312
+ default:
6313
+ this.currentReason = undefined;
6314
+ this.currentPendingLine = undefined;
6315
+ break;
6316
+ }
6317
+ });
6318
+ }
6319
+ _saveTransaction() {
6320
+ return __awaiter(this, void 0, void 0, function* () {
6321
+ if (this.transactionInfo) {
6322
+ const success = yield this.service.saveTransactionByUuid(this.transactionInfo.uuid);
6323
+ if (!success) {
6324
+ this.promptService.showError("Transaction could not be saved!");
6325
+ }
6326
+ }
6327
+ });
6328
+ }
6329
+ _loadArticle(goodId) {
6330
+ return __awaiter(this, void 0, void 0, function* () {
6331
+ this.newArticle = yield this.service.getArticleFullObject(goodId);
6332
+ this.newArticleNr = this.newArticle.articleNr;
6333
+ });
6334
+ }
6335
+ addEmailAddressToTransaction(emailAddress) {
6336
+ this.service.emailAddress = emailAddress;
6337
+ }
6338
+ CharacteristicsAnswerNeeded() {
6339
+ this.characteristicAnswer.question = this.currentOperationStatus.characteristic.question;
6340
+ this.characteristicAnswer.title = this.newArticle.description;
6341
+ this.characteristicAnswer.value = this.currentOperationStatus.characteristic.value;
6342
+ this.characteristicAnswer.characteristics = this.currentOperationStatus.characteristic.transactionLineCharacteristicChoices;
6343
+ setTimeout(() => {
6344
+ this.characteristicAnswer.open();
6345
+ // eslint-disable-next-line no-magic-numbers
6346
+ }, 1000);
6347
+ }
6348
+ _getTransactionLineInfoByIndex(index) {
6349
+ if (index >= 0 && index < this.transactionLines.length) {
6350
+ return this.service.currentLines[index];
6351
+ }
6352
+ }
6353
+ _cancelArticle(uuid) {
6354
+ return __awaiter(this, void 0, void 0, function* () {
6355
+ yield this.service.cancelAddTransactionLine(uuid, false)
6356
+ .then((response) => {
6357
+ this.transaction = response;
6358
+ this.articleAdded.emit(response);
6359
+ });
6360
+ });
6361
+ }
6362
+ addTextLineToTransaction(transactionUuid, text, lineNr, beforeOrAfter) {
6363
+ return __awaiter(this, void 0, void 0, function* () {
6364
+ yield this.service.addTextLineToTransaction(transactionUuid, 0, text, 0, false, lineNr, beforeOrAfter === PositionGridRow.Before ? lineNr : undefined, beforeOrAfter === PositionGridRow.After ? lineNr : undefined)
6365
+ .then((response) => {
6366
+ this.transaction = response;
6367
+ this.articleAdded.emit(response);
6368
+ }, (error) => this.promptService.showError(error));
6369
+ });
6370
+ }
6371
+ }
6372
+ TransactionManagerComponent.decorators = [
6373
+ { type: Component, args: [{
6374
+ // eslint-disable-next-line @angular-eslint/component-selector
6375
+ selector: "transaction-manager",
6376
+ template: `
6377
+ <warehouse #warehouse
6378
+ (okClick)="warehouseOkClick()"
6379
+ (cancelClick)="warehouseCancelClick()"
6380
+ ></warehouse>
6381
+ <characteristic-answer
6382
+ #characteristicAnswer
6383
+ (okClick)="handleCharacteristicAnswerOkClick($event)"
6384
+ ></characteristic-answer>
6385
+ `,
6386
+ 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"]
6387
+ },] }
6388
+ ];
6389
+ TransactionManagerComponent.ctorParameters = () => [
6390
+ { type: TransactionService },
6391
+ { type: TransactionEventService },
6392
+ { type: PromptService },
6393
+ { type: DictionaryService }
6394
+ ];
6395
+ TransactionManagerComponent.propDecorators = {
6396
+ warehouse: [{ type: ViewChild, args: ["warehouse",] }],
6397
+ characteristicAnswer: [{ type: ViewChild, args: ["characteristicAnswer",] }],
6398
+ linesChanged: [{ type: Output }],
6399
+ articleAdded: [{ type: Output }]
6400
+ };
6401
+
6402
+ class ServiceOrderComponent extends TransactionBaseComponent {
6403
+ constructor(service, transactionEvents, iconCacheService, _promptService) {
6404
+ super(service);
6405
+ this.service = service;
6406
+ this.transactionEvents = transactionEvents;
6407
+ this.iconCacheService = iconCacheService;
6408
+ this._promptService = _promptService;
6409
+ this.iconThickLines = CoreComponentsIcon.ThickLines;
6410
+ this.iconThinLines = CoreComponentsIcon.ThinLines;
6411
+ this.iconOrder = CoreComponentsIcon.Order;
6412
+ this.viewModes = ContentViewMode;
6413
+ this.canPlanDelivery = false;
6414
+ this.showTotals = true;
6415
+ this.floatButtonRightPosition = ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITHOUT_SIDEBAR;
6416
+ this.contextMenuItems = [];
6417
+ this.isRouteOptimizationConfigured = false;
6418
+ this.activeViewMode = ContentViewMode.List;
6419
+ this.newArticleNr = "";
6420
+ this._subs = [];
6421
+ }
6422
+ get inListView() {
6423
+ return this.activeViewMode === ContentViewMode.List;
6424
+ }
6425
+ get inGridView() {
6426
+ return this.activeViewMode === ContentViewMode.Grid;
6427
+ }
6428
+ get subHeader() {
6429
+ if (this._selectedTransLine) {
6430
+ return this._selectedTransLine.goodDescription;
6431
+ }
6432
+ return "Geen artikel geselecteerd";
6433
+ }
6434
+ ngOnInit() {
6435
+ return __awaiter(this, void 0, void 0, function* () {
6436
+ this._subs.push(this.service.transactionLoaded.subscribe((transactionInfoResponse) => {
6437
+ if (transactionInfoResponse.isSuccess) {
6438
+ this.transaction = transactionInfoResponse;
6439
+ if (this.transaction && this.transaction.transactionInfo) {
6440
+ this.customerId = Number(this.transaction.transactionInfo.relation.relationNr);
6009
6441
  this.relationId = this.transaction.transactionInfo.relation.relationId;
6010
6442
  }
6011
6443
  }
@@ -6019,6 +6451,13 @@ class ServiceOrderComponent extends TransactionBaseComponent {
6019
6451
  }));
6020
6452
  });
6021
6453
  }
6454
+ ngAfterViewInit() {
6455
+ this._subs.push(this._transactionManager.articleAdded.subscribe((transactionInfoResponse) => {
6456
+ this.transaction = transactionInfoResponse;
6457
+ }), this._transactionArticleText.addTextLine.subscribe((transactionAddTextLineRequest) => {
6458
+ this.addTextLine(transactionAddTextLineRequest);
6459
+ }));
6460
+ }
6022
6461
  ngOnDestroy() {
6023
6462
  this._subs.forEach(sub => sub.unsubscribe());
6024
6463
  }
@@ -6050,25 +6489,30 @@ class ServiceOrderComponent extends TransactionBaseComponent {
6050
6489
  this.floatButtonRightPosition = ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITHOUT_SIDEBAR;
6051
6490
  }
6052
6491
  }
6053
- onOkClick() {
6054
- this.hide();
6055
- }
6056
- hide() {
6057
- this.floatButtonSelected = false;
6058
- }
6059
6492
  floatButtonClick() {
6060
- this.floatButtonSelected = true;
6061
- this._transactionArticleTextComponent.visible = this.floatButtonSelected;
6062
- }
6063
- get subHeader() {
6064
- if (this._selectedTransLine && this._selectedTransLine !== undefined) {
6065
- return this._selectedTransLine.goodDescription;
6066
- }
6067
- return "";
6493
+ this._transactionArticleText.transactionAddTextLineRequest.transactionUuid = this.transactionInfo.uuid;
6494
+ this._transactionArticleText.transactionAddTextLineRequest.text = "";
6495
+ this._transactionArticleText.selectedLine = this._selectedTransLine;
6496
+ this._transactionArticleText.subHeader = this.subHeader;
6497
+ this._transactionArticleText.open();
6068
6498
  }
6069
6499
  hideOrderTotals(event) {
6070
6500
  this.showTotals = false;
6071
6501
  }
6502
+ addArticleLine(event) {
6503
+ return __awaiter(this, void 0, void 0, function* () {
6504
+ if (event.code === "Enter") {
6505
+ if (this.newArticleNr && this.newArticleNr !== "") {
6506
+ yield this._transactionManager.addArticleLine(this.transactionInfo.uuid, this.newArticleNr, 1, 0, PositionGridRow.After);
6507
+ }
6508
+ }
6509
+ });
6510
+ }
6511
+ addTextLine(transactionAddTextLineRequest) {
6512
+ return __awaiter(this, void 0, void 0, function* () {
6513
+ this._transactionManager.addTextLineToTransaction(transactionAddTextLineRequest.transactionUuid, transactionAddTextLineRequest.text, transactionAddTextLineRequest.refArticleLineNr, PositionGridRow.After);
6514
+ });
6515
+ }
6072
6516
  }
6073
6517
  ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITHOUT_SIDEBAR = 50;
6074
6518
  ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITH_SIDEBAR = 350;
@@ -6077,6 +6521,7 @@ ServiceOrderComponent.decorators = [
6077
6521
  // eslint-disable-next-line @angular-eslint/component-selector
6078
6522
  selector: "service-order",
6079
6523
  template: `
6524
+ <transaction-manager></transaction-manager>
6080
6525
  <div id="transaction-general-tab" style="height:100%;">
6081
6526
  <transaction-header-block
6082
6527
  [relationId]="relationId"
@@ -6085,6 +6530,14 @@ ServiceOrderComponent.decorators = [
6085
6530
  (planningRequestButtonClick)="handlePlanningRequest($event)"
6086
6531
  ></transaction-header-block>
6087
6532
  <div *ngIf="!isService">
6533
+ <div style="display: flex; flex-direction: row; place-content: center">
6534
+ <co-input-text style="width: 200px;"
6535
+ [(model)]="newArticleNr"
6536
+ [placeholder]="'WHERE_ARE_YOU_LOOKING_FOR' | localize"
6537
+ [showClearButton]="true"
6538
+ (keypress)="addArticleLine($event)"
6539
+ ></co-input-text>
6540
+ </div>
6088
6541
  <div class="transaction-view" fxLayout="row" fxLayoutGap="1px" fxLayoutAlign="flex-end">
6089
6542
  <div class="view-mode-buttons">
6090
6543
  <co-button [iconData]="iconCacheService.getIcon(iconThickLines)"
@@ -6115,7 +6568,6 @@ ServiceOrderComponent.decorators = [
6115
6568
  </div>
6116
6569
  </div>
6117
6570
  <transaction-order-totals *ngIf="!isService"
6118
- [transactionTotal]="transactionTotal"
6119
6571
  [ngClass]="showTotals ? 'transaction-totals-show' : 'transaction-totals-hide'"></transaction-order-totals>
6120
6572
  </div>
6121
6573
 
@@ -6127,34 +6579,37 @@ ServiceOrderComponent.decorators = [
6127
6579
  ServiceOrderComponent.ctorParameters = () => [
6128
6580
  { type: TransactionService },
6129
6581
  { type: TransactionEventService },
6130
- { type: IconCacheService }
6582
+ { type: IconCacheService },
6583
+ { type: PromptService }
6131
6584
  ];
6132
6585
  ServiceOrderComponent.propDecorators = {
6133
- _transactionArticleTextComponent: [{ type: ViewChild, args: [TransactionArticleTextComponent, { static: false },] }]
6586
+ _transactionArticleText: [{ type: ViewChild, args: [TransactionArticleTextComponent,] }],
6587
+ _transactionManager: [{ type: ViewChild, args: [TransactionManagerComponent,] }]
6134
6588
  };
6135
6589
 
6136
- class TransactionOrderTotalsComponent /*extends TransactionBaseComponent*/ {
6590
+ class TransactionOrderTotalsComponent extends TransactionBaseComponent {
6137
6591
  constructor(service) {
6592
+ super(service);
6138
6593
  this.service = service;
6139
- //super(service);
6140
6594
  }
6141
6595
  }
6142
6596
  TransactionOrderTotalsComponent.decorators = [
6143
6597
  { type: Component, args: [{
6598
+ // eslint-disable-next-line @angular-eslint/component-selector
6144
6599
  selector: "transaction-order-totals",
6145
6600
  template: `
6146
6601
  <div class="totals-wrapper">
6147
6602
  <div class="totals-item">
6148
6603
  <div class="totals-item-description" [textContent]="'SUBTOTAL' | localize"></div>
6149
- <div class="totals-item-value" [textContent]="transactionTotal.grossAmount | coCurrency | coCurrency"></div>
6604
+ <div class="totals-item-value" [textContent]="transactionTotal?.grossAmount | coCurrency | coCurrency"></div>
6150
6605
  </div>
6151
6606
  <div class="totals-item">
6152
6607
  <div class="totals-item-description" [textContent]="'VAT_AMOUNT' | localize"></div>
6153
- <div class="totals-item-value" [textContent]="transactionTotal.surchargeAmount | coCurrency"></div>
6608
+ <div class="totals-item-value" [textContent]="transactionTotal?.surchargeAmount | coCurrency"></div>
6154
6609
  </div>
6155
6610
  <div class="totals-item total">
6156
6611
  <div class="totals-item-description" [textContent]="'TRANSACTION_SUM_I' | localize"></div>
6157
- <div class="totals-item-value" [textContent]="transactionTotal.netAmount | coCurrency"></div>
6612
+ <div class="totals-item-value" [textContent]="transactionTotal?.netAmount | coCurrency"></div>
6158
6613
  </div>
6159
6614
  </div>
6160
6615
  `,
@@ -6163,10 +6618,7 @@ TransactionOrderTotalsComponent.decorators = [
6163
6618
  ];
6164
6619
  TransactionOrderTotalsComponent.ctorParameters = () => [
6165
6620
  { type: TransactionService }
6166
- ];
6167
- TransactionOrderTotalsComponent.propDecorators = {
6168
- transactionTotal: [{ type: Input }]
6169
- };
6621
+ ];
6170
6622
 
6171
6623
  class TransactionOrderLineViewComponent {
6172
6624
  constructor(_service, _eventService) {
@@ -6228,7 +6680,7 @@ TransactionOrderLineViewComponent.decorators = [
6228
6680
  </div>
6229
6681
  </div>
6230
6682
  `,
6231
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.transaction-order-line-r .transaction-order-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-top:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-bottom:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-left:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:block;padding:20px}:host ::ng-deep collapseable{width:100%!important}.horizontal{display:flex;flex-direction:row}.service-request-button-wrapper{display:flex;justify-content:center;margin-top:20px}.transaction-order-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.transaction-order-line-r{flex-direction:column}}.transaction-order-line-r .transaction-order-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center;padding-right:10px}.transaction-order-line-r .transaction-order-line-image image-display{width:6em;height:6em}.transaction-order-line-r .transaction-order-line-image ::ng-deep no-image-display{display:none}.transaction-order-line-r .transaction-order-line-description{display:flex;flex-direction:column;width:auto;max-width:355px;margin-left:10px}.transaction-order-line-r .transaction-order-line-description .cart-line-description-main{font-weight:bold}.transaction-order-line-r .transaction-order-line-right{justify-content:flex-end;align-items:center}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals span{text-align:right}\n"]
6683
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.transaction-order-line-r .transaction-order-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-top:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-bottom:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-left:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:block;padding:20px}:host ::ng-deep collapseable{width:100%!important}.horizontal{display:flex;flex-direction:row}.service-request-button-wrapper{display:flex;justify-content:center;margin-top:20px}.transaction-order-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.transaction-order-line-r{flex-direction:column}}.transaction-order-line-r .transaction-order-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center;padding-right:10px}.transaction-order-line-r .transaction-order-line-image image-display{width:6em;height:6em}.transaction-order-line-r .transaction-order-line-image ::ng-deep no-image-display{display:none}.transaction-order-line-r .transaction-order-line-description{display:flex;flex-direction:column;width:auto;max-width:355px;margin-left:10px}.transaction-order-line-r .transaction-order-line-description .cart-line-description-main{font-weight:bold}.transaction-order-line-r .transaction-order-line-right{justify-content:flex-end;align-items:center}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{width:15em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals span{text-align:right}\n"]
6232
6684
  },] }
6233
6685
  ];
6234
6686
  TransactionOrderLineViewComponent.ctorParameters = () => [
@@ -6248,7 +6700,7 @@ class TransactionOrderLinesComponent extends TransactionBaseComponent {
6248
6700
  this.createServiceClick = new EventEmitter();
6249
6701
  this.nothingSelected = true;
6250
6702
  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") });
6703
+ 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
6704
  }
6253
6705
  get pagingEnabled() {
6254
6706
  if (this.transactionLines) {
@@ -6292,7 +6744,7 @@ TransactionOrderLinesComponent.decorators = [
6292
6744
  (rowsSelected)="onRowClick($event)"
6293
6745
  ></co-grid>
6294
6746
  `,
6295
- styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.transaction-order-line-r .transaction-order-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-top:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-bottom:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-left:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:block;padding:20px}:host ::ng-deep collapseable{width:100%!important}.service-request-button-wrapper{display:flex;justify-content:center;margin-top:20px}.transaction-order-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.transaction-order-line-r{flex-direction:column}}.transaction-order-line-r .transaction-order-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center;padding-right:10px}.transaction-order-line-r .transaction-order-line-image image-display{width:6em;height:6em}.transaction-order-line-r .transaction-order-line-image ::ng-deep no-image-display{display:none}.transaction-order-line-r .transaction-order-line-description{display:flex;flex-direction:column;width:auto;max-width:355px;margin-left:10px}.transaction-order-line-r .transaction-order-line-description .cart-line-description-main{font-weight:bold}.transaction-order-line-r .transaction-order-line-right{justify-content:flex-end;align-items:center}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals span{text-align:right}\n"]
6747
+ styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.transaction-order-line-r .transaction-order-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-top:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-bottom:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-left:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:block;padding:20px}:host ::ng-deep collapseable{width:100%!important}.service-request-button-wrapper{display:flex;justify-content:center;margin-top:20px}.transaction-order-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.transaction-order-line-r{flex-direction:column}}.transaction-order-line-r .transaction-order-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center;padding-right:10px}.transaction-order-line-r .transaction-order-line-image image-display{width:6em;height:6em}.transaction-order-line-r .transaction-order-line-image ::ng-deep no-image-display{display:none}.transaction-order-line-r .transaction-order-line-description{display:flex;flex-direction:column;width:auto;max-width:355px;margin-left:10px}.transaction-order-line-r .transaction-order-line-description .cart-line-description-main{font-weight:bold}.transaction-order-line-r .transaction-order-line-right{justify-content:flex-end;align-items:center}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{width:15em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals span{text-align:right}\n"]
6296
6748
  },] }
6297
6749
  ];
6298
6750
  TransactionOrderLinesComponent.ctorParameters = () => [
@@ -7011,9 +7463,9 @@ TransactionServiceSummaryComponent.decorators = [
7011
7463
  label="SERVICE"
7012
7464
  [icon]="iconWrench"
7013
7465
  headerLabel="SERVICE_NUMBER"
7014
- [headerValue]="transactionInfo.transactionNr"
7466
+ [headerValue]="transactionInfo?.transactionNr"
7015
7467
  subHeaderLabel="SERVICE_REQUEST_DATE"
7016
- [subHeaderValue]="transactionInfo.transactionDate | date:'shortDate'"
7468
+ [subHeaderValue]="transactionInfo?.transactionDate | date:'shortDate'"
7017
7469
  ></transaction-summary-block>
7018
7470
  `
7019
7471
  },] }
@@ -7135,9 +7587,9 @@ TransactionOrderSummaryComponent.decorators = [
7135
7587
  label="ORDER_INFO"
7136
7588
  [icon]="iconOrder"
7137
7589
  headerLabel="ORDER_NUMBER"
7138
- [headerValue]="isService ? sourceTransactionNr : transactionInfo.transactionNr"
7590
+ [headerValue]="isService ? sourceTransactionNr : transactionInfo?.transactionNr"
7139
7591
  subHeaderLabel="ORDER_DATE"
7140
- [subHeaderValue]="(isService ? sourceTransactionDate : this.transactionInfo.transactionDate) | date:'shortDate'"
7592
+ [subHeaderValue]="(isService ? sourceTransactionDate : this.transactionInfo?.transactionDate) | date:'shortDate'"
7141
7593
  ></transaction-summary-block>
7142
7594
  `
7143
7595
  },] }
@@ -7166,9 +7618,9 @@ TransactionPaymentInfoComponent.decorators = [
7166
7618
  label="PAYMENT"
7167
7619
  [icon]="euro"
7168
7620
  headerLabel="TOTAL_AMOUNT"
7169
- [headerValue]="transactionTotal.netAmount | coCurrency"
7621
+ [headerValue]="transactionTotal?.netAmount | coCurrency"
7170
7622
  subHeaderLabel="PAID_DOWN2"
7171
- [subHeaderValue]="transactionTotal.transactionDiscountAmount | coCurrency"
7623
+ [subHeaderValue]="transactionTotal?.transactionDiscountAmount | coCurrency"
7172
7624
  ></transaction-summary-block>
7173
7625
  `
7174
7626
  },] }
@@ -7258,12 +7710,12 @@ TransactionDeliverySummaryComponent.decorators = [
7258
7710
  [icon]="deliveryTruck"
7259
7711
  headerLabel="DELIVERY_METHOD2"
7260
7712
  [headerValue]="deliveryMethodDescription"
7261
- [subHeaderLabel]="transactionInfo.preferredDeliveryDate ? 'DELIVERY_DATE' : !canPlanDelivery ? 'EXPECTED_DELIVERY_WEEK' : 'EXPECTED_DELIVERY'"
7262
- [subHeaderValue]="transactionInfo.preferredDeliveryDate ? (transactionInfo.deliveryDate | date:'shortDate') : 'WEEK' | localize | append:(' ') | append:(transactionInfo.deliveryDate | date:'w')">
7713
+ [subHeaderLabel]="transactionInfo?.preferredDeliveryDate ? 'DELIVERY_DATE' : !canPlanDelivery ? 'EXPECTED_DELIVERY_WEEK' : 'EXPECTED_DELIVERY'"
7714
+ [subHeaderValue]="transactionInfo?.preferredDeliveryDate ? (transactionInfo?.deliveryDate | date:'shortDate') : 'WEEK' | localize | append:(' ') | append:(transactionInfo?.deliveryDate | date:'w')">
7263
7715
  <ng-template #subHeaderTemplate *ngIf="canPlanDelivery">
7264
7716
  <div class="planning-wrapper">
7265
- <span class="subheader" *ngIf="transactionInfo.preferredDeliveryDate"
7266
- [textContent]="(transactionInfo.preferredDeliveryDate | date:'shortDate') + ', ' + transactionInfo.preferredDeliveryDate | date: 'time' "></span>
7717
+ <span class="subheader" *ngIf="transactionInfo?.preferredDeliveryDate"
7718
+ [textContent]="(transactionInfo?.preferredDeliveryDate | date:'shortDate') + ', ' + transactionInfo?.preferredDeliveryDate | date: 'time' "></span>
7267
7719
  <!-- <arrow-link *ngIf="!transactionInfo.preferredDeliveryDate"-->
7268
7720
  <!-- label="PLAN_YOUR_DELIVERY"-->
7269
7721
  <!-- (click)="planningRequestButtonClick.emit($event)"-->
@@ -7464,12 +7916,309 @@ DefaultOkCancelButtonsComponent.propDecorators = {
7464
7916
  okButtonComp: [{ type: ViewChild, args: ["okButton",] }]
7465
7917
  };
7466
7918
 
7919
+ class WarehouseComponent {
7920
+ constructor(service, _dictionaryService) {
7921
+ this.service = service;
7922
+ this._dictionaryService = _dictionaryService;
7923
+ this.message = "";
7924
+ this.okClick = new EventEmitter();
7925
+ this.cancelClick = new EventEmitter();
7926
+ this.commissionCodes = [];
7927
+ this.commissionFields = { text: "description", value: "code" };
7928
+ this.transactionArticleWarehouses = [];
7929
+ this.columns = [];
7930
+ this._okOrCancelClick = false;
7931
+ }
7932
+ ngOnInit() {
7933
+ return __awaiter(this, void 0, void 0, function* () {
7934
+ this.commissionCodes = yield this.service.getCommissionCodes("NL");
7935
+ 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") });
7936
+ });
7937
+ }
7938
+ ngOnDestroy() {
7939
+ this.warehouseDialog.close();
7940
+ }
7941
+ showStockManager(line) {
7942
+ return __awaiter(this, void 0, void 0, function* () {
7943
+ this.selectedWarehouseNr = line.warehouseNumber;
7944
+ this.amount = line.amount;
7945
+ this.commissionCode = line.commissionCode;
7946
+ this.show(line.articleNumber);
7947
+ });
7948
+ }
7949
+ hide() {
7950
+ return __awaiter(this, void 0, void 0, function* () {
7951
+ if (this._okOrCancelClick) {
7952
+ this._okOrCancelClick = false;
7953
+ return;
7954
+ }
7955
+ yield this.onStockManagerCancelClick();
7956
+ });
7957
+ }
7958
+ show(articleNr) {
7959
+ this._reloadDataCollections(articleNr).then();
7960
+ this.warehouseGrid.selectRow(this.selectedWarehouseNr);
7961
+ this.warehouseDialog.targetElement = null;
7962
+ this.warehouseDialog.open();
7963
+ }
7964
+ handleRowsSelected(rows) {
7965
+ this.selectedWarehouseNr = (rows.find(x => x !== undefined)).warehouseNr;
7966
+ }
7967
+ onStockManagerCancelClick() {
7968
+ return __awaiter(this, void 0, void 0, function* () {
7969
+ this._okOrCancelClick = true;
7970
+ this.warehouseDialog.close();
7971
+ this.cancelClick.emit();
7972
+ });
7973
+ }
7974
+ onStockManagerOkClick() {
7975
+ return __awaiter(this, void 0, void 0, function* () {
7976
+ this._okOrCancelClick = true;
7977
+ this.warehouseDialog.close();
7978
+ this.okClick.emit();
7979
+ });
7980
+ }
7981
+ _reloadDataCollections(articleNr) {
7982
+ return __awaiter(this, void 0, void 0, function* () {
7983
+ const goodId = yield this.service.getGoodIdFromArticleNr(articleNr);
7984
+ this.transactionArticleWarehouses = yield this.service.getTransactionArticleWarehouses(goodId);
7985
+ });
7986
+ }
7987
+ }
7988
+ WarehouseComponent.decorators = [
7989
+ { type: Component, args: [{
7990
+ // eslint-disable-next-line @angular-eslint/component-selector
7991
+ selector: "warehouse",
7992
+ template: `
7993
+ <co-dialog #warehouseDialog
7994
+ (closeClick)="hide()"
7995
+ (overlayClick)="onStockManagerCancelClick()"
7996
+ >
7997
+ <ng-container header>{{ 'STOCK_NOTIFICATION' | localize }}</ng-container>
7998
+
7999
+ <ng-container content>
8000
+ <co-form>
8001
+ <div class="form-content">
8002
+ <span *ngIf="message" class="message-field" [textContent]="message | localize"></span>
8003
+ <div class="commission-fields" fxLayout="row">
8004
+ <co-input-number-picker class="horizontal" [(model)]="amount" [min]="0" decimals="3"></co-input-number-picker>
8005
+ <co-input-combo-box [(model)]="commissionCode"
8006
+ [source]="commissionCodes"
8007
+ [fields]="commissionFields"
8008
+ [placeholder]="'COMMISSION_CODE' | localize"
8009
+ [required]="true"
8010
+ ></co-input-combo-box>
8011
+ </div>
8012
+ <div>
8013
+ <co-grid #warehouseGrid
8014
+ [data]="transactionArticleWarehouses"
8015
+ [columns]="columns"
8016
+ [pagingEnabled]="'true'"
8017
+ [maxNumberOfRows]="'10'"
8018
+ (rowsSelected)="handleRowsSelected($event)"
8019
+ ></co-grid>
8020
+ </div>
8021
+ </div>
8022
+ </co-form>
8023
+ </ng-container>
8024
+
8025
+ <ng-container footer>
8026
+ <div class="flex-center">
8027
+ <co-button [label]="'OK' | localize" (click)="onStockManagerOkClick()"></co-button>
8028
+ <co-button [label]="'CANCEL' | localize" (click)="onStockManagerCancelClick()"></co-button>
8029
+ </div>
8030
+ </ng-container>
8031
+ </co-dialog>
8032
+ `,
8033
+ 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"]
8034
+ },] }
8035
+ ];
8036
+ WarehouseComponent.ctorParameters = () => [
8037
+ { type: TransactionService },
8038
+ { type: DictionaryService }
8039
+ ];
8040
+ WarehouseComponent.propDecorators = {
8041
+ warehouseDialog: [{ type: ViewChild, args: ["warehouseDialog",] }],
8042
+ warehouseGrid: [{ type: ViewChild, args: ["warehouseGrid",] }],
8043
+ message: [{ type: Input }],
8044
+ okClick: [{ type: Output }],
8045
+ cancelClick: [{ type: Output }]
8046
+ };
8047
+
8048
+ class TransactionArticleTextOverviewComponent extends TransactionBaseComponent {
8049
+ constructor(service, _dictionaryService) {
8050
+ super(service);
8051
+ this.service = service;
8052
+ this._dictionaryService = _dictionaryService;
8053
+ this.articleTexts = [
8054
+ { title: "title 1", description: "Omschrijving 1" },
8055
+ { title: "title 2", description: "Omschrijving 2" },
8056
+ { title: "title 3", description: "Omschrijving 3" },
8057
+ { title: "title 4", description: "Omschrijving 4" },
8058
+ { title: "title 5", description: "Omschrijving 5" },
8059
+ ];
8060
+ this.columns = [];
8061
+ }
8062
+ ngOnInit() {
8063
+ return __awaiter(this, void 0, void 0, function* () {
8064
+ this.columns.push({ field: "title", headerText: this._dictionaryService.get("TITLE"), allowFiltering: false }, { field: "description", headerText: this._dictionaryService.get("DESCRIPTION") });
8065
+ });
8066
+ }
8067
+ open() {
8068
+ if (this.articleTextOverviewDialog) {
8069
+ this.articleTextOverviewDialog.open();
8070
+ }
8071
+ }
8072
+ onPopupClose() {
8073
+ this.hide();
8074
+ }
8075
+ hide() {
8076
+ if (this.articleTextOverviewDialog) {
8077
+ this.articleTextOverviewDialog.close();
8078
+ }
8079
+ }
8080
+ onOkClick() {
8081
+ this.hide();
8082
+ }
8083
+ onCancelClick() {
8084
+ this.hide();
8085
+ }
8086
+ handleRowsSelected(rows) {
8087
+ this.editArticleText.subHeader = this._dictionaryService.get("CHANGE_ARTICLE_TEXT");
8088
+ this.editArticleText.title = (rows.find(x => x !== undefined)).title;
8089
+ this.editArticleText.text = (rows.find(x => x !== undefined)).description;
8090
+ this.editArticleText.open();
8091
+ }
8092
+ }
8093
+ TransactionArticleTextOverviewComponent.decorators = [
8094
+ { type: Component, args: [{
8095
+ // eslint-disable-next-line @angular-eslint/component-selector
8096
+ selector: "transaction-article-text-overview",
8097
+ template: `
8098
+ <co-dialog #articleTextOverviewDialog (close)="hide()">
8099
+ <ng-container header>Artikelgebonden teksten {{ subHeader }}</ng-container>
8100
+ <ng-container content>
8101
+ <div class="tags-join-content" fxLayout fxLayoutGap="10px">
8102
+ <div class="column-separator" style="width:75%">
8103
+ <co-grid #warehouseGrid
8104
+ [data]="articleTexts"
8105
+ [columns]="columns"
8106
+ [pagingEnabled]="'true'"
8107
+ [maxNumberOfRows]="'10'"
8108
+ (rowsSelected)="handleRowsSelected($event)"
8109
+ ></co-grid>
8110
+ </div>
8111
+ <div style="margin-left:5px;">
8112
+ <label [textContent]="'FOR_DOCUMENTS' | localize"></label>
8113
+ <ejs-chiplist id="chip-default">
8114
+ <e-chips>
8115
+ <e-chip text="Apple" cssClass="e-primary"></e-chip>
8116
+ <e-chip text="Microsoft" cssClass="e-info"></e-chip>
8117
+ <e-chip text="Google" cssClass="e-success"></e-chip>
8118
+ <e-chip text="Tesla" cssClass="e-warning"></e-chip>
8119
+ <e-chip text="Intel" cssClass="e-danger"></e-chip>
8120
+ </e-chips>
8121
+ </ejs-chiplist>
8122
+ </div>
8123
+ </div>
8124
+ </ng-container>
8125
+ <ng-container footer>
8126
+ <div class="footer" fxLayout fxPosition="row" fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
8127
+ <co-button [label]="'OK' | localize" (click)="onOkClick()"></co-button>
8128
+ <co-button [label]="'CANCEL' | localize" (click)="onCancelClick()"></co-button>
8129
+ </div>
8130
+ </ng-container>
8131
+ </co-dialog>
8132
+
8133
+ <transaction-edit-article-text #editArticleText></transaction-edit-article-text>
8134
+ `,
8135
+ styles: [""]
8136
+ },] }
8137
+ ];
8138
+ TransactionArticleTextOverviewComponent.ctorParameters = () => [
8139
+ { type: TransactionService },
8140
+ { type: DictionaryService }
8141
+ ];
8142
+ TransactionArticleTextOverviewComponent.propDecorators = {
8143
+ articleTextOverviewDialog: [{ type: ViewChild, args: ["articleTextOverviewDialog",] }],
8144
+ editArticleText: [{ type: ViewChild, args: ["editArticleText",] }],
8145
+ subHeader: [{ type: Input }]
8146
+ };
8147
+
8148
+ class TransactionEditArticleTextComponent extends TransactionBaseComponent {
8149
+ constructor(service) {
8150
+ super(service);
8151
+ this.service = service;
8152
+ }
8153
+ open() {
8154
+ if (this.editArticleTextDialog) {
8155
+ this.editArticleTextDialog.open();
8156
+ }
8157
+ }
8158
+ onPopupClose() {
8159
+ this.hide();
8160
+ }
8161
+ hide() {
8162
+ if (this.editArticleTextDialog) {
8163
+ this.editArticleTextDialog.close();
8164
+ }
8165
+ }
8166
+ onOkClick() {
8167
+ this.hide();
8168
+ }
8169
+ onCancelClick() {
8170
+ this.hide();
8171
+ }
8172
+ onChangeText(event) {
8173
+ this.text = this.editor.getText();
8174
+ }
8175
+ }
8176
+ TransactionEditArticleTextComponent.decorators = [
8177
+ { type: Component, args: [{
8178
+ // eslint-disable-next-line @angular-eslint/component-selector
8179
+ selector: "transaction-edit-article-text",
8180
+ template: `
8181
+ <co-dialog #editArticleTextDialog (close)="hide()">
8182
+ <ng-container header>{{ subHeader }}</ng-container>
8183
+ <ng-container content>
8184
+ <div class="column-separator">
8185
+ <co-input-text [placeholder]="'TITLE' | localize" [(model)]="title"></co-input-text>
8186
+ <co-rich-text-editor
8187
+ #rte
8188
+ id="rte"
8189
+ [model]="text"
8190
+ (onChangeEvent)="onChangeText($event)"
8191
+ ></co-rich-text-editor>
8192
+ </div>
8193
+ </ng-container>
8194
+ <ng-container footer>
8195
+ <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
8196
+ <co-button [label]="'OK' | localize" (click)="onOkClick()"></co-button>
8197
+ <co-button [label]="'CANCEL' | localize" (click)="onCancelClick()"></co-button>
8198
+ </div>
8199
+ </ng-container>
8200
+ </co-dialog>
8201
+ `,
8202
+ providers: [ToolbarService, LinkService, ImageService, HtmlEditorService],
8203
+ styles: [""]
8204
+ },] }
8205
+ ];
8206
+ TransactionEditArticleTextComponent.ctorParameters = () => [
8207
+ { type: TransactionService }
8208
+ ];
8209
+ TransactionEditArticleTextComponent.propDecorators = {
8210
+ editArticleTextDialog: [{ type: ViewChild, args: ["editArticleTextDialog",] }],
8211
+ editor: [{ type: ViewChild, args: ["rte",] }],
8212
+ subHeader: [{ type: Input }],
8213
+ title: [{ type: Input }],
8214
+ text: [{ type: Input }]
8215
+ };
8216
+
7467
8217
  class IoneServiceOrderModule {
7468
8218
  }
7469
8219
  IoneServiceOrderModule.decorators = [
7470
8220
  { type: NgModule, args: [{
7471
8221
  imports: [
7472
- BrowserAnimationsModule,
7473
8222
  IconModule,
7474
8223
  InputTextModule,
7475
8224
  InputCheckboxModule,
@@ -7487,13 +8236,16 @@ IoneServiceOrderModule.decorators = [
7487
8236
  PopupModule.forRoot(),
7488
8237
  CoSidebarModule,
7489
8238
  CoGridModule,
7490
- CoreModule,
7491
8239
  ChipListModule,
7492
8240
  DropDownButtonModule,
7493
8241
  CheckBoxModule,
7494
8242
  DropDownListModule,
7495
8243
  IoneShoppingCartModule,
7496
8244
  TabModule,
8245
+ CoreModule,
8246
+ CommonModule,
8247
+ RichTextEditorModule,
8248
+ CoRichTextEditorModule,
7497
8249
  ],
7498
8250
  declarations: [
7499
8251
  TemplateWrapperDirective,
@@ -7505,6 +8257,8 @@ IoneServiceOrderModule.decorators = [
7505
8257
  TransactionOrderLinesComponent,
7506
8258
  TransactionRelationAddressComponent,
7507
8259
  TransactionArticleTextComponent,
8260
+ TransactionArticleTextOverviewComponent,
8261
+ TransactionEditArticleTextComponent,
7508
8262
  TransactionSidebarRightComponent,
7509
8263
  TransactionLineAccordionComponent,
7510
8264
  TransactionHeaderBlockComponent,
@@ -7518,11 +8272,13 @@ IoneServiceOrderModule.decorators = [
7518
8272
  TransactionDeliverySummaryComponent,
7519
8273
  TransactionProductContractSummaryComponent,
7520
8274
  TransactionProductSummaryComponent,
8275
+ TransactionManagerComponent,
8276
+ WarehouseComponent,
7521
8277
  ],
7522
8278
  providers: [
7523
8279
  DictionaryService,
7524
8280
  TransactionService,
7525
- OptionsService
8281
+ OptionsService,
7526
8282
  ],
7527
8283
  entryComponents: [
7528
8284
  IoneServiceOrderComponent
@@ -7538,5 +8294,5 @@ IoneServiceOrderModule.decorators = [
7538
8294
  * Generated bundle index. Do not edit.
7539
8295
  */
7540
8296
 
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 };
8297
+ 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, 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, CheckoutOverviewComponent as ɵc, TransactionArticleSummaryComponent as ɵca, TransactionDeliverySummaryComponent as ɵcb, TransactionProductContractSummaryComponent as ɵcc, TransactionProductSummaryComponent as ɵcd, WarehouseComponent as ɵce, 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 };
7542
8298
  //# sourceMappingURL=colijnit-transaction.js.map