@colijnit/transaction 12.1.130 → 12.1.132
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.
- package/bundles/colijnit-transaction.umd.js +1794 -469
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +378 -366
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +379 -367
- package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +2 -2
- package/esm2015/lib/component/core/base/transaction-base.component.js +2 -2
- package/esm2015/lib/component/deposit-payment/deposit-payment.component.js +17 -5
- package/esm2015/lib/component/discount/discount.component.js +110 -0
- package/esm2015/lib/component/discount/discount.module.js +29 -0
- package/esm2015/lib/component/payment/payment.component.js +86 -44
- package/esm2015/lib/component/payment/payment.module.js +4 -2
- package/esm2015/lib/component/payment-to-pay/payment-to-pay.component.js +26 -0
- package/esm2015/lib/component/payment-to-pay/payment-to-pay.module.js +21 -0
- package/esm2015/lib/component/transaction/transaction.module.js +4 -2
- package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.component.js +178 -0
- package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.module.js +28 -0
- package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/transaction-cash-register-order-receipt-dialog.component.js +97 -0
- package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/transaction-cash-register-order-receipt-dialog.module.js +24 -0
- package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.js +189 -0
- package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.module.js +41 -0
- package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +11 -2
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-payment.component.js +97 -4
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup.module.js +8 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-amount-to-settle.component.js +55 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-amount-to-settle.module.js +24 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-deposit-amount.component.js +24 -3
- package/esm2015/lib/component/transaction-header-fields/transaction-header-divide-evenly.component.js +38 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-divide-evenly.module.js +25 -0
- package/esm2015/lib/component/transaction-header-fields/transaction-header-payment-button/transaction-header-payment-button.component.js +14 -3
- package/esm2015/lib/component/transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.component.js +52 -0
- package/esm2015/lib/component/transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.module.js +36 -0
- package/esm2015/lib/component/transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.component.js +4 -6
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +13 -13
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-to-be-picked/transaction-quick-access-to-be-picked.component.js +2 -2
- package/esm2015/lib/enum/icon.enum.js +3 -1
- package/esm2015/lib/enum/order-discount-type.enum.js +7 -0
- package/esm2015/lib/enum/transaction-type-category.enum.js +2 -1
- package/esm2015/lib/model/icon-svg.js +3 -1
- package/esm2015/lib/model/payment-transaction-view-model.js +3 -0
- package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
- package/esm2015/lib/service/payment.service.js +29 -5
- package/esm2015/lib/service/transaction-connector-adapter.service.js +168 -2
- package/esm2015/lib/service/transaction-connector.service.js +50 -2
- package/esm2015/lib/service/transaction-event.service.js +2 -1
- package/esm2015/lib/service/transaction-mapping.service.js +4 -2
- package/esm2015/lib/service/transaction.service.js +58 -5
- package/esm2015/lib/transaction-version.js +3 -3
- package/esm2015/public_api.js +3 -1
- package/fesm2015/colijnit-transaction.js +1315 -82
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/cash-register-order-wrapper.ts/style/_layout.scss +4 -0
- package/lib/component/cash-register-order-wrapper.ts/style/_material-definition.scss +0 -0
- package/lib/component/cash-register-order-wrapper.ts/style/_theme.scss +4 -0
- package/lib/component/cash-register-order-wrapper.ts/style/material.scss +4 -0
- package/lib/component/checkout/checkout-overview-relation-edit/style/_layout.scss +9 -0
- package/lib/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +4 -1
- package/lib/component/checkout/checkout-overview-relation-edit/style/_theme.scss +3 -0
- package/lib/component/checkout-simple/checkout-simple-overview-relation-edit/style/_layout.scss +9 -0
- package/lib/component/checkout-simple/checkout-simple-overview-relation-edit/style/_material-definition.scss +4 -1
- package/lib/component/checkout-simple/checkout-simple-overview-relation-edit/style/_theme.scss +3 -0
- package/lib/component/core/base/transaction-base.component.d.ts +1 -1
- package/lib/component/deposit-payment/deposit-payment.component.d.ts +9 -3
- package/lib/component/discount/discount.component.d.ts +19 -0
- package/lib/component/discount/discount.module.d.ts +2 -0
- package/lib/component/discount/style/_layout.scss +0 -0
- package/lib/component/discount/style/_material-definition.scss +0 -0
- package/lib/component/discount/style/_theme.scss +0 -0
- package/lib/component/discount/style/material.scss +0 -0
- package/lib/component/payment/payment.component.d.ts +16 -6
- package/lib/component/payment/style/_layout.scss +5 -0
- package/lib/component/payment/style/_material-definition.scss +3 -6
- package/lib/component/payment/style/_theme.scss +0 -24
- package/lib/component/payment/style/material.scss +1 -0
- package/lib/component/payment-to-pay/payment-to-pay.component.d.ts +4 -0
- package/lib/component/payment-to-pay/payment-to-pay.module.d.ts +2 -0
- package/lib/component/payment-to-pay/style/_layout.scss +26 -0
- package/lib/component/payment-to-pay/style/_material-definition.scss +6 -0
- package/lib/component/payment-to-pay/style/_theme.scss +9 -0
- package/lib/component/payment-to-pay/style/material.scss +4 -0
- package/lib/component/quick-send-button/style/_layout.scss +24 -0
- package/lib/component/quick-send-button/style/_material-definition.scss +2 -0
- package/lib/component/tile/style/_layout.scss +4 -0
- package/lib/component/transaction-cash-register-order/style/_layout.scss +134 -0
- package/lib/component/transaction-cash-register-order/style/_material-definition.scss +0 -0
- package/lib/component/transaction-cash-register-order/style/_theme.scss +4 -0
- package/lib/component/transaction-cash-register-order/style/material.scss +7 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/style/_layout.scss +37 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/style/_material-definition.scss +0 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/style/_theme.scss +4 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/style/material.scss +4 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.component.d.ts +36 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-dialog/transaction-cash-register-dialog.module.d.ts +2 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/style/_layout.scss +53 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/style/_material-definition.scss +0 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/style/_theme.scss +4 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/style/material.scss +5 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/transaction-cash-register-order-receipt-dialog.component.d.ts +18 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-order-receipt-dialog/transaction-cash-register-order-receipt-dialog.module.d.ts +2 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.d.ts +46 -0
- package/lib/component/transaction-cash-register-order/transaction-cash-register-order.module.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +5 -2
- package/lib/component/transaction-header/transaction-header-popup/style/_layout.scss +33 -0
- package/lib/component/transaction-header/transaction-header-popup/style/_material-definition.scss +5 -0
- package/lib/component/transaction-header/transaction-header-popup/style/_theme.scss +10 -0
- package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-payment.component.d.ts +32 -1
- package/lib/component/transaction-header-fields/transaction-header-amount-to-settle.component.d.ts +8 -0
- package/lib/component/transaction-header-fields/transaction-header-amount-to-settle.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-deposit-amount.component.d.ts +6 -0
- package/lib/component/transaction-header-fields/transaction-header-divide-evenly.component.d.ts +5 -0
- package/lib/component/transaction-header-fields/transaction-header-divide-evenly.module.d.ts +2 -0
- package/lib/component/transaction-header-fields/transaction-header-payment-button/transaction-header-payment-button.component.d.ts +7 -3
- package/lib/component/transaction-line/transaction-cash-register-order-line/style/_layout.scss +21 -0
- package/lib/component/transaction-line/transaction-cash-register-order-line/style/_material-definition.scss +0 -0
- package/lib/component/transaction-line/transaction-cash-register-order-line/style/_theme.scss +4 -0
- package/lib/component/transaction-line/transaction-cash-register-order-line/style/material.scss +4 -0
- package/lib/component/transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.component.d.ts +4 -0
- package/lib/component/transaction-line/transaction-cash-register-order-line/transaction-cash-register-order-line.module.d.ts +2 -0
- package/lib/component/transaction-line/transaction-to-be-picked-line/transaction-to-be-picked-line.component.d.ts +0 -1
- package/lib/component/transaction-lines/style/material.scss +1 -0
- package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +13 -13
- package/lib/enum/icon.enum.d.ts +2 -0
- package/lib/enum/order-discount-type.enum.d.ts +5 -0
- package/lib/enum/transaction-type-category.enum.d.ts +2 -1
- package/lib/model/payment-transaction-view-model.d.ts +12 -0
- package/lib/res/dictionary/dictionaries.d.ts +15 -2
- package/lib/service/payment.service.d.ts +13 -2
- package/lib/service/transaction-connector-adapter.service.d.ts +26 -4
- package/lib/service/transaction-connector.service.d.ts +37 -22
- package/lib/service/transaction-event.service.d.ts +1 -0
- package/lib/service/transaction.service.d.ts +15 -0
- package/package.json +2 -2
- package/public_api.d.ts +2 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Output, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { TransactionBaseComponent } from "../../core/base/transaction-base.component";
|
|
3
|
+
import { CreateCashRegisterOrderRequest } from "@colijnit/transactionapi/build/model/create-cash-register-order-request";
|
|
4
|
+
import { CashDrawersRequest } from "@colijnit/transactionapi/build/model/cash-drawers-request";
|
|
5
|
+
import { PaymentTransactionViewModel } from "../../../model/payment-transaction-view-model";
|
|
6
|
+
export class TransactionCashRegisterDialogComponent extends TransactionBaseComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.paymentDetailsSelected = new EventEmitter();
|
|
10
|
+
this.cashRegisterOrderRequestCreated = new EventEmitter();
|
|
11
|
+
this.cashRegisters = [];
|
|
12
|
+
this.cashDrawers = [];
|
|
13
|
+
this.printerList = [];
|
|
14
|
+
this.printerLayouts = [];
|
|
15
|
+
this.emailLayouts = [];
|
|
16
|
+
}
|
|
17
|
+
showClass() {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
super.ngOnInit();
|
|
22
|
+
this._prepareCashRegister();
|
|
23
|
+
this._getPrinters();
|
|
24
|
+
this._getPrinterLayouts();
|
|
25
|
+
this._getEmailLayouts();
|
|
26
|
+
}
|
|
27
|
+
cashRegisterSelected(cashRegister) {
|
|
28
|
+
this.activeCashRegister = cashRegister;
|
|
29
|
+
this._getCashDrawers(this.activeCashRegister.group);
|
|
30
|
+
}
|
|
31
|
+
cashDrawerSelected() {
|
|
32
|
+
this._createCashRegisterOrder();
|
|
33
|
+
const paymentTransactionViewModel = new PaymentTransactionViewModel();
|
|
34
|
+
paymentTransactionViewModel.cashRegister = this.activeCashRegister;
|
|
35
|
+
paymentTransactionViewModel.cashDrawer = this.activeCashDrawer;
|
|
36
|
+
paymentTransactionViewModel.printer = this.activePrinter;
|
|
37
|
+
paymentTransactionViewModel.printerLayout = this.selectedPrinterLayout;
|
|
38
|
+
paymentTransactionViewModel.emailLayout = this.selectedEmailLayout;
|
|
39
|
+
this.paymentDetailsSelected.next(paymentTransactionViewModel);
|
|
40
|
+
}
|
|
41
|
+
_createCashRegisterOrder() {
|
|
42
|
+
const request = new CreateCashRegisterOrderRequest();
|
|
43
|
+
request.cashDrawerId = this.activeCashDrawer.id; // CashDrawer.id
|
|
44
|
+
request.cashRegisterGroupId = this.activeCashDrawer.group; // CashDrawer.group
|
|
45
|
+
request.cashRegisterNr = this.activeCashRegister.nr; // CashRegister.nr
|
|
46
|
+
request.printerName = this.activePrinter.name;
|
|
47
|
+
this.cashRegisterOrderRequestCreated.next(request);
|
|
48
|
+
}
|
|
49
|
+
_getCashRegisters(branch) {
|
|
50
|
+
this.transactionService.getCashRegisters(branch).then((cashRegisters) => {
|
|
51
|
+
this.cashRegisters.push(...cashRegisters);
|
|
52
|
+
this._getCashDrawers(this.cashRegisters[0].group);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
_getCashDrawers(group) {
|
|
56
|
+
const cashDrawersRequest = new CashDrawersRequest();
|
|
57
|
+
cashDrawersRequest.group = group;
|
|
58
|
+
this.transactionService.getCashDrawers(cashDrawersRequest).then((cashDrawers) => {
|
|
59
|
+
this.cashDrawers = cashDrawers;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
_getPrinters() {
|
|
63
|
+
this.transactionService.getPrinters().then((printerList) => {
|
|
64
|
+
this.printerList = printerList;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
_prepareCashRegister() {
|
|
68
|
+
if (!this.transactionService.currentBranch) {
|
|
69
|
+
// show pop-up
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this._getCashRegisters(this.transactionService.currentBranch);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
handleDrawerChanged(cashDrawer) {
|
|
76
|
+
this.activeCashDrawer = cashDrawer;
|
|
77
|
+
}
|
|
78
|
+
handlePrinterChanged(printer) {
|
|
79
|
+
this.activePrinter = printer;
|
|
80
|
+
}
|
|
81
|
+
_getPrinterLayouts() {
|
|
82
|
+
this.transactionService.getPosReceiptPrintLayouts(this.transactionInfo.uuid).then((layouts) => {
|
|
83
|
+
this.printerLayouts = layouts;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
_getEmailLayouts() {
|
|
87
|
+
this.transactionService.getPosReceiptEmailLayouts(this.transactionInfo.uuid).then((layouts) => {
|
|
88
|
+
this.emailLayouts = layouts;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
TransactionCashRegisterDialogComponent.decorators = [
|
|
93
|
+
{ type: Component, args: [{
|
|
94
|
+
selector: "co-transaction-cash-register-dialog",
|
|
95
|
+
template: `
|
|
96
|
+
<co-dialog [showCloseIcon]="false" [footerTemplate]="footerTemplate" [headerTemplate]="headerTemplate">
|
|
97
|
+
<div class="dialog-content-wrapper">
|
|
98
|
+
<div class="cash-registers">
|
|
99
|
+
<co-payment-tile *ngFor="let cashRegister of cashRegisters"
|
|
100
|
+
[icon]="cashRegister.icon"
|
|
101
|
+
[description]="cashRegister.description"
|
|
102
|
+
[selected]="cashRegister === activeCashRegister"
|
|
103
|
+
(selectedChange)="cashRegisterSelected(cashRegister)"
|
|
104
|
+
></co-payment-tile>
|
|
105
|
+
</div>
|
|
106
|
+
|
|
107
|
+
<co-list-of-values [label]="'CASH_DRAWER' | localize"
|
|
108
|
+
[(model)]="activeCashDrawer"
|
|
109
|
+
[displayField]="'nr'"
|
|
110
|
+
[collection]="cashDrawers"
|
|
111
|
+
[multiselect]="false"
|
|
112
|
+
[required]="false"
|
|
113
|
+
[readonly]="headerReadonly"
|
|
114
|
+
[searchDisabled]="true"
|
|
115
|
+
(modelChange)="handleDrawerChanged($event)"
|
|
116
|
+
></co-list-of-values>
|
|
117
|
+
|
|
118
|
+
<co-list-of-values [label]="'PRINTER' | localize"
|
|
119
|
+
[(model)]="activePrinter"
|
|
120
|
+
[displayField]="'name'"
|
|
121
|
+
[collection]="printerList"
|
|
122
|
+
[multiselect]="false"
|
|
123
|
+
[required]="false"
|
|
124
|
+
[readonly]="headerReadonly"
|
|
125
|
+
[searchDisabled]="true"
|
|
126
|
+
(modelChange)="handlePrinterChanged($event)"
|
|
127
|
+
></co-list-of-values>
|
|
128
|
+
|
|
129
|
+
<co-list-of-values [label]="'PRINTER_LAYOUT' | localize"
|
|
130
|
+
[(model)]="selectedPrinterLayout"
|
|
131
|
+
[displayField]="'name'"
|
|
132
|
+
[collection]="printerLayouts"
|
|
133
|
+
[multiselect]="false"
|
|
134
|
+
[required]="false"
|
|
135
|
+
[readonly]="headerReadonly"
|
|
136
|
+
[searchDisabled]="true"
|
|
137
|
+
></co-list-of-values>
|
|
138
|
+
|
|
139
|
+
<co-list-of-values [label]="'EMAIL_LAYOUT' | localize"
|
|
140
|
+
[(model)]="selectedEmailLayout"
|
|
141
|
+
[displayField]="'name'"
|
|
142
|
+
[collection]="emailLayouts"
|
|
143
|
+
[multiselect]="false"
|
|
144
|
+
[required]="false"
|
|
145
|
+
[readonly]="headerReadonly"
|
|
146
|
+
[searchDisabled]="true"
|
|
147
|
+
></co-list-of-values>
|
|
148
|
+
</div>
|
|
149
|
+
</co-dialog>
|
|
150
|
+
|
|
151
|
+
<ng-template #headerTemplate>
|
|
152
|
+
<div class="title-wrapper">
|
|
153
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.CashRegister)"></co-icon>
|
|
154
|
+
<span class="co-dialog-header-title" [textContent]="'SELECT_CASH_REGISTER' | localize"></span>
|
|
155
|
+
</div>
|
|
156
|
+
</ng-template>
|
|
157
|
+
|
|
158
|
+
<ng-template #footerTemplate>
|
|
159
|
+
<div class="co-dialog-footer-button-wrapper">
|
|
160
|
+
<ng-container>
|
|
161
|
+
<co-button class="save-button"
|
|
162
|
+
[disabled]="!activeCashDrawer || !activePrinter || !selectedEmailLayout || !selectedPrinterLayout"
|
|
163
|
+
[iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
|
|
164
|
+
(click)="cashDrawerSelected()"
|
|
165
|
+
></co-button>
|
|
166
|
+
</ng-container>
|
|
167
|
+
</div>
|
|
168
|
+
</ng-template>
|
|
169
|
+
`,
|
|
170
|
+
encapsulation: ViewEncapsulation.None
|
|
171
|
+
},] }
|
|
172
|
+
];
|
|
173
|
+
TransactionCashRegisterDialogComponent.propDecorators = {
|
|
174
|
+
paymentDetailsSelected: [{ type: Output }],
|
|
175
|
+
cashRegisterOrderRequestCreated: [{ type: Output }],
|
|
176
|
+
showClass: [{ type: HostBinding, args: ["class.co-transaction-cash-register-dialog",] }]
|
|
177
|
+
};
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLWRpYWxvZy90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUd2SCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUU3RixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQW1GMUYsTUFBTSxPQUFPLHNDQUF1QyxTQUFRLHdCQUF3QjtJQS9FcEY7O1FBa0ZTLDJCQUFzQixHQUE4QyxJQUFJLFlBQVksRUFBK0IsQ0FBQztRQUdwSCxvQ0FBK0IsR0FBaUQsSUFBSSxZQUFZLEVBQWtDLENBQUM7UUFFbkksa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFFMUIsZ0JBQVcsR0FBaUIsRUFBRSxDQUFDO1FBRy9CLGdCQUFXLEdBQWMsRUFBRSxDQUFDO1FBRTVCLG1CQUFjLEdBQWlDLEVBQUUsQ0FBQztRQUNsRCxpQkFBWSxHQUFpQyxFQUFFLENBQUM7SUEwRnpELENBQUM7SUFyRlEsU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFFBQVE7UUFDYixLQUFLLENBQUMsUUFBUSxF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dGVyLCBIb3N0QmluZGluZywgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0NyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtY2FzaC1yZWdpc3Rlci1vcmRlci1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7Q2FzaFJlZ2lzdGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Nhc2gtcmVnaXN0ZXJcIjtcclxuaW1wb3J0IHtDYXNoRHJhd2VyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Nhc2gtZHJhd2VyLmJvXCI7XHJcbmltcG9ydCB7Q2FzaERyYXdlcnNSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Nhc2gtZHJhd2Vycy1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm9cIjtcclxuaW1wb3J0IHtQYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWx9IGZyb20gXCIuLi8uLi8uLi9tb2RlbC9wYXltZW50LXRyYW5zYWN0aW9uLXZpZXctbW9kZWxcIjtcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvXCI7XHJcbmltcG9ydCB7IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsIH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLWRpYWxvZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nIFtzaG93Q2xvc2VJY29uXT1cImZhbHNlXCIgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhc2gtcmVnaXN0ZXJzXCI+XHJcbiAgICAgICAgICA8Y28tcGF5bWVudC10aWxlICpuZ0Zvcj1cImxldCBjYXNoUmVnaXN0ZXIgb2YgY2FzaFJlZ2lzdGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImNhc2hSZWdpc3Rlci5pY29uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cImNhc2hSZWdpc3Rlci5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJjYXNoUmVnaXN0ZXIgPT09IGFjdGl2ZUNhc2hSZWdpc3RlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJjYXNoUmVnaXN0ZXJTZWxlY3RlZChjYXNoUmVnaXN0ZXIpXCJcclxuICAgICAgICAgID48L2NvLXBheW1lbnQtdGlsZT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzIFtsYWJlbF09XCInQ0FTSF9EUkFXRVInIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhY3RpdmVDYXNoRHJhd2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInbnInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiY2FzaERyYXdlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiaGVhZGVyUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoRGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVEcmF3ZXJDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG5cclxuICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgW2xhYmVsXT1cIidQUklOVEVSJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYWN0aXZlUHJpbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ25hbWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwicHJpbnRlckxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiaGVhZGVyUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoRGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVQcmludGVyQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICA+PC9jby1saXN0LW9mLXZhbHVlcz5cclxuXHJcbiAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzIFtsYWJlbF09XCInUFJJTlRFUl9MQVlPVVQnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWxlY3RlZFByaW50ZXJMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZpZWxkXT1cIiduYW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInByaW50ZXJMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImhlYWRlclJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaERpc2FibGVkXT1cInRydWVcIlxyXG4gICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG5cclxuICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgW2xhYmVsXT1cIidFTUFJTF9MQVlPVVQnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWxlY3RlZEVtYWlsTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInbmFtZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJlbWFpbExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiaGVhZGVyUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoRGlzYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9jby1kaWFsb2c+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNhc2hSZWdpc3RlcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidTRUxFQ1RfQ0FTSF9SRUdJU1RFUicgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhYWN0aXZlQ2FzaERyYXdlciB8fCAhYWN0aXZlUHJpbnRlciB8fCAhc2VsZWN0ZWRFbWFpbExheW91dCB8fCAhc2VsZWN0ZWRQcmludGVyTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhc2hEcmF3ZXJTZWxlY3RlZCgpXCJcclxuICAgICAgICAgID48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJEaWFsb2dDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcGF5bWVudERldGFpbHNTZWxlY3RlZDogRXZlbnRFbWl0dGVyPFBheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbD4gPSBuZXcgRXZlbnRFbWl0dGVyPFBheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdENyZWF0ZWQ6IEV2ZW50RW1pdHRlcjxDcmVhdGVDYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxDcmVhdGVDYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3Q+KCk7XHJcblxyXG4gIHB1YmxpYyBjYXNoUmVnaXN0ZXJzOiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBhY3RpdmVDYXNoUmVnaXN0ZXI6IENhc2hSZWdpc3RlcjtcclxuICBwdWJsaWMgY2FzaERyYXdlcnM6IENhc2hEcmF3ZXJbXSA9IFtdO1xyXG4gIHB1YmxpYyBhY3RpdmVDYXNoRHJhd2VyOiBDYXNoRHJhd2VyO1xyXG5cclxuICBwdWJsaWMgcHJpbnRlckxpc3Q6IFByaW50ZXJbXSA9IFtdO1xyXG4gIHB1YmxpYyBhY3RpdmVQcmludGVyOiBQcmludGVyO1xyXG4gIHB1YmxpYyBwcmludGVyTGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXSA9IFtdO1xyXG4gIHB1YmxpYyBlbWFpbExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10gPSBbXTtcclxuICBwdWJsaWMgc2VsZWN0ZWRQcmludGVyTGF5b3V0OiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludDtcclxuICBwdWJsaWMgc2VsZWN0ZWRFbWFpbExheW91dDogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWw7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItZGlhbG9nXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX3ByZXBhcmVDYXNoUmVnaXN0ZXIoKTtcclxuICAgIHRoaXMuX2dldFByaW50ZXJzKCk7XHJcbiAgICB0aGlzLl9nZXRQcmludGVyTGF5b3V0cygpO1xyXG4gICAgdGhpcy5fZ2V0RW1haWxMYXlvdXRzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FzaFJlZ2lzdGVyU2VsZWN0ZWQoY2FzaFJlZ2lzdGVyOiBDYXNoUmVnaXN0ZXIpIHtcclxuICAgIHRoaXMuYWN0aXZlQ2FzaFJlZ2lzdGVyID0gY2FzaFJlZ2lzdGVyO1xyXG4gICAgdGhpcy5fZ2V0Q2FzaERyYXdlcnModGhpcy5hY3RpdmVDYXNoUmVnaXN0ZXIuZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhc2hEcmF3ZXJTZWxlY3RlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyKCk7XHJcbiAgICBjb25zdCBwYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWwgPSBuZXcgUGF5bWVudFRyYW5zYWN0aW9uVmlld01vZGVsKCk7XHJcbiAgICBwYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWwuY2FzaFJlZ2lzdGVyID0gdGhpcy5hY3RpdmVDYXNoUmVnaXN0ZXI7XHJcbiAgICBwYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWwuY2FzaERyYXdlciA9IHRoaXMuYWN0aXZlQ2FzaERyYXdlcjtcclxuICAgIHBheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbC5wcmludGVyID0gdGhpcy5hY3RpdmVQcmludGVyO1xyXG4gICAgcGF5bWVudFRyYW5zYWN0aW9uVmlld01vZGVsLnByaW50ZXJMYXlvdXQgPSB0aGlzLnNlbGVjdGVkUHJpbnRlckxheW91dDtcclxuICAgIHBheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbC5lbWFpbExheW91dCA9IHRoaXMuc2VsZWN0ZWRFbWFpbExheW91dDtcclxuICAgIHRoaXMucGF5bWVudERldGFpbHNTZWxlY3RlZC5uZXh0KHBheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVDYXNoUmVnaXN0ZXJPcmRlcigpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IENyZWF0ZUNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdCA9IG5ldyBDcmVhdGVDYXNoUmVnaXN0ZXJPcmRlclJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuY2FzaERyYXdlcklkID0gdGhpcy5hY3RpdmVDYXNoRHJhd2VyLmlkOyAvLyBDYXNoRHJhd2VyLmlkXHJcbiAgICByZXF1ZXN0LmNhc2hSZWdpc3Rlckdyb3VwSWQgPSB0aGlzLmFjdGl2ZUNhc2hEcmF3ZXIuZ3JvdXA7IC8vIENhc2hEcmF3ZXIuZ3JvdXBcclxuICAgIHJlcXVlc3QuY2FzaFJlZ2lzdGVyTnIgPSB0aGlzLmFjdGl2ZUNhc2hSZWdpc3Rlci5ucjsgLy8gQ2FzaFJlZ2lzdGVyLm5yXHJcbiAgICByZXF1ZXN0LnByaW50ZXJOYW1lID0gdGhpcy5hY3RpdmVQcmludGVyLm5hbWU7XHJcbiAgICB0aGlzLmNhc2hSZWdpc3Rlck9yZGVyUmVxdWVzdENyZWF0ZWQubmV4dChyZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldENhc2hSZWdpc3RlcnMoYnJhbmNoOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldENhc2hSZWdpc3RlcnMoYnJhbmNoKS50aGVuKChjYXNoUmVnaXN0ZXJzOiBDYXNoUmVnaXN0ZXJbXSkgPT4ge1xyXG4gICAgICB0aGlzLmNhc2hSZWdpc3RlcnMucHVzaCguLi5jYXNoUmVnaXN0ZXJzKTtcclxuICAgICAgdGhpcy5fZ2V0Q2FzaERyYXdlcnModGhpcy5jYXNoUmVnaXN0ZXJzWzBdLmdyb3VwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0Q2FzaERyYXdlcnMoZ3JvdXA6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgY2FzaERyYXdlcnNSZXF1ZXN0OiBDYXNoRHJhd2Vyc1JlcXVlc3QgPSBuZXcgQ2FzaERyYXdlcnNSZXF1ZXN0KCk7XHJcbiAgICBjYXNoRHJhd2Vyc1JlcXVlc3QuZ3JvdXAgPSBncm91cDtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldENhc2hEcmF3ZXJzKGNhc2hEcmF3ZXJzUmVxdWVzdCkudGhlbigoY2FzaERyYXdlcnM6IENhc2hEcmF3ZXJbXSkgPT4ge1xyXG4gICAgICB0aGlzLmNhc2hEcmF3ZXJzID0gY2FzaERyYXdlcnM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFByaW50ZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UHJpbnRlcnMoKS50aGVuKChwcmludGVyTGlzdDogUHJpbnRlcltdKSA9PiB7XHJcbiAgICAgIHRoaXMucHJpbnRlckxpc3QgPSBwcmludGVyTGlzdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUNhc2hSZWdpc3RlcigpIHtcclxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuY3VycmVudEJyYW5jaCkge1xyXG4gICAgICAvLyBzaG93IHBvcC11cFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZ2V0Q2FzaFJlZ2lzdGVycyh0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50QnJhbmNoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEcmF3ZXJDaGFuZ2VkKGNhc2hEcmF3ZXI6IENhc2hEcmF3ZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlQ2FzaERyYXdlciA9IGNhc2hEcmF3ZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUHJpbnRlckNoYW5nZWQocHJpbnRlcjogUHJpbnRlcik6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVQcmludGVyID0gcHJpbnRlcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFByaW50ZXJMYXlvdXRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UG9zUmVjZWlwdFByaW50TGF5b3V0cyh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKS50aGVuKChsYXlvdXRzOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdKSA9PiB7XHJcbiAgICAgIHRoaXMucHJpbnRlckxheW91dHMgPSBsYXlvdXRzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRFbWFpbExheW91dHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQb3NSZWNlaXB0RW1haWxMYXlvdXRzKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpLnRoZW4oKGxheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10pID0+IHtcclxuICAgICAgdGhpcy5lbWFpbExheW91dHMgPSBsYXlvdXRzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { TransactionCashRegisterDialogComponent } from "./transaction-cash-register-dialog.component";
|
|
4
|
+
import { ButtonModule, CoDialogModule, IconModule, ListOfValuesModule } from "@colijnit/corecomponents_v12";
|
|
5
|
+
import { PaymentTileModule } from "../../payment-tile/payment-tile.module";
|
|
6
|
+
import { PipeModule } from "../../../pipe/pipe.module";
|
|
7
|
+
export class TransactionCashRegisterDialogModule {
|
|
8
|
+
}
|
|
9
|
+
TransactionCashRegisterDialogModule.decorators = [
|
|
10
|
+
{ type: NgModule, args: [{
|
|
11
|
+
imports: [
|
|
12
|
+
CommonModule,
|
|
13
|
+
CoDialogModule,
|
|
14
|
+
PaymentTileModule,
|
|
15
|
+
ListOfValuesModule,
|
|
16
|
+
PipeModule,
|
|
17
|
+
ButtonModule,
|
|
18
|
+
IconModule
|
|
19
|
+
],
|
|
20
|
+
declarations: [
|
|
21
|
+
TransactionCashRegisterDialogComponent
|
|
22
|
+
],
|
|
23
|
+
exports: [
|
|
24
|
+
TransactionCashRegisterDialogComponent
|
|
25
|
+
]
|
|
26
|
+
},] }
|
|
27
|
+
];
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1kaWFsb2cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLWRpYWxvZy90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLWRpYWxvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHNDQUFzQyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDcEcsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDMUcsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBbUJyRCxNQUFNLE9BQU8sbUNBQW1DOzs7WUFqQi9DLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixjQUFjO29CQUNkLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixVQUFVO29CQUNWLFlBQVk7b0JBQ1osVUFBVTtpQkFDYjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1Ysc0NBQXNDO2lCQUN6QztnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsc0NBQXNDO2lCQUN6QzthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNhc2hSZWdpc3RlckRpYWxvZ0NvbXBvbmVudH0gZnJvbSBcIi4vdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1kaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBDb0RpYWxvZ01vZHVsZSwgSWNvbk1vZHVsZSwgTGlzdE9mVmFsdWVzTW9kdWxlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge1BheW1lbnRUaWxlTW9kdWxlfSBmcm9tIFwiLi4vLi4vcGF5bWVudC10aWxlL3BheW1lbnQtdGlsZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtQaXBlTW9kdWxlfSBmcm9tIFwiLi4vLi4vLi4vcGlwZS9waXBlLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgUGF5bWVudFRpbGVNb2R1bGUsXHJcbiAgICAgICAgTGlzdE9mVmFsdWVzTW9kdWxlLFxyXG4gICAgICAgIFBpcGVNb2R1bGUsXHJcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIEljb25Nb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlckRpYWxvZ0NvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3RlckRpYWxvZ0NvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJEaWFsb2dNb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { TransactionBaseComponent } from "../../core/base/transaction-base.component";
|
|
3
|
+
import { EmailPosReceiptRequest } from "@colijnit/transactionapi/build/model/email-pos-receipt-request";
|
|
4
|
+
import { PrintPosReceiptRequest } from "@colijnit/transactionapi/build/model/print-pos-receipt-request";
|
|
5
|
+
export class TransactionCashRegisterOrderReceiptDialogComponent extends TransactionBaseComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.handleReceiptOptionSelected = new EventEmitter();
|
|
9
|
+
this.receiptOptions = [
|
|
10
|
+
{ title: 'EMAIL', iconData: this.iconCacheService.getIcon(this.icons.AtSolid) },
|
|
11
|
+
{ title: 'PRINT', iconData: this.iconCacheService.getIcon(this.icons.PrintSolid) },
|
|
12
|
+
{ title: 'NO_RECEIPT', iconData: this.iconCacheService.getIcon(this.icons.RegularReceiptSlash) }
|
|
13
|
+
];
|
|
14
|
+
this.disableInput = false;
|
|
15
|
+
}
|
|
16
|
+
showClass() {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
emailReceipt() {
|
|
20
|
+
const request = new EmailPosReceiptRequest();
|
|
21
|
+
request.transId = this.transactionInfo.id;
|
|
22
|
+
request.toAddresses = 'stefan.douw@colijn-it.nl';
|
|
23
|
+
request.reportId = this.cashRegisterPaymentDetails.emailLayout.reportId;
|
|
24
|
+
this.transactionService.emailPosReceipt(request).then((success) => {
|
|
25
|
+
if (success) {
|
|
26
|
+
this.handleReceiptOptionSelected.next();
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.disableInput = false;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
printReceipt() {
|
|
34
|
+
const request = new PrintPosReceiptRequest();
|
|
35
|
+
request.transId = this.transactionInfo.id;
|
|
36
|
+
request.copies = 1;
|
|
37
|
+
request.printerName = this.cashRegisterPaymentDetails.printer.name;
|
|
38
|
+
request.reportId = this.cashRegisterPaymentDetails.printerLayout.reportId;
|
|
39
|
+
this.transactionService.printPosReceipt(request).then((success) => {
|
|
40
|
+
if (success) {
|
|
41
|
+
this.handleReceiptOptionSelected.next();
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.disableInput = false;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
noPrintReceipt() {
|
|
49
|
+
this.handleReceiptOptionSelected.next();
|
|
50
|
+
this.disableInput = false;
|
|
51
|
+
}
|
|
52
|
+
handleClickReceipt(title) {
|
|
53
|
+
if (!this.disableInput) {
|
|
54
|
+
this.disableInput = true;
|
|
55
|
+
switch (title) {
|
|
56
|
+
case 'EMAIL':
|
|
57
|
+
this.emailReceipt();
|
|
58
|
+
break;
|
|
59
|
+
case 'PRINT':
|
|
60
|
+
this.printReceipt();
|
|
61
|
+
break;
|
|
62
|
+
case 'NO_RECEIPT':
|
|
63
|
+
this.noPrintReceipt();
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
TransactionCashRegisterOrderReceiptDialogComponent.decorators = [
|
|
70
|
+
{ type: Component, args: [{
|
|
71
|
+
selector: "co-transaction-cash-register-order-receipt-dialog",
|
|
72
|
+
template: `
|
|
73
|
+
<co-dialog [showCloseIcon]="false" [headerTemplate]="headerTemplate">
|
|
74
|
+
<div class="dialog-content-wrapper">
|
|
75
|
+
<div class="receipt-option" [class.disabled]="disableInput" *ngFor="let receiptOption of receiptOptions" (click)="handleClickReceipt(receiptOption.title)">
|
|
76
|
+
<co-icon [iconData]="receiptOption.iconData"></co-icon>
|
|
77
|
+
<span [textContent]="receiptOption.title | localize"></span>
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
</co-dialog>
|
|
81
|
+
|
|
82
|
+
<ng-template #headerTemplate>
|
|
83
|
+
<div class="title-wrapper">
|
|
84
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.CashRegister)"></co-icon>
|
|
85
|
+
<span class="co-dialog-header-title" [textContent]="'CASH_REGISTER_RECEIPT' | localize"></span>
|
|
86
|
+
</div>
|
|
87
|
+
</ng-template>
|
|
88
|
+
`,
|
|
89
|
+
encapsulation: ViewEncapsulation.None
|
|
90
|
+
},] }
|
|
91
|
+
];
|
|
92
|
+
TransactionCashRegisterOrderReceiptDialogComponent.propDecorators = {
|
|
93
|
+
cashRegisterPaymentDetails: [{ type: Input }],
|
|
94
|
+
handleReceiptOptionSelected: [{ type: Output }],
|
|
95
|
+
showClass: [{ type: HostBinding, args: ["class.co-transaction-cash-register-order-receipt-dialog",] }]
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1yZWNlaXB0LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItcmVjZWlwdC1kaWFsb2cvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1yZWNlaXB0LWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFFcEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDdEcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUF3QnRHLE1BQU0sT0FBTyxrREFBbUQsU0FBUSx3QkFBd0I7SUFyQmhHOztRQTJCUyxnQ0FBMkIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUzRSxtQkFBYyxHQUEwQztZQUM3RCxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBQztZQUM3RSxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBQztZQUNoRixFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxFQUFDO1NBQy9GLENBQUM7UUFFSyxpQkFBWSxHQUFZLEtBQUssQ0FBQztJQTBEdkMsQ0FBQztJQXZEUSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sWUFBWTtRQUNqQixNQUFNLE9BQU8sR0FBMkIsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBQ3JFLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDMUMsT0FBTyxDQUFDLFdBQVcsR0FBRywwQkFBMEIsQ0FBQTtRQUNoRCxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1lBQ3pFLElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN6QztpQkFBTTtnQkFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQzthQUMzQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFlBQVk7UUFDakIsTUFBTSxPQUFPLEdBQTJCLElBQUksc0JBQXNCLEVBQUUsQ0FBQztRQUNyRSxPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDbkUsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUMxRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtZQUN6RSxJQUFJLE9BQU8sRUFBRTtnQkFDWCxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDekM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7YUFDM0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRU0sa0JBQWtCLENBQUMsS0FBYTtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUV6QixRQUFRLEtBQUssRUFBRTtnQkFDYixLQUFLLE9BQU87b0JBQ1YsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNwQixNQUFNO2dCQUNSLEtBQUssT0FBTztvQkFDVixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ3BCLE1BQU07Z0JBQ1IsS0FBSyxZQUFZO29CQUNmLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdEIsTUFBTTthQUNUO1NBQ0Y7SUFDSCxDQUFDOzs7WUE1RkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtREFBbUQ7Z0JBQzdELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O3lDQUdFLEtBQUs7MENBR0wsTUFBTTt3QkFXTixXQUFXLFNBQUMseURBQXlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NhZmVIdG1sfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQge0VtYWlsUG9zUmVjZWlwdFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZW1haWwtcG9zLXJlY2VpcHQtcmVxdWVzdFwiO1xyXG5pbXBvcnQge1ByaW50UG9zUmVjZWlwdFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtcG9zLXJlY2VpcHQtcmVxdWVzdFwiO1xyXG5pbXBvcnQge1BheW1lbnRUcmFuc2FjdGlvblZpZXdNb2RlbH0gZnJvbSBcIi4uLy4uLy4uL21vZGVsL3BheW1lbnQtdHJhbnNhY3Rpb24tdmlldy1tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1yZWNlaXB0LWRpYWxvZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nIFtzaG93Q2xvc2VJY29uXT1cImZhbHNlXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlY2VpcHQtb3B0aW9uXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVJbnB1dFwiICpuZ0Zvcj1cImxldCByZWNlaXB0T3B0aW9uIG9mIHJlY2VpcHRPcHRpb25zXCIgKGNsaWNrKT1cImhhbmRsZUNsaWNrUmVjZWlwdChyZWNlaXB0T3B0aW9uLnRpdGxlKVwiPlxyXG4gICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cInJlY2VpcHRPcHRpb24uaWNvbkRhdGFcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicmVjZWlwdE9wdGlvbi50aXRsZSB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvY28tZGlhbG9nPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DYXNoUmVnaXN0ZXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInQ0FTSF9SRUdJU1RFUl9SRUNFSVBUJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyUmVjZWlwdERpYWxvZ0NvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNhc2hSZWdpc3RlclBheW1lbnREZXRhaWxzOiBQYXltZW50VHJhbnNhY3Rpb25WaWV3TW9kZWw7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBoYW5kbGVSZWNlaXB0T3B0aW9uU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIHJlY2VpcHRPcHRpb25zOiB7dGl0bGU6IHN0cmluZywgaWNvbkRhdGE6IFNhZmVIdG1sfVtdID0gW1xyXG4gICAge3RpdGxlOiAnRU1BSUwnLCBpY29uRGF0YTogdGhpcy5pY29uQ2FjaGVTZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5BdFNvbGlkKX0sXHJcbiAgICB7dGl0bGU6ICdQUklOVCcsIGljb25EYXRhOiB0aGlzLmljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLlByaW50U29saWQpfSxcclxuICAgIHt0aXRsZTogJ05PX1JFQ0VJUFQnLCBpY29uRGF0YTogdGhpcy5pY29uQ2FjaGVTZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5SZWd1bGFyUmVjZWlwdFNsYXNoKX1cclxuICBdO1xyXG5cclxuICBwdWJsaWMgZGlzYWJsZUlucHV0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItcmVjZWlwdC1kaWFsb2dcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW1haWxSZWNlaXB0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgcmVxdWVzdDogRW1haWxQb3NSZWNlaXB0UmVxdWVzdCA9IG5ldyBFbWFpbFBvc1JlY2VpcHRSZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LnRyYW5zSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIHJlcXVlc3QudG9BZGRyZXNzZXMgPSAnc3RlZmFuLmRvdXdAY29saWpuLWl0Lm5sJ1xyXG4gICAgcmVxdWVzdC5yZXBvcnRJZCA9IHRoaXMuY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHMuZW1haWxMYXlvdXQucmVwb3J0SWQ7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5lbWFpbFBvc1JlY2VpcHQocmVxdWVzdCkudGhlbigoc3VjY2VzczogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlUmVjZWlwdE9wdGlvblNlbGVjdGVkLm5leHQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVJbnB1dCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwcmludFJlY2VpcHQoKTogdm9pZCB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBQcmludFBvc1JlY2VpcHRSZXF1ZXN0ID0gbmV3IFByaW50UG9zUmVjZWlwdFJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QudHJhbnNJZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgcmVxdWVzdC5jb3BpZXMgPSAxO1xyXG4gICAgcmVxdWVzdC5wcmludGVyTmFtZSA9IHRoaXMuY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHMucHJpbnRlci5uYW1lO1xyXG4gICAgcmVxdWVzdC5yZXBvcnRJZCA9IHRoaXMuY2FzaFJlZ2lzdGVyUGF5bWVudERldGFpbHMucHJpbnRlckxheW91dC5yZXBvcnRJZDtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnByaW50UG9zUmVjZWlwdChyZXF1ZXN0KS50aGVuKChzdWNjZXNzOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIGlmIChzdWNjZXNzKSB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVSZWNlaXB0T3B0aW9uU2VsZWN0ZWQubmV4dCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUlucHV0ID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5vUHJpbnRSZWNlaXB0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5oYW5kbGVSZWNlaXB0T3B0aW9uU2VsZWN0ZWQubmV4dCgpO1xyXG4gICAgdGhpcy5kaXNhYmxlSW5wdXQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbGlja1JlY2VpcHQodGl0bGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVJbnB1dCkge1xyXG4gICAgICB0aGlzLmRpc2FibGVJbnB1dCA9IHRydWU7XHJcblxyXG4gICAgICBzd2l0Y2ggKHRpdGxlKSB7XHJcbiAgICAgICAgY2FzZSAnRU1BSUwnOlxyXG4gICAgICAgICAgdGhpcy5lbWFpbFJlY2VpcHQoKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ1BSSU5UJzpcclxuICAgICAgICAgIHRoaXMucHJpbnRSZWNlaXB0KCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdOT19SRUNFSVBUJzpcclxuICAgICAgICAgIHRoaXMubm9QcmludFJlY2VpcHQoKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { TransactionCashRegisterOrderReceiptDialogComponent } from "./transaction-cash-register-order-receipt-dialog.component";
|
|
4
|
+
import { CoDialogModule, IconModule } from "@colijnit/corecomponents_v12";
|
|
5
|
+
import { PipeModule } from "../../../pipe/pipe.module";
|
|
6
|
+
export class TransactionCashRegisterOrderReceiptDialogModule {
|
|
7
|
+
}
|
|
8
|
+
TransactionCashRegisterOrderReceiptDialogModule.decorators = [
|
|
9
|
+
{ type: NgModule, args: [{
|
|
10
|
+
imports: [
|
|
11
|
+
CommonModule,
|
|
12
|
+
CoDialogModule,
|
|
13
|
+
PipeModule,
|
|
14
|
+
IconModule
|
|
15
|
+
],
|
|
16
|
+
declarations: [
|
|
17
|
+
TransactionCashRegisterOrderReceiptDialogComponent
|
|
18
|
+
],
|
|
19
|
+
exports: [
|
|
20
|
+
TransactionCashRegisterOrderReceiptDialogComponent
|
|
21
|
+
]
|
|
22
|
+
},] }
|
|
23
|
+
];
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1yZWNlaXB0LWRpYWxvZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXNoLXJlZ2lzdGVyLW9yZGVyL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItcmVjZWlwdC1kaWFsb2cvdHJhbnNhY3Rpb24tY2FzaC1yZWdpc3Rlci1vcmRlci1yZWNlaXB0LWRpYWxvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGtEQUFrRCxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDOUgsT0FBTyxFQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFnQnJELE1BQU0sT0FBTywrQ0FBK0M7OztZQWQzRCxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxVQUFVO29CQUNWLFVBQVU7aUJBQ1g7Z0JBQ0MsWUFBWSxFQUFFO29CQUNWLGtEQUFrRDtpQkFDckQ7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLGtEQUFrRDtpQkFDckQ7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJPcmRlclJlY2VpcHREaWFsb2dDb21wb25lbnR9IGZyb20gXCIuL3RyYW5zYWN0aW9uLWNhc2gtcmVnaXN0ZXItb3JkZXItcmVjZWlwdC1kaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q29EaWFsb2dNb2R1bGUsIEljb25Nb2R1bGV9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSBcIi4uLy4uLy4uL3BpcGUvcGlwZS5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICBQaXBlTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZVxyXG4gIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyUmVjZWlwdERpYWxvZ0NvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBUcmFuc2FjdGlvbkNhc2hSZWdpc3Rlck9yZGVyUmVjZWlwdERpYWxvZ0NvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25DYXNoUmVnaXN0ZXJPcmRlclJlY2VpcHREaWFsb2dNb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { ChangeDetectorRef, Component, HostBinding, ViewChild, ViewEncapsulation } from "@angular/core";
|
|
3
|
+
import { TransactionService } from "../../service/transaction.service";
|
|
4
|
+
import { IconCacheService } from "../../service/icon-cache.service";
|
|
5
|
+
import { TransactionBaseComponent } from "../core/base/transaction-base.component";
|
|
6
|
+
import { TransactionEventService } from "../../service/transaction-event.service";
|
|
7
|
+
import { DictionaryService } from "../../service/dictionary.service";
|
|
8
|
+
import { TransactionImageService } from "../../service/transaction-image.service";
|
|
9
|
+
import { PaymentService } from "../../service/payment.service";
|
|
10
|
+
import { TransactionScreenConfigurationService } from "../../service/transaction-screen-configuration.service";
|
|
11
|
+
import { AddProductComponent } from "../add-product/add-product.component";
|
|
12
|
+
export class TransactionCashRegisterOrderComponent extends TransactionBaseComponent {
|
|
13
|
+
constructor(transactionEventService, iconCacheService, transactionScreenConfigurationService, dictionaryService, imageService, changeDetector, _transactionService, _paymentService) {
|
|
14
|
+
super(transactionEventService, iconCacheService, transactionScreenConfigurationService, imageService, dictionaryService, _transactionService, changeDetector);
|
|
15
|
+
this.transactionEventService = transactionEventService;
|
|
16
|
+
this.iconCacheService = iconCacheService;
|
|
17
|
+
this.transactionScreenConfigurationService = transactionScreenConfigurationService;
|
|
18
|
+
this.dictionaryService = dictionaryService;
|
|
19
|
+
this.imageService = imageService;
|
|
20
|
+
this.changeDetector = changeDetector;
|
|
21
|
+
this._transactionService = _transactionService;
|
|
22
|
+
this._paymentService = _paymentService;
|
|
23
|
+
this.amountToPay = 0;
|
|
24
|
+
this.paymentMethods = [];
|
|
25
|
+
this.paymentMethodIdx = 0;
|
|
26
|
+
this.showCashRegisterDialog = true;
|
|
27
|
+
this.showReceiptDialog = false;
|
|
28
|
+
this.showDiscountDialog = false;
|
|
29
|
+
this._subs = [];
|
|
30
|
+
}
|
|
31
|
+
showClass() {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
super.ngOnInit();
|
|
36
|
+
this._subs.push(this._transactionService.transactionUpdated.subscribe((transaction) => {
|
|
37
|
+
if (transaction) {
|
|
38
|
+
this.transaction = transaction;
|
|
39
|
+
this._getPaymentMethods();
|
|
40
|
+
}
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
handleAddArticle(articleNr, quantity = 1) {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
yield this._transactionService.addArticle(articleNr, quantity);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
handleKeyPadModelChange(model) {
|
|
49
|
+
this.amountToPay = model;
|
|
50
|
+
}
|
|
51
|
+
handlePayment() {
|
|
52
|
+
}
|
|
53
|
+
paymentMethodSelected(method, index) {
|
|
54
|
+
this.paymentMethodIdx = index;
|
|
55
|
+
}
|
|
56
|
+
openDiscountDialog(event) {
|
|
57
|
+
event.preventDefault();
|
|
58
|
+
event.stopPropagation();
|
|
59
|
+
this.showDiscountDialog = true;
|
|
60
|
+
}
|
|
61
|
+
_getPaymentMethods() {
|
|
62
|
+
return new Promise((resolve) => {
|
|
63
|
+
this.paymentMethods.length = 0;
|
|
64
|
+
this._paymentService.getPaymentMethodsViewModels(this.transactionService.currentBranch, this.transKind.CashDesk)
|
|
65
|
+
.then((methods) => {
|
|
66
|
+
this.paymentMethods = methods.slice();
|
|
67
|
+
resolve();
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
handleFinishedPayment() {
|
|
72
|
+
this._paymentService.processPosTransactionByUuid(this.transactionInfo.uuid).then((result) => {
|
|
73
|
+
this.showReceiptDialog = result;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
handlePaymentDetailsSelected(paymentDetailsSelected) {
|
|
77
|
+
this.showCashRegisterDialog = false;
|
|
78
|
+
this.cashRegisterPaymentDetails = paymentDetailsSelected;
|
|
79
|
+
}
|
|
80
|
+
handleReceiptOptionSelected() {
|
|
81
|
+
this.showReceiptDialog = false;
|
|
82
|
+
this._transactionService.resetCurrentTransaction();
|
|
83
|
+
this._transactionService.createCashRegisterOrder(this._paymentService.currentCashRegisterOrderRequest);
|
|
84
|
+
this.addProductComponent.searchText = '';
|
|
85
|
+
}
|
|
86
|
+
handleCreatedCashRegisterOrderRequest(request) {
|
|
87
|
+
this._paymentService.currentCashRegisterOrderRequest = request;
|
|
88
|
+
this.transactionService.createCashRegisterOrder(request);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
TransactionCashRegisterOrderComponent.decorators = [
|
|
92
|
+
{ type: Component, args: [{
|
|
93
|
+
selector: "co-transaction-cash-register-order",
|
|
94
|
+
template: `
|
|
95
|
+
<div class="cash-register-wrapper">
|
|
96
|
+
<div class="cash-register-main-content">
|
|
97
|
+
<div class="cash-register-header-wrapper">
|
|
98
|
+
<co-add-product
|
|
99
|
+
(addArticle)="handleAddArticle($event)"
|
|
100
|
+
(returnArticle)="handleAddArticle($event, -1)"
|
|
101
|
+
></co-add-product>
|
|
102
|
+
<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>
|
|
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>
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
<div class="cash-register-avatar-wrapper">
|
|
113
|
+
<co-avatar class="transaction-sales-avatar" [relationId]="transactionInfo.salesPerson"></co-avatar>
|
|
114
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.Tag)"></co-icon>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
<div class="cash-register-lines-wrapper">
|
|
118
|
+
<co-transaction-lines
|
|
119
|
+
[transaction]="transaction"
|
|
120
|
+
[activeCategory]="category.SalesOrderCashRegister"
|
|
121
|
+
></co-transaction-lines>
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
<div class="cash-register-side-content">
|
|
125
|
+
<div class="cash-register-totals-wrapper">
|
|
126
|
+
<div class="cash-register-totals-row">
|
|
127
|
+
<span [textContent]="'Totaal bruto'"></span>
|
|
128
|
+
<span [textContent]="'€' + (transactionTotal.grossAmount ? transactionTotal.grossAmount : 0)"></span>
|
|
129
|
+
</div>
|
|
130
|
+
<div class="cash-register-totals-row discount" (click)="openDiscountDialog($event)">
|
|
131
|
+
<span [textContent]="'Korting'"></span>
|
|
132
|
+
<span [textContent]="'-€' + (transactionTotal.totalDiscountAmount ? transactionTotal.totalDiscountAmount : 0)"></span>
|
|
133
|
+
</div>
|
|
134
|
+
<div class="cash-register-totals-row total">
|
|
135
|
+
<span [textContent]="'Totaal netto'"></span>
|
|
136
|
+
<span [textContent]="'€' + (transactionTotal.netAmount ? transactionTotal.netAmount : 0)"></span>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
<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>
|
|
151
|
+
</div>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
<co-dialog-transaction-header-discount class="discount-dialog" *ngIf="showDiscountDialog"
|
|
155
|
+
[transactionInfo]="transactionInfo"
|
|
156
|
+
[transactionTotal]="transactionTotal"
|
|
157
|
+
(close)="showDiscountDialog = false"
|
|
158
|
+
></co-dialog-transaction-header-discount>
|
|
159
|
+
<co-transaction-cash-register-dialog
|
|
160
|
+
*ngIf="showCashRegisterDialog"
|
|
161
|
+
(paymentDetailsSelected)="handlePaymentDetailsSelected($event)"
|
|
162
|
+
(cashRegisterOrderRequestCreated)="handleCreatedCashRegisterOrderRequest($event)"
|
|
163
|
+
></co-transaction-cash-register-dialog>
|
|
164
|
+
|
|
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>
|
|
171
|
+
`,
|
|
172
|
+
encapsulation: ViewEncapsulation.None
|
|
173
|
+
},] }
|
|
174
|
+
];
|
|
175
|
+
TransactionCashRegisterOrderComponent.ctorParameters = () => [
|
|
176
|
+
{ type: TransactionEventService },
|
|
177
|
+
{ type: IconCacheService },
|
|
178
|
+
{ type: TransactionScreenConfigurationService },
|
|
179
|
+
{ type: DictionaryService },
|
|
180
|
+
{ type: TransactionImageService },
|
|
181
|
+
{ type: ChangeDetectorRef },
|
|
182
|
+
{ type: TransactionService },
|
|
183
|
+
{ type: PaymentService }
|
|
184
|
+
];
|
|
185
|
+
TransactionCashRegisterOrderComponent.propDecorators = {
|
|
186
|
+
addProductComponent: [{ type: ViewChild, args: [AddProductComponent,] }],
|
|
187
|
+
showClass: [{ type: HostBinding, args: ["class.co-transaction-cash-register-order",] }]
|
|
188
|
+
};
|
|
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
|