@colijnit/transaction 12.1.226 → 254.1.2
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 +2708 -656
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +308 -295
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +309 -296
- package/esm2015/lib/component/checkout/checkout.component.js +30 -1
- package/esm2015/lib/component/checkout-simple/checkout-simple-overview-delivery-edit/checkout-simple-overview-delivery-edit.component.js +213 -0
- package/esm2015/lib/component/checkout-simple/checkout-simple-overview-payment/checkout-simple-overview-payment.component.js +105 -0
- package/esm2015/lib/component/checkout-simple/checkout-simple-overview-relation-edit/checkout-simple-overview-relation-edit.component.js +256 -0
- package/esm2015/lib/component/checkout-simple/checkout-simple.component.js +186 -0
- package/esm2015/lib/component/checkout-simple/checkout-simple.module.js +88 -0
- package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +11 -4
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-direct-sell.component.js +160 -9
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +12 -10
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.js +5 -3
- package/esm2015/lib/component/relation/relation-general/relation-general.component.js +28 -20
- package/esm2015/lib/component/service-wizard-qa/question-answer-item/question-answer-item.component.js +72 -0
- package/esm2015/lib/component/service-wizard-qa/question-answer-item/question-answer-item.module.js +23 -0
- package/esm2015/lib/component/service-wizard-qa/service-wizard-qa.component.js +38 -0
- package/esm2015/lib/component/service-wizard-qa/service-wizard-qa.module.js +25 -0
- package/esm2015/lib/component/transaction-create-wizard/transaction-create-wizard.component.js +137 -0
- package/esm2015/lib/component/transaction-create-wizard/transaction-create-wizard.module.js +38 -0
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-create-service.component.js +134 -0
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-relation.component.js +18 -11
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-service-fields.component.js +41 -0
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-service-wizard.component.js +40 -0
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup.module.js +21 -5
- package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +16 -2
- package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line-base.component.js +4 -2
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line-base.component.js +1 -2
- package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons-popup.component.js +20 -9
- package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +10 -7
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.component.js +1 -1
- package/esm2015/lib/component/transaction-search/transaction-filter-content/cash-desk-filter-content/transaction-cash-desk-filter-content-article/transaction-cash-desk-filter-content-article.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/cash-desk-filter-content/transaction-cash-desk-filter-content-logistics/transaction-cash-desk-filter-content-logistics.component.js +3 -3
- package/esm2015/lib/component/transaction-search/transaction-filter-content/cash-desk-filter-content/transaction-cash-desk-filter-content-order/transaction-cash-desk-filter-content-order.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.js +3 -3
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.js +3 -3
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-quotation-filter-content/transaction-sales-quotation-filter-content-article/transaction-sales-quotation-filter-content-article.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-quotation-filter-content/transaction-sales-quotation-filter-content-logistics/transaction-sales-quotation-filter-content-logistics.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-quotation-filter-content/transaction-sales-quotation-filter-content-order/transaction-sales-quotation-filter-content-order.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.js +1 -1
- package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.component.js +32 -2
- package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.module.js +4 -3
- package/esm2015/lib/service/dialog.service.js +4 -3
- package/esm2015/lib/service/pending-reason.service.js +4 -4
- package/esm2015/lib/service/transaction-base.service.js +7 -3
- package/esm2015/lib/service/transaction-connector-adapter.service.js +165 -1
- package/esm2015/lib/service/transaction-connector.service.js +69 -1
- package/esm2015/lib/service/transaction-create.service.js +67 -0
- package/esm2015/lib/service/transaction-creation.service.js +3 -2
- package/esm2015/lib/service/transaction-event.service.js +3 -1
- package/esm2015/lib/service/transaction-relation-connector.service.js +22 -1
- package/esm2015/lib/service/transaction-relation.service.js +7 -1
- package/esm2015/lib/service/transaction.service.js +136 -11
- package/esm2015/lib/transaction-version.js +3 -3
- package/esm2015/public_api.js +3 -1
- package/fesm2015/colijnit-transaction.js +2409 -388
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/checkout/checkout.component.d.ts +9 -1
- package/lib/component/checkout-simple/checkout-simple-overview-delivery-edit/checkout-simple-overview-delivery-edit.component.d.ts +55 -0
- package/lib/component/checkout-simple/checkout-simple-overview-payment/checkout-simple-overview-payment.component.d.ts +22 -0
- package/lib/component/checkout-simple/checkout-simple-overview-relation-edit/checkout-simple-overview-relation-edit.component.d.ts +46 -0
- package/lib/component/checkout-simple/checkout-simple.component.d.ts +50 -0
- package/lib/component/checkout-simple/checkout-simple.module.d.ts +2 -0
- package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.d.ts +1 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-direct-sell.component.d.ts +26 -3
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_layout.scss +107 -1
- package/lib/component/relation/relation-general/relation-general.component.d.ts +3 -1
- package/lib/component/service-wizard-qa/question-answer-item/question-answer-item.component.d.ts +19 -0
- package/lib/component/service-wizard-qa/question-answer-item/question-answer-item.module.d.ts +2 -0
- package/lib/component/service-wizard-qa/question-answer-item/style/_layout.scss +28 -0
- package/lib/component/service-wizard-qa/question-answer-item/style/_material-definition.scss +24 -0
- package/lib/component/service-wizard-qa/question-answer-item/style/_theme.scss +5 -0
- package/lib/component/service-wizard-qa/question-answer-item/style/material.scss +3 -0
- package/lib/component/service-wizard-qa/service-wizard-qa.component.d.ts +12 -0
- package/lib/component/service-wizard-qa/service-wizard-qa.module.d.ts +2 -0
- package/lib/component/transaction-create-wizard/transaction-create-wizard.component.d.ts +34 -0
- package/lib/component/transaction-create-wizard/transaction-create-wizard.module.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header-popup/style/_layout.scss +32 -1
- package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-create-service.component.d.ts +30 -0
- package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-relation.component.d.ts +3 -0
- package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-service-fields.component.d.ts +9 -0
- package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-service-wizard.component.d.ts +12 -0
- package/lib/component/transaction-internal/transaction-internal.component.d.ts +1 -0
- package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons-popup.component.d.ts +2 -0
- package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts +2 -2
- package/lib/component/transaction-service-overview/transaction-service-overview.component.d.ts +6 -0
- package/lib/service/dialog.service.d.ts +2 -1
- package/lib/service/transaction-base.service.d.ts +3 -1
- package/lib/service/transaction-connector-adapter.service.d.ts +22 -0
- package/lib/service/transaction-connector.service.d.ts +22 -0
- package/lib/service/transaction-create.service.d.ts +7 -0
- package/lib/service/transaction-event.service.d.ts +5 -0
- package/lib/service/transaction-relation-connector.service.d.ts +1 -0
- package/lib/service/transaction-relation.service.d.ts +1 -0
- package/lib/service/transaction.service.d.ts +25 -1
- package/package.json +13 -12
- package/public_api.d.ts +2 -0
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { TransactionService } from '../../../service/transaction.service';
|
|
4
|
+
import { FormMasterService } from '@colijnit/corecomponents_v12';
|
|
5
|
+
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
6
|
+
import { Icon } from '../../../enum/icon.enum';
|
|
7
|
+
import { CustomerFullObject } from '@colijnit/relationapi/build/model/customer-full-object.bo';
|
|
8
|
+
import { RelationKind } from '@colijnit/relationapi/build/enum/relation-kind.enum';
|
|
9
|
+
import { AddressType } from '@colijnit/relationapi/build/enum/address-type.enum';
|
|
10
|
+
import { RelationNameKind } from '@colijnit/relationapi/build/enum/relation-name-kind.enum';
|
|
11
|
+
import { SupplierFullObject } from '@colijnit/relationapi/build/model/supplier-full-object.bo';
|
|
12
|
+
export class CheckoutSimpleOverviewRelationEditComponent {
|
|
13
|
+
constructor(_formMaster, service) {
|
|
14
|
+
this._formMaster = _formMaster;
|
|
15
|
+
this.service = service;
|
|
16
|
+
this.relKind = RelationKind;
|
|
17
|
+
this.icons = Icon;
|
|
18
|
+
this.addressType = AddressType;
|
|
19
|
+
this.validSubmit = new EventEmitter();
|
|
20
|
+
this.invalidSubmit = new EventEmitter();
|
|
21
|
+
this.deliveryAddressChange = new EventEmitter();
|
|
22
|
+
this.invoiceAddressChange = new EventEmitter();
|
|
23
|
+
this.relationChange = new EventEmitter();
|
|
24
|
+
this._relation = new CustomerFullObject();
|
|
25
|
+
this._relationKind = RelationKind.Customer;
|
|
26
|
+
this.relationType = RelationNameKind.Private;
|
|
27
|
+
}
|
|
28
|
+
set relation(value) {
|
|
29
|
+
if (this._relation && value && this._relation.relationId === value.relationId) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
this._relation = value;
|
|
33
|
+
if (this._relation) {
|
|
34
|
+
if (this._relation instanceof SupplierFullObject) {
|
|
35
|
+
this._relation.type = RelationNameKind.Company;
|
|
36
|
+
this.relationType = RelationNameKind.Company;
|
|
37
|
+
}
|
|
38
|
+
if (this._relation instanceof CustomerFullObject) {
|
|
39
|
+
this.customerGroup = this._relation.customerGroup;
|
|
40
|
+
}
|
|
41
|
+
this.address = this._relation.getFirstAddressOrCreateNew();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
get relation() {
|
|
45
|
+
return this._relation;
|
|
46
|
+
}
|
|
47
|
+
set relationKind(value) {
|
|
48
|
+
this._relationKind = value;
|
|
49
|
+
if (this._relationKind === RelationKind.Supplier) {
|
|
50
|
+
this.relationType = RelationNameKind.Company;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
get relationKind() {
|
|
54
|
+
return this._relationKind;
|
|
55
|
+
}
|
|
56
|
+
showClass() {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
get applicationUser() {
|
|
60
|
+
return this.service.applicationUser;
|
|
61
|
+
}
|
|
62
|
+
ngOnInit() {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
if (this._relation) {
|
|
65
|
+
this.address = this._relation.getFirstAddressOrCreateNew();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
ngAfterViewInit() {
|
|
70
|
+
const firstActiveAddress = this._relation.activeAddresses.length > 0 ? this._relation.activeAddresses[0] : undefined;
|
|
71
|
+
if (!this.deliveryAddressNawNr) {
|
|
72
|
+
this.deliveryAddressNawNr = firstActiveAddress ? firstActiveAddress.nawNr : 0;
|
|
73
|
+
this.deliveryAddressChange.emit(this.deliveryAddressNawNr);
|
|
74
|
+
}
|
|
75
|
+
if (!this.invoiceAddressNawNr) {
|
|
76
|
+
this.invoiceAddressNawNr = firstActiveAddress ? firstActiveAddress.nawNr : 0;
|
|
77
|
+
this.invoiceAddressChange.emit(this.invoiceAddressNawNr);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
handleRelationTypeChange(relation) {
|
|
81
|
+
this.relationType = relation.type;
|
|
82
|
+
}
|
|
83
|
+
emptyRelation(event) {
|
|
84
|
+
this.service.createNewRelation();
|
|
85
|
+
this.updateRelation(this.service.relation);
|
|
86
|
+
}
|
|
87
|
+
handleCustomerGroupChange(group) {
|
|
88
|
+
this.customerGroup = group;
|
|
89
|
+
if (this._relation instanceof CustomerFullObject) {
|
|
90
|
+
this._relation.customerGroup = this.customerGroup;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
updateRelation(rel) {
|
|
94
|
+
this.relation = rel;
|
|
95
|
+
const firstActiveAddress = this._relation.activeAddresses.length > 0 ? this._relation.activeAddresses[0] : undefined;
|
|
96
|
+
this.address = firstActiveAddress;
|
|
97
|
+
this.deliveryAddressNawNr = firstActiveAddress ? firstActiveAddress.nawNr : 0;
|
|
98
|
+
this.deliveryAddressChange.emit(this.deliveryAddressNawNr);
|
|
99
|
+
this.invoiceAddressNawNr = firstActiveAddress ? firstActiveAddress.nawNr : 0;
|
|
100
|
+
this.invoiceAddressChange.emit(this.invoiceAddressNawNr);
|
|
101
|
+
this.relationChange.emit(this.relation);
|
|
102
|
+
}
|
|
103
|
+
submit() {
|
|
104
|
+
return this._formMaster.submitSlaves();
|
|
105
|
+
}
|
|
106
|
+
handleDeliveryAddressChange(nawNr) {
|
|
107
|
+
this.deliveryAddressChange.emit(nawNr);
|
|
108
|
+
if (this.service.invoiceAddressSameAsDelivery) {
|
|
109
|
+
this.invoiceAddressChange.emit(nawNr);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
checkSameAddress(checked) {
|
|
113
|
+
this.invoiceAddressNawNr = this.deliveryAddressNawNr;
|
|
114
|
+
this.invoiceAddressChange.next(this.invoiceAddressNawNr);
|
|
115
|
+
}
|
|
116
|
+
_setCountryNameToAddress(address) {
|
|
117
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
if (address.countryId && !address.countryName) {
|
|
119
|
+
const country = yield this.service.getCountry(address.countryId);
|
|
120
|
+
address.countryName = country.description;
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
CheckoutSimpleOverviewRelationEditComponent.decorators = [
|
|
126
|
+
{ type: Component, args: [{
|
|
127
|
+
selector: "co-checkout-simple-overview-relation-edit",
|
|
128
|
+
template: `
|
|
129
|
+
<div class="relation-edit-content">
|
|
130
|
+
<co-form>
|
|
131
|
+
<div class="checkout-form-wrapper">
|
|
132
|
+
<div class="checkout-label-column">
|
|
133
|
+
<span>01</span>
|
|
134
|
+
<span class="label-description" [textContent]="'PERSONAL_DATA' | localize"></span>
|
|
135
|
+
</div>
|
|
136
|
+
<div class="checkout-data-column">
|
|
137
|
+
<div class="checkout-data-row">
|
|
138
|
+
<co-relation-type *ngIf="relationKind === relKind.Customer"
|
|
139
|
+
[relation]="relation"
|
|
140
|
+
(relationChange)="handleRelationTypeChange($event)"
|
|
141
|
+
></co-relation-type>
|
|
142
|
+
<co-button class="empty-relation-button default-width" [label]="'EMPTY' | localize" (click)="emptyRelation($event)"></co-button>
|
|
143
|
+
</div>
|
|
144
|
+
<div class="checkout-data-row" *ngIf="relationKind === relKind.Customer">
|
|
145
|
+
<relation-customer-groups [model]="customerGroup" (modelChange)="handleCustomerGroupChange($event)" required></relation-customer-groups>
|
|
146
|
+
</div>
|
|
147
|
+
<div class="checkout-data-row">
|
|
148
|
+
<co-relation-general [relation]="relation" [relationType]="relationType" (relationChange)="updateRelation($event)"></co-relation-general>
|
|
149
|
+
</div>
|
|
150
|
+
<div class="checkout-data-row">
|
|
151
|
+
<co-relation-address [address]="address"></co-relation-address>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
<div class="checkout-data-column">
|
|
155
|
+
<div class="checkout-data-row">
|
|
156
|
+
<co-relation-addresses
|
|
157
|
+
[relation]="relation"
|
|
158
|
+
[addresses]="relation.addresses"
|
|
159
|
+
[type]="addressType.DeliveryAddress"
|
|
160
|
+
[selectedNawNr]="deliveryAddressNawNr"
|
|
161
|
+
(selectedNawNrChange)="handleDeliveryAddressChange($event)"
|
|
162
|
+
></co-relation-addresses>
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
<div class="checkout-label-column" *ngIf="relationKind === relKind.Customer">
|
|
166
|
+
<span>02</span>
|
|
167
|
+
<span class="label-description" [textContent]="'INVOICE_ADDRESS' | localize"></span>
|
|
168
|
+
</div>
|
|
169
|
+
<div class="checkout-data-column" *ngIf="relationKind === relKind.Customer">
|
|
170
|
+
<div class="checkout-data-row">
|
|
171
|
+
<co-input-checkbox [(model)]="service.invoiceAddressSameAsDelivery" (modelChange)="checkSameAddress($event)" [label]="'SAME_AS_DELIVERY' | localize"></co-input-checkbox>
|
|
172
|
+
</div>
|
|
173
|
+
<div class="overview-delivery-invoice-address" *ngIf="!service.invoiceAddressSameAsDelivery" @showHideInvoiceAddress>
|
|
174
|
+
<div class="checkout-data-row">
|
|
175
|
+
<co-relation-addresses
|
|
176
|
+
[relation]="relation"
|
|
177
|
+
[addresses]="relation.activeAddresses"
|
|
178
|
+
[type]="addressType.BillingAddress"
|
|
179
|
+
[selectedNawNr]="invoiceAddressNawNr"
|
|
180
|
+
(selectedNawNrChange)="invoiceAddressChange.emit($event)"
|
|
181
|
+
></co-relation-addresses>
|
|
182
|
+
</div>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
<div class="checkout-label-column">
|
|
186
|
+
<span>{{ relationKind === relKind.Customer ? '03' : '02'}}</span>
|
|
187
|
+
<span class="label-description" [textContent]="'CONTACT_DETAILS' | localize"></span>
|
|
188
|
+
</div>
|
|
189
|
+
<div class="checkout-data-column">
|
|
190
|
+
<div class="checkout-data-row">
|
|
191
|
+
<co-relation-contact-details [showPhone]="false" [(relation)]="relation" [relationKind]="relationKind"></co-relation-contact-details>
|
|
192
|
+
</div>
|
|
193
|
+
</div>
|
|
194
|
+
<ng-container *ngIf="relationKind === relKind.Customer">
|
|
195
|
+
<div class="checkout-label-column">
|
|
196
|
+
<span>04</span>
|
|
197
|
+
<span class="label-description" [textContent]="'PRIVACY_PREFERENCES' | localize"></span>
|
|
198
|
+
</div>
|
|
199
|
+
<div class="checkout-data-column">
|
|
200
|
+
<div class="checkout-data-row">
|
|
201
|
+
<co-relation-preferences [(relation)]="relation"></co-relation-preferences>
|
|
202
|
+
</div>
|
|
203
|
+
</div>
|
|
204
|
+
</ng-container>
|
|
205
|
+
</div>
|
|
206
|
+
</co-form>
|
|
207
|
+
</div>
|
|
208
|
+
`,
|
|
209
|
+
providers: [
|
|
210
|
+
FormMasterService
|
|
211
|
+
],
|
|
212
|
+
animations: [
|
|
213
|
+
trigger("showHidePrivateRelationFields", [
|
|
214
|
+
state("void", style({ height: 0 })),
|
|
215
|
+
state("*", style({ height: "*" })),
|
|
216
|
+
transition("void => *", animate("200ms ease-in-out")),
|
|
217
|
+
transition("* => void", animate("200ms ease-out"))
|
|
218
|
+
]),
|
|
219
|
+
trigger("showHideCompanyRelationFields", [
|
|
220
|
+
state("void", style({ height: 0 })),
|
|
221
|
+
state("*", style({ height: "*" })),
|
|
222
|
+
transition("void => *", animate("200ms ease-in-out")),
|
|
223
|
+
transition("* => void", animate("200ms ease-out"))
|
|
224
|
+
]),
|
|
225
|
+
trigger("showHideSidebar", [
|
|
226
|
+
state("void", style({ transform: "translateX(100%)" })),
|
|
227
|
+
state("*", style({ transform: "translateX(0)" })),
|
|
228
|
+
transition("void <=> *", animate("200ms ease-in-out"))
|
|
229
|
+
]),
|
|
230
|
+
trigger("showHideInvoiceAddress", [
|
|
231
|
+
state("void", style({ height: 0, opacity: 0 })),
|
|
232
|
+
state("*", style({ height: "*", opacity: 1 })),
|
|
233
|
+
transition("void => *", animate("200ms ease-in-out")),
|
|
234
|
+
transition("* => void", animate("200ms ease-out"))
|
|
235
|
+
])
|
|
236
|
+
],
|
|
237
|
+
encapsulation: ViewEncapsulation.None
|
|
238
|
+
},] }
|
|
239
|
+
];
|
|
240
|
+
CheckoutSimpleOverviewRelationEditComponent.ctorParameters = () => [
|
|
241
|
+
{ type: FormMasterService },
|
|
242
|
+
{ type: TransactionService }
|
|
243
|
+
];
|
|
244
|
+
CheckoutSimpleOverviewRelationEditComponent.propDecorators = {
|
|
245
|
+
relation: [{ type: Input }],
|
|
246
|
+
relationKind: [{ type: Input }],
|
|
247
|
+
deliveryAddressNawNr: [{ type: Input }],
|
|
248
|
+
invoiceAddressNawNr: [{ type: Input }],
|
|
249
|
+
validSubmit: [{ type: Output }],
|
|
250
|
+
invalidSubmit: [{ type: Output }],
|
|
251
|
+
deliveryAddressChange: [{ type: Output }],
|
|
252
|
+
invoiceAddressChange: [{ type: Output }],
|
|
253
|
+
relationChange: [{ type: Output }],
|
|
254
|
+
showClass: [{ type: HostBinding, args: ["class.co-checkout-simple-overview-relation-edit",] }]
|
|
255
|
+
};
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtc2ltcGxlLW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvY2hlY2tvdXQtc2ltcGxlL2NoZWNrb3V0LXNpbXBsZS1vdmVydmlldy1yZWxhdGlvbi1lZGl0L2NoZWNrb3V0LXNpbXBsZS1vdmVydmlldy1yZWxhdGlvbi1lZGl0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFL0UsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNqRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFHL0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDMUYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFvSDdGLE1BQU0sT0FBTywyQ0FBMkM7SUE0RXBELFlBQ1ksV0FBOEIsRUFDL0IsT0FBMkI7UUFEMUIsZ0JBQVcsR0FBWCxXQUFX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O29CQUNGLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTt3QkFDdkIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDO3dCQUNyRCxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO3dCQUMvQyxVQUFVLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO3FCQUN6RCxDQUFDO29CQUNGLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRTt3QkFDOUIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUM3QyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQzVDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7d0JBQ3JELFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQ3JELENBQUM7aUJBQ0w7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDeEM7OztZQTdITyxpQkFBaUI7WUFEakIsa0JBQWtCOzs7dUJBb0lyQixLQUFLOzJCQXNCTCxLQUFLO21DQVlMLEtBQUs7a0NBR0wsS0FBSzswQkFHTCxNQUFNOzRCQUdOLE1BQU07b0NBR04sTUFBTTttQ0FHTixNQUFNOzZCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLGlEQUFpRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7Rm9ybU1hc3RlclNlcnZpY2V9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7Q291bnRyeX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvdW50cnkuYm8nO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtDdXN0b21lckZ1bGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1mdWxsLW9iamVjdC5ibyc7XHJcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge0FkZHJlc3NUeXBlfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9hZGRyZXNzLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7UmVsYXRpb25BbnlUeXBlfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZSc7XHJcbmltcG9ydCB7QWRkcmVzc30gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2FkZHJlc3MuYm8nO1xyXG5pbXBvcnQge1JlbGF0aW9uTmFtZUtpbmR9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLW5hbWUta2luZC5lbnVtJztcclxuaW1wb3J0IHtTdXBwbGllckZ1bGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9zdXBwbGllci1mdWxsLW9iamVjdC5ibyc7XHJcbmltcG9ydCB7UmVsYXRpb259IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi5ibyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLWNoZWNrb3V0LXNpbXBsZS1vdmVydmlldy1yZWxhdGlvbi1lZGl0XCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLWVkaXQtY29udGVudFwiPlxyXG4gICAgICA8Y28tZm9ybT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZm9ybS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPjAxPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cIidQRVJTT05BTF9EQVRBJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XHJcbiAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLXR5cGUgKm5nSWY9XCJyZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlbGF0aW9uQ2hhbmdlKT1cImhhbmRsZVJlbGF0aW9uVHlwZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICA+PC9jby1yZWxhdGlvbi10eXBlPlxyXG4gICAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJlbXB0eS1yZWxhdGlvbi1idXR0b24gZGVmYXVsdC13aWR0aFwiIFtsYWJlbF09XCInRU1QVFknIHwgbG9jYWxpemVcIiAoY2xpY2spPVwiZW1wdHlSZWxhdGlvbigkZXZlbnQpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIiAqbmdJZj1cInJlbGF0aW9uS2luZCA9PT0gcmVsS2luZC5DdXN0b21lclwiPlxyXG4gICAgICAgICAgICAgIDxyZWxhdGlvbi1jdXN0b21lci1ncm91cHMgW21vZGVsXT1cImN1c3RvbWVyR3JvdXBcIiAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ3VzdG9tZXJHcm91cENoYW5nZSgkZXZlbnQpXCIgcmVxdWlyZWQ+PC9yZWxhdGlvbi1jdXN0b21lci1ncm91cHM+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cclxuICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tZ2VuZXJhbCBbcmVsYXRpb25dPVwicmVsYXRpb25cIiBbcmVsYXRpb25UeXBlXT1cInJlbGF0aW9uVHlwZVwiIChyZWxhdGlvbkNoYW5nZSk9XCJ1cGRhdGVSZWxhdGlvbigkZXZlbnQpXCI+PC9jby1yZWxhdGlvbi1nZW5lcmFsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XHJcbiAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLWFkZHJlc3MgW2FkZHJlc3NdPVwiYWRkcmVzc1wiPjwvY28tcmVsYXRpb24tYWRkcmVzcz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cclxuICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tYWRkcmVzc2VzXHJcbiAgICAgICAgICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgW2FkZHJlc3Nlc109XCJyZWxhdGlvbi5hZGRyZXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgW3R5cGVdPVwiYWRkcmVzc1R5cGUuRGVsaXZlcnlBZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZE5hd05yXT1cImRlbGl2ZXJ5QWRkcmVzc05hd05yXCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZE5hd05yQ2hhbmdlKT1cImhhbmRsZURlbGl2ZXJ5QWRkcmVzc0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICA+PC9jby1yZWxhdGlvbi1hZGRyZXNzZXM+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCIgKm5nSWY9XCJyZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4+MDI8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ0lOVk9JQ0VfQUREUkVTUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCIgKm5nSWY9XCJyZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XHJcbiAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94IFsobW9kZWwpXT1cInNlcnZpY2UuaW52b2ljZUFkZHJlc3NTYW1lQXNEZWxpdmVyeVwiIChtb2RlbENoYW5nZSk9XCJjaGVja1NhbWVBZGRyZXNzKCRldmVudClcIiBbbGFiZWxdPVwiJ1NBTUVfQVNfREVMSVZFUlknIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LWRlbGl2ZXJ5LWludm9pY2UtYWRkcmVzc1wiICpuZ0lmPVwiIXNlcnZpY2UuaW52b2ljZUFkZHJlc3NTYW1lQXNEZWxpdmVyeVwiIEBzaG93SGlkZUludm9pY2VBZGRyZXNzPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLWFkZHJlc3Nlc1xyXG4gICAgICAgICAgICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICBbYWRkcmVzc2VzXT1cInJlbGF0aW9uLmFjdGl2ZUFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImFkZHJlc3NUeXBlLkJpbGxpbmdBZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkTmF3TnJdPVwiaW52b2ljZUFkZHJlc3NOYXdOclwiXHJcbiAgICAgICAgICAgICAgICAgIChzZWxlY3RlZE5hd05yQ2hhbmdlKT1cImludm9pY2VBZGRyZXNzQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICA+PC9jby1yZWxhdGlvbi1hZGRyZXNzZXM+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7ICByZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXIgPyAnMDMnIDogJzAyJ319PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cIidDT05UQUNUX0RFVEFJTFMnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cclxuICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tY29udGFjdC1kZXRhaWxzIFtzaG93UGhvbmVdPVwiZmFsc2VcIiBbKHJlbGF0aW9uKV09XCJyZWxhdGlvblwiIFtyZWxhdGlvbktpbmRdPVwicmVsYXRpb25LaW5kXCI+PC9jby1yZWxhdGlvbi1jb250YWN0LWRldGFpbHM+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVsYXRpb25LaW5kID09PSByZWxLaW5kLkN1c3RvbWVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1sYWJlbC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICA8c3Bhbj4wNDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cIidQUklWQUNZX1BSRUZFUkVOQ0VTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XHJcbiAgICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tcHJlZmVyZW5jZXMgWyhyZWxhdGlvbildPVwicmVsYXRpb25cIj48L2NvLXJlbGF0aW9uLXByZWZlcmVuY2VzPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2NvLWZvcm0+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgRm9ybU1hc3RlclNlcnZpY2VcclxuICAgIF0sXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgdHJpZ2dlcihcInNob3dIaWRlUHJpdmF0ZVJlbGF0aW9uRmllbGRzXCIsIFtcclxuICAgICAgICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtoZWlnaHQ6IDB9KSksXHJcbiAgICAgICAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7aGVpZ2h0OiBcIipcIn0pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbihcInZvaWQgPT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwiKiA9PiB2b2lkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSlcclxuICAgICAgICBdKSxcclxuICAgICAgICB0cmlnZ2VyKFwic2hvd0hpZGVDb21wYW55UmVsYXRpb25GaWVsZHNcIiwgW1xyXG4gICAgICAgICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe2hlaWdodDogMH0pKSxcclxuICAgICAgICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHtoZWlnaHQ6IFwiKlwifSkpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwidm9pZCA9PiAqXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oXCIqID0+IHZvaWRcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2Utb3V0XCIpKVxyXG4gICAgICAgIF0pLFxyXG4gICAgICAgIHRyaWdnZXIoXCJzaG93SGlkZVNpZGViYXJcIiwgW1xyXG4gICAgICAgICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDEwMCUpXCJ9KSksXHJcbiAgICAgICAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInRyYW5zbGF0ZVgoMClcIn0pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbihcInZvaWQgPD0+ICpcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKVxyXG4gICAgICAgIF0pLFxyXG4gICAgICAgIHRyaWdnZXIoXCJzaG93SGlkZUludm9pY2VBZGRyZXNzXCIsIFtcclxuICAgICAgICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtoZWlnaHQ6IDAsIG9wYWNpdHk6IDB9KSksXHJcbiAgICAgICAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7aGVpZ2h0OiBcIipcIiwgb3BhY2l0eTogMX0pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbihcInZvaWQgPT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwiKiA9PiB2b2lkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSlcclxuICAgICAgICBdKVxyXG4gICAgXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrb3V0U2ltcGxlT3ZlcnZpZXdSZWxhdGlvbkVkaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHJlbEtpbmQ6IHR5cGVvZiBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQ7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICAgIHB1YmxpYyByZWFkb25seSBhZGRyZXNzVHlwZTogdHlwZW9mIEFkZHJlc3NUeXBlID0gQWRkcmVzc1R5cGU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgcmVsYXRpb24odmFsdWU6IFJlbGF0aW9uQW55VHlwZSkge1xyXG4gICAgICAgIGlmICh0aGlzLl9yZWxhdGlvbiAmJiB2YWx1ZSAmJiB0aGlzLl9yZWxhdGlvbi5yZWxhdGlvbklkID09PSB2YWx1ZS5yZWxhdGlvbklkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fcmVsYXRpb24gPSB2YWx1ZTtcclxuICAgICAgICBpZiAodGhpcy5fcmVsYXRpb24pIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX3JlbGF0aW9uIGluc3RhbmNlb2YgU3VwcGxpZXJGdWxsT2JqZWN0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yZWxhdGlvbi50eXBlID0gUmVsYXRpb25OYW1lS2luZC5Db21wYW55O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWxhdGlvblR5cGUgPSBSZWxhdGlvbk5hbWVLaW5kLkNvbXBhbnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuX3JlbGF0aW9uIGluc3RhbmNlb2YgQ3VzdG9tZXJGdWxsT2JqZWN0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbWVyR3JvdXAgPSB0aGlzLl9yZWxhdGlvbi5jdXN0b21lckdyb3VwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuYWRkcmVzcyA9IHRoaXMuX3JlbGF0aW9uLmdldEZpcnN0QWRkcmVzc09yQ3JlYXRlTmV3KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVsYXRpb24oKTogUmVsYXRpb25BbnlUeXBlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVsYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgcmVsYXRpb25LaW5kKHZhbHVlOiBSZWxhdGlvbktpbmQpIHtcclxuICAgICAgICB0aGlzLl9yZWxhdGlvbktpbmQgPSB2YWx1ZTtcclxuICAgICAgICBpZiAodGhpcy5fcmVsYXRpb25LaW5kID09PSBSZWxhdGlvbktpbmQuU3VwcGxpZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5yZWxhdGlvblR5cGUgPSBSZWxhdGlvbk5hbWVLaW5kLkNvbXBhbnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVsYXRpb25LaW5kKCk6IFJlbGF0aW9uS2luZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9uS2luZDtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRlbGl2ZXJ5QWRkcmVzc05hd05yOiBudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbnZvaWNlQWRkcmVzc05hd05yOiBudW1iZXI7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgdmFsaWRTdWJtaXQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBpbnZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgZGVsaXZlcnlBZGRyZXNzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGludm9pY2VBZGRyZXNzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlbGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPigpO1xyXG5cclxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNoZWNrb3V0LXNpbXBsZS1vdmVydmlldy1yZWxhdGlvbi1lZGl0XCIpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3JlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBuZXcgQ3VzdG9tZXJGdWxsT2JqZWN0KCk7XHJcbiAgICBwcml2YXRlIF9yZWxhdGlvbktpbmQ6IFJlbGF0aW9uS2luZCA9IFJlbGF0aW9uS2luZC5DdXN0b21lcjtcclxuXHJcbiAgICBwdWJsaWMgYWRkcmVzczogQWRkcmVzcztcclxuICAgIHB1YmxpYyBjdXN0b21lckdyb3VwOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgcmVsYXRpb25UeXBlOiBSZWxhdGlvbk5hbWVLaW5kID0gUmVsYXRpb25OYW1lS2luZC5Qcml2YXRlO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgYXBwbGljYXRpb25Vc2VyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2UuYXBwbGljYXRpb25Vc2VyO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX2Zvcm1NYXN0ZXI6IEZvcm1NYXN0ZXJTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLl9yZWxhdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLmFkZHJlc3MgPSB0aGlzLl9yZWxhdGlvbi5nZXRGaXJzdEFkZHJlc3NPckNyZWF0ZU5ldygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZmlyc3RBY3RpdmVBZGRyZXNzOiBBZGRyZXNzID0gdGhpcy5fcmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzLmxlbmd0aCA+IDAgPyB0aGlzLl9yZWxhdGlvbi5hY3RpdmVBZGRyZXNzZXNbMF0gOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIgPSBmaXJzdEFjdGl2ZUFkZHJlc3MgPyBmaXJzdEFjdGl2ZUFkZHJlc3MubmF3TnIgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc0NoYW5nZS5lbWl0KHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMuaW52b2ljZUFkZHJlc3NOYXdOcikge1xyXG4gICAgICAgICAgICB0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIgPSBmaXJzdEFjdGl2ZUFkZHJlc3MgPyBmaXJzdEFjdGl2ZUFkZHJlc3MubmF3TnIgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmludm9pY2VBZGRyZXNzQ2hhbmdlLmVtaXQodGhpcy5pbnZvaWNlQWRkcmVzc05hd05yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVJlbGF0aW9uVHlwZUNoYW5nZShyZWxhdGlvbjogUmVsYXRpb24pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJlbGF0aW9uVHlwZSA9IHJlbGF0aW9uLnR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGVtcHR5UmVsYXRpb24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlcnZpY2UuY3JlYXRlTmV3UmVsYXRpb24oKVxyXG4gICAgICAgIHRoaXMudXBkYXRlUmVsYXRpb24odGhpcy5zZXJ2aWNlLnJlbGF0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlQ3VzdG9tZXJHcm91cENoYW5nZShncm91cDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21lckdyb3VwID0gZ3JvdXA7XHJcbiAgICAgICAgaWYgKHRoaXMuX3JlbGF0aW9uIGluc3RhbmNlb2YgQ3VzdG9tZXJGdWxsT2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbGF0aW9uLmN1c3RvbWVyR3JvdXAgPSB0aGlzLmN1c3RvbWVyR3JvdXA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB1cGRhdGVSZWxhdGlvbihyZWw6IFJlbGF0aW9uQW55VHlwZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVsYXRpb24gPSByZWw7XHJcbiAgICAgICAgY29uc3QgZmlyc3RBY3RpdmVBZGRyZXNzOiBBZGRyZXNzID0gdGhpcy5fcmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzLmxlbmd0aCA+IDAgPyB0aGlzLl9yZWxhdGlvbi5hY3RpdmVBZGRyZXNzZXNbMF0gOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5hZGRyZXNzID0gZmlyc3RBY3RpdmVBZGRyZXNzO1xyXG4gICAgICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIgPSBmaXJzdEFjdGl2ZUFkZHJlc3MgPyBmaXJzdEFjdGl2ZUFkZHJlc3MubmF3TnIgOiAwO1xyXG4gICAgICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzQ2hhbmdlLmVtaXQodGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOcik7XHJcbiAgICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc05hd05yID0gZmlyc3RBY3RpdmVBZGRyZXNzID8gZmlyc3RBY3RpdmVBZGRyZXNzLm5hd05yIDogMDtcclxuICAgICAgICB0aGlzLmludm9pY2VBZGRyZXNzQ2hhbmdlLmVtaXQodGhpcy5pbnZvaWNlQWRkcmVzc05hd05yKTtcclxuICAgICAgICB0aGlzLnJlbGF0aW9uQ2hhbmdlLmVtaXQodGhpcy5yZWxhdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN1Ym1pdCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybU1hc3Rlci5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlRGVsaXZlcnlBZGRyZXNzQ2hhbmdlKG5hd05yOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc0NoYW5nZS5lbWl0KG5hd05yKTtcclxuICAgICAgICBpZiAodGhpcy5zZXJ2aWNlLmludm9pY2VBZGRyZXNzU2FtZUFzRGVsaXZlcnkpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc0NoYW5nZS5lbWl0KG5hd05yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNoZWNrU2FtZUFkZHJlc3MoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOciA9IHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnI7XHJcbiAgICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc0NoYW5nZS5uZXh0KHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOcik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBfc2V0Q291bnRyeU5hbWVUb0FkZHJlc3MoYWRkcmVzczogQWRkcmVzcyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmIChhZGRyZXNzLmNvdW50cnlJZCAmJiAhYWRkcmVzcy5jb3VudHJ5TmFtZSkge1xyXG4gICAgICAgICAgICBjb25zdCBjb3VudHJ5OiBDb3VudHJ5ID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldENvdW50cnkoYWRkcmVzcy5jb3VudHJ5SWQpO1xyXG4gICAgICAgICAgICBhZGRyZXNzLmNvdW50cnlOYW1lID0gY291bnRyeS5kZXNjcmlwdGlvbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { TransactionService } from '../../service/transaction.service';
|
|
4
|
+
import { DictionaryService } from '../../service/dictionary.service';
|
|
5
|
+
import { DialogService } from '../../service/dialog.service';
|
|
6
|
+
import { TransactionKind } from '@colijnit/transactionapi/build/enum/transaction-kind.enum';
|
|
7
|
+
export class CheckoutSimpleComponent {
|
|
8
|
+
constructor(service, _dictionary, _dialogService) {
|
|
9
|
+
this.service = service;
|
|
10
|
+
this._dictionary = _dictionary;
|
|
11
|
+
this._dialogService = _dialogService;
|
|
12
|
+
this.transKind = TransactionKind;
|
|
13
|
+
this.newTransaction = false;
|
|
14
|
+
this.transactionType = TransactionKind.SalesOrder;
|
|
15
|
+
this.showCreateTransactionButton = false;
|
|
16
|
+
this.transactionFinished = new EventEmitter();
|
|
17
|
+
this.editCartClick = new EventEmitter();
|
|
18
|
+
this.deliveryAddressNawNr = 0;
|
|
19
|
+
this.invoiceAddressNawNr = 0;
|
|
20
|
+
}
|
|
21
|
+
showClass() {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
if (this.newTransaction) {
|
|
26
|
+
this.service.resetCurrentTransaction();
|
|
27
|
+
}
|
|
28
|
+
this.service.transactionKind = this.transactionType;
|
|
29
|
+
this.relationType = this.service.getRelationKindFromTransactionKind();
|
|
30
|
+
this.service.createNewRelation();
|
|
31
|
+
}
|
|
32
|
+
handleCreateTransaction(event) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
let success = true;
|
|
35
|
+
if (this.stepper.activeStep === 0 && (yield this.handleRelationValidation())) {
|
|
36
|
+
success = yield this.service.saveRelation();
|
|
37
|
+
if (success) {
|
|
38
|
+
yield this.service.updateHeaderTransactionDefinitive(this.service.currentTransaction.transactionInfo.uuid, true, true);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (!success) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const saveSuccess = yield this.service.saveTransactionAndCommit();
|
|
45
|
+
if (saveSuccess) {
|
|
46
|
+
this.handleTransactionFinished(this.service.currentTransaction.transactionInfo.transactionNr);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
handleRelationValidation() {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
if (this.checkoutRelation && this.stepRelation) {
|
|
53
|
+
const valid = this.checkoutRelation.submit();
|
|
54
|
+
if (valid) {
|
|
55
|
+
this.stepRelation.completed = yield this.saveRelation();
|
|
56
|
+
}
|
|
57
|
+
return valid;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
handleDeliveryValidation() {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
if (this.checkoutDelivery && this.stepDelivery) {
|
|
64
|
+
const valid = this.checkoutDelivery.submit();
|
|
65
|
+
if (valid) {
|
|
66
|
+
const saveSuccess = yield this.service.saveTransactionAndCommit();
|
|
67
|
+
if (saveSuccess) {
|
|
68
|
+
const lockSuccess = yield this.service.tryToLockTransaction(this.service.currentTransaction.transactionInfo.id, this.service.currentTransaction.transactionInfo.version);
|
|
69
|
+
if (lockSuccess) {
|
|
70
|
+
this.stepDelivery.completed = yield this.handleSaveDelivery();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return valid;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
saveRelation() {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
const success = yield this.service.saveRelation();
|
|
81
|
+
if (success) {
|
|
82
|
+
if (this.deliveryAddressNawNr === null || this.deliveryAddressNawNr === undefined || this.deliveryAddressNawNr === 0 && this.service.relation.addresses && this.service.relation.addresses.length === 1) {
|
|
83
|
+
this.deliveryAddressNawNr = this.service.relation.addresses[0].nawNr;
|
|
84
|
+
}
|
|
85
|
+
if (this.deliveryAddressNawNr && this.service.currentTransaction.transactionInfo.transactionAddress !== this.deliveryAddressNawNr) {
|
|
86
|
+
yield this.service.updateHeaderDeliveryAddress(this.service.currentTransaction.transactionInfo.uuid, this.deliveryAddressNawNr);
|
|
87
|
+
}
|
|
88
|
+
const invoiceAddressNawNr = this.invoiceAddressNawNr ? this.invoiceAddressNawNr : this.deliveryAddressNawNr;
|
|
89
|
+
if (this.service.currentTransaction.transactionInfo.invoiceAddress !== invoiceAddressNawNr) {
|
|
90
|
+
yield this.service.updateHeaderInvoiceAddress(this.service.currentTransaction.transactionInfo.uuid, invoiceAddressNawNr);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return success;
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
handleSaveDelivery() {
|
|
97
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
return true;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
handleDeliveryAddressChange(nawNr) {
|
|
102
|
+
this.deliveryAddressNawNr = nawNr;
|
|
103
|
+
}
|
|
104
|
+
handleInvoiceAddressChange(nawNr) {
|
|
105
|
+
this.invoiceAddressNawNr = nawNr;
|
|
106
|
+
}
|
|
107
|
+
handleTransactionFinished(id) {
|
|
108
|
+
this.service.resetCurrentTransaction();
|
|
109
|
+
this.transactionFinished.emit({ id: id, fromCheckout: this.showCreateTransactionButton });
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
CheckoutSimpleComponent.decorators = [
|
|
113
|
+
{ type: Component, args: [{
|
|
114
|
+
selector: "co-checkout-simple",
|
|
115
|
+
template: `
|
|
116
|
+
<co-stepper #stepper
|
|
117
|
+
[title]="service.titleForCheckout"
|
|
118
|
+
[showStepper]="transactionType !== transKind.PurchaseOrder"
|
|
119
|
+
[titleIcon]="service.iconForCheckout"
|
|
120
|
+
[finishButtonLabel]="'CHECKOUT_FINISH' | localize"
|
|
121
|
+
(createClicked)="handleCreateTransaction($event)"
|
|
122
|
+
>
|
|
123
|
+
<co-stepper-step #stepRelation [index]="1" [label]="'YOUR_DATA' | localize" (validateStep)="handleRelationValidation()">
|
|
124
|
+
<co-checkout-simple-overview-relation-edit #checkoutRelation *ngIf="stepRelation.show"
|
|
125
|
+
[(relation)]="service.relation"
|
|
126
|
+
[relationKind]="relationType"
|
|
127
|
+
[deliveryAddressNawNr]="deliveryAddressNawNr"
|
|
128
|
+
[invoiceAddressNawNr]="invoiceAddressNawNr"
|
|
129
|
+
(deliveryAddressChange)="handleDeliveryAddressChange($event)"
|
|
130
|
+
(invoiceAddressChange)="handleInvoiceAddressChange($event)"
|
|
131
|
+
(relationChange)="service.relation = $event"
|
|
132
|
+
></co-checkout-simple-overview-relation-edit>
|
|
133
|
+
</co-stepper-step>
|
|
134
|
+
<co-stepper-step #stepDelivery [index]="2" [label]="'DELIVERY' | localize" (validateStep)="handleDeliveryValidation()">
|
|
135
|
+
<co-checkout-simple-overview-delivery-edit #checkoutDelivery *ngIf="stepDelivery.show"
|
|
136
|
+
[transaction]="service.currentTransaction"
|
|
137
|
+
></co-checkout-simple-overview-delivery-edit>
|
|
138
|
+
</co-stepper-step>
|
|
139
|
+
<co-stepper-step #stepOverview [index]="3" [label]="service.paymentStepTitleForCheckout | localize">
|
|
140
|
+
<co-checkout-simple-overview-payment *ngIf="stepOverview.show"
|
|
141
|
+
[relation]="service.relation"
|
|
142
|
+
[transaction]="service.currentTransaction"
|
|
143
|
+
[showPayment]="transactionType === transKind.SalesOrder"
|
|
144
|
+
(changeYourDataClick)="stepper.goto(0)"
|
|
145
|
+
(changeDeliveryClick)="stepper.goto(1)"
|
|
146
|
+
(payed)="handleTransactionFinished($event)"
|
|
147
|
+
></co-checkout-simple-overview-payment>
|
|
148
|
+
</co-stepper-step>
|
|
149
|
+
<div class="co-checkout-right-panel">
|
|
150
|
+
<div class="co-checkout-right-panel-relation">
|
|
151
|
+
<co-avatar [relationId]="sellerId"></co-avatar>
|
|
152
|
+
</div>
|
|
153
|
+
<co-shopping-cart-preview *ngIf="!showCreateTransactionButton"
|
|
154
|
+
[showCheckoutButton]="false"
|
|
155
|
+
[withoutBorder]="true"
|
|
156
|
+
(editCartClick)="editCartClick.emit($event)"
|
|
157
|
+
></co-shopping-cart-preview>
|
|
158
|
+
</div>
|
|
159
|
+
</co-stepper>
|
|
160
|
+
`,
|
|
161
|
+
encapsulation: ViewEncapsulation.None
|
|
162
|
+
},] }
|
|
163
|
+
];
|
|
164
|
+
CheckoutSimpleComponent.ctorParameters = () => [
|
|
165
|
+
{ type: TransactionService },
|
|
166
|
+
{ type: DictionaryService },
|
|
167
|
+
{ type: DialogService }
|
|
168
|
+
];
|
|
169
|
+
CheckoutSimpleComponent.propDecorators = {
|
|
170
|
+
stepper: [{ type: ViewChild, args: ["stepper",] }],
|
|
171
|
+
stepRelation: [{ type: ViewChild, args: ["stepRelation",] }],
|
|
172
|
+
stepDelivery: [{ type: ViewChild, args: ["stepDelivery",] }],
|
|
173
|
+
stepOverview: [{ type: ViewChild, args: ["stepOverview",] }],
|
|
174
|
+
stepPay: [{ type: ViewChild, args: ["stepPay",] }],
|
|
175
|
+
checkoutRelation: [{ type: ViewChild, args: ["checkoutRelation",] }],
|
|
176
|
+
checkoutDelivery: [{ type: ViewChild, args: ["checkoutDelivery",] }],
|
|
177
|
+
checkoutPayment: [{ type: ViewChild, args: ["checkoutPayment",] }],
|
|
178
|
+
newTransaction: [{ type: Input }],
|
|
179
|
+
sellerId: [{ type: Input }],
|
|
180
|
+
transactionType: [{ type: Input }],
|
|
181
|
+
showCreateTransactionButton: [{ type: Input }],
|
|
182
|
+
transactionFinished: [{ type: Output }],
|
|
183
|
+
editCartClick: [{ type: Output }],
|
|
184
|
+
showClass: [{ type: HostBinding, args: ["class.co-checkout-simple",] }]
|
|
185
|
+
};
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtc2ltcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2NoZWNrb3V0LXNpbXBsZS9jaGVja291dC1zaW1wbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRzNELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQTJEMUYsTUFBTSxPQUFPLHVCQUF1QjtJQXVEaEMsWUFDVyxPQUEyQixFQUMxQixXQUE4QixFQUM5QixjQUE2QjtRQUY5QixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMxQixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUF6RHpCLGNBQVMsR0FBMkIsZUFBZSxDQUFDO1FBMkI3RCxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQU1oQyxvQkFBZSxHQUFvQixlQUFlLENBQUMsVUFBVSxDQUFDO1FBRzlELGdDQUEyQixHQUFZLEtBQUssQ0FBQztRQUc3Qyx3QkFBbUIsR0FBc0QsSUFBSSxZQUFZLEVBQXVDLENBQUM7UUFHakksa0JBQWEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQVE3RCx5QkFBb0IsR0FBVyxDQUFDLENBQUM7UUFDakMsd0JBQW1CLEdBQVcsQ0FBQyxDQUFDO0lBUXZDLENBQUM7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M0IsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRU0sMkJBQTJCLENBQUMsS0FBYTtRQUM1QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQ3RDLENBQUM7SUFFTSwwQkFBMEIsQ0FBQyxLQUFhO1FBQzNDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUVNLHlCQUF5QixDQUFDLEVBQVU7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsMkJBQTJCLEVBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7OztZQXJNSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q1g7Z0JBQ0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDeEM7OztZQWpFTyxrQkFBa0I7WUFDbEIsaUJBQWlCO1lBR2pCLGFBQWE7OztzQkFpRWhCLFNBQVMsU0FBQyxTQUFTOzJCQUduQixTQUFTLFNBQUMsY0FBYzsyQkFHeEIsU0FBUyxTQUFDLGNBQWM7MkJBR3hCLFNBQVMsU0FBQyxjQUFjO3NCQUd4QixTQUFTLFNBQUMsU0FBUzsrQkFHbkIsU0FBUyxTQUFDLGtCQUFrQjsrQkFHNUIsU0FBUyxTQUFDLGtCQUFrQjs4QkFHNUIsU0FBUyxTQUFDLGlCQUFpQjs2QkFHM0IsS0FBSzt1QkFHTCxLQUFLOzhCQUdMLEtBQUs7MENBR0wsS0FBSztrQ0FHTCxNQUFNOzRCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ibyc7XHJcbmltcG9ydCB7U3RlcHBlclN0ZXBDb21wb25lbnR9IGZyb20gJy4uL3N0ZXBwZXIvY29tcG9uZW50L3N0ZXBwZXItc3RlcC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQge1BheW1lbnRDb21wb25lbnR9IGZyb20gJy4uL3BheW1lbnQvcGF5bWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1N0ZXBwZXJDb21wb25lbnR9IGZyb20gJy4uL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vdHJhbnNhY3Rpb24ta2luZC5lbnVtJztcclxuaW1wb3J0IHtSZWxhdGlvbktpbmR9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLWtpbmQuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgICBDaGVja291dFNpbXBsZU92ZXJ2aWV3UmVsYXRpb25FZGl0Q29tcG9uZW50XHJcbn0gZnJvbSAnLi9jaGVja291dC1zaW1wbGUtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC9jaGVja291dC1zaW1wbGUtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgQ2hlY2tvdXRTaW1wbGVPdmVydmlld0RlbGl2ZXJ5RWRpdENvbXBvbmVudFxyXG59IGZyb20gJy4vY2hlY2tvdXQtc2ltcGxlLW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQvY2hlY2tvdXQtc2ltcGxlLW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tY2hlY2tvdXQtc2ltcGxlXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLXN0ZXBwZXIgI3N0ZXBwZXJcclxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJzZXJ2aWNlLnRpdGxlRm9yQ2hlY2tvdXRcIlxyXG4gICAgICAgICAgICAgICAgW3Nob3dTdGVwcGVyXT1cInRyYW5zYWN0aW9uVHlwZSAhPT0gdHJhbnNLaW5kLlB1cmNoYXNlT3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlSWNvbl09XCJzZXJ2aWNlLmljb25Gb3JDaGVja291dFwiXHJcbiAgICAgICAgICAgICAgICBbZmluaXNoQnV0dG9uTGFiZWxdPVwiJ0NIRUNLT1VUX0ZJTklTSCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAoY3JlYXRlQ2xpY2tlZCk9XCJoYW5kbGVDcmVhdGVUcmFuc2FjdGlvbigkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPGNvLXN0ZXBwZXItc3RlcCAjc3RlcFJlbGF0aW9uIFtpbmRleF09XCIxXCIgW2xhYmVsXT1cIidZT1VSX0RBVEEnIHwgbG9jYWxpemVcIiAodmFsaWRhdGVTdGVwKT1cImhhbmRsZVJlbGF0aW9uVmFsaWRhdGlvbigpXCI+XHJcbiAgICAgICAgPGNvLWNoZWNrb3V0LXNpbXBsZS1vdmVydmlldy1yZWxhdGlvbi1lZGl0ICNjaGVja291dFJlbGF0aW9uICpuZ0lmPVwic3RlcFJlbGF0aW9uLnNob3dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVsYXRpb24pXT1cInNlcnZpY2UucmVsYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWxhdGlvbktpbmRdPVwicmVsYXRpb25UeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsaXZlcnlBZGRyZXNzTmF3TnJdPVwiZGVsaXZlcnlBZGRyZXNzTmF3TnJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnZvaWNlQWRkcmVzc05hd05yXT1cImludm9pY2VBZGRyZXNzTmF3TnJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWxpdmVyeUFkZHJlc3NDaGFuZ2UpPVwiaGFuZGxlRGVsaXZlcnlBZGRyZXNzQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnZvaWNlQWRkcmVzc0NoYW5nZSk9XCJoYW5kbGVJbnZvaWNlQWRkcmVzc0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVsYXRpb25DaGFuZ2UpPVwic2VydmljZS5yZWxhdGlvbiA9ICRldmVudFwiXHJcbiAgICAgICAgPjwvY28tY2hlY2tvdXQtc2ltcGxlLW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQ+XHJcbiAgICAgIDwvY28tc3RlcHBlci1zdGVwPlxyXG4gICAgICA8Y28tc3RlcHBlci1zdGVwICNzdGVwRGVsaXZlcnkgW2luZGV4XT1cIjJcIiBbbGFiZWxdPVwiJ0RFTElWRVJZJyB8IGxvY2FsaXplXCIgKHZhbGlkYXRlU3RlcCk9XCJoYW5kbGVEZWxpdmVyeVZhbGlkYXRpb24oKVwiPlxyXG4gICAgICAgIDxjby1jaGVja291dC1zaW1wbGUtb3ZlcnZpZXctZGVsaXZlcnktZWRpdCAjY2hlY2tvdXREZWxpdmVyeSAqbmdJZj1cInN0ZXBEZWxpdmVyeS5zaG93XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwic2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb25cIlxyXG4gICAgICAgID48L2NvLWNoZWNrb3V0LXNpbXBsZS1vdmVydmlldy1kZWxpdmVyeS1lZGl0PlxyXG4gICAgICA8L2NvLXN0ZXBwZXItc3RlcD5cclxuICAgICAgPGNvLXN0ZXBwZXItc3RlcCAjc3RlcE92ZXJ2aWV3IFtpbmRleF09XCIzXCIgW2xhYmVsXT1cInNlcnZpY2UucGF5bWVudFN0ZXBUaXRsZUZvckNoZWNrb3V0IHwgbG9jYWxpemVcIj5cclxuICAgICAgICA8Y28tY2hlY2tvdXQtc2ltcGxlLW92ZXJ2aWV3LXBheW1lbnQgKm5nSWY9XCJzdGVwT3ZlcnZpZXcuc2hvd1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlbGF0aW9uXT1cInNlcnZpY2UucmVsYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJzZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dQYXltZW50XT1cInRyYW5zYWN0aW9uVHlwZSA9PT0gdHJhbnNLaW5kLlNhbGVzT3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2VZb3VyRGF0YUNsaWNrKT1cInN0ZXBwZXIuZ290bygwKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZURlbGl2ZXJ5Q2xpY2spPVwic3RlcHBlci5nb3RvKDEpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGF5ZWQpPVwiaGFuZGxlVHJhbnNhY3Rpb25GaW5pc2hlZCgkZXZlbnQpXCJcclxuICAgICAgICA+PC9jby1jaGVja291dC1zaW1wbGUtb3ZlcnZpZXctcGF5bWVudD5cclxuICAgICAgPC9jby1zdGVwcGVyLXN0ZXA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjby1jaGVja291dC1yaWdodC1wYW5lbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1jaGVja291dC1yaWdodC1wYW5lbC1yZWxhdGlvblwiPlxyXG4gICAgICAgICAgPGNvLWF2YXRhciBbcmVsYXRpb25JZF09XCJzZWxsZXJJZFwiPjwvY28tYXZhdGFyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxjby1zaG9wcGluZy1jYXJ0LXByZXZpZXcgKm5nSWY9XCIhc2hvd0NyZWF0ZVRyYW5zYWN0aW9uQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93Q2hlY2tvdXRCdXR0b25dPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3dpdGhvdXRCb3JkZXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZWRpdENhcnRDbGljayk9XCJlZGl0Q2FydENsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvY28tc2hvcHBpbmctY2FydC1wcmV2aWV3PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvY28tc3RlcHBlcj5cclxuICBgLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRTaW1wbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHRyYW5zS2luZDogdHlwZW9mIFRyYW5zYWN0aW9uS2luZCA9IFRyYW5zYWN0aW9uS2luZDtcclxuXHJcbiAgICBAVmlld0NoaWxkKFwic3RlcHBlclwiKVxyXG4gICAgcHVibGljIHN0ZXBwZXI6IFN0ZXBwZXJDb21wb25lbnQ7XHJcblxyXG4gICAgQFZpZXdDaGlsZChcInN0ZXBSZWxhdGlvblwiKVxyXG4gICAgcHVibGljIHN0ZXBSZWxhdGlvbjogU3RlcHBlclN0ZXBDb21wb25lbnQ7XHJcblxyXG4gICAgQFZpZXdDaGlsZChcInN0ZXBEZWxpdmVyeVwiKVxyXG4gICAgcHVibGljIHN0ZXBEZWxpdmVyeTogU3RlcHBlclN0ZXBDb21wb25lbnQ7XHJcblxyXG4gICAgQFZpZXdDaGlsZChcInN0ZXBPdmVydmlld1wiKVxyXG4gICAgcHVibGljIHN0ZXBPdmVydmlldzogU3RlcHBlclN0ZXBDb21wb25lbnQ7XHJcblxyXG4gICAgQFZpZXdDaGlsZChcInN0ZXBQYXlcIilcclxuICAgIHB1YmxpYyBzdGVwUGF5OiBTdGVwcGVyU3RlcENvbXBvbmVudDtcclxuXHJcbiAgICBAVmlld0NoaWxkKFwiY2hlY2tvdXRSZWxhdGlvblwiKVxyXG4gICAgcHVibGljIGNoZWNrb3V0UmVsYXRpb246IENoZWNrb3V0U2ltcGxlT3ZlcnZpZXdSZWxhdGlvbkVkaXRDb21wb25lbnQ7XHJcblxyXG4gICAgQFZpZXdDaGlsZChcImNoZWNrb3V0RGVsaXZlcnlcIilcclxuICAgIHB1YmxpYyBjaGVja291dERlbGl2ZXJ5OiBDaGVja291dFNpbXBsZU92ZXJ2aWV3RGVsaXZlcnlFZGl0Q29tcG9uZW50O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoXCJjaGVja291dFBheW1lbnRcIilcclxuICAgIHB1YmxpYyBjaGVja291dFBheW1lbnQ6IFBheW1lbnRDb21wb25lbnQ7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBuZXdUcmFuc2FjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2VsbGVySWQ6IG51bWJlcjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93Q3JlYXRlVHJhbnNhY3Rpb25CdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkZpbmlzaGVkOiBFdmVudEVtaXR0ZXI8e2lkOiBudW1iZXIsIGZyb21DaGVja291dDogYm9vbGVhbn0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7aWQ6IG51bWJlciwgZnJvbUNoZWNrb3V0OiBib29sZWFufT4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBlZGl0Q2FydENsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tY2hlY2tvdXQtc2ltcGxlXCIpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U7XHJcbiAgICBwdWJsaWMgZGVsaXZlcnlBZGRyZXNzTmF3TnI6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgaW52b2ljZUFkZHJlc3NOYXdOcjogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyByZWxhdGlvblR5cGU6IFJlbGF0aW9uS2luZDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLm5ld1RyYW5zYWN0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5yZXNldEN1cnJlbnRUcmFuc2FjdGlvbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlcnZpY2UudHJhbnNhY3Rpb25LaW5kID0gdGhpcy50cmFuc2FjdGlvblR5cGU7XHJcbiAgICAgICAgdGhpcy5yZWxhdGlvblR5cGUgPSB0aGlzLnNlcnZpY2UuZ2V0UmVsYXRpb25LaW5kRnJvbVRyYW5zYWN0aW9uS2luZCgpO1xyXG4gICAgICAgIHRoaXMuc2VydmljZS5jcmVhdGVOZXdSZWxhdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVDcmVhdGVUcmFuc2FjdGlvbihldmVudDogTW91c2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGxldCBzdWNjZXNzOiBib29sZWFuID0gdHJ1ZTtcclxuICAgICAgICBpZiAodGhpcy5zdGVwcGVyLmFjdGl2ZVN0ZXAgPT09IDAgJiYgYXdhaXQgdGhpcy5oYW5kbGVSZWxhdGlvblZhbGlkYXRpb24oKSkge1xyXG4gICAgICAgICAgICBzdWNjZXNzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLnNhdmVSZWxhdGlvbigpO1xyXG4gICAgICAgICAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnVwZGF0ZUhlYWRlclRyYW5zYWN0aW9uRGVmaW5pdGl2ZSh0aGlzLnNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkLCB0cnVlLCB0cnVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBzYXZlU3VjY2VzczogYm9vbGVhbiA9IGF3YWl0IHRoaXMuc2VydmljZS5zYXZlVHJhbnNhY3Rpb25BbmRDb21taXQoKTtcclxuICAgICAgICBpZiAoc2F2ZVN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVUcmFuc2FjdGlvbkZpbmlzaGVkKHRoaXMuc2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uTnIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlUmVsYXRpb25WYWxpZGF0aW9uKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICh0aGlzLmNoZWNrb3V0UmVsYXRpb24gJiYgdGhpcy5zdGVwUmVsYXRpb24pIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsaWQgPSB0aGlzLmNoZWNrb3V0UmVsYXRpb24uc3VibWl0KCk7XHJcbiAgICAgICAgICAgIGlmICh2YWxpZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGVwUmVsYXRpb24uY29tcGxldGVkID0gYXdhaXQgdGhpcy5zYXZlUmVsYXRpb24oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdmFsaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVEZWxpdmVyeVZhbGlkYXRpb24oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2hlY2tvdXREZWxpdmVyeSAmJiB0aGlzLnN0ZXBEZWxpdmVyeSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWxpZCA9IHRoaXMuY2hlY2tvdXREZWxpdmVyeS5zdWJtaXQoKTtcclxuICAgICAgICAgICAgaWYgKHZhbGlkKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzYXZlU3VjY2VzczogYm9vbGVhbiA9IGF3YWl0IHRoaXMuc2VydmljZS5zYXZlVHJhbnNhY3Rpb25BbmRDb21taXQoKTtcclxuICAgICAgICAgICAgICAgIGlmIChzYXZlU3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxvY2tTdWNjZXNzOiBib29sZWFuID1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnRyeVRvTG9ja1RyYW5zYWN0aW9uKHRoaXMuc2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmlkLCB0aGlzLnNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby52ZXJzaW9uKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAobG9ja1N1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGVwRGVsaXZlcnkuY29tcGxldGVkID0gYXdhaXQgdGhpcy5oYW5kbGVTYXZlRGVsaXZlcnkoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHZhbGlkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgc2F2ZVJlbGF0aW9uKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGNvbnN0IHN1Y2Nlc3M6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLnNlcnZpY2Uuc2F2ZVJlbGF0aW9uKCk7XHJcbiAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIgPT09IG51bGwgfHwgdGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOciA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIgPT09IDAgJiYgdGhpcy5zZXJ2aWNlLnJlbGF0aW9uLmFkZHJlc3NlcyAmJiB0aGlzLnNlcnZpY2UucmVsYXRpb24uYWRkcmVzc2VzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOciA9IHRoaXMuc2VydmljZS5yZWxhdGlvbi5hZGRyZXNzZXNbMF0ubmF3TnI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIgJiYgdGhpcy5zZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25BZGRyZXNzICE9PSB0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNlcnZpY2UudXBkYXRlSGVhZGVyRGVsaXZlcnlBZGRyZXNzKHRoaXMuc2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQsIHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IGludm9pY2VBZGRyZXNzTmF3TnI6IG51bWJlciA9IHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOciA/IHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOciA6IHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnI7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5pbnZvaWNlQWRkcmVzcyAhPT0gaW52b2ljZUFkZHJlc3NOYXdOcikge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnVwZGF0ZUhlYWRlckludm9pY2VBZGRyZXNzKHRoaXMuc2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQsIGludm9pY2VBZGRyZXNzTmF3TnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzdWNjZXNzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVTYXZlRGVsaXZlcnkoKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZURlbGl2ZXJ5QWRkcmVzc0NoYW5nZShuYXdOcjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOciA9IG5hd05yO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVJbnZvaWNlQWRkcmVzc0NoYW5nZShuYXdOcjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc05hd05yID0gbmF3TnI7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVRyYW5zYWN0aW9uRmluaXNoZWQoaWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VydmljZS5yZXNldEN1cnJlbnRUcmFuc2FjdGlvbigpO1xyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25GaW5pc2hlZC5lbWl0KHtpZDogaWQsIGZyb21DaGVja291dDogdGhpcy5zaG93Q3JlYXRlVHJhbnNhY3Rpb25CdXR0b259KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|