@colijnit/sharedcomponents 1.0.11 → 1.0.12
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-sharedcomponents.umd.js +1583 -53
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.d.ts +7 -0
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/colijnit-sharedcomponents.js +8 -1
- package/esm2015/lib/components/docsign/docsign.component.js +5 -7
- package/esm2015/lib/components/send-method-dialog/enums/send-option.js +8 -0
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +221 -0
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +27 -0
- package/esm2015/lib/components/stock/stock-information/stock-information.component.js +55 -0
- package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +258 -0
- package/esm2015/lib/components/stock/stock-location/stock-location.component.js +68 -0
- package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +2 -0
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +98 -0
- package/esm2015/lib/components/stock/stock.component.js +107 -0
- package/esm2015/lib/components/stock/stock.module.js +45 -0
- package/esm2015/lib/enum/icon.enum.js +23 -0
- package/esm2015/lib/factory/business-object-factory.js +120 -0
- package/esm2015/lib/factory/decorators/boolean.decorator.js +102 -0
- package/esm2015/lib/factory/decorators/complex-array.decorator.js +55 -0
- package/esm2015/lib/factory/decorators/complex-field.decorator.js +57 -0
- package/esm2015/lib/factory/decorators/date-field.decorator.js +36 -0
- package/esm2015/lib/factory/decorators/string-number.decorator.js +43 -0
- package/esm2015/lib/model/business-object.js +81 -0
- package/esm2015/lib/model/icon-svg.js +22 -0
- package/esm2015/lib/service/icon-cache.service.js +51 -0
- package/esm2015/lib/service/ione-connector-adapter.service.js +164 -0
- package/esm2015/lib/service/stock.service.js +41 -0
- package/esm2015/lib/utils/array-utils.js +183 -0
- package/esm2015/lib/utils/is-nill.function.js +5 -0
- package/esm2015/public-api.js +5 -1
- package/fesm2015/colijnit-sharedcomponents.js +1817 -8
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/components/send-method-dialog/enums/send-option.d.ts +6 -0
- package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +41 -0
- package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +2 -0
- package/lib/components/send-method-dialog/style/_layout.scss +192 -0
- package/lib/components/send-method-dialog/style/_material-definition.scss +1 -0
- package/lib/components/send-method-dialog/style/_theme.scss +7 -0
- package/lib/components/send-method-dialog/style/material.scss +4 -0
- package/lib/components/stock/stock-information/stock-information.component.d.ts +11 -0
- package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +47 -0
- package/lib/components/stock/stock-location/stock-location.component.d.ts +16 -0
- package/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts +4 -0
- package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +21 -0
- package/lib/components/stock/stock.component.d.ts +32 -0
- package/lib/components/stock/stock.module.d.ts +2 -0
- package/lib/components/stock/style/_layout.scss +206 -0
- package/lib/components/stock/style/_material-definition.scss +20 -0
- package/lib/components/stock/style/_theme.scss +8 -0
- package/lib/components/stock/style/material.scss +4 -0
- package/lib/enum/icon.enum.d.ts +21 -0
- package/lib/factory/business-object-factory.d.ts +23 -0
- package/lib/factory/decorators/boolean.decorator.d.ts +43 -0
- package/lib/factory/decorators/complex-array.decorator.d.ts +25 -0
- package/lib/factory/decorators/complex-field.decorator.d.ts +25 -0
- package/lib/factory/decorators/date-field.decorator.d.ts +17 -0
- package/lib/factory/decorators/string-number.decorator.d.ts +22 -0
- package/lib/model/business-object.d.ts +7 -0
- package/lib/model/icon-svg.d.ts +4 -0
- package/lib/service/icon-cache.service.d.ts +18 -0
- package/lib/service/ione-connector-adapter.service.d.ts +26 -0
- package/lib/service/stock.service.d.ts +17 -0
- package/lib/utils/array-utils.d.ts +57 -0
- package/lib/utils/is-nill.function.d.ts +1 -0
- package/package.json +5 -10
- package/public-api.d.ts +4 -0
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
3
|
+
import { Icon } from "../../enum/icon.enum";
|
|
4
|
+
import { IconCacheService } from "../../service/icon-cache.service";
|
|
5
|
+
import { SendOption } from "./enums/send-option";
|
|
6
|
+
import { animate, state, style, transition, trigger } from "@angular/animations";
|
|
7
|
+
import { StockService } from "../../service/stock.service";
|
|
8
|
+
import { PrintJob } from "@colijnit/sharedapi/build/model/report/print-job";
|
|
9
|
+
export class SendMethodDialogComponent {
|
|
10
|
+
constructor(iconCacheService, _stockService) {
|
|
11
|
+
this.iconCacheService = iconCacheService;
|
|
12
|
+
this._stockService = _stockService;
|
|
13
|
+
this.icons = Icon;
|
|
14
|
+
this.sendOption = SendOption;
|
|
15
|
+
this.sendOptions = [
|
|
16
|
+
{ option: SendOption.Email,
|
|
17
|
+
iconName: this.icons.Email },
|
|
18
|
+
{ option: SendOption.Print,
|
|
19
|
+
iconName: this.icons.Print },
|
|
20
|
+
{ option: SendOption.Pdf,
|
|
21
|
+
iconName: this.icons.Pdf },
|
|
22
|
+
{ option: SendOption.Xml,
|
|
23
|
+
iconName: this.icons.Xml }
|
|
24
|
+
];
|
|
25
|
+
this.activeSendOption = SendOption.Email;
|
|
26
|
+
this.amountToPrint = 1;
|
|
27
|
+
this.showStandardPrinterOptions = false;
|
|
28
|
+
this.showPrinterSelections = false;
|
|
29
|
+
this.showExitButton = true;
|
|
30
|
+
this.emails = ['lars.vdv@colijn-it.nl', 'david@colijn-it.nl', 'ruben@colijn-it.nl'];
|
|
31
|
+
this.models = [false, false, true];
|
|
32
|
+
this.layouts = ['Layout 1', 'Layout 2', 'Layout 3'];
|
|
33
|
+
this.showDialog = false;
|
|
34
|
+
this.startSignatureClicked = new EventEmitter();
|
|
35
|
+
this.printButtonClicked = new EventEmitter();
|
|
36
|
+
}
|
|
37
|
+
showClass() {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
getPrinters() {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
return this._stockService.getAllPrinters(true).then((list) => {
|
|
43
|
+
this.printerList = list;
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
closeDialogClick() {
|
|
48
|
+
this.showDialog = false;
|
|
49
|
+
}
|
|
50
|
+
handleSignatureStart() {
|
|
51
|
+
this.startSignatureClicked.emit();
|
|
52
|
+
}
|
|
53
|
+
handlePrintClicked() {
|
|
54
|
+
this.printButtonClicked.emit();
|
|
55
|
+
}
|
|
56
|
+
togglePrinterSelection() {
|
|
57
|
+
this.getPrinters();
|
|
58
|
+
if (!this.showPrinterSelections) {
|
|
59
|
+
this.showPrinterSelections = true;
|
|
60
|
+
this.headerTitle = 'Printer selectie';
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this.showPrinterSelections = false;
|
|
64
|
+
this.headerTitle = 'Verzendopties';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
loadLayouts() {
|
|
68
|
+
const printJob = new PrintJob();
|
|
69
|
+
// this.printLayouts = this._stockService.getPrintTemplates(printJob);
|
|
70
|
+
}
|
|
71
|
+
onPrinterClicked(printer) {
|
|
72
|
+
this.defaultPrinter = printer.name;
|
|
73
|
+
this.showPrinterSelections = !this.showPrinterSelections;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
SendMethodDialogComponent.decorators = [
|
|
77
|
+
{ type: Component, args: [{
|
|
78
|
+
selector: "ione-send-method-dialog",
|
|
79
|
+
template: `
|
|
80
|
+
<div class="send-method-dialog-wrapper">
|
|
81
|
+
<co-dialog-wizard id="sendOptionsDialog" *ngIf="showDialog" [showCloseIcon]="showExitButton" (closeClick)="closeDialogClick()">
|
|
82
|
+
<ng-container header>
|
|
83
|
+
<span [textContent]="headerTitle"></span>
|
|
84
|
+
</ng-container>
|
|
85
|
+
<div class="dialog-content-wrapper">
|
|
86
|
+
<div class="main-content-container" *ngIf="!showPrinterSelections">
|
|
87
|
+
<div class="send-options-wrapper">
|
|
88
|
+
<div class="custom-button-wrapper" *ngFor="let sendOption of sendOptions"
|
|
89
|
+
[class.selected-option]="sendOption.option === activeSendOption"
|
|
90
|
+
(click)="activeSendOption = sendOption.option">
|
|
91
|
+
<co-icon [iconData]="iconCacheService.getIcon(sendOption.iconName)"></co-icon>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
<div class="email-option-content" *ngIf="activeSendOption === sendOption.Email || activeSendOption === sendOption.Pdf">
|
|
96
|
+
<div class="emails-container" *ngIf="activeSendOption === sendOption.Email">
|
|
97
|
+
<co-input-checkbox
|
|
98
|
+
*ngFor="let email, let index of emails"
|
|
99
|
+
[name]="email"
|
|
100
|
+
[(model)]="models[index]"
|
|
101
|
+
[label]="email"
|
|
102
|
+
[cssClass]="'input-checkbox-wrapper'"
|
|
103
|
+
></co-input-checkbox>
|
|
104
|
+
</div>
|
|
105
|
+
|
|
106
|
+
<div class="lov-wrapper">
|
|
107
|
+
<co-input-combo-box
|
|
108
|
+
[(model)]="selectedLayout"
|
|
109
|
+
[collection]="layouts"
|
|
110
|
+
[forceReadonly]="true"
|
|
111
|
+
placeholder="Layout"
|
|
112
|
+
></co-input-combo-box>
|
|
113
|
+
</div>
|
|
114
|
+
|
|
115
|
+
<div class="signature-button-wrapper">
|
|
116
|
+
<div class="custom-button-wrapper signature-button" (click)="handleSignatureStart()">
|
|
117
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.SignatureField)"></co-icon>
|
|
118
|
+
</div>
|
|
119
|
+
</div>
|
|
120
|
+
</div>
|
|
121
|
+
|
|
122
|
+
<div class="email-option-content" *ngIf="activeSendOption === sendOption.Print">
|
|
123
|
+
<div class="lov-wrapper">
|
|
124
|
+
<co-input-combo-box
|
|
125
|
+
[(model)]="selectedLayout"
|
|
126
|
+
[collection]="layouts"
|
|
127
|
+
[forceReadonly]="true"
|
|
128
|
+
placeholder="Layout"
|
|
129
|
+
></co-input-combo-box>
|
|
130
|
+
</div>
|
|
131
|
+
|
|
132
|
+
<div class="lov-wrapper clickable" (click)="togglePrinterSelection()">
|
|
133
|
+
<div class="selected-printer-wrapper">
|
|
134
|
+
<div class="printer-option-list-item">
|
|
135
|
+
<co-icon class="printer-icon" [iconData]="iconCacheService.getIcon(icons.Print)"></co-icon>
|
|
136
|
+
<div class="printer-details" *ngIf="printerList">
|
|
137
|
+
<span class="printer-name" [textContent]="defaultPrinter"></span>
|
|
138
|
+
<span class="printer-status" [textContent]="defaultPrinter.acceptingJobs"></span>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
<co-icon class="select-printer-arrow" [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)"></co-icon>
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
|
|
145
|
+
<div class="standard-printer-wrapper">
|
|
146
|
+
<div class="standard-printer-link" (click)="showStandardPrinterOptions = !showStandardPrinterOptions">
|
|
147
|
+
<co-icon class="arrow-icon" [iconData]="iconCacheService.getIcon(icons.ArrowFatRight)"></co-icon>
|
|
148
|
+
<span class="standard-printer-message" [textContent]="'Standaard printer voor lay-out instellen'"></span>
|
|
149
|
+
</div>
|
|
150
|
+
|
|
151
|
+
<div class="standard-printer-selections" *ngIf="showStandardPrinterOptions">
|
|
152
|
+
<co-input-checkbox
|
|
153
|
+
[(model)]="models[0]"
|
|
154
|
+
[label]="'Per gebruiker instellen'"
|
|
155
|
+
[cssClass]="'input-checkbox-wrapper'"
|
|
156
|
+
></co-input-checkbox>
|
|
157
|
+
<co-input-checkbox
|
|
158
|
+
[(model)]="models[1]"
|
|
159
|
+
[label]="'Voor alle gebruikers instellen'"
|
|
160
|
+
[cssClass]="'input-checkbox-wrapper'"
|
|
161
|
+
></co-input-checkbox>
|
|
162
|
+
</div>
|
|
163
|
+
</div>
|
|
164
|
+
|
|
165
|
+
<div class="print-footer-wrapper">
|
|
166
|
+
<div class="input-number-wrapper">
|
|
167
|
+
<co-input-number-picker class="number-picker"
|
|
168
|
+
[step]="1" [(model)]="amountToPrint" [min]="1"
|
|
169
|
+
[ngModelOptions]="{debounce: 1}">
|
|
170
|
+
</co-input-number-picker>
|
|
171
|
+
</div>
|
|
172
|
+
<div class="custom-button-wrapper print-button" (click)="handlePrintClicked()">
|
|
173
|
+
<span [textContent]="'Print'"></span>
|
|
174
|
+
</div>
|
|
175
|
+
<div class="custom-button-wrapper signature-button" (click)="handleSignatureStart()">
|
|
176
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.SignatureField)"></co-icon>
|
|
177
|
+
</div>
|
|
178
|
+
</div>
|
|
179
|
+
</div>
|
|
180
|
+
</div>
|
|
181
|
+
|
|
182
|
+
<div class="printer-content-container" @slideInOut *ngIf="showPrinterSelections">
|
|
183
|
+
<div class="selected-printer-wrapper selection clickable" *ngFor="let printers of printerList" (click)="onPrinterClicked(printers)">
|
|
184
|
+
<div class="printer-option-list-item">
|
|
185
|
+
<co-icon class="printer-icon" [iconData]="iconCacheService.getIcon(icons.Print)"></co-icon>
|
|
186
|
+
<div class="printer-details">
|
|
187
|
+
<span class="printer-name" [textContent]="printers.name"></span>
|
|
188
|
+
<span class="printer-status" [textContent]="printers.acceptingJobs"></span>
|
|
189
|
+
</div>
|
|
190
|
+
</div>
|
|
191
|
+
<co-icon class="select-printer-arrow" *ngIf="!showPrinterSelections"
|
|
192
|
+
[iconData]="iconCacheService.getIcon(icons.ArrowPointRight)"></co-icon>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
196
|
+
</co-dialog-wizard>
|
|
197
|
+
</div>
|
|
198
|
+
`,
|
|
199
|
+
encapsulation: ViewEncapsulation.None,
|
|
200
|
+
animations: [
|
|
201
|
+
trigger('slideInOut', [
|
|
202
|
+
state('*', style({ transform: 'translateX(0%)', width: '100%', opacity: '1' })),
|
|
203
|
+
state('void', style({ transform: 'translateX(150%)', opacity: '0' })),
|
|
204
|
+
transition('void => *', animate(250))
|
|
205
|
+
])
|
|
206
|
+
]
|
|
207
|
+
},] }
|
|
208
|
+
];
|
|
209
|
+
SendMethodDialogComponent.ctorParameters = () => [
|
|
210
|
+
{ type: IconCacheService },
|
|
211
|
+
{ type: StockService }
|
|
212
|
+
];
|
|
213
|
+
SendMethodDialogComponent.propDecorators = {
|
|
214
|
+
showDialog: [{ type: Input }],
|
|
215
|
+
headerTitle: [{ type: Input }],
|
|
216
|
+
printerList: [{ type: Input }],
|
|
217
|
+
startSignatureClicked: [{ type: Output }],
|
|
218
|
+
printButtonClicked: [{ type: Output }],
|
|
219
|
+
showClass: [{ type: HostBinding, args: ["class.ione-send-method-dialog",] }]
|
|
220
|
+
};
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFL0UsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQXNJMUUsTUFBTSxPQUFPLHlCQUF5QjtJQWlEcEMsWUFDUyxnQkFBa0MsRUFDakMsYUFBMkI7UUFENUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQWxEckIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFDMUIsZUFBVSxHQUFzQixVQUFVLENBQUM7UUFFcEQsZ0JBQVcsR0FBMkM7WUFDM0QsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLEtBQUs7Z0JBQ3hCLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUM5QixFQUFFLE1BQU0s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RUFBRTt3QkFDcEIsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQzt3QkFDN0UsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7d0JBQ25FLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUN0QyxDQUFDO2lCQUNIO2FBQ0Y7OztZQXpJTyxnQkFBZ0I7WUFJaEIsWUFBWTs7O3lCQW9LakIsS0FBSzswQkFHTCxLQUFLOzBCQUdMLEtBQUs7b0NBR0wsTUFBTTtpQ0FHTixNQUFNO3dCQUdOLFdBQVcsU0FBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTZW5kT3B0aW9ufSBmcm9tIFwiLi9lbnVtcy9zZW5kLW9wdGlvblwiO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9yZXBvcnQvcHJpbnRlci5ib1wiO1xyXG5pbXBvcnQge1N0b2NrU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZVwiO1xyXG5pbXBvcnQge1ByaW50Sm9ifSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9yZXBvcnQvcHJpbnQtam9iXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJpb25lLXNlbmQtbWV0aG9kLWRpYWxvZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic2VuZC1tZXRob2QtZGlhbG9nLXdyYXBwZXJcIj5cclxuICAgICAgPGNvLWRpYWxvZy13aXphcmQgaWQ9XCJzZW5kT3B0aW9uc0RpYWxvZ1wiICpuZ0lmPVwic2hvd0RpYWxvZ1wiIFtzaG93Q2xvc2VJY29uXT1cInNob3dFeGl0QnV0dG9uXCIgKGNsb3NlQ2xpY2spPVwiY2xvc2VEaWFsb2dDbGljaygpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBoZWFkZXI+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiaGVhZGVyVGl0bGVcIj48L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQtY29udGFpbmVyXCIgKm5nSWY9XCIhc2hvd1ByaW50ZXJTZWxlY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZW5kLW9wdGlvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXdyYXBwZXJcIiAqbmdGb3I9XCJsZXQgc2VuZE9wdGlvbiBvZiBzZW5kT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtb3B0aW9uXT1cInNlbmRPcHRpb24ub3B0aW9uID09PSBhY3RpdmVTZW5kT3B0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RpdmVTZW5kT3B0aW9uID0gc2VuZE9wdGlvbi5vcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oc2VuZE9wdGlvbi5pY29uTmFtZSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlsLW9wdGlvbi1jb250ZW50XCIgKm5nSWY9XCJhY3RpdmVTZW5kT3B0aW9uID09PSBzZW5kT3B0aW9uLkVtYWlsIHx8IGFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uUGRmXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtYWlscy1jb250YWluZXJcIiAqbmdJZj1cImFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uRW1haWxcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZW1haWwsIGxldCBpbmRleCBvZiBlbWFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICBbbmFtZV09XCJlbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsc1tpbmRleF1cIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZW1haWxcIlxyXG4gICAgICAgICAgICAgICAgICBbY3NzQ2xhc3NdPVwiJ2lucHV0LWNoZWNrYm94LXdyYXBwZXInXCJcclxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jb21iby1ib3hcclxuICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VsZWN0ZWRMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJsYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgW2ZvcmNlUmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNvbWJvLWJveD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZ25hdHVyZS1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlciBzaWduYXR1cmUtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZVNpZ25hdHVyZVN0YXJ0KClcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TaWduYXR1cmVGaWVsZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWwtb3B0aW9uLWNvbnRlbnRcIiAqbmdJZj1cImFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uUHJpbnRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG92LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jb21iby1ib3hcclxuICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VsZWN0ZWRMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJsYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgW2ZvcmNlUmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNvbWJvLWJveD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvdi13cmFwcGVyIGNsaWNrYWJsZVwiIChjbGljayk9XCJ0b2dnbGVQcmludGVyU2VsZWN0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1wcmludGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItb3B0aW9uLWxpc3QtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwicHJpbnRlci1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QcmludClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItZGV0YWlsc1wiICpuZ0lmPVwicHJpbnRlckxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbnRlci1uYW1lXCIgW3RleHRDb250ZW50XT1cImRlZmF1bHRQcmludGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmludGVyLXN0YXR1c1wiIFt0ZXh0Q29udGVudF09XCJkZWZhdWx0UHJpbnRlci5hY2NlcHRpbmdKb2JzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJzZWxlY3QtcHJpbnRlci1hcnJvd1wiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci1saW5rXCIgKGNsaWNrKT1cInNob3dTdGFuZGFyZFByaW50ZXJPcHRpb25zID0gIXNob3dTdGFuZGFyZFByaW50ZXJPcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiYXJyb3ctaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dGYXRSaWdodClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci1tZXNzYWdlXCIgW3RleHRDb250ZW50XT1cIidTdGFuZGFhcmQgcHJpbnRlciB2b29yIGxheS1vdXQgaW5zdGVsbGVuJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGFuZGFyZC1wcmludGVyLXNlbGVjdGlvbnNcIiAqbmdJZj1cInNob3dTdGFuZGFyZFByaW50ZXJPcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsc1swXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidQZXIgZ2VicnVpa2VyIGluc3RlbGxlbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjc3NDbGFzc109XCInaW5wdXQtY2hlY2tib3gtd3JhcHBlcidcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWxzWzFdXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1Zvb3IgYWxsZSBnZWJydWlrZXJzIGluc3RlbGxlbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjc3NDbGFzc109XCInaW5wdXQtY2hlY2tib3gtd3JhcHBlcidcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnQtZm9vdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1udW1iZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtbnVtYmVyLXBpY2tlciBjbGFzcz1cIm51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RlcF09XCIxXCIgWyhtb2RlbCldPVwiYW1vdW50VG9QcmludFwiIFttaW5dPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7ZGVib3VuY2U6IDF9XCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28taW5wdXQtbnVtYmVyLXBpY2tlcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlciBwcmludC1idXR0b25cIiAoY2xpY2spPVwiaGFuZGxlUHJpbnRDbGlja2VkKClcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidQcmludCdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXdyYXBwZXIgc2lnbmF0dXJlLWJ1dHRvblwiIChjbGljayk9XCJoYW5kbGVTaWduYXR1cmVTdGFydCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuU2lnbmF0dXJlRmllbGQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItY29udGVudC1jb250YWluZXJcIiBAc2xpZGVJbk91dCAqbmdJZj1cInNob3dQcmludGVyU2VsZWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtcHJpbnRlci13cmFwcGVyIHNlbGVjdGlvbiBjbGlja2FibGVcIiAqbmdGb3I9XCJsZXQgcHJpbnRlcnMgb2YgcHJpbnRlckxpc3RcIiAoY2xpY2spPVwib25QcmludGVyQ2xpY2tlZChwcmludGVycylcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1vcHRpb24tbGlzdC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInByaW50ZXItaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUHJpbnQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItbmFtZVwiIFt0ZXh0Q29udGVudF09XCJwcmludGVycy5uYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItc3RhdHVzXCIgW3RleHRDb250ZW50XT1cInByaW50ZXJzLmFjY2VwdGluZ0pvYnNcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInNlbGVjdC1wcmludGVyLWFycm93XCIgKm5nSWY9XCIhc2hvd1ByaW50ZXJTZWxlY3Rpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRSaWdodClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvY28tZGlhbG9nLXdpemFyZD5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScsIHdpZHRoOiAnMTAwJScsIG9wYWNpdHk6ICcxJ30pKSxcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxNTAlKScsIG9wYWNpdHk6ICcwJ30pKSxcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgyNTApKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZERpYWxvZ0NvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgcHVibGljIHJlYWRvbmx5IHNlbmRPcHRpb246IHR5cGVvZiBTZW5kT3B0aW9uID0gU2VuZE9wdGlvbjtcclxuXHJcbiAgcHVibGljIHNlbmRPcHRpb25zOiB7b3B0aW9uOiBTZW5kT3B0aW9uLCBpY29uTmFtZTogSWNvbn1bXSA9IFtcclxuICAgIHsgb3B0aW9uOiBTZW5kT3B0aW9uLkVtYWlsLFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5FbWFpbCB9LFxyXG4gICAgeyBvcHRpb246IFNlbmRPcHRpb24uUHJpbnQsXHJcbiAgICAgIGljb25OYW1lOiB0aGlzLmljb25zLlByaW50IH0sXHJcbiAgICB7IG9wdGlvbjogU2VuZE9wdGlvbi5QZGYsXHJcbiAgICAgIGljb25OYW1lOiB0aGlzLmljb25zLlBkZiB9LFxyXG4gICAgeyBvcHRpb246IFNlbmRPcHRpb24uWG1sLFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5YbWwgfVxyXG4gIF1cclxuXHJcbiAgcHVibGljIGFjdGl2ZVNlbmRPcHRpb246IFNlbmRPcHRpb24gPSBTZW5kT3B0aW9uLkVtYWlsO1xyXG4gIHB1YmxpYyBhbW91bnRUb1ByaW50OiBudW1iZXIgPSAxO1xyXG4gIHB1YmxpYyBzaG93U3RhbmRhcmRQcmludGVyT3B0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93UHJpbnRlclNlbGVjdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0V4aXRCdXR0b24gPSB0cnVlO1xyXG4gIHB1YmxpYyBkZWZhdWx0UHJpbnRlcjogUHJpbnRlcjtcclxuICBwdWJsaWMgcHJpbnRMYXlvdXRzOiBhbnk7XHJcblxyXG4gIHB1YmxpYyBlbWFpbHM6IGFueVtdID0gWydsYXJzLnZkdkBjb2xpam4taXQubmwnLCAnZGF2aWRAY29saWpuLWl0Lm5sJywgJ3J1YmVuQGNvbGlqbi1pdC5ubCddO1xyXG4gIHB1YmxpYyBtb2RlbHM6IGJvb2xlYW5bXSA9IFtmYWxzZSwgZmFsc2UsIHRydWVdO1xyXG5cclxuICBwdWJsaWMgbGF5b3V0czogYW55W10gPSBbJ0xheW91dCAxJywgJ0xheW91dCAyJywgJ0xheW91dCAzJ107XHJcbiAgcHVibGljIHNlbGVjdGVkTGF5b3V0OiAnTGF5b3V0IDEnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93RGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlclRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaW50ZXJMaXN0OiBQcmludGVyW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzdGFydFNpZ25hdHVyZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBwcmludEJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmlvbmUtc2VuZC1tZXRob2QtZGlhbG9nXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFByaW50ZXJzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0b2NrU2VydmljZS5nZXRBbGxQcmludGVycyh0cnVlKS50aGVuKChsaXN0KSA9PiB7XHJcbiAgICAgIHRoaXMucHJpbnRlckxpc3QgPSBsaXN0O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VEaWFsb2dDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0RpYWxvZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNpZ25hdHVyZVN0YXJ0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGFydFNpZ25hdHVyZUNsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVByaW50Q2xpY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMucHJpbnRCdXR0b25DbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVQcmludGVyU2VsZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRQcmludGVycygpO1xyXG4gICAgaWYgKCF0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucykge1xyXG4gICAgICB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucyA9IHRydWU7XHJcbiAgICAgIHRoaXMuaGVhZGVyVGl0bGUgPSAnUHJpbnRlciBzZWxlY3RpZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmhlYWRlclRpdGxlID0gJ1ZlcnplbmRvcHRpZXMnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRMYXlvdXRzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcHJpbnRKb2I6IFByaW50Sm9iID0gbmV3IFByaW50Sm9iKCk7XHJcbiAgICAvLyB0aGlzLnByaW50TGF5b3V0cyA9IHRoaXMuX3N0b2NrU2VydmljZS5nZXRQcmludFRlbXBsYXRlcyhwcmludEpvYik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25QcmludGVyQ2xpY2tlZChwcmludGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlZmF1bHRQcmludGVyID0gcHJpbnRlci5uYW1lO1xyXG4gICAgdGhpcy5zaG93UHJpbnRlclNlbGVjdGlvbnMgPSEgdGhpcy5zaG93UHJpbnRlclNlbGVjdGlvbnM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ButtonModule, CoDialogPromptModule, CoDialogWizardModule, IconModule, InputCheckboxModule, InputComboBoxModule, InputNumberPickerModule } from "@colijnit/corecomponents_v12";
|
|
4
|
+
import { SendMethodDialogComponent } from "./send-method-dialog.component";
|
|
5
|
+
export class SendMethodDialogModule {
|
|
6
|
+
}
|
|
7
|
+
SendMethodDialogModule.decorators = [
|
|
8
|
+
{ type: NgModule, args: [{
|
|
9
|
+
declarations: [
|
|
10
|
+
SendMethodDialogComponent
|
|
11
|
+
],
|
|
12
|
+
imports: [
|
|
13
|
+
CommonModule,
|
|
14
|
+
CoDialogPromptModule,
|
|
15
|
+
InputCheckboxModule,
|
|
16
|
+
InputComboBoxModule,
|
|
17
|
+
IconModule,
|
|
18
|
+
InputNumberPickerModule,
|
|
19
|
+
CoDialogWizardModule,
|
|
20
|
+
ButtonModule
|
|
21
|
+
],
|
|
22
|
+
exports: [
|
|
23
|
+
SendMethodDialogComponent
|
|
24
|
+
]
|
|
25
|
+
},] }
|
|
26
|
+
];
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxZQUFZLEVBQ1osb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUN0RCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQzdDLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFvQnpFLE1BQU0sT0FBTyxzQkFBc0I7OztZQWxCbEMsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWix5QkFBeUI7aUJBQzFCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLG9CQUFvQjtvQkFDcEIsbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLFVBQVU7b0JBQ1YsdUJBQXVCO29CQUN2QixvQkFBb0I7b0JBQ3BCLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHlCQUF5QjtpQkFDMUI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQnV0dG9uTW9kdWxlLFxyXG4gIENvRGlhbG9nUHJvbXB0TW9kdWxlLCBDb0RpYWxvZ1dpemFyZE1vZHVsZSwgSWNvbk1vZHVsZSxcclxuICBJbnB1dENoZWNrYm94TW9kdWxlLFxyXG4gIElucHV0Q29tYm9Cb3hNb2R1bGUsIElucHV0TnVtYmVyUGlja2VyTW9kdWxlXHJcbn0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtTZW5kTWV0aG9kRGlhbG9nQ29tcG9uZW50fSBmcm9tIFwiLi9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2VuZE1ldGhvZERpYWxvZ0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dQcm9tcHRNb2R1bGUsXHJcbiAgICBJbnB1dENoZWNrYm94TW9kdWxlLFxyXG4gICAgSW5wdXRDb21ib0JveE1vZHVsZSxcclxuICAgIEljb25Nb2R1bGUsXHJcbiAgICBJbnB1dE51bWJlclBpY2tlck1vZHVsZSxcclxuICAgIENvRGlhbG9nV2l6YXJkTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZW5kTWV0aG9kRGlhbG9nQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZERpYWxvZ01vZHVsZSB7IH1cclxuIl19
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
export class StockInformationComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.stockStatus = "medium";
|
|
5
|
+
this.show = false;
|
|
6
|
+
this.hideOrShowLocationTab = false;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
StockInformationComponent.decorators = [
|
|
10
|
+
{ type: Component, args: [{
|
|
11
|
+
selector: "co-stock-information",
|
|
12
|
+
template: `
|
|
13
|
+
<div class="stock-info" *ngIf="article">
|
|
14
|
+
<div class="stock-info-row" >
|
|
15
|
+
<div class="stock-info-row-image">
|
|
16
|
+
<div class="stock-image">
|
|
17
|
+
<co-image class="stock-image" [source]="article.imageData"></co-image>
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="stock-good-info">
|
|
21
|
+
<div>
|
|
22
|
+
<span [textContent]="article.description"></span>
|
|
23
|
+
</div>
|
|
24
|
+
<div>
|
|
25
|
+
<span [textContent]="article.articleNumber"></span>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="stock-status">
|
|
30
|
+
<label [textContent]="'STOCK_STATUS'"></label>
|
|
31
|
+
<span [textContent]="article.stockStatus"></span>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="stock-status">
|
|
34
|
+
<label [textContent]="'AMOUNT_IN_STOCK'"></label>
|
|
35
|
+
<span [textContent]="article.stockAvailable"></span>
|
|
36
|
+
</div>
|
|
37
|
+
<div class="stock-status">
|
|
38
|
+
<label [textContent]="'AMOUNT_AVAILABLE'"></label>
|
|
39
|
+
<span [textContent]=""></span>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="stock-status">
|
|
42
|
+
<label [textContent]="'AMOUNT_LATER_AVAILABLE'"></label>
|
|
43
|
+
<span [textContent]=""></span>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
`,
|
|
47
|
+
encapsulation: ViewEncapsulation.None
|
|
48
|
+
},] }
|
|
49
|
+
];
|
|
50
|
+
StockInformationComponent.ctorParameters = () => [];
|
|
51
|
+
StockInformationComponent.propDecorators = {
|
|
52
|
+
article: [{ type: Input }],
|
|
53
|
+
articleStock: [{ type: Input }]
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2staW5mb3JtYXRpb24vc3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBMkNsRSxNQUFNLE9BQU8seUJBQXlCO0lBYXBDO1FBWE8sZ0JBQVcsR0FBVyxRQUFRLENBQUM7UUFFL0IsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QiwwQkFBcUIsR0FBWSxLQUFLLENBQUM7SUFVOUMsQ0FBQzs7O1lBdERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7Ozs7c0JBUUUsS0FBSzsyQkFHTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2tCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9jay1pbmZvcm1hdGlvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1pbmZvXCIgKm5nSWY9XCJhcnRpY2xlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm8tcm93XCIgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm8tcm93LWltYWdlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1pbWFnZVwiPlxyXG4gICAgICAgICAgICAgIDxjby1pbWFnZSBjbGFzcz1cInN0b2NrLWltYWdlXCIgW3NvdXJjZV09XCJhcnRpY2xlLmltYWdlRGF0YVwiPjwvY28taW1hZ2U+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stZ29vZC1pbmZvXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFydGljbGUuZGVzY3JpcHRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlLmFydGljbGVOdW1iZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXN0YXR1c1wiPlxyXG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInU1RPQ0tfU1RBVFVTJ1wiPjwvbGFiZWw+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiYXJ0aWNsZS5zdG9ja1N0YXR1c1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stc3RhdHVzXCI+XHJcbiAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidBTU9VTlRfSU5fU1RPQ0snXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlLnN0b2NrQXZhaWxhYmxlXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1zdGF0dXNcIj5cclxuICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVF9BVkFJTEFCTEUnXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXN0YXR1c1wiPlxyXG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInQU1PVU5UX0xBVEVSX0FWQUlMQUJMRSdcIj48L2xhYmVsPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIlwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja0luZm9ybWF0aW9uQ29tcG9uZW50IHtcclxuXHJcbiAgcHVibGljIHN0b2NrU3RhdHVzOiBzdHJpbmcgPSBcIm1lZGl1bVwiO1xyXG4gIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGhpZGVPclNob3dMb2NhdGlvblRhYjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVTdG9jazogQXJ0aWNsZVN0b2NrQm87XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkge1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|