@colijnit/transaction 12.1.140 → 12.1.141

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 (113) hide show
  1. package/bundles/colijnit-transaction.umd.js +1133 -265
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +14 -0
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +15 -1
  6. package/esm2015/lib/component/checkout/checkout.module.js +2 -2
  7. package/esm2015/lib/component/deposit-payment/deposit-payment.component.js +3 -2
  8. package/esm2015/lib/component/payment/payment.component.js +15 -133
  9. package/esm2015/lib/component/payment-tile/payment-tile.component.js +4 -2
  10. package/esm2015/lib/component/tile/tile.component.js +4 -2
  11. package/esm2015/lib/component/tile/tile.module.js +4 -2
  12. package/esm2015/lib/component/transaction/transaction.component.js +15 -6
  13. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.component.js +56 -20
  14. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-link-relation/transaction-cash-register-link-relation.component.js +97 -0
  15. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-link-relation/transaction-cash-register-link-relation.module.js +24 -0
  16. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.js +63 -41
  17. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.module.js +6 -2
  18. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-buttons.component.js +24 -0
  19. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-buttons.module.js +21 -0
  20. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-cash.component.js +82 -0
  21. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-cash.module.js +29 -0
  22. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-done.component.js +98 -0
  23. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-done.module.js +23 -0
  24. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-method.component.js +56 -0
  25. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-method.module.js +23 -0
  26. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-pin.component.js +33 -0
  27. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-pin.module.js +23 -0
  28. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.component.js +142 -0
  29. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.module.js +37 -0
  30. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-state.enum.js +9 -0
  31. package/esm2015/lib/component/transaction-copy-order/transaction-copy-order.component.js +5 -4
  32. package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.js +2 -1
  33. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +3 -2
  34. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-payment.component.js +9 -4
  35. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup.component.js +4 -1
  36. package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.component.js +3 -5
  37. package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons-popup.component.js +12 -1
  38. package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +9 -6
  39. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.js +89 -12
  40. package/esm2015/lib/component/transaction-line-fields/transaction-purchase-portal-line-confirmed-price.component.js +2 -1
  41. package/esm2015/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.js +25 -3
  42. package/esm2015/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.component.js +2 -7
  43. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.js +9 -9
  44. package/esm2015/lib/component/transaction-tags/transaction-tags.component.js +3 -3
  45. package/esm2015/lib/enum/icon.enum.js +4 -1
  46. package/esm2015/lib/model/icon-svg.js +4 -1
  47. package/esm2015/lib/res/dictionary/dictionaries.js +2 -2
  48. package/esm2015/lib/service/payment.service.js +172 -4
  49. package/esm2015/lib/service/pending-reason.service.js +4 -2
  50. package/esm2015/lib/service/transaction-event.service.js +2 -1
  51. package/esm2015/lib/service/transaction.service.js +3 -2
  52. package/esm2015/lib/transaction-version.js +3 -3
  53. package/fesm2015/colijnit-transaction.js +1153 -259
  54. package/fesm2015/colijnit-transaction.js.map +1 -1
  55. package/lib/component/core/base/components/transaction-header-block/style/_material-definition.scss +1 -1
  56. package/lib/component/deposit-payment/deposit-payment.component.d.ts +1 -0
  57. package/lib/component/payment/payment.component.d.ts +3 -20
  58. package/lib/component/payment/style/_layout.scss +0 -5
  59. package/lib/component/payment-tile/payment-tile.component.d.ts +1 -0
  60. package/lib/component/tile/style/_layout.scss +1 -1
  61. package/lib/component/tile/tile.component.d.ts +1 -0
  62. package/lib/component/transaction/transaction.component.d.ts +3 -0
  63. package/lib/component/transaction-button/style/_layout.scss +1 -0
  64. package/lib/component/transaction-button/style/_material-definition.scss +1 -1
  65. package/lib/component/transaction-cash-register-order/style/_layout.scss +18 -3
  66. package/lib/component/transaction-cash-register-order/style/material.scss +2 -0
  67. package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.component.d.ts +3 -0
  68. package/lib/component/transaction-cash-register-order/transaction-cash-register-link-relation/style/_layout.scss +8 -0
  69. package/lib/component/transaction-cash-register-order/transaction-cash-register-link-relation/style/_material-definition.scss +0 -0
  70. package/lib/component/transaction-cash-register-order/transaction-cash-register-link-relation/style/_theme.scss +4 -0
  71. package/lib/component/transaction-cash-register-order/transaction-cash-register-link-relation/style/material.scss +5 -0
  72. package/lib/component/transaction-cash-register-order/transaction-cash-register-link-relation/transaction-cash-register-link-relation.component.d.ts +18 -0
  73. package/lib/component/transaction-cash-register-order/transaction-cash-register-link-relation/transaction-cash-register-link-relation.module.d.ts +2 -0
  74. package/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.d.ts +6 -5
  75. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-buttons.component.d.ts +5 -0
  76. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-buttons.module.d.ts +2 -0
  77. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-cash.component.d.ts +20 -0
  78. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-cash.module.d.ts +2 -0
  79. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-done.component.d.ts +20 -0
  80. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-done.module.d.ts +2 -0
  81. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-method.component.d.ts +16 -0
  82. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-method.module.d.ts +2 -0
  83. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-pin.component.d.ts +6 -0
  84. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/components/transaction-cash-register-payment-pin.module.d.ts +2 -0
  85. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/style/_layout.scss +177 -0
  86. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/style/_material-definition.scss +0 -0
  87. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/style/_theme.scss +4 -0
  88. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/style/material.scss +4 -0
  89. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.component.d.ts +28 -0
  90. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.module.d.ts +2 -0
  91. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-state.enum.d.ts +7 -0
  92. package/lib/component/transaction-copy-order/transaction-copy-order.component.d.ts +2 -2
  93. package/lib/component/transaction-header/transaction-header-order/style/_layout.scss +6 -1
  94. package/lib/component/transaction-header/transaction-header-order/style/_material-definition.scss +2 -1
  95. package/lib/component/transaction-header/transaction-header-payment/style/_layout.scss +7 -1
  96. package/lib/component/transaction-header/transaction-header-payment/style/_material-definition.scss +6 -6
  97. package/lib/component/transaction-header/transaction-header-popup/style/_layout.scss +1 -1
  98. package/lib/component/transaction-line/transaction-line/style/_layout.scss +15 -1
  99. package/lib/component/transaction-line/transaction-overview-line/style/_layout.scss +2 -1
  100. package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons-popup.component.d.ts +2 -0
  101. package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts +3 -3
  102. package/lib/component/transaction-line-fields/transaction-line-delivery-date-button.component.d.ts +25 -1
  103. package/lib/component/transaction-line-image-and-description/style/_layout.scss +16 -1
  104. package/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.d.ts +4 -0
  105. package/lib/component/transaction-tags/style/_layout.scss +13 -0
  106. package/lib/component/transaction-tags/style/_material-definition.scss +7 -4
  107. package/lib/enum/icon.enum.d.ts +3 -0
  108. package/lib/res/dictionary/dictionaries.d.ts +3 -0
  109. package/lib/service/payment.service.d.ts +30 -1
  110. package/lib/service/transaction-event.service.d.ts +1 -0
  111. package/lib/style/_variables.scss +6 -3
  112. package/lib/style/transaction-globals.scss +1 -0
  113. package/package.json +7 -7
@@ -24,8 +24,9 @@ export class TransactionCashRegisterOrderComponent extends TransactionBaseCompon
24
24
  this.paymentMethods = [];
25
25
  this.paymentMethodIdx = 0;
26
26
  this.showCashRegisterDialog = true;
27
- this.showReceiptDialog = false;
28
27
  this.showDiscountDialog = false;
28
+ this.showLinkRelationDialog = false;
29
+ this.showCashRegisterPaymentDialog = false;
29
30
  this._subs = [];
30
31
  }
31
32
  showClass() {
@@ -37,6 +38,7 @@ export class TransactionCashRegisterOrderComponent extends TransactionBaseCompon
37
38
  if (transaction) {
38
39
  this.transaction = transaction;
39
40
  this._getPaymentMethods();
41
+ this._paymentService.amountToPay = transaction.transactionTotal.netAmount;
40
42
  }
41
43
  }));
42
44
  }
@@ -45,13 +47,9 @@ export class TransactionCashRegisterOrderComponent extends TransactionBaseCompon
45
47
  yield this._transactionService.addArticle(articleNr, quantity);
46
48
  });
47
49
  }
48
- handleKeyPadModelChange(model) {
49
- this.amountToPay = model;
50
- }
51
- handlePayment() {
52
- }
53
50
  paymentMethodSelected(method, index) {
54
51
  this.paymentMethodIdx = index;
52
+ this.showCashRegisterPaymentDialog = true;
55
53
  }
56
54
  openDiscountDialog(event) {
57
55
  event.preventDefault();
@@ -68,25 +66,28 @@ export class TransactionCashRegisterOrderComponent extends TransactionBaseCompon
68
66
  });
69
67
  });
70
68
  }
71
- handleFinishedPayment() {
72
- this._paymentService.processPosTransactionByUuid(this.transactionInfo.uuid).then((result) => {
73
- this.showReceiptDialog = result;
74
- });
75
- }
76
69
  handlePaymentDetailsSelected(paymentDetailsSelected) {
77
70
  this.showCashRegisterDialog = false;
78
71
  this.cashRegisterPaymentDetails = paymentDetailsSelected;
79
72
  }
80
- handleReceiptOptionSelected() {
81
- this.showReceiptDialog = false;
82
- this._transactionService.resetCurrentTransaction();
83
- this._transactionService.createCashRegisterOrder(this._paymentService.currentCashRegisterOrderRequest);
84
- this.addProductComponent.searchText = '';
85
- }
86
73
  handleCreatedCashRegisterOrderRequest(request) {
87
74
  this._paymentService.currentCashRegisterOrderRequest = request;
88
75
  this.transactionService.createCashRegisterOrder(request);
89
76
  }
