@colijnit/sharedcomponents 1.0.11 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +1946 -53
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.d.ts +8 -0
  4. package/colijnit-sharedcomponents.metadata.json +1 -1
  5. package/esm2015/colijnit-sharedcomponents.js +9 -1
  6. package/esm2015/lib/components/docsign/docsign.component.js +5 -7
  7. package/esm2015/lib/components/send-method-dialog/enums/send-option.js +8 -0
  8. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +228 -0
  9. package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +27 -0
  10. package/esm2015/lib/components/stock/stock-information/stock-information.component.js +54 -0
  11. package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +339 -0
  12. package/esm2015/lib/components/stock/stock-location/stock-location.component.js +62 -0
  13. package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +2 -0
  14. package/esm2015/lib/components/stock/stock-transfer/stock-change-amount.component.js +68 -0
  15. package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +130 -0
  16. package/esm2015/lib/components/stock/stock.component.js +112 -0
  17. package/esm2015/lib/components/stock/stock.module.js +50 -0
  18. package/esm2015/lib/enum/icon.enum.js +23 -0
  19. package/esm2015/lib/factory/business-object-factory.js +120 -0
  20. package/esm2015/lib/factory/decorators/boolean.decorator.js +102 -0
  21. package/esm2015/lib/factory/decorators/complex-array.decorator.js +55 -0
  22. package/esm2015/lib/factory/decorators/complex-field.decorator.js +57 -0
  23. package/esm2015/lib/factory/decorators/date-field.decorator.js +36 -0
  24. package/esm2015/lib/factory/decorators/string-number.decorator.js +43 -0
  25. package/esm2015/lib/model/business-object.js +81 -0
  26. package/esm2015/lib/model/icon-svg.js +22 -0
  27. package/esm2015/lib/service/icon-cache.service.js +51 -0
  28. package/esm2015/lib/service/ione-connector-adapter.service.js +251 -0
  29. package/esm2015/lib/service/stock.service.js +79 -0
  30. package/esm2015/lib/utils/array-utils.js +183 -0
  31. package/esm2015/lib/utils/is-nill.function.js +5 -0
  32. package/esm2015/public-api.js +5 -1
  33. package/fesm2015/colijnit-sharedcomponents.js +2127 -8
  34. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  35. package/lib/components/send-method-dialog/enums/send-option.d.ts +6 -0
  36. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +45 -0
  37. package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +2 -0
  38. package/lib/components/send-method-dialog/style/_layout.scss +192 -0
  39. package/lib/components/send-method-dialog/style/_material-definition.scss +1 -0
  40. package/lib/components/send-method-dialog/style/_theme.scss +7 -0
  41. package/lib/components/send-method-dialog/style/material.scss +4 -0
  42. package/lib/components/stock/stock-information/stock-information.component.d.ts +10 -0
  43. package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +60 -0
  44. package/lib/components/stock/stock-location/stock-location.component.d.ts +15 -0
  45. package/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts +4 -0
  46. package/lib/components/stock/stock-transfer/stock-change-amount.component.d.ts +18 -0
  47. package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +36 -0
  48. package/lib/components/stock/stock.component.d.ts +34 -0
  49. package/lib/components/stock/stock.module.d.ts +2 -0
  50. package/lib/components/stock/style/_layout.scss +180 -0
  51. package/lib/components/stock/style/_material-definition.scss +20 -0
  52. package/lib/components/stock/style/_theme.scss +8 -0
  53. package/lib/components/stock/style/material.scss +4 -0
  54. package/lib/enum/icon.enum.d.ts +21 -0
  55. package/lib/factory/business-object-factory.d.ts +23 -0
  56. package/lib/factory/decorators/boolean.decorator.d.ts +43 -0
  57. package/lib/factory/decorators/complex-array.decorator.d.ts +25 -0
  58. package/lib/factory/decorators/complex-field.decorator.d.ts +25 -0
  59. package/lib/factory/decorators/date-field.decorator.d.ts +17 -0
  60. package/lib/factory/decorators/string-number.decorator.d.ts +22 -0
  61. package/lib/model/business-object.d.ts +7 -0
  62. package/lib/model/icon-svg.d.ts +4 -0
  63. package/lib/service/icon-cache.service.d.ts +18 -0
  64. package/lib/service/ione-connector-adapter.service.d.ts +39 -0
  65. package/lib/service/stock.service.d.ts +32 -0
  66. package/lib/utils/array-utils.d.ts +57 -0
  67. package/lib/utils/is-nill.function.d.ts +1 -0
  68. package/package.json +5 -10
  69. package/public-api.d.ts +4 -0
