@colijnit/transaction 12.0.5 → 12.1.3
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/app/component/core/base/default-ok-cancel-buttons.component.d.ts +13 -0
- package/app/component/core/base/transaction-base.component.d.ts +48 -0
- package/app/component/{shopping-cart → core}/characteristic-answer/characteristic-answer.component.d.ts +0 -0
- package/app/component/core/directive/template-wrapper.directive.d.ts +13 -0
- package/app/component/{shopping-cart → core}/stock-status-indicator/stock-status-indicator.component.d.ts +0 -0
- package/app/component/core/warehouse/warehouse.component.d.ts +35 -0
- package/app/component/service-order/ione-service-order-module.d.ts +2 -0
- package/app/component/service-order/ione-service-order.component.d.ts +25 -0
- package/app/component/service-order/service-order.component.d.ts +53 -0
- package/app/component/service-order/summary/transaction-article-summary.component.d.ts +17 -0
- package/app/component/service-order/summary/transaction-delivery-summary.component.d.ts +20 -0
- package/app/component/service-order/summary/transaction-order-summary.component.d.ts +16 -0
- package/app/component/service-order/summary/transaction-payment-info.component.d.ts +14 -0
- package/app/component/service-order/summary/transaction-product-contract-summary.component.d.ts +7 -0
- package/app/component/service-order/summary/transaction-product-summary.component.d.ts +15 -0
- package/app/component/service-order/summary/transaction-service-status.component.d.ts +15 -0
- package/app/component/service-order/summary/transaction-service-summary.component.d.ts +15 -0
- package/app/component/service-order/summary/transaction-summary-block.component.d.ts +16 -0
- package/app/component/service-order/transaction-article-text/transaction-article-text.component.d.ts +24 -0
- package/app/component/service-order/transaction-header-block/transaction-header-block.component.d.ts +15 -0
- package/app/component/service-order/transaction-manager/transaction-manager.component.d.ts +63 -0
- package/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.d.ts +16 -0
- package/app/component/service-order/transaction-order-lines/transaction-order-lines.component.d.ts +25 -0
- package/app/component/service-order/transaction-order-totals/transaction-order-totals.component.d.ts +6 -0
- package/app/component/service-order/transaction-relation/transaction-relation-address.component.d.ts +22 -0
- package/app/component/service-order/transaction-relation/transaction-relation-edit.component.d.ts +29 -0
- package/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.d.ts +11 -0
- package/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.d.ts +26 -0
- package/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.d.ts +1 -1
- package/app/service/ione-connector-adapter.service.d.ts +1 -0
- package/app/service/transaction-event.service.d.ts +5 -0
- package/app/service/transaction.service.d.ts +19 -8
- package/bundles/colijnit-transaction.umd.js +2396 -63
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +26 -2
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/app/component/checkout/checkout-overview/checkout-overview.component.js +2 -2
- package/esm2015/app/component/checkout/ione-checkout.module.js +3 -3
- package/esm2015/app/component/common/icon/icon.component.js +2 -1
- package/esm2015/app/component/core/base/default-ok-cancel-buttons.component.js +39 -0
- package/esm2015/app/component/core/base/transaction-base.component.js +146 -0
- package/esm2015/app/component/core/characteristic-answer/characteristic-answer.component.js +100 -0
- package/esm2015/app/component/core/directive/template-wrapper.directive.js +69 -0
- package/esm2015/app/component/{shopping-cart → core}/stock-status-indicator/stock-status-indicator.component.js +1 -1
- package/esm2015/app/component/core/warehouse/warehouse.component.js +133 -0
- package/esm2015/app/component/service-order/ione-service-order-module.js +108 -0
- package/esm2015/app/component/service-order/ione-service-order.component.js +96 -0
- package/esm2015/app/component/service-order/service-order.component.js +195 -0
- package/esm2015/app/component/service-order/summary/transaction-article-summary.component.js +55 -0
- package/esm2015/app/component/service-order/summary/transaction-delivery-summary.component.js +59 -0
- package/esm2015/app/component/service-order/summary/transaction-order-summary.component.js +43 -0
- package/esm2015/app/component/service-order/summary/transaction-payment-info.component.js +35 -0
- package/esm2015/app/component/service-order/summary/transaction-product-contract-summary.component.js +38 -0
- package/esm2015/app/component/service-order/summary/transaction-product-summary.component.js +41 -0
- package/esm2015/app/component/service-order/summary/transaction-service-status.component.js +37 -0
- package/esm2015/app/component/service-order/summary/transaction-service-summary.component.js +38 -0
- package/esm2015/app/component/service-order/summary/transaction-summary-block.component.js +53 -0
- package/esm2015/app/component/service-order/transaction-article-text/transaction-article-text.component.js +194 -0
- package/esm2015/app/component/service-order/transaction-header-block/transaction-header-block.component.js +83 -0
- package/esm2015/app/component/service-order/transaction-manager/transaction-manager.component.js +305 -0
- package/esm2015/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.js +76 -0
- package/esm2015/app/component/service-order/transaction-order-lines/transaction-order-lines.component.js +71 -0
- package/esm2015/app/component/service-order/transaction-order-totals/transaction-order-totals.component.js +36 -0
- package/esm2015/app/component/service-order/transaction-relation/transaction-relation-address.component.js +116 -0
- package/esm2015/app/component/service-order/transaction-relation/transaction-relation-edit.component.js +225 -0
- package/esm2015/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.js +172 -0
- package/esm2015/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.js +120 -0
- package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +4 -6
- package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +1 -1
- package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +1 -1
- package/esm2015/app/service/ione-connector-adapter.service.js +24 -6
- package/esm2015/app/service/transaction-event.service.js +4 -1
- package/esm2015/app/service/transaction.service.js +122 -37
- package/esm2015/assets/dictionary/text.properties.js +37 -1
- package/esm2015/colijnit-transaction.js +27 -3
- package/esm2015/public_api.js +3 -1
- package/fesm2015/colijnit-transaction.js +2625 -50
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/package.json +3 -3
- package/public_api.d.ts +2 -0
- package/esm2015/app/component/shopping-cart/characteristic-answer/characteristic-answer.component.js +0 -99
package/esm2015/app/component/service-order/transaction-manager/transaction-manager.component.js
ADDED
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Output, ViewChild } from "@angular/core";
|
|
3
|
+
import { TransactionService } from "../../../service/transaction.service";
|
|
4
|
+
import { NumberUtils } from "@colijnit/transactionapi/build/utils/number-utils";
|
|
5
|
+
import { TransactionEventService } from "../../../service/transaction-event.service";
|
|
6
|
+
import { ResolvePendingLineReasonRequest } from "@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo";
|
|
7
|
+
import { TransactionLineType } from "@colijnit/transactionapi/build/enum/transaction-line-type.enum";
|
|
8
|
+
import { PendingReasonType } from "@colijnit/transactionapi/build/enum/pending-reason-type.enum";
|
|
9
|
+
import { DictionaryService } from "../../../service/dictionary.service";
|
|
10
|
+
import { PositionGridRow } from "../../../../enum/position-grid-row.enum";
|
|
11
|
+
import { TransactionBaseComponent } from "../../core/base/transaction-base.component";
|
|
12
|
+
import { PromptService } from "@colijnit/corecomponents_v12";
|
|
13
|
+
export class TransactionManagerComponent extends TransactionBaseComponent {
|
|
14
|
+
constructor(service, transactionEvents, promptService, _dictionaryService) {
|
|
15
|
+
super(service);
|
|
16
|
+
this.service = service;
|
|
17
|
+
this.transactionEvents = transactionEvents;
|
|
18
|
+
this.promptService = promptService;
|
|
19
|
+
this._dictionaryService = _dictionaryService;
|
|
20
|
+
this.linesChanged = new EventEmitter();
|
|
21
|
+
this.articleAdded = new EventEmitter();
|
|
22
|
+
this.columns = [];
|
|
23
|
+
this._inOutCollection = [];
|
|
24
|
+
this._showCharacteristic = false;
|
|
25
|
+
this._subs = [];
|
|
26
|
+
this._subs.push(this.service.transactionLoaded.subscribe((transactionInfoResponse) => {
|
|
27
|
+
if (transactionInfoResponse.isSuccess) {
|
|
28
|
+
this.transaction = transactionInfoResponse;
|
|
29
|
+
}
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
get amountOfLines() {
|
|
33
|
+
return NumberUtils.NrOrDefault(this.service.articleAmount, 0);
|
|
34
|
+
}
|
|
35
|
+
get showCharacteristicDialog() {
|
|
36
|
+
return this._showCharacteristic;
|
|
37
|
+
}
|
|
38
|
+
set showCharacteristicDialog(value) {
|
|
39
|
+
this._showCharacteristic = value;
|
|
40
|
+
}
|
|
41
|
+
ngOnDestroy() {
|
|
42
|
+
this._subs.forEach(sub => sub.unsubscribe());
|
|
43
|
+
}
|
|
44
|
+
addArticleLine(transactionUuid, sku, amount, lineNr, beforeOrAfter) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const goodId = yield this.service.getGoodIdFromArticleNr(sku);
|
|
47
|
+
if (goodId) {
|
|
48
|
+
yield this._loadArticle(goodId);
|
|
49
|
+
yield this._handleAddArticleLineAt(amount, lineNr, beforeOrAfter);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.promptService.showError(this._dictionaryService.get("ARTICLE_UNKNOWN"));
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
changeLineSequence(fromIndex, toIndex) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
let fromLine = this._getTransactionLineInfoByIndex(fromIndex);
|
|
59
|
+
let toLine = this._getTransactionLineInfoByIndex(toIndex);
|
|
60
|
+
let aboveLineNr;
|
|
61
|
+
let belowLineNr;
|
|
62
|
+
if (fromIndex > toIndex) {
|
|
63
|
+
aboveLineNr = toLine.lineNr;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
belowLineNr = toLine.lineNr;
|
|
67
|
+
}
|
|
68
|
+
yield this.service.changeLineSequence(fromLine.uuid, aboveLineNr, belowLineNr, false)
|
|
69
|
+
.then((value) => {
|
|
70
|
+
this.handleLineOperationStatus(value);
|
|
71
|
+
}, (error) => this.promptService.showError(error));
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
showStockManager(line) {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
this.warehouse.selectedWarehouseNr = line.warehouseNumber;
|
|
77
|
+
this.warehouse.amount = line.amount;
|
|
78
|
+
this.warehouse.commissionCode = line.commissionCode;
|
|
79
|
+
this.warehouse.message = this.currentOperationStatus.pendingReason;
|
|
80
|
+
this.warehouse.show(line.articleNumber);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
warehouseOkClick() {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
if (this.warehouse.commissionCode !== undefined) {
|
|
86
|
+
this.currentReason.commissionCode = this.warehouse.commissionCode;
|
|
87
|
+
}
|
|
88
|
+
if (this.warehouse.amount !== undefined) {
|
|
89
|
+
this.currentReason.quantity = this.warehouse.amount;
|
|
90
|
+
}
|
|
91
|
+
if (this.warehouse.selectedWarehouseNr !== undefined) {
|
|
92
|
+
this.currentReason.warehouseNr = this.warehouse.selectedWarehouseNr;
|
|
93
|
+
}
|
|
94
|
+
if (this.currentReason) {
|
|
95
|
+
yield this.service.resolvePendingLineReason(this.currentReason, false)
|
|
96
|
+
.then((value) => {
|
|
97
|
+
this.handleLineOperationStatus(value);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
warehouseCancelClick() {
|
|
103
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
if (this.currentReason) {
|
|
105
|
+
yield this._cancelArticle(this.currentReason.lineUuid);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
handleCharacteristicAnswerOkClick(answer) {
|
|
110
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
|
|
112
|
+
this.currentReason.textualUserInput = answer;
|
|
113
|
+
yield this.service.resolvePendingLineReason(this.currentReason, false)
|
|
114
|
+
.then((value) => {
|
|
115
|
+
this.handleLineOperationStatus(value);
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
_handleAddArticle(amount = 1) {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
yield this.service.addTransactionLine(TransactionLineType.ArticleLine, this.newArticleNr, amount, this.newArticle.standardWareHouse, this.newArticle.commissionCode, false, 0, 0, false)
|
|
122
|
+
.then((value) => {
|
|
123
|
+
this.handleLineOperationStatus(value);
|
|
124
|
+
}, (error) => this.promptService.showError(error));
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
_handleAddArticleLineAt(amount, lineNr, beforeOrAfter) {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
yield this.service.addArticleToTransaction(this.transactionInfo.uuid, this.newArticleNr, amount, this.newArticle.standardWareHouse, this.newArticle.commissionCode, false, beforeOrAfter === PositionGridRow.Before ? lineNr : undefined, beforeOrAfter === PositionGridRow.After ? lineNr : undefined)
|
|
130
|
+
.then((value) => {
|
|
131
|
+
this.lineOperationStatuses = value.lineOperationStatuses;
|
|
132
|
+
this.handleLineOperationStatus(value);
|
|
133
|
+
}, (error) => this.promptService.showError(error));
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
_getWareHouseNoFromArticle() {
|
|
137
|
+
if (this.newArticle !== undefined && this.newArticle.stockLocations !== undefined && this.newArticle.stockLocations.length) {
|
|
138
|
+
return this.newArticle.stockLocations[0].warehouseNr;
|
|
139
|
+
}
|
|
140
|
+
return 0;
|
|
141
|
+
}
|
|
142
|
+
isLineOperationStatus(lineOperationStatuses) {
|
|
143
|
+
this.currentOperationStatus = this.service.pendingLineOperationStatus(lineOperationStatuses);
|
|
144
|
+
if (this.currentOperationStatus !== undefined) {
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
_confirmAction() {
|
|
150
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
+
this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
|
|
152
|
+
const pendingReasonText = yield this._getPendingReasonText(this.currentOperationStatus.pendingReason);
|
|
153
|
+
this.currentReason.confirmation = yield this.promptService.showYesNo(pendingReasonText, " ");
|
|
154
|
+
yield this.service.resolvePendingLineReason(this.currentReason, false)
|
|
155
|
+
.then((value) => {
|
|
156
|
+
this.handleLineOperationStatus(value);
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
_showInformation() {
|
|
161
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
162
|
+
this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
|
|
163
|
+
const pendingReasonText = yield this._getPendingReasonText(this.currentOperationStatus.pendingReason);
|
|
164
|
+
yield this.promptService.showOkModal(pendingReasonText, " ");
|
|
165
|
+
yield this.service.resolvePendingLineReason(this.currentReason, false)
|
|
166
|
+
.then((value) => {
|
|
167
|
+
this.handleLineOperationStatus(value);
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
_getPendingReasonText(pendingReason) {
|
|
172
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
173
|
+
if (pendingReason === "ARTICLE_IS_DISCONTINUED_DO_YOU_WANT_TO_CONTINUE_PLEASE_CONFIRM") {
|
|
174
|
+
return this._dictionaryService.get("ARTICLE_IN_OUT_COLLECTION").replace("|~", yield this.getInOutCollectionOfArticle());
|
|
175
|
+
}
|
|
176
|
+
return this._dictionaryService.get(pendingReason);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
getInOutCollectionOfArticle() {
|
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
if (!this._inOutCollection.length) {
|
|
182
|
+
this._inOutCollection = yield this.service.getInOutCollection("NL");
|
|
183
|
+
}
|
|
184
|
+
const domainValue = this._inOutCollection.find(element => element.code === this.newArticle.inOutCollection);
|
|
185
|
+
if (domainValue) {
|
|
186
|
+
return domainValue.description;
|
|
187
|
+
}
|
|
188
|
+
return "";
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
handleLineOperationStatus(lineOperationResponse) {
|
|
192
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
193
|
+
if (this.isLineOperationStatus(lineOperationResponse.lineOperationStatuses)) {
|
|
194
|
+
this.transaction = lineOperationResponse;
|
|
195
|
+
this.articleAdded.emit(this.transaction);
|
|
196
|
+
yield this._handlePendingLine(this.currentOperationStatus.uuid).then();
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
yield this._saveTransaction();
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
_handlePendingLine(lineUuid) {
|
|
204
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
205
|
+
this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
|
|
206
|
+
this.currentPendingLine = this.transactionLines.find(l => l.uuid === lineUuid);
|
|
207
|
+
switch (this.currentOperationStatus.pendingReasonType) {
|
|
208
|
+
case PendingReasonType.ABORTED:
|
|
209
|
+
case PendingReasonType.CANCELLED:
|
|
210
|
+
yield this._cancelArticle(this.currentPendingLine.uuid);
|
|
211
|
+
break;
|
|
212
|
+
case PendingReasonType.CONFIRMATION_NEEDED:
|
|
213
|
+
yield this._confirmAction();
|
|
214
|
+
break;
|
|
215
|
+
case PendingReasonType.INVALID_LOGISTICS:
|
|
216
|
+
yield this.showStockManager(this.currentPendingLine);
|
|
217
|
+
break;
|
|
218
|
+
case PendingReasonType.NON_CRITICAL_DISCONTINUATION:
|
|
219
|
+
yield this._showInformation();
|
|
220
|
+
break;
|
|
221
|
+
case PendingReasonType.CHARACTERISTICS_ANSWER_NEEDED:
|
|
222
|
+
this.CharacteristicsAnswerNeeded();
|
|
223
|
+
break;
|
|
224
|
+
case PendingReasonType.NONE:
|
|
225
|
+
default:
|
|
226
|
+
this.currentReason = undefined;
|
|
227
|
+
this.currentPendingLine = undefined;
|
|
228
|
+
break;
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
_saveTransaction() {
|
|
233
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
234
|
+
if (this.transactionInfo) {
|
|
235
|
+
const success = yield this.service.saveTransactionByUuid(this.transactionInfo.uuid);
|
|
236
|
+
if (!success) {
|
|
237
|
+
this.promptService.showError("Transaction could not be saved!");
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
_loadArticle(goodId) {
|
|
243
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
244
|
+
this.newArticle = yield this.service.getArticleFullObject(goodId);
|
|
245
|
+
this.newArticleNr = this.newArticle.articleNr;
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
addEmailAddressToTransaction(emailAddress) {
|
|
249
|
+
this.service.emailAddress = emailAddress;
|
|
250
|
+
}
|
|
251
|
+
CharacteristicsAnswerNeeded() {
|
|
252
|
+
this.characteristicAnswer.question = this.currentOperationStatus.characteristic.question;
|
|
253
|
+
this.characteristicAnswer.title = this.newArticle.description;
|
|
254
|
+
this.characteristicAnswer.value = this.currentOperationStatus.characteristic.value;
|
|
255
|
+
this.characteristicAnswer.characteristics = this.currentOperationStatus.characteristic.transactionLineCharacteristicChoices;
|
|
256
|
+
setTimeout(() => {
|
|
257
|
+
this.characteristicAnswer.open();
|
|
258
|
+
// eslint-disable-next-line no-magic-numbers
|
|
259
|
+
}, 1000);
|
|
260
|
+
}
|
|
261
|
+
_getTransactionLineInfoByIndex(index) {
|
|
262
|
+
if (index >= 0 && index < this.transactionLines.length) {
|
|
263
|
+
return this.service.currentLines[index];
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
_cancelArticle(uuid) {
|
|
267
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
268
|
+
yield this.service.cancelAddTransactionLine(uuid, false)
|
|
269
|
+
.then((response) => {
|
|
270
|
+
this.transaction = response;
|
|
271
|
+
this.articleAdded.emit(response);
|
|
272
|
+
});
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
TransactionManagerComponent.decorators = [
|
|
277
|
+
{ type: Component, args: [{
|
|
278
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
279
|
+
selector: "transaction-manager",
|
|
280
|
+
template: `
|
|
281
|
+
<warehouse #warehouse
|
|
282
|
+
(okClick)="warehouseOkClick()"
|
|
283
|
+
(cancelClick)="warehouseCancelClick()"
|
|
284
|
+
></warehouse>
|
|
285
|
+
<characteristic-answer
|
|
286
|
+
#characteristicAnswer
|
|
287
|
+
(okClick)="handleCharacteristicAnswerOkClick($event)"
|
|
288
|
+
></characteristic-answer>
|
|
289
|
+
`,
|
|
290
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center,.warehouse-line-container{display:flex}.flex-center,.warehouse-line-container{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}::ng-deep #warehouseDialog ::ng-deep .form-content .message-field,.commission-fields{margin-left:11px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}::ng-deep #warehouseDialog{align-items:center;max-height:100%}::ng-deep #warehouseDialog ::ng-deep co-form{height:100%;width:500px}::ng-deep #warehouseDialog ::ng-deep .form-content{height:calc(100% - 80px);width:100%}::ng-deep #warehouseDialog ::ng-deep .form-content .message-field{height:20px;word-wrap:break-word;white-space:normal}co-button:not(:last-child){margin-right:10px}.commission-fields{justify-content:space-between;margin:10px 0}.warehouse-description-item{width:15rem}.warehouse-nr-item{width:5rem}co-input-number-picker co-button{max-width:20px}\n"]
|
|
291
|
+
},] }
|
|
292
|
+
];
|
|
293
|
+
TransactionManagerComponent.ctorParameters = () => [
|
|
294
|
+
{ type: TransactionService },
|
|
295
|
+
{ type: TransactionEventService },
|
|
296
|
+
{ type: PromptService },
|
|
297
|
+
{ type: DictionaryService }
|
|
298
|
+
];
|
|
299
|
+
TransactionManagerComponent.propDecorators = {
|
|
300
|
+
warehouse: [{ type: ViewChild, args: ["warehouse",] }],
|
|
301
|
+
characteristicAnswer: [{ type: ViewChild, args: ["characteristicAnswer",] }],
|
|
302
|
+
linesChanged: [{ type: Output }],
|
|
303
|
+
articleAdded: [{ type: Output }]
|
|
304
|
+
};
|
|
305
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbWFuYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudC9zZXJ2aWNlLW9yZGVyL3RyYW5zYWN0aW9uLW1hbmFnZXIvdHJhbnNhY3Rpb24tbWFuYWdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFhLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBRTlFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRW5GLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ3ZILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBR25HLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBRS9GLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRXRFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUV4RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUdwRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFpQjNELE1BQU0sT0FBTywyQkFBNEIsU0FBUSx3QkFBd0I7SUF3Q3ZFLFlBQ1MsT0FBMkIsRUFDM0IsaUJBQTBDLEVBQzFDLGFBQTRCLEVBQzVCLGtCQUFxQztRQUU1QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFMUixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixzQkFBaUIsR0FBakIsaUJBQWlC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QUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQ0YsQ0FBQztRQUNOLENBQUM7S0FBQTs7O1lBaFVGLFNBQVMsU0FBQztnQkFDVCw4REFBOEQ7Z0JBQzlELFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFFBQVEsRUFBRTs7Ozs7Ozs7O0dBU1Q7O2FBRUY7OztZQWxDTyxrQkFBa0I7WUFHbEIsdUJBQXVCO1lBZXZCLGFBQWE7WUFQYixpQkFBaUI7Ozt3QkF5QnRCLFNBQVMsU0FBQyxXQUFXO21DQUdyQixTQUFTLFNBQUMsc0JBQXNCOzJCQUdoQyxNQUFNOzJCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7TnVtYmVyVXRpbHN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdXRpbHMvbnVtYmVyLXV0aWxzXCI7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm9cIjtcbmltcG9ydCB7UmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZXNvbHZlLXBlbmRpbmctcmVhc29uLXJlcXVlc3QuYm9cIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWxpbmUtdHlwZS5lbnVtXCI7XG5pbXBvcnQge0NvRG9tYWluVmFsdWV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY28tZG9tYWluLXZhbHVlLmJvXCI7XG5pbXBvcnQge0xpbmVPcGVyYXRpb25TdGF0dXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbGluZS1vcGVyYXRpb24tc3RhdHVzLmJvXCI7XG5pbXBvcnQge1BlbmRpbmdSZWFzb25UeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vcGVuZGluZy1yZWFzb24tdHlwZS5lbnVtXCI7XG5pbXBvcnQge0FydGljbGVGdWxsT2JqZWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZnVsbC1vYmplY3RcIjtcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xuaW1wb3J0IHtMaW5lT3BlcmF0aW9uUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbGluZS1vcGVyYXRpb24tcmVzcG9uc2UuYm9cIjtcbmltcG9ydCB7UG9zaXRpb25HcmlkUm93fSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9wb3NpdGlvbi1ncmlkLXJvdy5lbnVtXCI7XG5pbXBvcnQge0NoYXJhY3RlcmlzdGljQW5zd2VyQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vY29yZS9jaGFyYWN0ZXJpc3RpYy1hbnN3ZXIvY2hhcmFjdGVyaXN0aWMtYW5zd2VyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gXCIuLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnRcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ib1wiO1xuaW1wb3J0IHtXYXJlaG91c2VDb21wb25lbnR9IGZyb20gXCIuLi8uLi9jb3JlL3dhcmVob3VzZS93YXJlaG91c2UuY29tcG9uZW50XCI7XG5pbXBvcnQge1Byb21wdFNlcnZpY2V9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogXCJ0cmFuc2FjdGlvbi1tYW5hZ2VyXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHdhcmVob3VzZSAjd2FyZWhvdXNlXG4gICAgICAgIChva0NsaWNrKT1cIndhcmVob3VzZU9rQ2xpY2soKVwiXG4gICAgICAgIChjYW5jZWxDbGljayk9XCJ3YXJlaG91c2VDYW5jZWxDbGljaygpXCJcbiAgICA+PC93YXJlaG91c2U+XG4gICAgPGNoYXJhY3RlcmlzdGljLWFuc3dlclxuICAgICAgI2NoYXJhY3RlcmlzdGljQW5zd2VyXG4gICAgICAob2tDbGljayk9XCJoYW5kbGVDaGFyYWN0ZXJpc3RpY0Fuc3dlck9rQ2xpY2soJGV2ZW50KVwiXG4gICAgPjwvY2hhcmFjdGVyaXN0aWMtYW5zd2VyPlxuICBgLFxuICBzdHlsZVVybHM6IFtcIi4vdHJhbnNhY3Rpb24tbWFuYWdlci5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbk1hbmFnZXJDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKFwid2FyZWhvdXNlXCIpXG4gIHB1YmxpYyB3YXJlaG91c2U6IFdhcmVob3VzZUNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKFwiY2hhcmFjdGVyaXN0aWNBbnN3ZXJcIilcbiAgcHVibGljIGNoYXJhY3RlcmlzdGljQW5zd2VyOiBDaGFyYWN0ZXJpc3RpY0Fuc3dlckNvbXBvbmVudDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGxpbmVzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgYXJ0aWNsZUFkZGVkOiBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4oKTtcblxuICBwdWJsaWMgZ2V0IGFtb3VudE9mTGluZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTnVtYmVyVXRpbHMuTnJPckRlZmF1bHQodGhpcy5zZXJ2aWNlLmFydGljbGVBbW91bnQsIDApO1xuICB9XG5cbiAgcHVibGljIGdldCBzaG93Q2hhcmFjdGVyaXN0aWNEaWFsb2coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dDaGFyYWN0ZXJpc3RpYztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2hvd0NoYXJhY3RlcmlzdGljRGlhbG9nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd0NoYXJhY3RlcmlzdGljID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmV3QXJ0aWNsZU5yOiBzdHJpbmc7XG4gIHB1YmxpYyBuZXdBcnRpY2xlOiBBcnRpY2xlRnVsbE9iamVjdDtcbiAgcHVibGljIHNlbGVjdGVkV2FyZWhvdXNlTnI6IG51bWJlcjtcbiAgcHVibGljIGFtb3VudDogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb2x1bW5zOiBhbnlbXSA9IFtdO1xuXG4gIHB1YmxpYyBjdXJyZW50UGVuZGluZ0xpbmU6IFRyYW5zYWN0aW9uTGluZUluZm87XG4gIHB1YmxpYyBjdXJyZW50UmVhc29uOiBSZXNvbHZlUGVuZGluZ0xpbmVSZWFzb25SZXF1ZXN0O1xuXG4gIHByaXZhdGUgY3VycmVudE9wZXJhdGlvblN0YXR1czogTGluZU9wZXJhdGlvblN0YXR1cztcbiAgcHJpdmF0ZSBfaW5PdXRDb2xsZWN0aW9uOiBDb0RvbWFpblZhbHVlW10gPSBbXTtcbiAgcHJpdmF0ZSBfc2hvd0NoYXJhY3RlcmlzdGljOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudHM6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyBwcm9tcHRTZXJ2aWNlOiBQcm9tcHRTZXJ2aWNlLFxuICAgIHB1YmxpYyBfZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihzZXJ2aWNlKTtcblxuICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgIHRoaXMuc2VydmljZS50cmFuc2FjdGlvbkxvYWRlZC5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAodHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UuaXNTdWNjZXNzKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGFkZEFydGljbGVMaW5lKHRyYW5zYWN0aW9uVXVpZDogc3RyaW5nLCBza3U6IHN0cmluZywgYW1vdW50OiBudW1iZXIsIGxpbmVOcjogbnVtYmVyLCBiZWZvcmVPckFmdGVyOiBQb3NpdGlvbkdyaWRSb3cpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBnb29kSWQ6IG51bWJlciA9IGF3YWl0IHRoaXMuc2VydmljZS5nZXRHb29kSWRGcm9tQXJ0aWNsZU5yKHNrdSk7XG4gICAgaWYgKGdvb2RJZCkge1xuICAgICAgYXdhaXQgdGhpcy5fbG9hZEFydGljbGUoZ29vZElkKTtcbiAgICAgIGF3YWl0IHRoaXMuX2hhbmRsZUFkZEFydGljbGVMaW5lQXQoYW1vdW50LCBsaW5lTnIsIGJlZm9yZU9yQWZ0ZXIpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMucHJvbXB0U2VydmljZS5zaG93RXJyb3IodGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiQVJUSUNMRV9VTktOT1dOXCIpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2hhbmdlTGluZVNlcXVlbmNlKGZyb21JbmRleDogbnVtYmVyLCB0b0luZGV4OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgZnJvbUxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8gPSB0aGlzLl9nZXRUcmFuc2FjdGlvbkxpbmVJbmZvQnlJbmRleChmcm9tSW5kZXgpXG4gICAgbGV0IHRvTGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyA9IHRoaXMuX2dldFRyYW5zYWN0aW9uTGluZUluZm9CeUluZGV4KHRvSW5kZXgpO1xuICAgIGxldCBhYm92ZUxpbmVOcjogbnVtYmVyO1xuICAgIGxldCBiZWxvd0xpbmVOcjogbnVtYmVyO1xuXG4gICAgaWYgKGZyb21JbmRleCA+IHRvSW5kZXgpIHtcbiAgICAgIGFib3ZlTGluZU5yID0gdG9MaW5lLmxpbmVOcjtcbiAgICB9IGVsc2Uge1xuICAgICAgYmVsb3dMaW5lTnIgPSB0b0xpbmUubGluZU5yO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuc2VydmljZS5jaGFuZ2VMaW5lU2VxdWVuY2UoZnJvbUxpbmUudXVpZCwgYWJvdmVMaW5lTnIsIGJlbG93TGluZU5yLCBmYWxzZSlcbiAgICAgIC50aGVuKCh2YWx1ZTogTGluZU9wZXJhdGlvblJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzKHZhbHVlKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yKSA9PiB0aGlzLnByb21wdFNlcnZpY2Uuc2hvd0Vycm9yKGVycm9yKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd1N0b2NrTWFuYWdlcihsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy53YXJlaG91c2Uuc2VsZWN0ZWRXYXJlaG91c2VOciA9IGxpbmUud2FyZWhvdXNlTnVtYmVyO1xuICAgIHRoaXMud2FyZWhvdXNlLmFtb3VudCA9IGxpbmUuYW1vdW50O1xuICAgIHRoaXMud2FyZWhvdXNlLmNvbW1pc3Npb25Db2RlID0gbGluZS5jb21taXNzaW9uQ29kZTtcbiAgICB0aGlzLndhcmVob3VzZS5tZXNzYWdlID0gdGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb247XG4gICAgdGhpcy53YXJlaG91c2Uuc2hvdyhsaW5lLmFydGljbGVOdW1iZXIpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHdhcmVob3VzZU9rQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMud2FyZWhvdXNlLmNvbW1pc3Npb25Db2RlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY3VycmVudFJlYXNvbi5jb21taXNzaW9uQ29kZSA9IHRoaXMud2FyZWhvdXNlLmNvbW1pc3Npb25Db2RlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLndhcmVob3VzZS5hbW91bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jdXJyZW50UmVhc29uLnF1YW50aXR5ID0gdGhpcy53YXJlaG91c2UuYW1vdW50O1xuICAgIH1cblxuICAgIGlmICh0aGlzLndhcmVob3VzZS5zZWxlY3RlZFdhcmVob3VzZU5yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY3VycmVudFJlYXNvbi53YXJlaG91c2VOciA9IHRoaXMud2FyZWhvdXNlLnNlbGVjdGVkV2FyZWhvdXNlTnI7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudFJlYXNvbikge1xuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnJlc29sdmVQZW5kaW5nTGluZVJlYXNvbih0aGlzLmN1cnJlbnRSZWFzb24sIGZhbHNlKVxuICAgICAgICAudGhlbigodmFsdWU6IExpbmVPcGVyYXRpb25SZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cyh2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB3YXJlaG91c2VDYW5jZWxDbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5jdXJyZW50UmVhc29uKSB7XG4gICAgICBhd2FpdCB0aGlzLl9jYW5jZWxBcnRpY2xlKHRoaXMuY3VycmVudFJlYXNvbi5saW5lVXVpZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGhhbmRsZUNoYXJhY3RlcmlzdGljQW5zd2VyT2tDbGljayhhbnN3ZXI6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuY3VycmVudFJlYXNvbiA9IG5ldyBSZXNvbHZlUGVuZGluZ0xpbmVSZWFzb25SZXF1ZXN0KHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy51dWlkLCB0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvbiwgdGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb25UeXBlKTtcbiAgICB0aGlzLmN1cnJlbnRSZWFzb24udGV4dHVhbFVzZXJJbnB1dCA9IGFuc3dlcjtcbiAgICBhd2FpdCB0aGlzLnNlcnZpY2UucmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uKHRoaXMuY3VycmVudFJlYXNvbiwgZmFsc2UpXG4gICAgICAudGhlbigodmFsdWU6IExpbmVPcGVyYXRpb25SZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXModmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9oYW5kbGVBZGRBcnRpY2xlKGFtb3VudDogbnVtYmVyID0gMSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2VydmljZS5hZGRUcmFuc2FjdGlvbkxpbmUoVHJhbnNhY3Rpb25MaW5lVHlwZS5BcnRpY2xlTGluZSxcbiAgICAgIHRoaXMubmV3QXJ0aWNsZU5yLFxuICAgICAgYW1vdW50LFxuICAgICAgdGhpcy5uZXdBcnRpY2xlLnN0YW5kYXJkV2FyZUhvdXNlLFxuICAgICAgdGhpcy5uZXdBcnRpY2xlLmNvbW1pc3Npb25Db2RlLFxuICAgICAgZmFsc2UsXG4gICAgICAwLFxuICAgICAgMCxcbiAgICAgIGZhbHNlKVxuICAgICAgLnRoZW4oKHZhbHVlOiBMaW5lT3BlcmF0aW9uUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzKHZhbHVlKTtcbiAgICAgIH0sXG4gICAgICAoZXJyb3IpID0+IHRoaXMucHJvbXB0U2VydmljZS5zaG93RXJyb3IoZXJyb3IpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZUFkZEFydGljbGVMaW5lQXQoYW1vdW50OiBudW1iZXIsIGxpbmVOcjogbnVtYmVyLCBiZWZvcmVPckFmdGVyOiBQb3NpdGlvbkdyaWRSb3cpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNlcnZpY2UuYWRkQXJ0aWNsZVRvVHJhbnNhY3Rpb24odGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCxcbiAgICAgIHRoaXMubmV3QXJ0aWNsZU5yLFxuICAgICAgYW1vdW50LFxuICAgICAgdGhpcy5uZXdBcnRpY2xlLnN0YW5kYXJkV2FyZUhvdXNlLFxuICAgICAgdGhpcy5uZXdBcnRpY2xlLmNvbW1pc3Npb25Db2RlLFxuICAgICAgZmFsc2UsXG4gICAgICBiZWZvcmVPckFmdGVyID09PSBQb3NpdGlvbkdyaWRSb3cuQmVmb3JlID8gbGluZU5yIDogdW5kZWZpbmVkLFxuICAgICAgYmVmb3JlT3JBZnRlciA9PT0gUG9zaXRpb25HcmlkUm93LkFmdGVyID8gbGluZU5yIDogdW5kZWZpbmVkKVxuICAgICAgLnRoZW4oKHZhbHVlOiBMaW5lT3BlcmF0aW9uUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmxpbmVPcGVyYXRpb25TdGF0dXNlcyA9IHZhbHVlLmxpbmVPcGVyYXRpb25TdGF0dXNlcztcbiAgICAgICAgICB0aGlzLmhhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXModmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyb3IpID0+IHRoaXMucHJvbXB0U2VydmljZS5zaG93RXJyb3IoZXJyb3IpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFdhcmVIb3VzZU5vRnJvbUFydGljbGUoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5uZXdBcnRpY2xlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5uZXdBcnRpY2xlLnN0b2NrTG9jYXRpb25zICE9PSB1bmRlZmluZWQgJiYgdGhpcy5uZXdBcnRpY2xlLnN0b2NrTG9jYXRpb25zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMubmV3QXJ0aWNsZS5zdG9ja0xvY2F0aW9uc1swXS53YXJlaG91c2VOcjtcbiAgICB9XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwdWJsaWMgaXNMaW5lT3BlcmF0aW9uU3RhdHVzKGxpbmVPcGVyYXRpb25TdGF0dXNlczogTGluZU9wZXJhdGlvblN0YXR1c1tdKTogYm9vbGVhbiB7XG4gICAgdGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzID0gdGhpcy5zZXJ2aWNlLnBlbmRpbmdMaW5lT3BlcmF0aW9uU3RhdHVzKGxpbmVPcGVyYXRpb25TdGF0dXNlcyk7XG4gICAgaWYgKHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfY29uZmlybUFjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmN1cnJlbnRSZWFzb24gPSBuZXcgUmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uUmVxdWVzdCh0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMudXVpZCwgdGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb24sIHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uVHlwZSk7XG4gICAgY29uc3QgcGVuZGluZ1JlYXNvblRleHQ6IHN0cmluZyA9IGF3YWl0IHRoaXMuX2dldFBlbmRpbmdSZWFzb25UZXh0KHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uKTtcbiAgICB0aGlzLmN1cnJlbnRSZWFzb24uY29uZmlybWF0aW9uICA9IGF3YWl0IHRoaXMucHJvbXB0U2VydmljZS5zaG93WWVzTm8ocGVuZGluZ1JlYXNvblRleHQsIFwiIFwiKTtcbiAgICBhd2FpdCB0aGlzLnNlcnZpY2UucmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uKHRoaXMuY3VycmVudFJlYXNvbiwgZmFsc2UpXG4gICAgICAudGhlbigodmFsdWU6IExpbmVPcGVyYXRpb25SZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXModmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9zaG93SW5mb3JtYXRpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jdXJyZW50UmVhc29uID0gbmV3IFJlc29sdmVQZW5kaW5nTGluZVJlYXNvblJlcXVlc3QodGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLnV1aWQsIHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uLCB0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvblR5cGUpO1xuICAgIGNvbnN0IHBlbmRpbmdSZWFzb25UZXh0OiBzdHJpbmcgPSBhd2FpdCB0aGlzLl9nZXRQZW5kaW5nUmVhc29uVGV4dCh0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvbik7XG4gICAgYXdhaXQgdGhpcy5wcm9tcHRTZXJ2aWNlLnNob3dPa01vZGFsKHBlbmRpbmdSZWFzb25UZXh0LCBcIiBcIik7XG4gICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnJlc29sdmVQZW5kaW5nTGluZVJlYXNvbih0aGlzLmN1cnJlbnRSZWFzb24sIGZhbHNlKVxuICAgICAgLnRoZW4oKHZhbHVlOiBMaW5lT3BlcmF0aW9uUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzKHZhbHVlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZ2V0UGVuZGluZ1JlYXNvblRleHQocGVuZGluZ1JlYXNvbjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAocGVuZGluZ1JlYXNvbiA9PT0gXCJBUlRJQ0xFX0lTX0RJU0NPTlRJTlVFRF9ET19ZT1VfV0FOVF9UT19DT05USU5VRV9QTEVBU0VfQ09ORklSTVwiKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiQVJUSUNMRV9JTl9PVVRfQ09MTEVDVElPTlwiKS5yZXBsYWNlKFwifH5cIiwgYXdhaXQgdGhpcy5nZXRJbk91dENvbGxlY3Rpb25PZkFydGljbGUoKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQocGVuZGluZ1JlYXNvbik7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEluT3V0Q29sbGVjdGlvbk9mQXJ0aWNsZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGlmICghdGhpcy5faW5PdXRDb2xsZWN0aW9uLmxlbmd0aCkge1xuICAgICAgdGhpcy5faW5PdXRDb2xsZWN0aW9uID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldEluT3V0Q29sbGVjdGlvbihcIk5MXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGRvbWFpblZhbHVlOiBDb0RvbWFpblZhbHVlID0gdGhpcy5faW5PdXRDb2xsZWN0aW9uLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LmNvZGUgPT09IHRoaXMubmV3QXJ0aWNsZS5pbk91dENvbGxlY3Rpb24pO1xuICAgIGlmIChkb21haW5WYWx1ZSkge1xuICAgICAgcmV0dXJuIGRvbWFpblZhbHVlLmRlc2NyaXB0aW9uO1xuICAgIH1cbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzKGxpbmVPcGVyYXRpb25SZXNwb25zZTogTGluZU9wZXJhdGlvblJlc3BvbnNlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuaXNMaW5lT3BlcmF0aW9uU3RhdHVzKGxpbmVPcGVyYXRpb25SZXNwb25zZS5saW5lT3BlcmF0aW9uU3RhdHVzZXMpKSB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uID0gbGluZU9wZXJhdGlvblJlc3BvbnNlO1xuICAgICAgdGhpcy5hcnRpY2xlQWRkZWQuZW1pdCh0aGlzLnRyYW5zYWN0aW9uKTtcbiAgICAgIGF3YWl0IHRoaXMuX2hhbmRsZVBlbmRpbmdMaW5lKHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy51dWlkKS50aGVuKCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy5fc2F2ZVRyYW5zYWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSAgYXN5bmMgX2hhbmRsZVBlbmRpbmdMaW5lKGxpbmVVdWlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmN1cnJlbnRSZWFzb24gPSBuZXcgUmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uUmVxdWVzdCh0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMudXVpZCwgdGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb24sIHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uVHlwZSk7XG4gICAgdGhpcy5jdXJyZW50UGVuZGluZ0xpbmUgPSB0aGlzLnRyYW5zYWN0aW9uTGluZXMuZmluZChsID0+IGwudXVpZCA9PT0gbGluZVV1aWQpO1xuXG4gICAgc3dpdGNoICh0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvblR5cGUpIHtcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQUJPUlRFRDpcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQ0FOQ0VMTEVEOlxuICAgICAgICBhd2FpdCB0aGlzLl9jYW5jZWxBcnRpY2xlKHRoaXMuY3VycmVudFBlbmRpbmdMaW5lLnV1aWQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQ09ORklSTUFUSU9OX05FRURFRDpcbiAgICAgICAgYXdhaXQgdGhpcy5fY29uZmlybUFjdGlvbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuSU5WQUxJRF9MT0dJU1RJQ1M6XG4gICAgICAgIGF3YWl0IHRoaXMuc2hvd1N0b2NrTWFuYWdlcih0aGlzLmN1cnJlbnRQZW5kaW5nTGluZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5OT05fQ1JJVElDQUxfRElTQ09OVElOVUFUSU9OOlxuICAgICAgICBhd2FpdCB0aGlzLl9zaG93SW5mb3JtYXRpb24oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLkNIQVJBQ1RFUklTVElDU19BTlNXRVJfTkVFREVEOlxuICAgICAgICB0aGlzLkNoYXJhY3RlcmlzdGljc0Fuc3dlck5lZWRlZCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuTk9ORTpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuY3VycmVudFJlYXNvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5jdXJyZW50UGVuZGluZ0xpbmUgPSB1bmRlZmluZWQ7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3NhdmVUcmFuc2FjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbkluZm8pIHtcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBhd2FpdCB0aGlzLnNlcnZpY2Uuc2F2ZVRyYW5zYWN0aW9uQnlVdWlkKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpO1xuICAgICAgaWYgKCFzdWNjZXNzKSB7XG4gICAgICAgIHRoaXMucHJvbXB0U2VydmljZS5zaG93RXJyb3IoXCJUcmFuc2FjdGlvbiBjb3VsZCBub3QgYmUgc2F2ZWQhXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2xvYWRBcnRpY2xlKGdvb2RJZDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5uZXdBcnRpY2xlID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldEFydGljbGVGdWxsT2JqZWN0KGdvb2RJZCk7XG4gICAgdGhpcy5uZXdBcnRpY2xlTnIgPSB0aGlzLm5ld0FydGljbGUuYXJ0aWNsZU5yO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRFbWFpbEFkZHJlc3NUb1RyYW5zYWN0aW9uKGVtYWlsQWRkcmVzczogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLmVtYWlsQWRkcmVzcyA9IGVtYWlsQWRkcmVzcztcbiAgfVxuXG4gIHByaXZhdGUgQ2hhcmFjdGVyaXN0aWNzQW5zd2VyTmVlZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhcmFjdGVyaXN0aWNBbnN3ZXIucXVlc3Rpb24gPSB0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMuY2hhcmFjdGVyaXN0aWMucXVlc3Rpb247XG4gICAgdGhpcy5jaGFyYWN0ZXJpc3RpY0Fuc3dlci50aXRsZSA9IHRoaXMubmV3QXJ0aWNsZS5kZXNjcmlwdGlvbjtcbiAgICB0aGlzLmNoYXJhY3RlcmlzdGljQW5zd2VyLnZhbHVlID0gdGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLmNoYXJhY3RlcmlzdGljLnZhbHVlO1xuICAgIHRoaXMuY2hhcmFjdGVyaXN0aWNBbnN3ZXIuY2hhcmFjdGVyaXN0aWNzID0gdGhpcy5jdXJyZW50T3BlcmF0aW9uU3RhdHVzLmNoYXJhY3RlcmlzdGljLnRyYW5zYWN0aW9uTGluZUNoYXJhY3RlcmlzdGljQ2hvaWNlcztcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jaGFyYWN0ZXJpc3RpY0Fuc3dlci5vcGVuKCk7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbWFnaWMtbnVtYmVyc1xuICAgIH0sIDEwMDApO1xuXG4gIH1cblxuICBwcml2YXRlIF9nZXRUcmFuc2FjdGlvbkxpbmVJbmZvQnlJbmRleChpbmRleDogbnVtYmVyKTogVHJhbnNhY3Rpb25MaW5lSW5mbyB7XG4gICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLnRyYW5zYWN0aW9uTGluZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmN1cnJlbnRMaW5lc1tpbmRleF1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9jYW5jZWxBcnRpY2xlKHV1aWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2VydmljZS5jYW5jZWxBZGRUcmFuc2FjdGlvbkxpbmUodXVpZCwgZmFsc2UpXG4gICAgICAudGhlbigocmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb24gPSByZXNwb25zZTtcbiAgICAgICAgdGhpcy5hcnRpY2xlQWRkZWQuZW1pdChyZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, Input } from "@angular/core";
|
|
3
|
+
import { StockStatus } from "@colijnit/transactionapi/build/enum/refcode/stock-status.enum";
|
|
4
|
+
import { TransactionEventService } from "../../../service/transaction-event.service";
|
|
5
|
+
import { TransactionService } from "../../../service/transaction.service";
|
|
6
|
+
export class TransactionOrderLineViewComponent {
|
|
7
|
+
constructor(_service, _eventService) {
|
|
8
|
+
this._service = _service;
|
|
9
|
+
this._eventService = _eventService;
|
|
10
|
+
this.stock = StockStatus.Low;
|
|
11
|
+
}
|
|
12
|
+
ngOnInit() {
|
|
13
|
+
this._loadArticleImage();
|
|
14
|
+
}
|
|
15
|
+
_loadArticleImage() {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
if (this.line) {
|
|
18
|
+
this.image = this.line ? yield this._service.retrieveLineImage(this.line) : undefined;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
transactionLineClick(line) {
|
|
23
|
+
this._eventService.transactionLineClicked.next(this.line);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
TransactionOrderLineViewComponent.decorators = [
|
|
27
|
+
{ type: Component, args: [{
|
|
28
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
29
|
+
selector: "transaction-order-line-view",
|
|
30
|
+
template: `
|
|
31
|
+
<div class="transaction-order-line-r" fxFlex (click)="transactionLineClick(line)">
|
|
32
|
+
<div fxLayout="row" class="full-width">
|
|
33
|
+
<div fxLayout="column" class="transaction-order-line-description" fxLayoutGap="20px">
|
|
34
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
35
|
+
<span [textContent]="line.goodDescription" class="cart-line-description-main"></span>
|
|
36
|
+
<span *ngIf="line.goodDescription && line.articleNumber">|</span>
|
|
37
|
+
<span [textContent]="line.articleNumber" class="cart-line-description-artnr"></span>
|
|
38
|
+
</div>
|
|
39
|
+
<div>
|
|
40
|
+
<span [innerHTML]="line.configurationReadable" class="cart-line-description-detail"></span>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<div fxLayout="column" class="transaction-order-line-image">
|
|
44
|
+
<image-display [model]="image"></image-display>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
<div fxLayout="row" class="transaction-order-line-right">
|
|
48
|
+
<div fxLayout="column" class="transaction-order-line-stock">
|
|
49
|
+
<span [textContent]="'STOCK' | localize" class="small-font"></span>
|
|
50
|
+
<stock-status-indicator [model]="stock"></stock-status-indicator>
|
|
51
|
+
<span [textContent]="'DELIVERY_TIME_PERIOD' | localize" class="small-font"></span>
|
|
52
|
+
<span [textContent]="line.deliveryDate | deliveryTime"></span>
|
|
53
|
+
</div>
|
|
54
|
+
<div class="transaction-order-line-amount">
|
|
55
|
+
<co-input-number-picker
|
|
56
|
+
class="horizontal"
|
|
57
|
+
[(model)]="line.amount" [min]="0" [buttonShowMode]="'always'"
|
|
58
|
+
[readonly]="true"></co-input-number-picker>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="transaction-order-line-totals">
|
|
61
|
+
<span [textContent]="line.netLineTotal | coCurrency: true"></span>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
`,
|
|
66
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.transaction-order-line-r .transaction-order-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-top:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-bottom:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-left:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:block;padding:20px}:host ::ng-deep collapseable{width:100%!important}.horizontal{display:flex;flex-direction:row}.service-request-button-wrapper{display:flex;justify-content:center;margin-top:20px}.transaction-order-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.transaction-order-line-r{flex-direction:column}}.transaction-order-line-r .transaction-order-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center;padding-right:10px}.transaction-order-line-r .transaction-order-line-image image-display{width:6em;height:6em}.transaction-order-line-r .transaction-order-line-image ::ng-deep no-image-display{display:none}.transaction-order-line-r .transaction-order-line-description{display:flex;flex-direction:column;width:auto;max-width:355px;margin-left:10px}.transaction-order-line-r .transaction-order-line-description .cart-line-description-main{font-weight:bold}.transaction-order-line-r .transaction-order-line-right{justify-content:flex-end;align-items:center}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{width:15em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals span{text-align:right}\n"]
|
|
67
|
+
},] }
|
|
68
|
+
];
|
|
69
|
+
TransactionOrderLineViewComponent.ctorParameters = () => [
|
|
70
|
+
{ type: TransactionService },
|
|
71
|
+
{ type: TransactionEventService }
|
|
72
|
+
];
|
|
73
|
+
TransactionOrderLineViewComponent.propDecorators = {
|
|
74
|
+
line: [{ type: Input }]
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tb3JkZXItbGluZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50L3NlcnZpY2Utb3JkZXIvdHJhbnNhY3Rpb24tb3JkZXItbGluZS12aWV3L3RyYW5zYWN0aW9uLW9yZGVyLWxpbmUtdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQTZDeEUsTUFBTSxPQUFPLGlDQUFpQztJQVcxQyxZQUNZLFFBQTRCLEVBQzVCLGFBQXNDO1FBRHRDLGFBQVEsR0FBUixRQUFRLENBQW9CO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtRQVQzQyxVQUFLLEdBQWdCLFdBQVcsQ0FBQyxHQUFHLENBQUM7SUFXNUMsQ0FBQztJQVJNLFFBQVE7UUFDWCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBUWEsaUJBQWlCOztZQUMzQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7YUFDdkY7UUFDTCxDQUFDO0tBQUE7SUFFTSxvQkFBb0IsQ0FBQyxJQUF5QjtRQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7O1lBcEVKLFNBQVMsU0FBQztnQkFDVCw4REFBOEQ7Z0JBQzVELFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FtQ1Q7O2FBSUo7OztZQTVDTyxrQkFBa0I7WUFEbEIsdUJBQXVCOzs7bUJBK0MxQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm9cIjtcclxuaW1wb3J0IHtTdG9ja1N0YXR1c30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3JlZmNvZGUvc3RvY2stc3RhdHVzLmVudW1cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICAgIHNlbGVjdG9yOiBcInRyYW5zYWN0aW9uLW9yZGVyLWxpbmUtdmlld1wiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLW9yZGVyLWxpbmUtclwiIGZ4RmxleCAoY2xpY2spPVwidHJhbnNhY3Rpb25MaW5lQ2xpY2sobGluZSlcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJ0cmFuc2FjdGlvbi1vcmRlci1saW5lLWRlc2NyaXB0aW9uXCIgZnhMYXlvdXRHYXA9XCIyMHB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJsaW5lLmdvb2REZXNjcmlwdGlvblwiIGNsYXNzPVwiY2FydC1saW5lLWRlc2NyaXB0aW9uLW1haW5cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbmUuZ29vZERlc2NyaXB0aW9uICYmIGxpbmUuYXJ0aWNsZU51bWJlclwiPnw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwibGluZS5hcnRpY2xlTnVtYmVyXCIgY2xhc3M9XCJjYXJ0LWxpbmUtZGVzY3JpcHRpb24tYXJ0bnJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJsaW5lLmNvbmZpZ3VyYXRpb25SZWFkYWJsZVwiIGNsYXNzPVwiY2FydC1saW5lLWRlc2NyaXB0aW9uLWRldGFpbFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGNsYXNzPVwidHJhbnNhY3Rpb24tb3JkZXItbGluZS1pbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1hZ2UtZGlzcGxheSBbbW9kZWxdPVwiaW1hZ2VcIj48L2ltYWdlLWRpc3BsYXk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cInRyYW5zYWN0aW9uLW9yZGVyLWxpbmUtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJ0cmFuc2FjdGlvbi1vcmRlci1saW5lLXN0b2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInU1RPQ0snIHwgbG9jYWxpemVcIiBjbGFzcz1cInNtYWxsLWZvbnRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9jay1zdGF0dXMtaW5kaWNhdG9yIFttb2RlbF09XCJzdG9ja1wiPjwvc3RvY2stc3RhdHVzLWluZGljYXRvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidERUxJVkVSWV9USU1FX1BFUklPRCcgfCBsb2NhbGl6ZVwiIGNsYXNzPVwic21hbGwtZm9udFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImxpbmUuZGVsaXZlcnlEYXRlIHwgZGVsaXZlcnlUaW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1vcmRlci1saW5lLWFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJob3Jpem9udGFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwibGluZS5hbW91bnRcIiBbbWluXT1cIjBcIiBbYnV0dG9uU2hvd01vZGVdPVwiJ2Fsd2F5cydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiPjwvY28taW5wdXQtbnVtYmVyLXBpY2tlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tb3JkZXItbGluZS10b3RhbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImxpbmUubmV0TGluZVRvdGFsIHwgY29DdXJyZW5jeTogdHJ1ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBzdHlsZVVybHM6IFtcclxuICAgICAgICBcIi4vdHJhbnNhY3Rpb24tb3JkZXItbGluZS12aWV3LmNvbXBvbmVudC5zY3NzXCJcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uT3JkZXJMaW5lVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm87XHJcblxyXG4gICAgcHVibGljIHN0b2NrOiBTdG9ja1N0YXR1cyA9IFN0b2NrU3RhdHVzLkxvdztcclxuICAgIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9sb2FkQXJ0aWNsZUltYWdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2V2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF9sb2FkQXJ0aWNsZUltYWdlKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLmxpbmUpIHtcclxuICAgICAgICAgIHRoaXMuaW1hZ2UgPSB0aGlzLmxpbmUgPyBhd2FpdCB0aGlzLl9zZXJ2aWNlLnJldHJpZXZlTGluZUltYWdlKHRoaXMubGluZSkgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVDbGljayhsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZUNsaWNrZWQubmV4dCh0aGlzLmxpbmUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Component, EventEmitter, Output, ViewChild } from "@angular/core";
|
|
2
|
+
import { DictionaryService } from "../../../service/dictionary.service";
|
|
3
|
+
import { TransactionEventService } from "../../../service/transaction-event.service";
|
|
4
|
+
import { TransactionService } from "../../../service/transaction.service";
|
|
5
|
+
import { TransactionBaseComponent } from "../../core/base/transaction-base.component";
|
|
6
|
+
export class TransactionOrderLinesComponent extends TransactionBaseComponent {
|
|
7
|
+
constructor(service, _eventService, _dictionaryService) {
|
|
8
|
+
super(service);
|
|
9
|
+
this.service = service;
|
|
10
|
+
this._eventService = _eventService;
|
|
11
|
+
this._dictionaryService = _dictionaryService;
|
|
12
|
+
this.createServiceClick = new EventEmitter();
|
|
13
|
+
this.nothingSelected = true;
|
|
14
|
+
this.columns = [];
|
|
15
|
+
this.columns.push({ field: "articleNumber", headerText: this._dictionaryService.get("ARTICLE_NR"), allowFiltering: false }, { field: "goodDescription", headerText: this._dictionaryService.get("DESCRIPTION") }, { field: "detailsAsString", headerText: this._dictionaryService.get("DETAILS") }, { field: "price", headerText: this._dictionaryService.get("PRICE") }, { field: "amount", headerText: this._dictionaryService.get("NUMBER") }, { field: "lineTotal", headerText: this._dictionaryService.get("SUBTOTAL") }, { field: "logisticState", headerText: this._dictionaryService.get("STATE") }, { field: "expectedDeliveryDate", headerText: this._dictionaryService.get("EXPECTED_DELIVERY_DATE") });
|
|
16
|
+
}
|
|
17
|
+
get pagingEnabled() {
|
|
18
|
+
if (this.transactionLines) {
|
|
19
|
+
return this.transactionLines.length >= TransactionOrderLinesComponent.MAX_TRANSACTION_LINES;
|
|
20
|
+
}
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
set selectedTransLine(value) {
|
|
24
|
+
this._selectedTransLine = value;
|
|
25
|
+
this.nothingSelected = this._selectedTransLine === null;
|
|
26
|
+
}
|
|
27
|
+
get selectedTransLine() {
|
|
28
|
+
return this._selectedTransLine;
|
|
29
|
+
}
|
|
30
|
+
onRowClick(row) {
|
|
31
|
+
this.selectedTransLine = row;
|
|
32
|
+
this._eventService.transactionLineClicked.next(this.selectedTransLine);
|
|
33
|
+
}
|
|
34
|
+
onRowDeselect(event) {
|
|
35
|
+
this.selectedTransLine = null;
|
|
36
|
+
}
|
|
37
|
+
// TODO: navragen wat de bedoeling is, zie originele source iOneJS
|
|
38
|
+
newServiceRequestClick() {
|
|
39
|
+
if (this.nothingSelected) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this.createServiceClick.emit(this._selectedTransLine);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
TransactionOrderLinesComponent.MAX_TRANSACTION_LINES = 20;
|
|
46
|
+
TransactionOrderLinesComponent.decorators = [
|
|
47
|
+
{ type: Component, args: [{
|
|
48
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
49
|
+
selector: "transaction-order-lines",
|
|
50
|
+
template: `
|
|
51
|
+
<co-grid #transactionGrid
|
|
52
|
+
[data]="transactionLines"
|
|
53
|
+
[columns]="columns"
|
|
54
|
+
[pagingEnabled]="pagingEnabled"
|
|
55
|
+
[maxNumberOfRows]="'20'"
|
|
56
|
+
(rowsSelected)="onRowClick($event)"
|
|
57
|
+
></co-grid>
|
|
58
|
+
`,
|
|
59
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.transaction-order-line-r .transaction-order-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-top:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-bottom:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-left:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:block;padding:20px}:host ::ng-deep collapseable{width:100%!important}.service-request-button-wrapper{display:flex;justify-content:center;margin-top:20px}.transaction-order-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.transaction-order-line-r{flex-direction:column}}.transaction-order-line-r .transaction-order-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center;padding-right:10px}.transaction-order-line-r .transaction-order-line-image image-display{width:6em;height:6em}.transaction-order-line-r .transaction-order-line-image ::ng-deep no-image-display{display:none}.transaction-order-line-r .transaction-order-line-description{display:flex;flex-direction:column;width:auto;max-width:355px;margin-left:10px}.transaction-order-line-r .transaction-order-line-description .cart-line-description-main{font-weight:bold}.transaction-order-line-r .transaction-order-line-right{justify-content:flex-end;align-items:center}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{width:15em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals span{text-align:right}\n"]
|
|
60
|
+
},] }
|
|
61
|
+
];
|
|
62
|
+
TransactionOrderLinesComponent.ctorParameters = () => [
|
|
63
|
+
{ type: TransactionService },
|
|
64
|
+
{ type: TransactionEventService },
|
|
65
|
+
{ type: DictionaryService }
|
|
66
|
+
];
|
|
67
|
+
TransactionOrderLinesComponent.propDecorators = {
|
|
68
|
+
transactionGrid: [{ type: ViewChild, args: ["transactionGrid",] }],
|
|
69
|
+
createServiceClick: [{ type: Output }]
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tb3JkZXItbGluZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnQvc2VydmljZS1vcmRlci90cmFuc2FjdGlvbi1vcmRlci1saW5lcy90cmFuc2FjdGlvbi1vcmRlci1saW5lcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQVMsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUdoRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQWtCcEYsTUFBTSxPQUFPLDhCQUErQixTQUFRLHdCQUF3QjtJQStCeEUsWUFDVyxPQUEyQixFQUMxQixhQUFzQyxFQUN0QyxrQkFBcUM7UUFFN0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBSlIsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3RDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUEzQjFDLHVCQUFrQixHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQVVoRyxvQkFBZSxHQUFZLElBQUksQ0FBQztRQUNoQyxZQUFPLEdBQVUsRUFBRSxDQUFDO1FBb0J2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDYixFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBQyxFQUN0RyxFQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBQyxFQUNsRixFQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBQyxFQUM5RSxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUMsRUFDbEUsRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFDLEVBQ3BFLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBQyxFQUN6RSxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUMsRUFDMUUsRUFBQyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsRUFBQyxDQUNyRyxDQUFDO0lBQ04sQ0FBQztJQXRDRCxJQUFXLGFBQWE7UUFDcEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxJQUFJLDhCQUE4QixDQUFDLHFCQUFxQixDQUFDO1NBQzdGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQU9ELElBQVksaUJBQWlCLENBQUMsS0FBMEI7UUFDcEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQVksaUJBQWlCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7SUFxQk0sVUFBVSxDQUFDLEdBQXdCO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFVO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVELGtFQUFrRTtJQUMzRCxzQkFBc0I7UUFDekIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDMUQsQ0FBQzs7QUFoRXNCLG9EQUFxQixHQUFHLEVBQUUsQ0FBQzs7WUFqQnJELFNBQVMsU0FBQztnQkFDVCw4REFBOEQ7Z0JBQzVELFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLFFBQVEsRUFBRTs7Ozs7Ozs7S0FRVDs7YUFJSjs7O1lBbEJPLGtCQUFrQjtZQURsQix1QkFBdUI7WUFEdkIsaUJBQWlCOzs7OEJBd0JwQixTQUFTLFNBQUMsaUJBQWlCO2lDQUczQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvR3JpZENvbXBvbmVudH0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ib1wiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICAgIHNlbGVjdG9yOiBcInRyYW5zYWN0aW9uLW9yZGVyLWxpbmVzXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxjby1ncmlkICN0cmFuc2FjdGlvbkdyaWRcclxuICAgICAgICAgICAgICAgICBbZGF0YV09XCJ0cmFuc2FjdGlvbkxpbmVzXCJcclxuICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgICAgICAgICAgICAgICBbcGFnaW5nRW5hYmxlZF09XCJwYWdpbmdFbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICBbbWF4TnVtYmVyT2ZSb3dzXT1cIicyMCdcIlxyXG4gICAgICAgICAgICAgICAgIChyb3dzU2VsZWN0ZWQpPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgICAgICA+PC9jby1ncmlkPlxyXG4gICAgYCxcclxuICAgIHN0eWxlVXJsczogW1xyXG4gICAgICAgIFwiLi90cmFuc2FjdGlvbi1vcmRlci1saW5lcy5jb21wb25lbnQuc2Nzc1wiXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbk9yZGVyTGluZXNDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQge1xyXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBNQVhfVFJBTlNBQ1RJT05fTElORVMgPSAyMDtcclxuXHJcbiAgICBAVmlld0NoaWxkKFwidHJhbnNhY3Rpb25HcmlkXCIpXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25HcmlkOiBDb0dyaWRDb21wb25lbnQ8YW55PjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBjcmVhdGVTZXJ2aWNlQ2xpY2s6IEV2ZW50RW1pdHRlcjxUcmFuc2FjdGlvbkxpbmVJbmZvPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb25MaW5lSW5mbz4oKTtcclxuXHJcblxyXG4gICAgcHVibGljIGdldCBwYWdpbmdFbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uTGluZXMpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uTGluZXMubGVuZ3RoID49IFRyYW5zYWN0aW9uT3JkZXJMaW5lc0NvbXBvbmVudC5NQVhfVFJBTlNBQ1RJT05fTElORVM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbm90aGluZ1NlbGVjdGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIHB1YmxpYyBjb2x1bW5zOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgX3NlbGVjdGVkVHJhbnNMaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvO1xyXG5cclxuICAgIHByaXZhdGUgc2V0IHNlbGVjdGVkVHJhbnNMaW5lKHZhbHVlOiBUcmFuc2FjdGlvbkxpbmVJbmZvKSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRUcmFuc0xpbmUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLm5vdGhpbmdTZWxlY3RlZCA9IHRoaXMuX3NlbGVjdGVkVHJhbnNMaW5lID09PSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IHNlbGVjdGVkVHJhbnNMaW5lKCk6IFRyYW5zYWN0aW9uTGluZUluZm8ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFRyYW5zTGluZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2V2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoc2VydmljZSk7XHJcblxyXG4gICAgICAgIHRoaXMuY29sdW1ucy5wdXNoKFxyXG4gICAgICAgICAgICB7ZmllbGQ6IFwiYXJ0aWNsZU51bWJlclwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJBUlRJQ0xFX05SXCIpLCBhbGxvd0ZpbHRlcmluZzogZmFsc2V9LFxyXG4gICAgICAgICAgICB7ZmllbGQ6IFwiZ29vZERlc2NyaXB0aW9uXCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChcIkRFU0NSSVBUSU9OXCIpfSxcclxuICAgICAgICAgICAge2ZpZWxkOiBcImRldGFpbHNBc1N0cmluZ1wiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJERVRBSUxTXCIpfSxcclxuICAgICAgICAgICAge2ZpZWxkOiBcInByaWNlXCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlBSSUNFXCIpfSxcclxuICAgICAgICAgICAge2ZpZWxkOiBcImFtb3VudFwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJOVU1CRVJcIil9LFxyXG4gICAgICAgICAgICB7ZmllbGQ6IFwibGluZVRvdGFsXCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlNVQlRPVEFMXCIpfSxcclxuICAgICAgICAgICAge2ZpZWxkOiBcImxvZ2lzdGljU3RhdGVcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiU1RBVEVcIil9LFxyXG4gICAgICAgICAgICB7ZmllbGQ6IFwiZXhwZWN0ZWREZWxpdmVyeURhdGVcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiRVhQRUNURURfREVMSVZFUllfREFURVwiKX0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25Sb3dDbGljayhyb3c6IFRyYW5zYWN0aW9uTGluZUluZm8pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVHJhbnNMaW5lID0gcm93O1xyXG4gICAgICAgIHRoaXMuX2V2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVDbGlja2VkLm5leHQodGhpcy5zZWxlY3RlZFRyYW5zTGluZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uUm93RGVzZWxlY3QoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUcmFuc0xpbmUgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRPRE86IG5hdnJhZ2VuIHdhdCBkZSBiZWRvZWxpbmcgaXMsIHppZSBvcmlnaW5lbGUgc291cmNlIGlPbmVKU1xyXG4gICAgcHVibGljIG5ld1NlcnZpY2VSZXF1ZXN0Q2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMubm90aGluZ1NlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jcmVhdGVTZXJ2aWNlQ2xpY2suZW1pdCh0aGlzLl9zZWxlY3RlZFRyYW5zTGluZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { TransactionService } from "../../../service/transaction.service";
|
|
3
|
+
import { TransactionBaseComponent } from "../../core/base/transaction-base.component";
|
|
4
|
+
export class TransactionOrderTotalsComponent extends TransactionBaseComponent {
|
|
5
|
+
constructor(service) {
|
|
6
|
+
super(service);
|
|
7
|
+
this.service = service;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
TransactionOrderTotalsComponent.decorators = [
|
|
11
|
+
{ type: Component, args: [{
|
|
12
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
13
|
+
selector: "transaction-order-totals",
|
|
14
|
+
template: `
|
|
15
|
+
<div class="totals-wrapper">
|
|
16
|
+
<div class="totals-item">
|
|
17
|
+
<div class="totals-item-description" [textContent]="'SUBTOTAL' | localize"></div>
|
|
18
|
+
<div class="totals-item-value" [textContent]="transactionTotal?.grossAmount | coCurrency | coCurrency"></div>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="totals-item">
|
|
21
|
+
<div class="totals-item-description" [textContent]="'VAT_AMOUNT' | localize"></div>
|
|
22
|
+
<div class="totals-item-value" [textContent]="transactionTotal?.surchargeAmount | coCurrency"></div>
|
|
23
|
+
</div>
|
|
24
|
+
<div class="totals-item total">
|
|
25
|
+
<div class="totals-item-description" [textContent]="'TRANSACTION_SUM_I' | localize"></div>
|
|
26
|
+
<div class="totals-item-value" [textContent]="transactionTotal?.netAmount | coCurrency"></div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
`,
|
|
30
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host .totals-wrapper{width:310px;font-size:13px}:host .totals-item{display:flex;flex-direction:row;height:25px;align-items:center}:host .totals-item>div{text-align:end;width:50%}:host .totals-item.total{font-weight:bold;height:30px;border-top:1px solid #DCE4EA}\n"]
|
|
31
|
+
},] }
|
|
32
|
+
];
|
|
33
|
+
TransactionOrderTotalsComponent.ctorParameters = () => [
|
|
34
|
+
{ type: TransactionService }
|
|
35
|
+
];
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tb3JkZXItdG90YWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50L3NlcnZpY2Utb3JkZXIvdHJhbnNhY3Rpb24tb3JkZXItdG90YWxzL3RyYW5zYWN0aW9uLW9yZGVyLXRvdGFscy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQTBCcEYsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLHdCQUF3QjtJQUV6RSxZQUN1QixPQUEyQjtRQUU5QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFGSSxZQUFPLEdBQVAsT0FBTyxDQUFvQjtJQUdsRCxDQUFDOzs7WUE3QkosU0FBUyxTQUFDO2dCQUNULDhEQUE4RDtnQkFDNUQsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7S0FlVDs7YUFJSjs7O1lBM0JPLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblRvdGFsfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXRvdGFsLmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWJhc2UuY29tcG9uZW50XCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICAgIHNlbGVjdG9yOiBcInRyYW5zYWN0aW9uLW9yZGVyLXRvdGFsc1wiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidG90YWxzLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvdGFscy1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG90YWxzLWl0ZW0tZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ1NVQlRPVEFMJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG90YWxzLWl0ZW0tdmFsdWVcIiBbdGV4dENvbnRlbnRdPVwidHJhbnNhY3Rpb25Ub3RhbD8uZ3Jvc3NBbW91bnQgfCBjb0N1cnJlbmN5IHwgY29DdXJyZW5jeVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvdGFscy1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG90YWxzLWl0ZW0tZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ1ZBVF9BTU9VTlQnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3RhbHMtaXRlbS12YWx1ZVwiIFt0ZXh0Q29udGVudF09XCJ0cmFuc2FjdGlvblRvdGFsPy5zdXJjaGFyZ2VBbW91bnQgfCBjb0N1cnJlbmN5XCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG90YWxzLWl0ZW0gdG90YWxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3RhbHMtaXRlbS1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCInVFJBTlNBQ1RJT05fU1VNX0knIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3RhbHMtaXRlbS12YWx1ZVwiIFt0ZXh0Q29udGVudF09XCJ0cmFuc2FjdGlvblRvdGFsPy5uZXRBbW91bnQgfCBjb0N1cnJlbmN5XCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICAgIHN0eWxlVXJsczogW1xyXG4gICAgICAgIFwiLi90cmFuc2FjdGlvbi1vcmRlci10b3RhbHMuY29tcG9uZW50LnNjc3NcIlxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25PcmRlclRvdGFsc0NvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IgKFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKHNlcnZpY2UpO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|