77
+ openLinkRelationDialog() {
78
+ this.showLinkRelationDialog = true;
79
+ }
80
+ handlePaymentDone() {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ this.showCashRegisterPaymentDialog = false;
83
+ this._transactionService.resetCurrentTransaction();
84
+ this._transactionService.createCashRegisterOrder(this._paymentService.currentCashRegisterOrderRequest);
85
+ this.addProductComponent.searchText = '';
86
+ });
87
+ }
88
+ transactionRelation() {
89
+ return this.transactionService.relation;
90
+ }
90
91
  }
91
92
  TransactionCashRegisterOrderComponent.decorators = [
92
93
  { type: Component, args: [{
@@ -100,14 +101,23 @@ TransactionCashRegisterOrderComponent.decorators = [
100
101
  (returnArticle)="handleAddArticle($event, -1)"
101
102
  ></co-add-product>
102
103
  <div class="cash-register-header-buttons-wrapper">
103
- <div class="cash-register-header-button">
104
- <co-icon [iconData]="iconCacheService.getIcon(icons.ArrowPointLeft)"></co-icon>
105
- <span [textContent]="'Koppelen klant'"></span>
104
+ <div *ngIf="transactionRelation().contactOptions.length === 0" class="cash-register-header-button" (click)="openLinkRelationDialog()">
105
+ <span [textContent]="'Klant koppelen'"></span>
106
106
  </div>
107
- <div class="cash-register-header-button">
108
- <co-icon [iconData]="iconCacheService.getIcon(icons.CartShoppingSolid)"></co-icon>
109
- <span [textContent]="'Checkout verkooporder'"></span>
107
+ <div *ngIf="transactionRelation().contactOptions.length > 0" class="cash-register-relation-details">
108
+ <div class="relation-details-block">
109
+ <span class="title" [textContent]="'Klantnaam'"></span>
110
+ <span [textContent]="transactionRelation().displayName"></span>
111
+ </div>
112
+ <div class="relation-details-block">
113
+ <span class="title" [textContent]="'Communicatie'"></span>
114
+ <span [textContent]="transactionRelation().primaryPhoneOrMobileNumber"></span>
115
+ </div>
110
116
  </div>
117
+ <!-- <div class="cash-register-header-button">-->
118
+ <!-- <co-icon [iconData]="iconCacheService.getIcon(icons.CartShoppingSolid)"></co-icon>-->
119
+ <!-- <span [textContent]="'Checkout verkooporder'"></span>-->
120
+ <!-- </div>-->
111
121
  </div>
112
122
  <div class="cash-register-avatar-wrapper">
113
123
  <co-avatar class="transaction-sales-avatar" [relationId]="transactionInfo.salesPerson"></co-avatar>
@@ -137,38 +147,50 @@ TransactionCashRegisterOrderComponent.decorators = [
137
147
  </div>
138
148
  </div>
139
149
  <div class="cash-register-payment-wrapper">
140
- <co-payment
141
- *ngIf="!showCashRegisterDialog"
142
- [transactionKind]="transKind.CashDesk"
143
- [transId]="transactionInfo.id"
144
- [branch]="transactionInfo.branch?.relationNr"
145
- [transactionUuid]="transactionInfo.uuid"
146
- [amount]="amountToPay"
147
- [currencyId]="transactionInfo.currencyId"
148
- [paymentDetails]="cashRegisterPaymentDetails"
149
- (payed)="handleFinishedPayment()"
150
- ></co-payment>
150
+ <co-key-pad class="payment-to-pay-keypad"
151
+ [showValue]="false"
152
+ [emitModelChangeOnEnter]="false"
153
+ [(model)]="amountToPay"
154
+ ></co-key-pad>
155
+
156
+ <div class="cash-register-payment-methods-wrapper">
157
+ <co-payment-tile *ngFor="let paymentMethod of paymentMethods; let index = index"
158
+ [image]="paymentMethod.image"
159
+ [description]="paymentMethod.payment.description"
160
+ [showRadioButton]="false"
161
+ (selectedChange)="paymentMethodSelected(paymentMethod.payment, index)"
162
+ ></co-payment-tile>
163
+ </div>
151
164
  </div>
152
165
  </div>
153
166
  </div>
167
+
154
168
  <co-dialog-transaction-header-discount class="discount-dialog" *ngIf="showDiscountDialog"
155
169
  [transactionInfo]="transactionInfo"
156
170
  [transactionTotal]="transactionTotal"
157
171
  (close)="showDiscountDialog = false"
158
172
  ></co-dialog-transaction-header-discount>
173
+
159
174
  <co-transaction-cash-register-dialog
160
175
  *ngIf="showCashRegisterDialog"
161
176
  (paymentDetailsSelected)="handlePaymentDetailsSelected($event)"
162
177
  (cashRegisterOrderRequestCreated)="handleCreatedCashRegisterOrderRequest($event)"
163
178
  ></co-transaction-cash-register-dialog>
164
179
 
165
- <co-transaction-cash-register-order-receipt-dialog
166
- *ngIf="showReceiptDialog"
167
- [transaction]="transaction"
168
- [cashRegisterPaymentDetails]="cashRegisterPaymentDetails"
169
- (handleReceiptOptionSelected)="handleReceiptOptionSelected()"
170
- ></co-transaction-cash-register-order-receipt-dialog>
180
+ <co-transaction-cash-register-link-relation
181
+ *ngIf="showLinkRelationDialog"
182
+ (cancelClick)="showLinkRelationDialog = false"
183
+ ></co-transaction-cash-register-link-relation>
184
+
185
+ <co-transaction-cash-register-payment-dialog
186
+ *ngIf="showCashRegisterPaymentDialog"
187
+ [paymentViewModel]="paymentMethods[0]"
188
+ (closeDialog)="handlePaymentDone()"
189
+ ></co-transaction-cash-register-payment-dialog>
171
190
  `,
191
+ providers: [
192
+ PaymentService
193
+ ],
172
194
  encapsulation: ViewEncapsulation.None
173
195
  },] }
174
196
  ];
@@ -186,4 +208,4 @@ TransactionCashRegisterOrderComponent.propDecorators = {
186
208
  addProductComponent: [{ type: ViewChild, args: [AddProductComponent,] }],
187
209
  showClass: [{ type: HostBinding, args: ["class.co-transaction-cash-register-order",] }]
188
210
  };
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBaUIsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRWhGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUs3RCxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUU3RyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQW9GekUsTUFBTSxPQUFPLHFDQUFzQyxTQUFRLHdCQUF3QjtJQXNCakYsWUFDUyx1QkFBZ0QsRUFDaEQsZ0JBQWtDLEVBQ2xDLHFDQUE0RSxFQUN6RSxpQkFBb0MsRUFDcEMsWUFBcUMsRUFDckMsY0FBaUMsRUFDakMsbUJBQXVDLEVBQ3pDLGVBQStCO1FBRXZDLEtBQUssQ0FB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ZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gXCIuLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZVwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge1BheW1lbnRWaWV3bW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbC9wYXltZW50LnZpZXdtb2RlbFwiO1xyXG5pbXBvcnQge1BheW1lbnRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9wYXltZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQYXltZW50TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BheW1lbnQtbWV0aG9kLmJvXCI7XHJcbmltcG9ydCB7Q3JlYXRlQ2FzaFJlZ2lzdGVyT3JkZXJSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NyZWF0ZS1jYXNoLXJlZ2lzdGVyLW9yZGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbC9wYXltZW50LXRyYW5zYWN0aW9uLXZpZXctbW9kZWxcIjtcclxuaW1wb3J0IHtBZGRQcm9kdWN0Q29tcG9uZW50fSBmcm9tIFwiLi4vYWRkLXByb2R1Y3QvYWRkLXByb2R1Y3QuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJjYXNoLXJlZ2lzdGVyLXdyYXBwZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItbWFpbi1jb250ZW50XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItaGVhZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby1hZGQtcHJvZHVjdFxyXG4gICAgICAgICAgICAoYWRkQXJ0aWNsZSk9XCJoYW5kbGVBZGRBcnRpY2xlKCRldmVudClcIlxyXG4gICAgICAgICAgICAocmV0dXJuQXJ0aWNsZSk9XCJoYW5kbGVBZGRBcnRpY2xlKCRldmVudCwgLTEpXCJcclxuICAgICAgICAgID48L2NvLWFkZC1wcm9kdWN0PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItaGVhZGVyLWJ1dHRvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci1oZWFkZXItYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50TGVmdClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidLb3BwZWxlbiBrbGFudCdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci1oZWFkZXItYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DYXJ0U2hvcHBpbmdTb2xpZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidDaGVja291dCB2ZXJrb29wb3JkZXInXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItYXZhdGFyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGNvLWF2YXRhciBjbGFzcz1cInRyYW5zYWN0aW9uLXNhbGVzLWF2YXRhclwiIFtyZWxhdGlvbklkXT1cInRyYW5zYWN0aW9uSW5mby5zYWxlc1BlcnNvblwiPjwvY28tYXZhdGFyPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRhZylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci1saW5lcy13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZXNcclxuICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgICAgW2FjdGl2ZUNhdGVnb3J5XT1cImNhdGVnb3J5LlNhbGVzT3JkZXJDYXNoUmVnaXN0ZXJcIlxyXG4gICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZXM+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci1zaWRlLWNvbnRlbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci10b3RhbHMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItdG90YWxzLXJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ1RvdGFhbCBicnV0bydcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCIn4oKsJyArICh0cmFuc2FjdGlvblRvdGFsLmdyb3NzQW1vdW50ID8gdHJhbnNhY3Rpb25Ub3RhbC5ncm9zc0Ftb3VudCA6IDApXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci10b3RhbHMtcm93IGRpc2NvdW50XCIgKGNsaWNrKT1cIm9wZW5EaXNjb3VudERpYWxvZygkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInS29ydGluZydcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInLeKCrCcgKyAodHJhbnNhY3Rpb25Ub3RhbC50b3RhbERpc2NvdW50QW1vdW50ID8gdHJhbnNhY3Rpb25Ub3RhbC50b3RhbERpc2NvdW50QW1vdW50IDogMClcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXNoLXJlZ2lzdGVyLXRvdGFscy1yb3cgdG90YWxcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidUb3RhYWwgbmV0dG8nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ+KCrCcgKyAodHJhbnNhY3Rpb25Ub3RhbC5uZXRBbW91bnQgPyB0cmFuc2FjdGlvblRvdGFsLm5ldEFtb3VudCA6IDApXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItcGF5bWVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tcGF5bWVudFxyXG4gICAgICAgICAgICAqbmdJZj1cIiFzaG93Q2FzaFJlZ2lzdGVyRGlhbG9nXCJcclxuICAgICAgICAgICAgW3RyYW5zYWN0aW9uS2luZF09XCJ0cmFuc0tpbmQuQ2FzaERlc2tcIlxyXG4gICAgICAgICAgICBbdHJhbnNJZF09XCJ0cmFuc2FjdGlvbkluZm8uaWRcIlxyXG4gICAgICAgICAgICBbYnJhbmNoXT1cInRyYW5zYWN0aW9uSW5mby5icmFuY2g/LnJlbGF0aW9uTnJcIlxyXG4gICAgICAgICAgICBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uSW5mby51dWlkXCJcclxuICAgICAgICAgICAgW2Ftb3VudF09XCJhbW91bnRUb1BheVwiXHJcbiAgICAgICAgICAgIFtjdXJyZW5jeUlkXT1cInRyYW5zYWN0aW9uSW5mby5jdXJyZW5jeUlkXCJcclxuICAgICAgICAgICAgW3BheW1lbnREZXRhaWxzXT1cImNhc2hSZWdpc3RlclBheW1lbnREZXRhaWxzXCJcclxuICAgICAgICAgICAgKHBheWVkKT1cImhhbmRsZUZpbmlzaGVkUGF5bWVudCgpXCJcclxuICAgICAgICAgID48L2NvLXBheW1lbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tZGlhbG9nLXRyYW5zYWN0aW9uLWhlYWRlci1kaXNjb3VudCBjbGFzcz1cImRpc2NvdW50LWRpYWxvZ1wiICpuZ0lmPVwic2hvd0Rpc2NvdW50RGlhbG9nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvblRvdGFsXT1cInRyYW5zYWN0aW9uVG90YWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlKT1cInNob3dEaXNjb3VudERpYWxvZyA9IGZhbHNlXCJcclxuICAgID48L2NvLWRpYWxvZy10cmFuc2FjdGlvbi1oZWFkZXItZGlzY291bnQ+XHJcbiAgICA8Y28tdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1kaWFsb2dcclxuICAgICAgKm5nSWY9XCJzaG93Q2FzaFJlZ2lzdGVyRGlhbG9nXCJcclxuICAgICAgKHBheW1lbnREZXRhaWxzU2VsZWN0ZWQpPVwiaGFuZGxlUGF5bWVudERldGFpbHNTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgKGNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdENyZWF0ZWQpPVwiaGFuZGxlQ3JlYXRlZENhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdCgkZXZlbnQpXCJcclxuICAgID48L2NvLXRyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItZGlhbG9nPlxyXG5cclxuICAgIDxjby10cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyLXJlY2VpcHQtZGlhbG9nXHJcbiAgICAgICpuZ0lmPVwic2hvd1JlY2VpcHREaWFsb2dcIlxyXG4gICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICBbY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHNdPVwiY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHNcIlxyXG4gICAgICAoaGFuZGxlUmVjZWlwdE9wdGlvblNlbGVjdGVkKT1cImhhbmRsZVJlY2VpcHRPcHRpb25TZWxlY3RlZCgpXCJcclxuICAgID48L2NvLXRyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItcmVjZWlwdC1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZChBZGRQcm9kdWN0Q29tcG9uZW50KVxyXG4gIHB1YmxpYyBhZGRQcm9kdWN0Q29tcG9uZW50OiBBZGRQcm9kdWN0Q29tcG9uZW50O1xyXG5cclxuICBwdWJsaWMgYW1vdW50VG9QYXk6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHBheW1lbnRNZXRob2RzOiBQYXltZW50Vmlld21vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZElkeDogbnVtYmVyID0gMDtcclxuXHJcbiAgcHVibGljIHNob3dDYXNoUmVnaXN0ZXJEaWFsb2c6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93UmVjZWlwdERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93RGlzY291bnREaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGNhc2hSZWdpc3RlclBheW1lbnREZXRhaWxzOiBQYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWw7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXJcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByb3RlY3RlZCBfdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wYXltZW50U2VydmljZTogUGF5bWVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCBfdHJhbnNhY3Rpb25TZXJ2aWNlLCBjaGFuZ2VEZXRlY3Rvcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG5cclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLnRyYW5zYWN0aW9uVXBkYXRlZC5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmICh0cmFuc2FjdGlvbikge1xyXG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xyXG4gICAgICAgICAgdGhpcy5fZ2V0UGF5bWVudE1ldGhvZHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUFkZEFydGljbGUoYXJ0aWNsZU5yOiBzdHJpbmcsIHF1YW50aXR5OiBudW1iZXIgPSAxKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuYWRkQXJ0aWNsZShhcnRpY2xlTnIsIHF1YW50aXR5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVLZXlQYWRNb2RlbENoYW5nZShtb2RlbDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmFtb3VudFRvUGF5ID0gbW9kZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUGF5bWVudCgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZFNlbGVjdGVkKG1ldGhvZDogUGF5bWVudE1ldGhvZCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYXltZW50TWV0aG9kSWR4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbkRpc2NvdW50RGlhbG9nKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnNob3dEaXNjb3VudERpYWxvZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRQYXltZW50TWV0aG9kcygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24pID0+IHtcclxuICAgICAgdGhpcy5wYXltZW50TWV0aG9kcy5sZW5ndGggPSAwO1xyXG4gICAgICB0aGlzLl9wYXltZW50U2VydmljZS5nZXRQYXltZW50TWV0aG9kc1ZpZXdNb2RlbHModGhpcy50cmFuc2FjdGlvblNlcnZpY2UuY3VycmVudEJyYW5jaCwgdGhpcy50cmFuc0tpbmQuQ2FzaERlc2spXHJcbiAgICAgICAgLnRoZW4oKG1ldGhvZHM6IFBheW1lbnRWaWV3bW9kZWxbXSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wYXltZW50TWV0aG9kcyA9IG1ldGhvZHMuc2xpY2UoKTtcclxuICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUZpbmlzaGVkUGF5bWVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BheW1lbnRTZXJ2aWNlLnByb2Nlc3NQb3NUcmFuc2FjdGlvbkJ5VXVpZCh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKS50aGVuKChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgdGhpcy5zaG93UmVjZWlwdERpYWxvZyA9IHJlc3VsdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVBheW1lbnREZXRhaWxzU2VsZWN0ZWQocGF5bWVudERldGFpbHNTZWxlY3RlZDogUGF5bWVudFRyYW5zYWN0aW9uVmlld01vZGVsKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dDYXNoUmVnaXN0ZXJEaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHMgPSBwYXltZW50RGV0YWlsc1NlbGVjdGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVJlY2VpcHRPcHRpb25TZWxlY3RlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1JlY2VpcHREaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5yZXNldEN1cnJlbnRUcmFuc2FjdGlvbigpO1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmNyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyKHRoaXMuX3BheW1lbnRTZXJ2aWNlLmN1cnJlbnRDYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3QpO1xyXG4gICAgdGhpcy5hZGRQcm9kdWN0Q29tcG9uZW50LnNlYXJjaFRleHQgPSAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDcmVhdGVkQ2FzaFJlZ2lzdGVyT3JkZXJSZXF1ZXN0KHJlcXVlc3Q6IENyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGF5bWVudFNlcnZpY2UuY3VycmVudENhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdCA9IHJlcXVlc3Q7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jcmVhdGVDYXNoUmVnaXN0ZXJPcmRlcihyZXF1ZXN0KTtcclxuICB9XHJcbn1cclxuIl19
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBaUIsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRWhGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUs3RCxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUU3RyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQTBHekUsTUFBTSxPQUFPLHFDQUFzQyxTQUFRLHdCQUF3QjtJQXVCakYsWUFDUyx1QkFBZ0QsRUFDaEQsZ0JBQWtDLEVBQ2xDLHFDQUE0RSxFQUN6RSxpQkFBb0MsRUFDcEMsWUFBcUMsRUFDckMsY0FBaUMsRUFDakMsbUJBQXVDLEVBQ3pDLGVBQStCO1FBRXZDLEtBQUssQ0FB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ZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQYXltZW50Vmlld21vZGVsfSBmcm9tIFwiLi4vLi4vbW9kZWwvcGF5bWVudC52aWV3bW9kZWxcIjtcclxuaW1wb3J0IHtQYXltZW50U2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvcGF5bWVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UGF5bWVudE1ldGhvZH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wYXltZW50LW1ldGhvZC5ib1wiO1xyXG5pbXBvcnQge0NyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtY2FzaC1yZWdpc3Rlci1vcmRlci1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ib1wiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UGF5bWVudFRyYW5zYWN0aW9uVmlld01vZGVsfSBmcm9tIFwiLi4vLi4vbW9kZWwvcGF5bWVudC10cmFuc2FjdGlvbi12aWV3LW1vZGVsXCI7XHJcbmltcG9ydCB7QWRkUHJvZHVjdENvbXBvbmVudH0gZnJvbSBcIi4uL2FkZC1wcm9kdWN0L2FkZC1wcm9kdWN0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1JlbGF0aW9ufSBmcm9tIFwiQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJjYXNoLXJlZ2lzdGVyLXdyYXBwZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItbWFpbi1jb250ZW50XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItaGVhZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby1hZGQtcHJvZHVjdFxyXG4gICAgICAgICAgICAoYWRkQXJ0aWNsZSk9XCJoYW5kbGVBZGRBcnRpY2xlKCRldmVudClcIlxyXG4gICAgICAgICAgICAocmV0dXJuQXJ0aWNsZSk9XCJoYW5kbGVBZGRBcnRpY2xlKCRldmVudCwgLTEpXCJcclxuICAgICAgICAgID48L2NvLWFkZC1wcm9kdWN0PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItaGVhZGVyLWJ1dHRvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidHJhbnNhY3Rpb25SZWxhdGlvbigpLmNvbnRhY3RPcHRpb25zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwiY2FzaC1yZWdpc3Rlci1oZWFkZXItYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5MaW5rUmVsYXRpb25EaWFsb2coKVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInS2xhbnQga29wcGVsZW4nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRyYW5zYWN0aW9uUmVsYXRpb24oKS5jb250YWN0T3B0aW9ucy5sZW5ndGggPiAwXCIgY2xhc3M9XCJjYXNoLXJlZ2lzdGVyLXJlbGF0aW9uLWRldGFpbHNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tZGV0YWlscy1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiIFt0ZXh0Q29udGVudF09XCInS2xhbnRuYWFtJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJ0cmFuc2FjdGlvblJlbGF0aW9uKCkuZGlzcGxheU5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWRldGFpbHMtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ0NvbW11bmljYXRpZSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwidHJhbnNhY3Rpb25SZWxhdGlvbigpLnByaW1hcnlQaG9uZU9yTW9iaWxlTnVtYmVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXNoLXJlZ2lzdGVyLWhlYWRlci1idXR0b25cIj4tLT5cclxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DYXJ0U2hvcHBpbmdTb2xpZClcIj48L2NvLWljb24+LS0+XHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInQ2hlY2tvdXQgdmVya29vcG9yZGVyJ1wiPjwvc3Bhbj4tLT5cclxuICAgICAgICAgICAgPCEtLSAgICAgICAgICAgIDwvZGl2Pi0tPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci1hdmF0YXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8Y28tYXZhdGFyIGNsYXNzPVwidHJhbnNhY3Rpb24tc2FsZXMtYXZhdGFyXCIgW3JlbGF0aW9uSWRdPVwidHJhbnNhY3Rpb25JbmZvLnNhbGVzUGVyc29uXCI+PC9jby1hdmF0YXI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuVGFnKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXNoLXJlZ2lzdGVyLWxpbmVzLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lc1xyXG4gICAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwiY2F0ZWdvcnkuU2FsZXNPcmRlckNhc2hSZWdpc3RlclwiXHJcbiAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lcz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXNoLXJlZ2lzdGVyLXNpZGUtY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXNoLXJlZ2lzdGVyLXRvdGFscy13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci10b3RhbHMtcm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInVG90YWFsIGJydXRvJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIifigqwnICsgKHRyYW5zYWN0aW9uVG90YWwuZ3Jvc3NBbW91bnQgPyB0cmFuc2FjdGlvblRvdGFsLmdyb3NzQW1vdW50IDogMClcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXNoLXJlZ2lzdGVyLXRvdGFscy1yb3cgZGlzY291bnRcIiAoY2xpY2spPVwib3BlbkRpc2NvdW50RGlhbG9nKCRldmVudClcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidLb3J0aW5nJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIict4oKsJyArICh0cmFuc2FjdGlvblRvdGFsLnRvdGFsRGlzY291bnRBbW91bnQgPyB0cmFuc2FjdGlvblRvdGFsLnRvdGFsRGlzY291bnRBbW91bnQgOiAwKVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXItdG90YWxzLXJvdyB0b3RhbFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ1RvdGFhbCBuZXR0bydcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCIn4oKsJyArICh0cmFuc2FjdGlvblRvdGFsLm5ldEFtb3VudCA/IHRyYW5zYWN0aW9uVG90YWwubmV0QW1vdW50IDogMClcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci1wYXltZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby1rZXktcGFkIGNsYXNzPVwicGF5bWVudC10by1wYXkta2V5cGFkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93VmFsdWVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2VtaXRNb2RlbENoYW5nZU9uRW50ZXJdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYW1vdW50VG9QYXlcIlxyXG4gICAgICAgICAgPjwvY28ta2V5LXBhZD5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1yZWdpc3Rlci1wYXltZW50LW1ldGhvZHMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8Y28tcGF5bWVudC10aWxlICpuZ0Zvcj1cImxldCBwYXltZW50TWV0aG9kIG9mIHBheW1lbnRNZXRob2RzOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ltYWdlXT1cInBheW1lbnRNZXRob2QuaW1hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCJwYXltZW50TWV0aG9kLnBheW1lbnQuZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93UmFkaW9CdXR0b25dPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJwYXltZW50TWV0aG9kU2VsZWN0ZWQocGF5bWVudE1ldGhvZC5wYXltZW50LCBpbmRleClcIlxyXG4gICAgICAgICAgICA+PC9jby1wYXltZW50LXRpbGU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8Y28tZGlhbG9nLXRyYW5zYWN0aW9uLWhlYWRlci1kaXNjb3VudCBjbGFzcz1cImRpc2NvdW50LWRpYWxvZ1wiICpuZ0lmPVwic2hvd0Rpc2NvdW50RGlhbG9nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvblRvdGFsXT1cInRyYW5zYWN0aW9uVG90YWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlKT1cInNob3dEaXNjb3VudERpYWxvZyA9IGZhbHNlXCJcclxuICAgID48L2NvLWRpYWxvZy10cmFuc2FjdGlvbi1oZWFkZXItZGlzY291bnQ+XHJcblxyXG4gICAgPGNvLXRyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItZGlhbG9nXHJcbiAgICAgICpuZ0lmPVwic2hvd0Nhc2hSZWdpc3RlckRpYWxvZ1wiXHJcbiAgICAgIChwYXltZW50RGV0YWlsc1NlbGVjdGVkKT1cImhhbmRsZVBheW1lbnREZXRhaWxzU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgIChjYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3RDcmVhdGVkKT1cImhhbmRsZUNyZWF0ZWRDYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3QoJGV2ZW50KVwiXHJcbiAgICA+PC9jby10cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLWRpYWxvZz5cclxuXHJcbiAgICA8Y28tdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1saW5rLXJlbGF0aW9uXHJcbiAgICAgICpuZ0lmPVwic2hvd0xpbmtSZWxhdGlvbkRpYWxvZ1wiXHJcbiAgICAgIChjYW5jZWxDbGljayk9XCJzaG93TGlua1JlbGF0aW9uRGlhbG9nID0gZmFsc2VcIlxyXG4gICAgPjwvY28tdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1saW5rLXJlbGF0aW9uPlxyXG5cclxuICAgIDxjby10cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLXBheW1lbnQtZGlhbG9nXHJcbiAgICAgICpuZ0lmPVwic2hvd0Nhc2hSZWdpc3RlclBheW1lbnREaWFsb2dcIlxyXG4gICAgICBbcGF5bWVudFZpZXdNb2RlbF09XCJwYXltZW50TWV0aG9kc1swXVwiXHJcbiAgICAgIChjbG9zZURpYWxvZyk9XCJoYW5kbGVQYXltZW50RG9uZSgpXCJcclxuICAgID48L2NvLXRyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItcGF5bWVudC1kaWFsb2c+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFBheW1lbnRTZXJ2aWNlXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZChBZGRQcm9kdWN0Q29tcG9uZW50KVxyXG4gIHB1YmxpYyBhZGRQcm9kdWN0Q29tcG9uZW50OiBBZGRQcm9kdWN0Q29tcG9uZW50O1xyXG5cclxuICBwdWJsaWMgYW1vdW50VG9QYXk6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHBheW1lbnRNZXRob2RzOiBQYXltZW50Vmlld21vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZElkeDogbnVtYmVyID0gMDtcclxuXHJcbiAgcHVibGljIHNob3dDYXNoUmVnaXN0ZXJEaWFsb2c6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93RGlzY291bnREaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0xpbmtSZWxhdGlvbkRpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93Q2FzaFJlZ2lzdGVyUGF5bWVudERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHM6IFBheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbDtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlclwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJvdGVjdGVkIF90cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3BheW1lbnRTZXJ2aWNlOiBQYXltZW50U2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIodHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIF90cmFuc2FjdGlvblNlcnZpY2UsIGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcblxyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UudHJhbnNhY3Rpb25VcGRhdGVkLnN1YnNjcmliZSgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRyYW5zYWN0aW9uKSB7XHJcbiAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XHJcbiAgICAgICAgICB0aGlzLl9nZXRQYXltZW50TWV0aG9kcygpO1xyXG4gICAgICAgICAgdGhpcy5fcGF5bWVudFNlcnZpY2UuYW1vdW50VG9QYXkgPSB0cmFuc2FjdGlvbi50cmFuc2FjdGlvblRvdGFsLm5ldEFtb3VudDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUFkZEFydGljbGUoYXJ0aWNsZU5yOiBzdHJpbmcsIHF1YW50aXR5OiBudW1iZXIgPSAxKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuYWRkQXJ0aWNsZShhcnRpY2xlTnIsIHF1YW50aXR5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYXltZW50TWV0aG9kU2VsZWN0ZWQobWV0aG9kOiBQYXltZW50TWV0aG9kLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBheW1lbnRNZXRob2RJZHggPSBpbmRleDtcclxuICAgIHRoaXMuc2hvd0Nhc2hSZWdpc3RlclBheW1lbnREaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5EaXNjb3VudERpYWxvZyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5zaG93RGlzY291bnREaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UGF5bWVudE1ldGhvZHMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHMubGVuZ3RoID0gMDtcclxuICAgICAgdGhpcy5fcGF5bWVudFNlcnZpY2UuZ2V0UGF5bWVudE1ldGhvZHNWaWV3TW9kZWxzKHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmN1cnJlbnRCcmFuY2gsIHRoaXMudHJhbnNLaW5kLkNhc2hEZXNrKVxyXG4gICAgICAgIC50aGVuKChtZXRob2RzOiBQYXltZW50Vmlld21vZGVsW10pID0+IHtcclxuICAgICAgICAgIHRoaXMucGF5bWVudE1ldGhvZHMgPSBtZXRob2RzLnNsaWNlKCk7XHJcbiAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVQYXltZW50RGV0YWlsc1NlbGVjdGVkKHBheW1lbnREZXRhaWxzU2VsZWN0ZWQ6IFBheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93Q2FzaFJlZ2lzdGVyRGlhbG9nID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhc2hSZWdpc3RlclBheW1lbnREZXRhaWxzID0gcGF5bWVudERldGFpbHNTZWxlY3RlZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDcmVhdGVkQ2FzaFJlZ2lzdGVyT3JkZXJSZXF1ZXN0KHJlcXVlc3Q6IENyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGF5bWVudFNlcnZpY2UuY3VycmVudENhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdCA9IHJlcXVlc3Q7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jcmVhdGVDYXNoUmVnaXN0ZXJPcmRlcihyZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuTGlua1JlbGF0aW9uRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93TGlua1JlbGF0aW9uRGlhbG9nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVQYXltZW50RG9uZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuc2hvd0Nhc2hSZWdpc3RlclBheW1lbnREaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5yZXNldEN1cnJlbnRUcmFuc2FjdGlvbigpO1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmNyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyKHRoaXMuX3BheW1lbnRTZXJ2aWNlLmN1cnJlbnRDYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3QpO1xyXG4gICAgdGhpcy5hZGRQcm9kdWN0Q29tcG9uZW50LnNlYXJjaFRleHQgPSAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvblJlbGF0aW9uKCk6IFJlbGF0aW9uIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5yZWxhdGlvbjtcclxuICB9XHJcbn1cclxuIl19
@@ -12,6 +12,8 @@ import { DialogTransactionHeaderDiscountModule } from "../dialog/transaction-hea
12
12
  import { TransactionCashRegisterDialogModule } from "./transaction-cash-register-dialog/transaction-cash-register-dialog.module";
13
13
  import { TransactionCashRegisterOrderReceiptDialogModule } from "./transaction-cash-register-order-receipt-dialog/transaction-cash-register-order-receipt-dialog.module";
14
14
  import { PaymentModule } from "../payment/payment.module";
15
+ import { TransactionCashRegisterLinkRelationModule } from "./transaction-cash-register-link-relation/transaction-cash-register-link-relation.module";
16
+ import { TransactionCashRegisterPaymentDialogModule } from "./transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.module";
15
17
  export class TransactionCashRegisterOrderModule {
16
18
  }
17
19
  TransactionCashRegisterOrderModule.decorators = [
@@ -28,7 +30,9 @@ TransactionCashRegisterOrderModule.decorators = [
28
30
  DialogTransactionHeaderDiscountModule,
29
31
  TransactionCashRegisterDialogModule,
30
32
  TransactionCashRegisterOrderReceiptDialogModule,
31
- PaymentModule
33
+ PaymentModule,
34
+ TransactionCashRegisterLinkRelationModule,
35
+ TransactionCashRegisterPaymentDialogModule
32
36
  ],
33
37
  declarations: [
34
38
  TransactionCashRegisterOrderComponent
@@ -38,4 +42,4 @@ TransactionCashRegisterOrderModule.decorators = [
38
42
  ]
39
43
  },] }
40
44
  ];
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDckYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFDTCxxQ0FBcUMsRUFDdEMsTUFBTSwyR0FBMkcsQ0FBQztBQUNuSCxPQUFPLEVBQ0gsbUNBQW1DLEVBQ3RDLE1BQU0sNEVBQTRFLENBQUM7QUFDcEYsT0FBTyxFQUNILCtDQUErQyxFQUNsRCxNQUFNLHdHQUF3RyxDQUFDO0FBQ2hILE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQXdCeEQsTUFBTSxPQUFPLGtDQUFrQzs7O1lBdEI5QyxRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixVQUFVO29CQUNWLFlBQVk7b0JBQ1osc0JBQXNCO29CQUN0QixrQkFBa0I7b0JBQ2xCLFlBQVk7b0JBQ1osaUJBQWlCO29CQUNqQixxQ0FBcUM7b0JBQ3JDLG1DQUFtQztvQkFDbkMsK0NBQStDO29CQUMvQyxhQUFhO2lCQUNoQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1YscUNBQXFDO2lCQUN4QztnQkFDRCxPQUFPLEVBQUU7b0JBQ0wscUNBQXFDO2lCQUN4QzthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyQ29tcG9uZW50fSBmcm9tIFwiLi90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0FkZFByb2R1Y3RNb2R1bGV9IGZyb20gXCIuLi9hZGQtcHJvZHVjdC9hZGQtcHJvZHVjdC5tb2R1bGVcIjtcclxuaW1wb3J0IHtJY29uTW9kdWxlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0F2YXRhck1vZHVsZX0gZnJvbSBcIi4uL2F2YXRhci9hdmF0YXIubW9kdWxlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lc01vZHVsZX0gZnJvbSBcIi4uL3RyYW5zYWN0aW9uLWxpbmVzL3RyYW5zYWN0aW9uLWxpbmVzLm1vZHVsZVwiO1xyXG5pbXBvcnQge1BheW1lbnRUb1BheU1vZHVsZX0gZnJvbSBcIi4uL3BheW1lbnQtdG8tcGF5L3BheW1lbnQtdG8tcGF5Lm1vZHVsZVwiO1xyXG5pbXBvcnQge0tleVBhZE1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRjb21wb25lbnRzXCI7XHJcbmltcG9ydCB7UGF5bWVudFRpbGVNb2R1bGV9IGZyb20gXCIuLi9wYXltZW50LXRpbGUvcGF5bWVudC10aWxlLm1vZHVsZVwiO1xyXG5pbXBvcnQge1xyXG4gIERpYWxvZ1RyYW5zYWN0aW9uSGVhZGVyRGlzY291bnRNb2R1bGVcclxufSBmcm9tIFwiLi4vZGlhbG9nL3RyYW5zYWN0aW9uLWhlYWRlci9kaWFsb2ctdHJhbnNhY3Rpb24taGVhZGVyLWRpc2NvdW50L2RpYWxvZy10cmFuc2FjdGlvbi1oZWFkZXItZGlzY291bnQubW9kdWxlXCI7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlckRpYWxvZ01vZHVsZVxyXG59IGZyb20gXCIuL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItZGlhbG9nL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItZGlhbG9nLm1vZHVsZVwiO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJPcmRlclJlY2VpcHREaWFsb2dNb2R1bGVcclxufSBmcm9tIFwiLi90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyLXJlY2VpcHQtZGlhbG9nL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItcmVjZWlwdC1kaWFsb2cubW9kdWxlXCI7XHJcbmltcG9ydCB7UGF5bWVudE1vZHVsZX0gZnJvbSBcIi4uL3BheW1lbnQvcGF5bWVudC5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEFkZFByb2R1Y3RNb2R1bGUsXHJcbiAgICAgICAgSWNvbk1vZHVsZSxcclxuICAgICAgICBBdmF0YXJNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25MaW5lc01vZHVsZSxcclxuICAgICAgICBQYXltZW50VG9QYXlNb2R1bGUsXHJcbiAgICAgICAgS2V5UGFkTW9kdWxlLFxyXG4gICAgICAgIFBheW1lbnRUaWxlTW9kdWxlLFxyXG4gICAgICAgIERpYWxvZ1RyYW5zYWN0aW9uSGVhZGVyRGlzY291bnRNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJEaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJPcmRlclJlY2VpcHREaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgUGF5bWVudE1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFRyYW5zYWN0aW9uQ2FzaFJlZ2lzdGVyT3JkZXJDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJPcmRlckNvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJPcmRlck1vZHVsZSB7XHJcbn1cclxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDckYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFDTCxxQ0FBcUMsRUFDdEMsTUFBTSwyR0FBMkcsQ0FBQztBQUNuSCxPQUFPLEVBQ0gsbUNBQW1DLEVBQ3RDLE1BQU0sNEVBQTRFLENBQUM7QUFDcEYsT0FBTyxFQUNILCtDQUErQyxFQUNsRCxNQUFNLHdHQUF3RyxDQUFDO0FBQ2hILE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQ0gseUNBQXlDLEVBQzVDLE1BQU0sMEZBQTBGLENBQUM7QUFDbEcsT0FBTyxFQUNMLDBDQUEwQyxFQUMzQyxNQUFNLDRGQUE0RixDQUFDO0FBMEJwRyxNQUFNLE9BQU8sa0NBQWtDOzs7WUF4QjlDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixnQkFBZ0I7b0JBQ2hCLFVBQVU7b0JBQ1YsWUFBWTtvQkFDWixzQkFBc0I7b0JBQ3RCLGtCQUFrQjtvQkFDbEIsWUFBWTtvQkFDWixpQkFBaUI7b0JBQ2pCLHFDQUFxQztvQkFDckMsbUNBQW1DO29CQUNuQywrQ0FBK0M7b0JBQy9DLGFBQWE7b0JBQ2IseUNBQXlDO29CQUN6QywwQ0FBMEM7aUJBQzNDO2dCQUNDLFlBQVksRUFBRTtvQkFDVixxQ0FBcUM7aUJBQ3hDO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxxQ0FBcUM7aUJBQ3hDO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ2FzaFJlZ2lzdGVyT3JkZXJDb21wb25lbnR9IGZyb20gXCIuL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7QWRkUHJvZHVjdE1vZHVsZX0gZnJvbSBcIi4uL2FkZC1wcm9kdWN0L2FkZC1wcm9kdWN0Lm1vZHVsZVwiO1xyXG5pbXBvcnQge0ljb25Nb2R1bGV9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7QXZhdGFyTW9kdWxlfSBmcm9tIFwiLi4vYXZhdGFyL2F2YXRhci5tb2R1bGVcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVzTW9kdWxlfSBmcm9tIFwiLi4vdHJhbnNhY3Rpb24tbGluZXMvdHJhbnNhY3Rpb24tbGluZXMubW9kdWxlXCI7XHJcbmltcG9ydCB7UGF5bWVudFRvUGF5TW9kdWxlfSBmcm9tIFwiLi4vcGF5bWVudC10by1wYXkvcGF5bWVudC10by1wYXkubW9kdWxlXCI7XHJcbmltcG9ydCB7S2V5UGFkTW9kdWxlfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGNvbXBvbmVudHNcIjtcclxuaW1wb3J0IHtQYXltZW50VGlsZU1vZHVsZX0gZnJvbSBcIi4uL3BheW1lbnQtdGlsZS9wYXltZW50LXRpbGUubW9kdWxlXCI7XHJcbmltcG9ydCB7XHJcbiAgRGlhbG9nVHJhbnNhY3Rpb25IZWFkZXJEaXNjb3VudE1vZHVsZVxyXG59IGZyb20gXCIuLi9kaWFsb2cvdHJhbnNhY3Rpb24taGVhZGVyL2RpYWxvZy10cmFuc2FjdGlvbi1oZWFkZXItZGlzY291bnQvZGlhbG9nLXRyYW5zYWN0aW9uLWhlYWRlci1kaXNjb3VudC5tb2R1bGVcIjtcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uQ2FzaFJlZ2lzdGVyRGlhbG9nTW9kdWxlXHJcbn0gZnJvbSBcIi4vdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1kaWFsb2cvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1kaWFsb2cubW9kdWxlXCI7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyUmVjZWlwdERpYWxvZ01vZHVsZVxyXG59IGZyb20gXCIuL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItcmVjZWlwdC1kaWFsb2cvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1yZWNlaXB0LWRpYWxvZy5tb2R1bGVcIjtcclxuaW1wb3J0IHtQYXltZW50TW9kdWxlfSBmcm9tIFwiLi4vcGF5bWVudC9wYXltZW50Lm1vZHVsZVwiO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJMaW5rUmVsYXRpb25Nb2R1bGVcclxufSBmcm9tIFwiLi90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLWxpbmstcmVsYXRpb24vdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1saW5rLXJlbGF0aW9uLm1vZHVsZVwiO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uQ2FzaFJlZ2lzdGVyUGF5bWVudERpYWxvZ01vZHVsZVxyXG59IGZyb20gXCIuL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItcGF5bWVudC1kaWFsb2cvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWRpYWxvZy5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQWRkUHJvZHVjdE1vZHVsZSxcclxuICAgIEljb25Nb2R1bGUsXHJcbiAgICBBdmF0YXJNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbkxpbmVzTW9kdWxlLFxyXG4gICAgUGF5bWVudFRvUGF5TW9kdWxlLFxyXG4gICAgS2V5UGFkTW9kdWxlLFxyXG4gICAgUGF5bWVudFRpbGVNb2R1bGUsXHJcbiAgICBEaWFsb2dUcmFuc2FjdGlvbkhlYWRlckRpc2NvdW50TW9kdWxlLFxyXG4gICAgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJEaWFsb2dNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyUmVjZWlwdERpYWxvZ01vZHVsZSxcclxuICAgIFBheW1lbnRNb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlckxpbmtSZWxhdGlvbk1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uQ2FzaFJlZ2lzdGVyUGF5bWVudERpYWxvZ01vZHVsZVxyXG4gIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFRyYW5zYWN0aW9uQ2FzaFJlZ2lzdGVyT3JkZXJDb21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ2FzaFJlZ2lzdGVyT3JkZXJNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { Component, EventEmitter, Output, ViewEncapsulation } from "@angular/core";
2
+ export class TransactionCashRegisterPaymentButtonsComponent {
3
+ constructor() {
4
+ this.toCashRegisterOrderClicked = new EventEmitter();
5
+ this.changePaymentMethodClicked = new EventEmitter();
6
+ }
7
+ }
8
+ TransactionCashRegisterPaymentButtonsComponent.decorators = [
9
+ { type: Component, args: [{
10
+ selector: "co-transaction-cash-register-payment-buttons",
11
+ template: `
12
+ <div class="default-buttons">
13
+ <co-button [label]="'Andere betaalwijze'" (click)="changePaymentMethodClicked.next()"></co-button>
14
+ <co-button [label]="'Naar kassaorder'" (click)="toCashRegisterOrderClicked.next()"></co-button>
15
+ </div>
16
+ `,
17
+ encapsulation: ViewEncapsulation.None
18
+ },] }
19
+ ];
20
+ TransactionCashRegisterPaymentButtonsComponent.propDecorators = {
21
+ toCashRegisterOrderClicked: [{ type: Output }],
22
+ changePaymentMethodClicked: [{ type: Output }]
23
+ };
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLXBheW1lbnQtZGlhbG9nL2NvbXBvbmVudHMvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWJ1dHRvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVlqRixNQUFNLE9BQU8sOENBQThDO0lBVjNEO1FBYVMsK0JBQTBCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHMUUsK0JBQTBCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFFbkYsQ0FBQzs7O1lBbEJBLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsOENBQThDO2dCQUN4RCxRQUFRLEVBQUU7Ozs7O0tBS1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDeEM7Ozt5Q0FHRSxNQUFNO3lDQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLXBheW1lbnQtYnV0dG9uc1wiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtYnV0dG9uc1wiPlxyXG4gICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidBbmRlcmUgYmV0YWFsd2lqemUnXCIgKGNsaWNrKT1cImNoYW5nZVBheW1lbnRNZXRob2RDbGlja2VkLm5leHQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidOYWFyIGthc3Nhb3JkZXInXCIgKGNsaWNrKT1cInRvQ2FzaFJlZ2lzdGVyT3JkZXJDbGlja2VkLm5leHQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlclBheW1lbnRCdXR0b25zQ29tcG9uZW50IHtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHRvQ2FzaFJlZ2lzdGVyT3JkZXJDbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjaGFuZ2VQYXltZW50TWV0aG9kQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { TransactionCashRegisterPaymentButtonsComponent } from "./transaction-cash-register-payment-buttons.component";
4
+ import { ButtonModule } from "@colijnit/corecomponents_v12";
5
+ export class TransactionCashRegisterPaymentButtonsModule {
6
+ }
7
+ TransactionCashRegisterPaymentButtonsModule.decorators = [
8
+ { type: NgModule, args: [{
9
+ imports: [
10
+ CommonModule,
11
+ ButtonModule
12
+ ],
13
+ declarations: [
14
+ TransactionCashRegisterPaymentButtonsComponent
15
+ ],
16
+ exports: [
17
+ TransactionCashRegisterPaymentButtonsComponent
18
+ ]
19
+ },] }
20
+ ];
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWJ1dHRvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLXBheW1lbnQtZGlhbG9nL2NvbXBvbmVudHMvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWJ1dHRvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyw4Q0FBOEMsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ3JILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQWMxRCxNQUFNLE9BQU8sMkNBQTJDOzs7WUFadkQsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFlBQVk7aUJBQ2I7Z0JBQ0MsWUFBWSxFQUFFO29CQUNWLDhDQUE4QztpQkFDakQ7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLDhDQUE4QztpQkFDakQ7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJQYXltZW50QnV0dG9uc0NvbXBvbmVudH0gZnJvbSBcIi4vdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWJ1dHRvbnMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBCdXR0b25Nb2R1bGVcclxuICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJQYXltZW50QnV0dG9uc0NvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlclBheW1lbnRCdXR0b25zQ29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlclBheW1lbnRCdXR0b25zTW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -0,0 +1,82 @@
1
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angular/core";
2
+ import { IconCacheService } from "../../../../service/icon-cache.service";
3
+ import { Icon } from "../../../../enum/icon.enum";
4
+ import { PaymentService } from "../../../../service/payment.service";
5
+ import { TransactionService } from "../../../../service/transaction.service";
6
+ import { TransactionKind } from "@colijnit/transactionapi/build/enum/transaction-kind.enum";
7
+ export class TransactionCashRegisterPaymentCashComponent {
8
+ constructor(iconCacheService, transactionService, _paymentService) {
9
+ this.iconCacheService = iconCacheService;
10
+ this.transactionService = transactionService;
11
+ this._paymentService = _paymentService;
12
+ this.icons = Icon;
13
+ this.transKind = TransactionKind;
14
+ this.toCashRegisterOrderClicked = new EventEmitter();
15
+ this.changePaymentMethodClicked = new EventEmitter();
16
+ this.confirmPaymentClicked = new EventEmitter();
17
+ }
18
+ handleModelChange() {
19
+ this._paymentService.amountToPay = this.amountToPay;
20
+ }
21
+ }
22
+ TransactionCashRegisterPaymentCashComponent.decorators = [
23
+ { type: Component, args: [{
24
+ selector: "co-transaction-cash-register-payment-cash",
25
+ template: `
26
+ <div class="payment-wrapper">
27
+ <div class="payment-content">
28
+ <div class="payment-text">
29
+ <span class="total-amount-text" [textContent]="'Totaalbedrag is ' + (orderTotal | coCurrency)"></span>
30
+ <span [textContent]="'Gekozen voor contantbetaling.'"></span>
31
+ </div>
32
+
33
+ <div class="to-pay-wrapper">
34
+ <div class="price-display">
35
+ <span class="payed-text" [textContent]="'Betaald'"></span>
36
+ <span class="to-pay-amount" [textContent]="amountToPay | coCurrency"></span>
37
+ </div>
38
+ <div class="confirm-action-button" (click)="confirmPaymentClicked.next()">
39
+ <co-icon [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"></co-icon>
40
+ </div>
41
+ </div>
42
+
43
+ <co-transaction-cash-register-payment-buttons
44
+ (toCashRegisterOrderClicked)="toCashRegisterOrderClicked.next()"
45
+ (changePaymentMethodClicked)="changePaymentMethodClicked.next()"
46
+ ></co-transaction-cash-register-payment-buttons>
47
+
48
+ <div class="payment-deposit">
49
+ <co-deposit-payment
50
+ [branch]="transactionService.currentBranch"
51
+ [transactionUuid]="transactionService.currentTransaction.transactionInfo.uuid"
52
+ [transactionKind]="transKind.CashDesk"
53
+ ></co-deposit-payment>
54
+ </div>
55
+ </div>
56
+
57
+ <div class="numpad-wrapper">
58
+ <co-key-pad class="payment-to-pay-keypad"
59
+ [showValue]="false"
60
+ [emitModelChangeOnEnter]="false"
61
+ [(model)]="amountToPay"
62
+ (modelChange)="handleModelChange()"
63
+ ></co-key-pad>
64
+ </div>
65
+ </div>
66
+ `,
67
+ encapsulation: ViewEncapsulation.None
68
+ },] }
69
+ ];
70
+ TransactionCashRegisterPaymentCashComponent.ctorParameters = () => [
71
+ { type: IconCacheService },
72
+ { type: TransactionService },
73
+ { type: PaymentService }
74
+ ];
75
+ TransactionCashRegisterPaymentCashComponent.propDecorators = {
76
+ orderTotal: [{ type: Input }],
77
+ amountToPay: [{ type: Input }],
78
+ toCashRegisterOrderClicked: [{ type: Output }],
79
+ changePaymentMethodClicked: [{ type: Output }],
80
+ confirmPaymentClicked: [{ type: Output }]
81
+ };
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWNhc2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLXBheW1lbnQtZGlhbG9nL2NvbXBvbmVudHMvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWNhc2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFlLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFnRDFGLE1BQU0sT0FBTywyQ0FBMkM7SUFJdEQsWUFDUyxnQkFBa0MsRUFDbEMsa0JBQXNDLEVBQ3JDLGVBQStCO1FBRmhDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNyQyxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFOekIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFDMUIsY0FBUyxHQUEyQixlQUFlLENBQUM7UUFlN0QsK0JBQTBCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHMUUsK0JBQTBCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHMUUsMEJBQXFCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFmeEUsQ0FBQztJQWlCRSxpQkFBaUI7UUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN0RCxDQUFDOzs7WUF6RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwyQ0FBMkM7Z0JBQ3JELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Q1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQW5ETyxnQkFBZ0I7WUFHaEIsa0JBQWtCO1lBRGxCLGNBQWM7Ozt5QkE0RG5CLEtBQUs7MEJBR0wsS0FBSzt5Q0FHTCxNQUFNO3lDQUdOLE1BQU07b0NBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtQYXltZW50U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2UvcGF5bWVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25LaW5kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vdHJhbnNhY3Rpb24ta2luZC5lbnVtXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLXBheW1lbnQtY2FzaFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC13cmFwcGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWNvbnRlbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC10ZXh0XCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvdGFsLWFtb3VudC10ZXh0XCIgW3RleHRDb250ZW50XT1cIidUb3RhYWxiZWRyYWcgaXMgJyArIChvcmRlclRvdGFsIHwgY29DdXJyZW5jeSlcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ0dla296ZW4gdm9vciBjb250YW50YmV0YWxpbmcuJ1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRvLXBheS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UtZGlzcGxheVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBheWVkLXRleHRcIiBbdGV4dENvbnRlbnRdPVwiJ0JldGFhbGQnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvLXBheS1hbW91bnRcIiBbdGV4dENvbnRlbnRdPVwiYW1vdW50VG9QYXkgfCBjb0N1cnJlbmN5XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlybS1hY3Rpb24tYnV0dG9uXCIgKGNsaWNrKT1cImNvbmZpcm1QYXltZW50Q2xpY2tlZC5uZXh0KClcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLXBheW1lbnQtYnV0dG9uc1xyXG4gICAgICAgICh0b0Nhc2hSZWdpc3Rlck9yZGVyQ2xpY2tlZCk9XCJ0b0Nhc2hSZWdpc3Rlck9yZGVyQ2xpY2tlZC5uZXh0KClcIlxyXG4gICAgICAgIChjaGFuZ2VQYXltZW50TWV0aG9kQ2xpY2tlZCk9XCJjaGFuZ2VQYXltZW50TWV0aG9kQ2xpY2tlZC5uZXh0KClcIlxyXG4gICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItcGF5bWVudC1idXR0b25zPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1kZXBvc2l0XCI+XHJcbiAgICAgICAgICA8Y28tZGVwb3NpdC1wYXltZW50XHJcbiAgICAgICAgICAgIFticmFuY2hdPVwidHJhbnNhY3Rpb25TZXJ2aWNlLmN1cnJlbnRCcmFuY2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWRcIlxyXG4gICAgICAgICAgICBbdHJhbnNhY3Rpb25LaW5kXT1cInRyYW5zS2luZC5DYXNoRGVza1wiXHJcbiAgICAgICAgICA+PC9jby1kZXBvc2l0LXBheW1lbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm51bXBhZC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLWtleS1wYWQgY2xhc3M9XCJwYXltZW50LXRvLXBheS1rZXlwYWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93VmFsdWVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtlbWl0TW9kZWxDaGFuZ2VPbkVudGVyXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhbW91bnRUb1BheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZU1vZGVsQ2hhbmdlKClcIlxyXG4gICAgICAgID48L2NvLWtleS1wYWQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlclBheW1lbnRDYXNoQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNLaW5kOiB0eXBlb2YgVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcGF5bWVudFNlcnZpY2U6IFBheW1lbnRTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb3JkZXJUb3RhbDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbW91bnRUb1BheTogbnVtYmVyO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgdG9DYXNoUmVnaXN0ZXJPcmRlckNsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNoYW5nZVBheW1lbnRNZXRob2RDbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjb25maXJtUGF5bWVudENsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIGhhbmRsZU1vZGVsQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGF5bWVudFNlcnZpY2UuYW1vdW50VG9QYXkgPSB0aGlzLmFtb3VudFRvUGF5O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { TransactionCashRegisterPaymentCashComponent } from "./transaction-cash-register-payment-cash.component";
4
+ import { IconModule } from "@colijnit/corecomponents_v12";
5
+ import { PipeModule } from "../../../../pipe/pipe.module";
6
+ import { KeyPadModule } from "@colijnit/sharedcomponents";
7
+ import { TransactionCashRegisterPaymentButtonsModule } from "./transaction-cash-register-payment-buttons.module";
8
+ import { DepositPaymentModule } from "../../../deposit-payment/deposit-payment.module";
9
+ export class TransactionCashRegisterPaymentCashModule {
10
+ }
11
+ TransactionCashRegisterPaymentCashModule.decorators = [
12
+ { type: NgModule, args: [{
13
+ imports: [
14
+ CommonModule,
15
+ IconModule,
16
+ PipeModule,
17
+ KeyPadModule,
18
+ TransactionCashRegisterPaymentButtonsModule,
19
+ DepositPaymentModule
20
+ ],
21
+ declarations: [
22
+ TransactionCashRegisterPaymentCashComponent
23
+ ],
24
+ exports: [
25
+ TransactionCashRegisterPaymentCashComponent
26
+ ]
27
+ },] }
28
+ ];
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWNhc2gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLXBheW1lbnQtZGlhbG9nL2NvbXBvbmVudHMvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWNhc2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQywyQ0FBMkMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQy9HLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBQywyQ0FBMkMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQy9HLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBa0JyRixNQUFNLE9BQU8sd0NBQXdDOzs7WUFoQnBELFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixVQUFVO29CQUNWLFVBQVU7b0JBQ1YsWUFBWTtvQkFDWiwyQ0FBMkM7b0JBQzNDLG9CQUFvQjtpQkFDdkI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLDJDQUEyQztpQkFDOUM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLDJDQUEyQztpQkFDOUM7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJQYXltZW50Q2FzaENvbXBvbmVudH0gZnJvbSBcIi4vdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWNhc2guY29tcG9uZW50XCI7XHJcbmltcG9ydCB7SWNvbk1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtQaXBlTW9kdWxlfSBmcm9tIFwiLi4vLi4vLi4vLi4vcGlwZS9waXBlLm1vZHVsZVwiO1xyXG5pbXBvcnQge0tleVBhZE1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRjb21wb25lbnRzXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJQYXltZW50QnV0dG9uc01vZHVsZX0gZnJvbSBcIi4vdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWJ1dHRvbnMubW9kdWxlXCI7XHJcbmltcG9ydCB7RGVwb3NpdFBheW1lbnRNb2R1bGV9IGZyb20gXCIuLi8uLi8uLi9kZXBvc2l0LXBheW1lbnQvZGVwb3NpdC1wYXltZW50Lm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgSWNvbk1vZHVsZSxcclxuICAgICAgICBQaXBlTW9kdWxlLFxyXG4gICAgICAgIEtleVBhZE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlclBheW1lbnRCdXR0b25zTW9kdWxlLFxyXG4gICAgICAgIERlcG9zaXRQYXltZW50TW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJQYXltZW50Q2FzaENvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlclBheW1lbnRDYXNoQ29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlclBheW1lbnRDYXNoTW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -0,0 +1,98 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angular/core";
3
+ import { TransactionBaseComponent } from "../../../core/base/transaction-base.component";
4
+ import { EmailPosReceiptRequest } from "@colijnit/transactionapi/build/model/email-pos-receipt-request";
5
+ import { PrintPosReceiptRequest } from "@colijnit/transactionapi/build/model/print-pos-receipt-request";
6
+ export class TransactionCashRegisterPaymentDoneComponent extends TransactionBaseComponent {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.handleReceiptOptionSelected = new EventEmitter();
10
+ this.receiptOptions = [
11
+ { title: 'EMAIL', iconData: this.iconCacheService.getIcon(this.icons.AtSolid) },
12
+ { title: 'PRINT', iconData: this.iconCacheService.getIcon(this.icons.PrintSolid) },
13
+ { title: 'NO_RECEIPT', iconData: this.iconCacheService.getIcon(this.icons.RegularReceiptSlash) }
14
+ ];
15
+ this.disableInput = false;
16
+ this.emailAddressList = [];
17
+ }
18
+ ngOnInit() {
19
+ super.ngOnInit();
20
+ this._getDefaultEmailAddressListForPosReceipt();
21
+ }
22
+ emailReceipt() {
23
+ const request = new EmailPosReceiptRequest();
24
+ request.transId = this.transactionService.currentTransaction.transactionInfo.id;
25
+ request.toAddresses = this.emailAddressList.join(';');
26
+ request.reportId = this.cashRegisterPaymentDetails.emailLayout.reportId;
27
+ this.transactionService.emailPosReceipt(request).then((success) => {
28
+ if (success) {
29
+ this.handleReceiptOptionSelected.next();
30
+ }
31
+ else {
32
+ this.disableInput = false;
33
+ }
34
+ });
35
+ }
36
+ printReceipt() {
37
+ const request = new PrintPosReceiptRequest();
38
+ request.transId = this.transactionService.currentTransaction.transactionInfo.id;
39
+ request.copies = 1;
40
+ request.printerName = this.cashRegisterPaymentDetails.printer.name;
41
+ request.reportId = this.cashRegisterPaymentDetails.printerLayout.reportId;
42
+ this.transactionService.printPosReceipt(request).then((success) => {
43
+ if (success) {
44
+ this.handleReceiptOptionSelected.next();
45
+ }
46
+ else {
47
+ this.disableInput = false;
48
+ }
49
+ });
50
+ }
51
+ noPrintReceipt() {
52
+ this.handleReceiptOptionSelected.next();
53
+ this.disableInput = false;
54
+ }
55
+ handleClickReceipt(title) {
56
+ if (!this.disableInput) {
57
+ this.disableInput = true;
58
+ switch (title) {
59
+ case 'EMAIL':
60
+ this.emailReceipt();
61
+ break;
62
+ case 'PRINT':
63
+ this.printReceipt();
64
+ break;
65
+ case 'NO_RECEIPT':
66
+ this.noPrintReceipt();
67
+ break;
68
+ }
69
+ }
70
+ }
71
+ _getDefaultEmailAddressListForPosReceipt() {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ this.transactionService.getDefaultEmailAddressListForPosReceipt(this.transactionService.currentTransaction.transactionInfo.uuid)
74
+ .then((emailAddressList) => {
75
+ this.emailAddressList = emailAddressList;
76
+ });
77
+ });
78
+ }
79
+ }
80
+ TransactionCashRegisterPaymentDoneComponent.decorators = [
81
+ { type: Component, args: [{
82
+ selector: "co-transaction-cash-register-payment-done",
83
+ template: `
84
+ <div class="receipt-content-wrapper">
85
+ <div class="receipt-option" [class.disabled]="disableInput" *ngFor="let receiptOption of receiptOptions" (click)="handleClickReceipt(receiptOption.title)">
86
+ <co-icon [iconData]="receiptOption.iconData"></co-icon>
87
+ <span [textContent]="receiptOption.title | localize"></span>
88
+ </div>
89
+ </div>
90
+ `,
91
+ encapsulation: ViewEncapsulation.None
92
+ },] }
93
+ ];
94
+ TransactionCashRegisterPaymentDoneComponent.propDecorators = {
95
+ cashRegisterPaymentDetails: [{ type: Input }],
96
+ handleReceiptOptionSelected: [{ type: Output }]
97
+ };
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWRvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLXBheW1lbnQtZGlhbG9nL2NvbXBvbmVudHMvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWRvbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBR3ZGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBY3RHLE1BQU0sT0FBTywyQ0FBNEMsU0FBUSx3QkFBd0I7SUFaekY7O1FBa0JTLGdDQUEyQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTNFLG1CQUFjLEdBQTBDO1lBQzdELEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFDO1lBQzdFLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFDO1lBQ2hGLEVBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUs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SCxJQUFJLENBQUMsQ0FBQyxnQkFBMEIsRUFBRSxFQUFFO2dCQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7WUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0tBQUE7OztZQTNGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJDQUEyQztnQkFDckQsUUFBUSxFQUFFOzs7Ozs7O0tBT1A7Z0JBQ0gsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7Ozt5Q0FHRSxLQUFLOzBDQUdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1BheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVsL3BheW1lbnQtdHJhbnNhY3Rpb24tdmlldy1tb2RlbFwiO1xyXG5pbXBvcnQge1NhZmVIdG1sfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQge0VtYWlsUG9zUmVjZWlwdFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZW1haWwtcG9zLXJlY2VpcHQtcmVxdWVzdFwiO1xyXG5pbXBvcnQge1ByaW50UG9zUmVjZWlwdFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtcG9zLXJlY2VpcHQtcmVxdWVzdFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1wYXltZW50LWRvbmVcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInJlY2VpcHQtY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZWNlaXB0LW9wdGlvblwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlSW5wdXRcIiAqbmdGb3I9XCJsZXQgcmVjZWlwdE9wdGlvbiBvZiByZWNlaXB0T3B0aW9uc1wiIChjbGljayk9XCJoYW5kbGVDbGlja1JlY2VpcHQocmVjZWlwdE9wdGlvbi50aXRsZSlcIj5cclxuICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwicmVjZWlwdE9wdGlvbi5pY29uRGF0YVwiPjwvY28taWNvbj5cclxuICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicmVjZWlwdE9wdGlvbi50aXRsZSB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlclBheW1lbnREb25lQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHM6IFBheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZVJlY2VpcHRPcHRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBwdWJsaWMgcmVjZWlwdE9wdGlvbnM6IHt0aXRsZTogc3RyaW5nLCBpY29uRGF0YTogU2FmZUh0bWx9W10gPSBbXHJcbiAgICB7dGl0bGU6ICdFTUFJTCcsIGljb25EYXRhOiB0aGlzLmljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLkF0U29saWQpfSxcclxuICAgIHt0aXRsZTogJ1BSSU5UJywgaWNvbkRhdGE6IHRoaXMuaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuUHJpbnRTb2xpZCl9LFxyXG4gICAge3RpdGxlOiAnTk9fUkVDRUlQVCcsIGljb25EYXRhOiB0aGlzLmljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLlJlZ3VsYXJSZWNlaXB0U2xhc2gpfVxyXG4gIF07XHJcblxyXG4gIHB1YmxpYyBkaXNhYmxlSW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZW1haWxBZGRyZXNzTGlzdDogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX2dldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0Rm9yUG9zUmVjZWlwdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVtYWlsUmVjZWlwdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IEVtYWlsUG9zUmVjZWlwdFJlcXVlc3QgPSBuZXcgRW1haWxQb3NSZWNlaXB0UmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC50cmFuc0lkID0gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIHJlcXVlc3QudG9BZGRyZXNzZXMgPSB0aGlzLmVtYWlsQWRkcmVzc0xpc3Quam9pbignOycpO1xyXG4gICAgcmVxdWVzdC5yZXBvcnRJZCA9IHRoaXMuY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHMuZW1haWxMYXlvdXQucmVwb3J0SWQ7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5lbWFpbFBvc1JlY2VpcHQocmVxdWVzdCkudGhlbigoc3VjY2VzczogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlUmVjZWlwdE9wdGlvblNlbGVjdGVkLm5leHQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVJbnB1dCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwcmludFJlY2VpcHQoKTogdm9pZCB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBQcmludFBvc1JlY2VpcHRSZXF1ZXN0ID0gbmV3IFByaW50UG9zUmVjZWlwdFJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QudHJhbnNJZCA9IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICByZXF1ZXN0LmNvcGllcyA9IDE7XHJcbiAgICByZXF1ZXN0LnByaW50ZXJOYW1lID0gdGhpcy5jYXNoUmVnaXN0ZXJQYXltZW50RGV0YWlscy5wcmludGVyLm5hbWU7XHJcbiAgICByZXF1ZXN0LnJlcG9ydElkID0gdGhpcy5jYXNoUmVnaXN0ZXJQYXltZW50RGV0YWlscy5wcmludGVyTGF5b3V0LnJlcG9ydElkO1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucHJpbnRQb3NSZWNlaXB0KHJlcXVlc3QpLnRoZW4oKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICB0aGlzLmhhbmRsZVJlY2VpcHRPcHRpb25TZWxlY3RlZC5uZXh0KCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlSW5wdXQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbm9QcmludFJlY2VpcHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhhbmRsZVJlY2VpcHRPcHRpb25TZWxlY3RlZC5uZXh0KCk7XHJcbiAgICB0aGlzLmRpc2FibGVJbnB1dCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNsaWNrUmVjZWlwdCh0aXRsZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZGlzYWJsZUlucHV0KSB7XHJcbiAgICAgIHRoaXMuZGlzYWJsZUlucHV0ID0gdHJ1ZTtcclxuXHJcbiAgICAgIHN3aXRjaCAodGl0bGUpIHtcclxuICAgICAgICBjYXNlICdFTUFJTCc6XHJcbiAgICAgICAgICB0aGlzLmVtYWlsUmVjZWlwdCgpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnUFJJTlQnOlxyXG4gICAgICAgICAgdGhpcy5wcmludFJlY2VpcHQoKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ05PX1JFQ0VJUFQnOlxyXG4gICAgICAgICAgdGhpcy5ub1ByaW50UmVjZWlwdCgpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2dldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0Rm9yUG9zUmVjZWlwdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0Rm9yUG9zUmVjZWlwdCh0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQpXHJcbiAgICAgIC50aGVuKChlbWFpbEFkZHJlc3NMaXN0OiBzdHJpbmdbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZW1haWxBZGRyZXNzTGlzdCA9IGVtYWlsQWRkcmVzc0xpc3Q7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=