@@ -0,0 +1,228 @@
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 { StockStickersPrintLayoutsBo } from "@colijnit/sharedapi/build/model/report/stock-stickers-print-layouts.bo";
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.printTemplatesField = { text: "name", value: "name" };
31
+ this.emails = ['lars.vdv@colijn-it.nl', 'david@colijn-it.nl', 'ruben@colijn-it.nl'];
32
+ this.models = [false, false, true];
33
+ this.layouts = ['Layout 1', 'Layout 2', 'Layout 3'];
34
+ this.showDialog = false;
35
+ this.startSignatureClicked = new EventEmitter();
36
+ this.printButtonClicked = new EventEmitter();
37
+ }
38
+ showClass() {
39
+ return true;
40
+ }
41
+ ngAfterViewInit() {
42
+ this.getPrintTemplates();
43
+ }
44
+ getPrinters() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ return this._stockService.getAllPrinters(true).then((list) => {
47
+ this.printerList = list;
48
+ });
49
+ });
50
+ }
51
+ closeDialogClick() {
52
+ this.showDialog = false;
53
+ }
54
+ handleSignatureStart() {
55
+ this.startSignatureClicked.emit();
56
+ }
57
+ handlePrintClicked() {
58
+ this.printButtonClicked.emit();
59
+ }
60
+ togglePrinterSelection() {
61
+ this.getPrinters();
62
+ if (!this.showPrinterSelections) {
63
+ this.showPrinterSelections = true;
64
+ this.headerTitle = 'Printer selectie';
65
+ }
66
+ else {
67
+ this.showPrinterSelections = false;
68
+ this.headerTitle = 'Verzendopties';
69
+ }
70
+ }
71
+ onPrinterClicked(printer) {
72
+ this.defaultPrinter = printer.name;
73
+ this.showPrinterSelections = !this.showPrinterSelections;
74
+ }
75
+ getPrintTemplates() {
76
+ const data = new StockStickersPrintLayoutsBo();
77
+ this._stockService.getStockStickerTemplates(data).then((templates) => {
78
+ this.printTemplates = templates;
79
+ });
80
+ }
81
+ }
82
+ SendMethodDialogComponent.decorators = [
83
+ { type: Component, args: [{
84
+ selector: "ione-send-method-dialog",
85
+ template: `
86
+ <div class="send-method-dialog-wrapper">
87
+ <co-dialog-wizard id="sendOptionsDialog" *ngIf="showDialog" [showCloseIcon]="showExitButton" (closeClick)="closeDialogClick()">
88
+ <ng-container header>
89
+ <span [textContent]="headerTitle"></span>
90
+ </ng-container>
91
+ <div class="dialog-content-wrapper">
92
+ <div class="main-content-container" *ngIf="!showPrinterSelections">
93
+ <div class="send-options-wrapper">
94
+ <div class="custom-button-wrapper" *ngFor="let sendOption of sendOptions"
95
+ [class.selected-option]="sendOption.option === activeSendOption"
96
+ (click)="activeSendOption = sendOption.option">
97
+ <co-icon [iconData]="iconCacheService.getIcon(sendOption.iconName)"></co-icon>
98
+ </div>
99
+ </div>
100
+
101
+ <div class="email-option-content" *ngIf="activeSendOption === sendOption.Email || activeSendOption === sendOption.Pdf">
102
+ <div class="emails-container" *ngIf="activeSendOption === sendOption.Email">
103
+ <co-input-checkbox
104
+ *ngFor="let email, let index of emails"
105
+ [name]="email"
106
+ [(model)]="models[index]"
107
+ [label]="email"
108
+ [cssClass]="'input-checkbox-wrapper'"
109
+ ></co-input-checkbox>
110
+ </div>
111
+
112
+ <div class="lov-wrapper">
113
+ <co-input-combo-box
114
+ [(model)]="selectedLayout"
115
+ [collection]="layouts"
116
+ [forceReadonly]="true"
117
+ placeholder="Layout"
118
+ ></co-input-combo-box>
119
+ </div>
120
+
121
+ <div class="signature-button-wrapper">
122
+ <div class="custom-button-wrapper signature-button" (click)="handleSignatureStart()">
123
+ <co-icon [iconData]="iconCacheService.getIcon(icons.SignatureField)"></co-icon>
124
+ </div>
125
+ </div>
126
+ </div>
127
+
128
+ <div class="email-option-content" *ngIf="activeSendOption === sendOption.Print">
129
+ <div class="lov-wrapper">
130
+ <co-input-combo-box
131
+ [(model)]="selectedLayout"
132
+ [collection]="printTemplates"
133
+ [fields]="printTemplatesField"
134
+ [forceReadonly]="true"
135
+ placeholder="Layout"
136
+ ></co-input-combo-box>
137
+ </div>
138
+
139
+ <div class="lov-wrapper clickable" (click)="togglePrinterSelection()">
140
+ <div class="selected-printer-wrapper">
141
+ <div class="printer-option-list-item">
142
+ <co-icon class="printer-icon" [iconData]="iconCacheService.getIcon(icons.Print)"></co-icon>
143
+ <div class="printer-details" *ngIf="printerList">
144
+ <span class="printer-name" [textContent]="defaultPrinter"></span>
145
+ <span class="printer-status" [textContent]="defaultPrinter.acceptingJobs"></span>
146
+ </div>
147
+ </div>
148
+ <co-icon class="select-printer-arrow" [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)"></co-icon>
149
+ </div>
150
+ </div>
151
+
152
+ <div class="standard-printer-wrapper">
153
+ <div class="standard-printer-link" (click)="showStandardPrinterOptions = !showStandardPrinterOptions">
154
+ <co-icon class="arrow-icon" [iconData]="iconCacheService.getIcon(icons.ArrowFatRight)"></co-icon>
155
+ <span class="standard-printer-message" [textContent]="'Standaard printer voor lay-out instellen'"></span>
156
+ </div>
157
+
158
+ <div class="standard-printer-selections" *ngIf="showStandardPrinterOptions">
159
+ <co-input-checkbox
160
+ [(model)]="models[0]"
161
+ [label]="'Per gebruiker instellen'"
162
+ [cssClass]="'input-checkbox-wrapper'"
163
+ ></co-input-checkbox>
164
+ <co-input-checkbox
165
+ [(model)]="models[1]"
166
+ [label]="'Voor alle gebruikers instellen'"
167
+ [cssClass]="'input-checkbox-wrapper'"
168
+ ></co-input-checkbox>
169
+ </div>
170
+ </div>
171
+
172
+ <div class="print-footer-wrapper">
173
+ <div class="input-number-wrapper">
174
+ <co-input-number-picker class="number-picker"
175
+ [step]="1" [(model)]="amountToPrint" [min]="1"
176
+ [ngModelOptions]="{debounce: 1}">
177
+ </co-input-number-picker>
178
+ </div>
179
+ <div class="custom-button-wrapper print-button" (click)="handlePrintClicked()">
180
+ <span [textContent]="'Print'"></span>
181
+ </div>
182
+ <div class="custom-button-wrapper signature-button" (click)="handleSignatureStart()">
183
+ <co-icon [iconData]="iconCacheService.getIcon(icons.SignatureField)"></co-icon>
184
+ </div>
185
+ </div>
186
+ </div>
187
+ </div>
188
+
189
+ <div class="printer-content-container" @slideInOut *ngIf="showPrinterSelections">
190
+ <div class="selected-printer-wrapper selection clickable" *ngFor="let printers of printerList" (click)="onPrinterClicked(printers)">
191
+ <div class="printer-option-list-item">
192
+ <co-icon class="printer-icon" [iconData]="iconCacheService.getIcon(icons.Print)"></co-icon>
193
+ <div class="printer-details">
194
+ <span class="printer-name" [textContent]="printers.name"></span>
195
+ <span class="printer-status" [textContent]="printers.acceptingJobs"></span>
196
+ </div>
197
+ </div>
198
+ <co-icon class="select-printer-arrow" *ngIf="!showPrinterSelections"
199
+ [iconData]="iconCacheService.getIcon(icons.ArrowPointRight)"></co-icon>
200
+ </div>
201
+ </div>
202
+ </div>
203
+ </co-dialog-wizard>
204
+ </div>
205
+ `,
206
+ encapsulation: ViewEncapsulation.None,
207
+ animations: [
208
+ trigger('slideInOut', [
209
+ state('*', style({ transform: 'translateX(0%)', width: '100%', opacity: '1' })),
210
+ state('void', style({ transform: 'translateX(150%)', opacity: '0' })),
211
+ transition('void => *', animate(250))
212
+ ])
213
+ ]
214
+ },] }
215
+ ];
216
+ SendMethodDialogComponent.ctorParameters = () => [
217
+ { type: IconCacheService },
218
+ { type: StockService }
219
+ ];
220
+ SendMethodDialogComponent.propDecorators = {
221
+ showDialog: [{ type: Input }],
222
+ headerTitle: [{ type: Input }],
223
+ printerList: [{ type: Input }],
224
+ startSignatureClicked: [{ type: Output }],
225
+ printButtonClicked: [{ type: Output }],
226
+ showClass: [{ type: HostBinding, args: ["class.ione-send-method-dialog",] }]
227
+ };
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUd6RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx3RUFBd0UsQ0FBQztBQXdJbkgsTUFBTSxPQUFPLHlCQUF5QjtJQWtEcEMsWUFDUyxnQkFBa0MsRUFDakMsYUFBMkI7UUFENUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQW5EckIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFDMUIsZUFBVSxHQUFzQixVQUFVLENBQUM7UUFFcEQsZ0JBQVcsR0FBMkM7WUFDM0QsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLEtBQUs7Z0JBQ3hCLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUM5QixFQUFFLE1B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QUM7OztZQXZPRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3SFQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLFVBQVUsRUFBRTtvQkFDVixPQUFPLENBQUMsWUFBWSxFQUFFO3dCQUNwQixLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO3dCQUM3RSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQzt3QkFDbkUsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ3RDLENBQUM7aUJBQ0g7YUFDRjs7O1lBN0lPLGdCQUFnQjtZQUloQixZQUFZOzs7eUJBeUtqQixLQUFLOzBCQUdMLEtBQUs7MEJBR0wsS0FBSztvQ0FHTCxNQUFNO2lDQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1NlbmRPcHRpb259IGZyb20gXCIuL2VudW1zL3NlbmQtb3B0aW9uXCI7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3JlcG9ydC9wcmludGVyLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UHJpbnRKb2J9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3JlcG9ydC9wcmludC1qb2JcIjtcclxuaW1wb3J0IHtTdG9ja1N0YXR1c30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLXN0YXR1cy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrU3RpY2tlcnNQcmludExheW91dHNCb30gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcmVwb3J0L3N0b2NrLXN0aWNrZXJzLXByaW50LWxheW91dHMuYm9cIjtcclxuaW1wb3J0IHtDb0Ryb3BEb3duTGlzdEZpZWxkc30gZnJvbSBcIi4uL3N0b2NrL3N0b2NrLXRyYW5zZmVyL2NvLWRyb3AtZG93bi1saXN0LWZpZWxkcy5pbnRlcmZhY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImlvbmUtc2VuZC1tZXRob2QtZGlhbG9nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJzZW5kLW1ldGhvZC1kaWFsb2ctd3JhcHBlclwiPlxyXG4gICAgICA8Y28tZGlhbG9nLXdpemFyZCBpZD1cInNlbmRPcHRpb25zRGlhbG9nXCIgKm5nSWY9XCJzaG93RGlhbG9nXCIgW3Nob3dDbG9zZUljb25dPVwic2hvd0V4aXRCdXR0b25cIiAoY2xvc2VDbGljayk9XCJjbG9zZURpYWxvZ0NsaWNrKClcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyIGhlYWRlcj5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJoZWFkZXJUaXRsZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudC1jb250YWluZXJcIiAqbmdJZj1cIiFzaG93UHJpbnRlclNlbGVjdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbmQtb3B0aW9ucy13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlclwiICpuZ0Zvcj1cImxldCBzZW5kT3B0aW9uIG9mIHNlbmRPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1vcHRpb25dPVwic2VuZE9wdGlvbi5vcHRpb24gPT09IGFjdGl2ZVNlbmRPcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2ZVNlbmRPcHRpb24gPSBzZW5kT3B0aW9uLm9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihzZW5kT3B0aW9uLmljb25OYW1lKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWwtb3B0aW9uLWNvbnRlbnRcIiAqbmdJZj1cImFjdGl2ZVNlbmRPcHRpb24gPT09IHNlbmRPcHRpb24uRW1haWwgfHwgYWN0aXZlU2VuZE9wdGlvbiA9PT0gc2VuZE9wdGlvbi5QZGZcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWxzLWNvbnRhaW5lclwiICpuZ0lmPVwiYWN0aXZlU2VuZE9wdGlvbiA9PT0gc2VuZE9wdGlvbi5FbWFpbFwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlbWFpbCwgbGV0IGluZGV4IG9mIGVtYWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImVtYWlsXCJcclxuICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWxzW2luZGV4XVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJlbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjc3NDbGFzc109XCInaW5wdXQtY2hlY2tib3gtd3JhcHBlcidcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveFxyXG4gICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWxlY3RlZExheW91dFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImxheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9yY2VSZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJMYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28taW5wdXQtY29tYm8tYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lnbmF0dXJlLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi13cmFwcGVyIHNpZ25hdHVyZS1idXR0b25cIiAoY2xpY2spPVwiaGFuZGxlU2lnbmF0dXJlU3RhcnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNpZ25hdHVyZUZpZWxkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbWFpbC1vcHRpb24tY29udGVudFwiICpuZ0lmPVwiYWN0aXZlU2VuZE9wdGlvbiA9PT0gc2VuZE9wdGlvbi5QcmludFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb3Ytd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LWNvbWJvLWJveFxyXG4gICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWxlY3RlZExheW91dFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInByaW50VGVtcGxhdGVzXCJcclxuICAgICAgICAgICAgICAgICAgW2ZpZWxkc109XCJwcmludFRlbXBsYXRlc0ZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgW2ZvcmNlUmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNvbWJvLWJveD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvdi13cmFwcGVyIGNsaWNrYWJsZVwiIChjbGljayk9XCJ0b2dnbGVQcmludGVyU2VsZWN0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1wcmludGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItb3B0aW9uLWxpc3QtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwicHJpbnRlci1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QcmludClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItZGV0YWlsc1wiICpuZ0lmPVwicHJpbnRlckxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbnRlci1uYW1lXCIgW3RleHRDb250ZW50XT1cImRlZmF1bHRQcmludGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmludGVyLXN0YXR1c1wiIFt0ZXh0Q29udGVudF09XCJkZWZhdWx0UHJpbnRlci5hY2NlcHRpbmdKb2JzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJzZWxlY3QtcHJpbnRlci1hcnJvd1wiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludFJpZ2h0KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci1saW5rXCIgKGNsaWNrKT1cInNob3dTdGFuZGFyZFByaW50ZXJPcHRpb25zID0gIXNob3dTdGFuZGFyZFByaW50ZXJPcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiYXJyb3ctaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dGYXRSaWdodClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RhbmRhcmQtcHJpbnRlci1tZXNzYWdlXCIgW3RleHRDb250ZW50XT1cIidTdGFuZGFhcmQgcHJpbnRlciB2b29yIGxheS1vdXQgaW5zdGVsbGVuJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGFuZGFyZC1wcmludGVyLXNlbGVjdGlvbnNcIiAqbmdJZj1cInNob3dTdGFuZGFyZFByaW50ZXJPcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsc1swXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidQZXIgZ2VicnVpa2VyIGluc3RlbGxlbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjc3NDbGFzc109XCInaW5wdXQtY2hlY2tib3gtd3JhcHBlcidcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwibW9kZWxzWzFdXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1Zvb3IgYWxsZSBnZWJydWlrZXJzIGluc3RlbGxlbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjc3NDbGFzc109XCInaW5wdXQtY2hlY2tib3gtd3JhcHBlcidcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnQtZm9vdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1udW1iZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtbnVtYmVyLXBpY2tlciBjbGFzcz1cIm51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RlcF09XCIxXCIgWyhtb2RlbCldPVwiYW1vdW50VG9QcmludFwiIFttaW5dPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7ZGVib3VuY2U6IDF9XCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28taW5wdXQtbnVtYmVyLXBpY2tlcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1idXR0b24td3JhcHBlciBwcmludC1idXR0b25cIiAoY2xpY2spPVwiaGFuZGxlUHJpbnRDbGlja2VkKClcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidQcmludCdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXdyYXBwZXIgc2lnbmF0dXJlLWJ1dHRvblwiIChjbGljayk9XCJoYW5kbGVTaWduYXR1cmVTdGFydCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuU2lnbmF0dXJlRmllbGQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItY29udGVudC1jb250YWluZXJcIiBAc2xpZGVJbk91dCAqbmdJZj1cInNob3dQcmludGVyU2VsZWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtcHJpbnRlci13cmFwcGVyIHNlbGVjdGlvbiBjbGlja2FibGVcIiAqbmdGb3I9XCJsZXQgcHJpbnRlcnMgb2YgcHJpbnRlckxpc3RcIiAoY2xpY2spPVwib25QcmludGVyQ2xpY2tlZChwcmludGVycylcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1vcHRpb24tbGlzdC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInByaW50ZXItaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUHJpbnQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItbmFtZVwiIFt0ZXh0Q29udGVudF09XCJwcmludGVycy5uYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItc3RhdHVzXCIgW3RleHRDb250ZW50XT1cInByaW50ZXJzLmFjY2VwdGluZ0pvYnNcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInNlbGVjdC1wcmludGVyLWFycm93XCIgKm5nSWY9XCIhc2hvd1ByaW50ZXJTZWxlY3Rpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRSaWdodClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvY28tZGlhbG9nLXdpemFyZD5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScsIHdpZHRoOiAnMTAwJScsIG9wYWNpdHk6ICcxJ30pKSxcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxNTAlKScsIG9wYWNpdHk6ICcwJ30pKSxcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgyNTApKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBzZW5kT3B0aW9uOiB0eXBlb2YgU2VuZE9wdGlvbiA9IFNlbmRPcHRpb247XHJcblxyXG4gIHB1YmxpYyBzZW5kT3B0aW9uczoge29wdGlvbjogU2VuZE9wdGlvbiwgaWNvbk5hbWU6IEljb259W10gPSBbXHJcbiAgICB7IG9wdGlvbjogU2VuZE9wdGlvbi5FbWFpbCxcclxuICAgICAgaWNvbk5hbWU6IHRoaXMuaWNvbnMuRW1haWwgfSxcclxuICAgIHsgb3B0aW9uOiBTZW5kT3B0aW9uLlByaW50LFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5QcmludCB9LFxyXG4gICAgeyBvcHRpb246IFNlbmRPcHRpb24uUGRmLFxyXG4gICAgICBpY29uTmFtZTogdGhpcy5pY29ucy5QZGYgfSxcclxuICAgIHsgb3B0aW9uOiBTZW5kT3B0aW9uLlhtbCxcclxuICAgICAgaWNvbk5hbWU6IHRoaXMuaWNvbnMuWG1sIH1cclxuICBdXHJcblxyXG4gIHB1YmxpYyBhY3RpdmVTZW5kT3B0aW9uOiBTZW5kT3B0aW9uID0gU2VuZE9wdGlvbi5FbWFpbDtcclxuICBwdWJsaWMgYW1vdW50VG9QcmludDogbnVtYmVyID0gMTtcclxuICBwdWJsaWMgc2hvd1N0YW5kYXJkUHJpbnRlck9wdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1ByaW50ZXJTZWxlY3Rpb25zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dFeGl0QnV0dG9uID0gdHJ1ZTtcclxuICBwdWJsaWMgZGVmYXVsdFByaW50ZXI6IFByaW50ZXI7XHJcbiAgcHVibGljIHByaW50VGVtcGxhdGVzOiBTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzQm9bXTtcclxuICBwdWJsaWMgcHJpbnRUZW1wbGF0ZXNGaWVsZDogQ29Ecm9wRG93bkxpc3RGaWVsZHMgPSB7dGV4dDogXCJuYW1lXCIsIHZhbHVlOiBcIm5hbWVcIn07XHJcblxyXG4gIHB1YmxpYyBlbWFpbHM6IGFueVtdID0gWydsYXJzLnZkdkBjb2xpam4taXQubmwnLCAnZGF2aWRAY29saWpuLWl0Lm5sJywgJ3J1YmVuQGNvbGlqbi1pdC5ubCddO1xyXG4gIHB1YmxpYyBtb2RlbHM6IGJvb2xlYW5bXSA9IFtmYWxzZSwgZmFsc2UsIHRydWVdO1xyXG5cclxuICBwdWJsaWMgbGF5b3V0czogYW55W10gPSBbJ0xheW91dCAxJywgJ0xheW91dCAyJywgJ0xheW91dCAzJ107XHJcbiAgcHVibGljIHNlbGVjdGVkTGF5b3V0OiAnTGF5b3V0IDEnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93RGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlclRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaW50ZXJMaXN0OiBQcmludGVyW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzdGFydFNpZ25hdHVyZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBwcmludEJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmlvbmUtc2VuZC1tZXRob2QtZGlhbG9nXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRQcmludFRlbXBsYXRlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFByaW50ZXJzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0b2NrU2VydmljZS5nZXRBbGxQcmludGVycyh0cnVlKS50aGVuKChsaXN0KSA9PiB7XHJcbiAgICAgIHRoaXMucHJpbnRlckxpc3QgPSBsaXN0O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VEaWFsb2dDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0RpYWxvZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNpZ25hdHVyZVN0YXJ0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGFydFNpZ25hdHVyZUNsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVByaW50Q2xpY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMucHJpbnRCdXR0b25DbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVQcmludGVyU2VsZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRQcmludGVycygpO1xyXG4gICAgaWYgKCF0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucykge1xyXG4gICAgICB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucyA9IHRydWU7XHJcbiAgICAgIHRoaXMuaGVhZGVyVGl0bGUgPSAnUHJpbnRlciBzZWxlY3RpZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dQcmludGVyU2VsZWN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmhlYWRlclRpdGxlID0gJ1ZlcnplbmRvcHRpZXMnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUHJpbnRlckNsaWNrZWQocHJpbnRlcik6IHZvaWQge1xyXG4gICAgdGhpcy5kZWZhdWx0UHJpbnRlciA9IHByaW50ZXIubmFtZTtcclxuICAgIHRoaXMuc2hvd1ByaW50ZXJTZWxlY3Rpb25zID0hIHRoaXMuc2hvd1ByaW50ZXJTZWxlY3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFByaW50VGVtcGxhdGVzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZGF0YSA9IG5ldyBTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzQm8oKTtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja1N0aWNrZXJUZW1wbGF0ZXMoZGF0YSkudGhlbigodGVtcGxhdGVzOiBTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzQm9bXSkgPT4ge1xyXG4gICAgICB0aGlzLnByaW50VGVtcGxhdGVzID0gdGVtcGxhdGVzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -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,54 @@
1
+ import { Component, Input, ViewEncapsulation } from "@angular/core";
2
+ export class StockInformationComponent {
3
+ constructor() {
4
+ }
5
+ }
6
+ StockInformationComponent.decorators = [
7
+ { type: Component, args: [{
8
+ selector: "co-stock-information",
9
+ template: `
10
+ <div class="stock-info" *ngIf="article">
11
+ <div class="stock-info-row" >
12
+ <div class="stock-info-row-image">
13
+ <div class="stock-image">
14
+ <co-image class="stock-image" [source]="article.imageData"></co-image>
15
+ </div>
16
+ </div>
17
+ <div class="stock-good-info">
18
+ <div>
19
+ <span [textContent]="article.description"></span>
20
+ </div>
21
+ <div>
22
+ <span [textContent]="article.articleNumber"></span>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ <div class="stock-status">
27
+ <label [textContent]="'STOCK_STATUS'"></label>
28
+ <span [textContent]="article.stockStatus"></span>
29
+ </div>
30
+ <div class="stock-status">
31
+ <label [textContent]="'AMOUNT_IN_STOCK'"></label>
32
+ <span [textContent]="allTechnicalStockInformation"></span>
33
+ </div>
34
+ <div class="stock-status">
35
+ <label [textContent]="'AMOUNT_AVAILABLE'"></label>
36
+ <span [textContent]="allAvailableStockInformation"></span>
37
+ </div>
38
+ <div class="stock-status">
39
+ <label [textContent]="'AMOUNT_LATER_AVAILABLE'"></label>
40
+ <span [textContent]=""></span>
41
+ </div>
42
+ </div>
43
+ `,
44
+ encapsulation: ViewEncapsulation.None
45
+ },] }
46
+ ];
47
+ StockInformationComponent.ctorParameters = () => [];
48
+ StockInformationComponent.propDecorators = {
49
+ article: [{ type: Input }],
50
+ articleStock: [{ type: Input }],
51
+ allAvailableStockInformation: [{ type: Input }],
52
+ allTechnicalStockInformation: [{ type: Input }]
53
+ };
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2staW5mb3JtYXRpb24vc3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBMkNsRSxNQUFNLE9BQU8seUJBQXlCO0lBZ0JwQztJQUVBLENBQUM7OztZQXpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7O3NCQUtFLEtBQUs7MkJBR0wsS0FBSzsyQ0FHTCxLQUFLOzJDQUdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrLWluZm9ybWF0aW9uXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm9cIiAqbmdJZj1cImFydGljbGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2staW5mby1yb3dcIiA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2staW5mby1yb3ctaW1hZ2VcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWltYWdlXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWltYWdlIGNsYXNzPVwic3RvY2staW1hZ2VcIiBbc291cmNlXT1cImFydGljbGUuaW1hZ2VEYXRhXCI+PC9jby1pbWFnZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1nb29kLWluZm9cIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiYXJ0aWNsZS5kZXNjcmlwdGlvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFydGljbGUuYXJ0aWNsZU51bWJlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stc3RhdHVzXCI+XHJcbiAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidTVE9DS19TVEFUVVMnXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlLnN0b2NrU3RhdHVzXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1zdGF0dXNcIj5cclxuICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVF9JTl9TVE9DSydcIj48L2xhYmVsPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFsbFRlY2huaWNhbFN0b2NrSW5mb3JtYXRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXN0YXR1c1wiPlxyXG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInQU1PVU5UX0FWQUlMQUJMRSdcIj48L2xhYmVsPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFsbEF2YWlsYWJsZVN0b2NrSW5mb3JtYXRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXN0YXR1c1wiPlxyXG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInQU1PVU5UX0xBVEVSX0FWQUlMQUJMRSdcIj48L2xhYmVsPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIlwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja0luZm9ybWF0aW9uQ29tcG9uZW50IHtcclxuXHJcbiAgcHVibGljIGltYWdlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGU6IEFydGljbGVFeHRlbmRlZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVN0b2NrOiBBcnRpY2xlU3RvY2tCbztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsQXZhaWxhYmxlU3RvY2tJbmZvcm1hdGlvbjogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxUZWNobmljYWxTdG9ja0luZm9ybWF0aW9uOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkge1xyXG4gIH1cclxuXHJcbn1cclxuIl19