@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,130 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angular/core";
3
+ import { StockService } from "../../../service/stock.service";
4
+ export class StockTransferComponent {
5
+ constructor(_stockService) {
6
+ this._stockService = _stockService;
7
+ this.handleCancelClicked = new EventEmitter();
8
+ this.handleStickerClicked = new EventEmitter();
9
+ this.allWarehousesDropdownFields = { text: "warehouseDescription", value: "warehouseNo" };
10
+ this.allLocationDropdownFields = { text: "locationNo", value: "locationNo" };
11
+ this.showSendMethodDialog = false;
12
+ this.stockState = [];
13
+ this.stockStateDropdownField = { text: "stateDescription", value: "stockStateId" };
14
+ }
15
+ ngAfterViewInit() {
16
+ this.getStockManagementWarehouses();
17
+ this.getStockState();
18
+ }
19
+ handleOkClick(data) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ data.selected = true;
22
+ data.entryDate = new Date;
23
+ yield this._stockService.updateArticleDetails(data);
24
+ });
25
+ }
26
+ handleCancelClick() {
27
+ this.handleCancelClicked.emit();
28
+ }
29
+ handleSelectedWarehouse(event) {
30
+ this.selectedWarehouse = event;
31
+ this.getStockManagementLocations(this.selectedWarehouse);
32
+ }
33
+ handleStickerClick() {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ this.handleStickerClicked.emit();
36
+ this.showSendMethodDialog = true;
37
+ });
38
+ }
39
+ getStockManagementWarehouses() {
40
+ this._stockService.getStockManagementWarehouses().then((warehouses) => {
41
+ this.warehouses = warehouses;
42
+ });
43
+ }
44
+ getStockManagementLocations(data) {
45
+ this._stockService.getStockManagementLocations(data).then((locations) => {
46
+ this.locations = locations;
47
+ });
48
+ }
49
+ getStockState() {
50
+ this._stockService.getStockState().then((state) => {
51
+ this.stockState = state;
52
+ });
53
+ }
54
+ }
55
+ StockTransferComponent.decorators = [
56
+ { type: Component, args: [{
57
+ selector: "co-stock-transfer",
58
+ template: `
59
+ <div class="stock-transfer">
60
+ <div class="stock-transfer-columns">
61
+ <div *ngIf="articleToTransfer" class="stock-transfer-left-column">
62
+ <co-input-text disabled
63
+ [(model)]="articleToTransfer.warehouseDescription"
64
+ [textContent]="articleToTransfer.warehouseDescription"
65
+ [placeholder]="'Standaard magazijn'">
66
+ </co-input-text>
67
+ <co-input-text disabled
68
+ [(model)]="articleToTransfer.locationNo"
69
+ [textContent]="articleToTransfer.locationNo"
70
+ [placeholder]="'Standaard locatie'">
71
+ </co-input-text>
72
+ <co-input-text disabled
73
+ [(model)]="stockSticker.batch"
74
+ [placeholder]="'Batch'">
75
+ </co-input-text>
76
+ <co-input-text disabled
77
+ [(model)]="stockSticker.serial"
78
+ [placeholder]="'Serie'">
79
+ </co-input-text>
80
+ <co-input-text
81
+ [(model)]="articleToTransfer.amountTransfer"
82
+ [placeholder]="'Aantal'">
83
+ </co-input-text>
84
+ </div>
85
+
86
+ <div class="stock-transfer-right-column">
87
+ <co-drop-down-list [collection]="warehouses"
88
+ [fields]="allWarehousesDropdownFields"
89
+ (modelChange)="handleSelectedWarehouse($event)"
90
+ [(model)]="articleToTransfer.targetWarehouse">
91
+ </co-drop-down-list>
92
+ <co-drop-down-list [collection]="locations"
93
+ [fields]="allLocationDropdownFields"
94
+ [(model)]="articleToTransfer.targetLocation"
95
+ >
96
+ </co-drop-down-list>
97
+ <co-drop-down-list [collection]="stockState"
98
+ [fields]="stockStateDropdownField"
99
+ [placeholder]="'Voorraadstatus'"
100
+ [(model)]="articleToTransfer.stockStateId">
101
+ </co-drop-down-list>
102
+ <co-input-text [placeholder]="'Omschrijving'"
103
+ [(model)]="articleToTransfer.stockStateRemark">
104
+ </co-input-text>
105
+ </div>
106
+ </div>
107
+
108
+ <div class="ok-cancel-buttons">
109
+ <co-button [textContent]="'Ok'" (click)="handleOkClick(articleToTransfer)"></co-button>
110
+ <co-button [textContent]="'Annuleren'" (click)="handleCancelClick()"></co-button>
111
+ <co-button [textContent]="'Sticker'" (click)="handleStickerClick()"></co-button>
112
+ </div>
113
+ </div>
114
+ `,
115
+ encapsulation: ViewEncapsulation.None
116
+ },] }
117
+ ];
118
+ StockTransferComponent.ctorParameters = () => [
119
+ { type: StockService }
120
+ ];
121
+ StockTransferComponent.propDecorators = {
122
+ stockSticker: [{ type: Input }],
123
+ article: [{ type: Input }],
124
+ articleToTransfer: [{ type: Input }],
125
+ articleWarehouse: [{ type: Input }],
126
+ allWarehouses: [{ type: Input }],
127
+ handleCancelClicked: [{ type: Output }],
128
+ handleStickerClicked: [{ type: Output }]
129
+ };
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdHJhbnNmZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2stdHJhbnNmZXIvc3RvY2stdHJhbnNmZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2RyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFxRTVELE1BQU0sT0FBTyxzQkFBc0I7SUFpQ2pDLFlBQ1UsYUFBMkI7UUFBM0Isa0JBQWEsR0FBYixhQUFhLENBQWM7UUFoQjlCLHdCQUFtQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRzVELHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdELGdDQUEyQixHQUF5QixFQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFDLENBQUM7UUFDekcsOEJBQXlCLEdBQXlCLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUM7UUFFNUYseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBRXRDLGVBQVUsR0FBa0IsRUFBRSxDQUFDO1FBQy9CLDRCQUF1QixHQUF5QixFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFDLENBQUM7SUFPekcsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVZLGFBQWEsQ0FBQyxJQUFzQjs7WUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQztZQUMxQixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsQ0FBQztLQUFBO0lBRU0saUJBQWlCO1FBQ3RCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsS0FBSztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRVksa0JBQWtCOztZQUM3QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUNuQyxDQUFDO0tBQUE7SUFFTSw0QkFBNEI7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVNLDJCQUEyQixDQUFDLElBQUk7UUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN0RSxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBNUlGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0RUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFwRU8sWUFBWTs7OzJCQXVFakIsS0FBSztzQkFHTCxLQUFLO2dDQUdMLEtBQUs7K0JBR0wsS0FBSzs0QkFHTCxLQUFLO2tDQUdMLE1BQU07bUNBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1ByaW50U3RvY2tTdGlja2Vyc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3ByaW50LXN0b2NrLXN0aWNrZXJzXCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q29Ecm9wRG93bkxpc3RGaWVsZHN9IGZyb20gXCIuL2NvLWRyb3AtZG93bi1saXN0LWZpZWxkcy5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2tCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stc3RhdHVzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWxvY2F0aW9uLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9jay10cmFuc2ZlclwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay10cmFuc2ZlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay10cmFuc2Zlci1jb2x1bW5zXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYXJ0aWNsZVRvVHJhbnNmZXJcIiBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLWxlZnQtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IGRpc2FibGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImFydGljbGVUb1RyYW5zZmVyLndhcmVob3VzZURlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cImFydGljbGVUb1RyYW5zZmVyLndhcmVob3VzZURlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTdGFuZGFhcmQgbWFnYXppam4nXCI+XHJcbiAgICAgICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgZGlzYWJsZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYXJ0aWNsZVRvVHJhbnNmZXIubG9jYXRpb25Ob1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlVG9UcmFuc2Zlci5sb2NhdGlvbk5vXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTdGFuZGFhcmQgbG9jYXRpZSdcIj5cclxuICAgICAgICAgICAgPC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBkaXNhYmxlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzdG9ja1N0aWNrZXIuYmF0Y2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0JhdGNoJ1wiPlxyXG4gICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IGRpc2FibGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInN0b2NrU3RpY2tlci5zZXJpYWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NlcmllJ1wiPlxyXG4gICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYXJ0aWNsZVRvVHJhbnNmZXIuYW1vdW50VHJhbnNmZXJcIlxyXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQWFudGFsJ1wiPlxyXG4gICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stdHJhbnNmZXItcmlnaHQtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxjby1kcm9wLWRvd24tbGlzdCBbY29sbGVjdGlvbl09XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiYWxsV2FyZWhvdXNlc0Ryb3Bkb3duRmllbGRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTZWxlY3RlZFdhcmVob3VzZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImFydGljbGVUb1RyYW5zZmVyLnRhcmdldFdhcmVob3VzZVwiPlxyXG4gICAgICAgICAgICA8L2NvLWRyb3AtZG93bi1saXN0PlxyXG4gICAgICAgICAgICA8Y28tZHJvcC1kb3duLWxpc3QgW2NvbGxlY3Rpb25dPVwibG9jYXRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiYWxsTG9jYXRpb25Ecm9wZG93bkZpZWxkc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhcnRpY2xlVG9UcmFuc2Zlci50YXJnZXRMb2NhdGlvblwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9jby1kcm9wLWRvd24tbGlzdD5cclxuICAgICAgICAgICAgPGNvLWRyb3AtZG93bi1saXN0IFtjb2xsZWN0aW9uXT1cInN0b2NrU3RhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkc109XCJzdG9ja1N0YXRlRHJvcGRvd25GaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1Zvb3JyYWFkc3RhdHVzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJhcnRpY2xlVG9UcmFuc2Zlci5zdG9ja1N0YXRlSWRcIj5cclxuICAgICAgICAgICAgPC9jby1kcm9wLWRvd24tbGlzdD5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW3BsYWNlaG9sZGVyXT1cIidPbXNjaHJpanZpbmcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiYXJ0aWNsZVRvVHJhbnNmZXIuc3RvY2tTdGF0ZVJlbWFya1wiPlxyXG4gICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm9rLWNhbmNlbC1idXR0b25zXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFt0ZXh0Q29udGVudF09XCInT2snXCIgKGNsaWNrKT1cImhhbmRsZU9rQ2xpY2soYXJ0aWNsZVRvVHJhbnNmZXIpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFt0ZXh0Q29udGVudF09XCInQW5udWxlcmVuJ1wiIChjbGljayk9XCJoYW5kbGVDYW5jZWxDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFt0ZXh0Q29udGVudF09XCInU3RpY2tlcidcIiAoY2xpY2spPVwiaGFuZGxlU3RpY2tlckNsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja1RyYW5zZmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0b2NrU3RpY2tlcjogUHJpbnRTdG9ja1N0aWNrZXJzO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlU3RvY2tCbztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVRvVHJhbnNmZXI6IEFydGljbGVEZXRhaWxzQm87XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVXYXJlaG91c2U6IGFueVtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxXYXJlaG91c2VzOiBhbnlbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZUNhbmNlbENsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaGFuZGxlU3RpY2tlckNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgYWxsV2FyZWhvdXNlc0Ryb3Bkb3duRmllbGRzOiBDb0Ryb3BEb3duTGlzdEZpZWxkcyA9IHt0ZXh0OiBcIndhcmVob3VzZURlc2NyaXB0aW9uXCIsIHZhbHVlOiBcIndhcmVob3VzZU5vXCJ9O1xyXG4gIHB1YmxpYyBhbGxMb2NhdGlvbkRyb3Bkb3duRmllbGRzOiBDb0Ryb3BEb3duTGlzdEZpZWxkcyA9IHt0ZXh0OiBcImxvY2F0aW9uTm9cIiwgdmFsdWU6IFwibG9jYXRpb25Ob1wifTtcclxuXHJcbiAgcHVibGljIHNob3dTZW5kTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHdhcmVob3VzZXM6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXNbXTtcclxuICBwdWJsaWMgc3RvY2tTdGF0ZTogU3RvY2tTdGF0dXNbXSA9IFtdO1xyXG4gIHB1YmxpYyBzdG9ja1N0YXRlRHJvcGRvd25GaWVsZDogQ29Ecm9wRG93bkxpc3RGaWVsZHMgPSB7dGV4dDogXCJzdGF0ZURlc2NyaXB0aW9uXCIsIHZhbHVlOiBcInN0b2NrU3RhdGVJZFwifTtcclxuICBwdWJsaWMgbG9jYXRpb25zOiBTdG9ja0xvY2F0aW9uW107XHJcbiAgcHVibGljIHNlbGVjdGVkV2FyZWhvdXNlOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc3RvY2tTZXJ2aWNlOiBTdG9ja1NlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpO1xyXG4gICAgdGhpcy5nZXRTdG9ja1N0YXRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlT2tDbGljayhkYXRhOiBBcnRpY2xlRGV0YWlsc0JvKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBkYXRhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIGRhdGEuZW50cnlEYXRlID0gbmV3IERhdGU7XHJcbiAgICBhd2FpdCB0aGlzLl9zdG9ja1NlcnZpY2UudXBkYXRlQXJ0aWNsZURldGFpbHMoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2FuY2VsQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmhhbmRsZUNhbmNlbENsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbGVjdGVkV2FyZWhvdXNlKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkV2FyZWhvdXNlID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyh0aGlzLnNlbGVjdGVkV2FyZWhvdXNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVTdGlja2VyQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmhhbmRsZVN0aWNrZXJDbGlja2VkLmVtaXQoKTtcclxuICAgIHRoaXMuc2hvd1NlbmRNZXRob2REaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpLnRoZW4oKHdhcmVob3VzZXMpID0+IHtcclxuICAgICAgdGhpcy53YXJlaG91c2VzID0gd2FyZWhvdXNlcztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKGRhdGEpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMoZGF0YSkudGhlbigobG9jYXRpb25zKSA9PiB7XHJcbiAgICAgIHRoaXMubG9jYXRpb25zID0gbG9jYXRpb25zO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja1N0YXRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrU3RhdGUoKS50aGVuKChzdGF0ZTogU3RvY2tTdGF0dXNbXSkgPT4ge1xyXG4gICAgICB0aGlzLnN0b2NrU3RhdGUgPSBzdGF0ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,112 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from "@angular/core";
3
+ import { StockService } from "../../service/stock.service";
4
+ import { PrintStockStickers } from "@colijnit/articleapi/build/model/print-stock-stickers";
5
+ import { GetStockHistoryRequest } from "@colijnit/articleapi/build/model/get-stock-history-request";
6
+ import { ArticleStock } from "@colijnit/articleapi/build/model/article-stock";
7
+ export class StockComponent {
8
+ constructor(stockService) {
9
+ this.stockService = stockService;
10
+ this.handleStickerClicked = new EventEmitter();
11
+ this.showStockInformationGrid = true;
12
+ this.showStockLocation = false;
13
+ this.showStockTransfer = false;
14
+ this.allAvailableStock = 0;
15
+ this.allTechnicalStock = 0;
16
+ }
17
+ set options(value) {
18
+ this.stockService.connectConnector(value);
19
+ }
20
+ set article(article) {
21
+ this.articleExtended = article;
22
+ this.getStockInformation(article);
23
+ }
24
+ ;
25
+ showClass() {
26
+ return true;
27
+ }
28
+ backToStockLinesClicked() {
29
+ this.showStockLocation = false;
30
+ this.showStockInformationGrid = true;
31
+ }
32
+ handleStockTransferClick(event) {
33
+ this.stockTransferArticleDetails = event;
34
+ this.showStockTransfer = !this.showStockTransfer;
35
+ this.showStockInformationGrid = !this.showStockInformationGrid;
36
+ this.stockService.stockStickers = new PrintStockStickers();
37
+ }
38
+ backToStock() {
39
+ this.showStockTransfer = !this.showStockTransfer;
40
+ this.showStockInformationGrid = !this.showStockInformationGrid;
41
+ }
42
+ getStockHistory() {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ const stockHistoryInformation = new GetStockHistoryRequest();
45
+ stockHistoryInformation.type = "B";
46
+ stockHistoryInformation.goodId = this.articleExtended.goodId.toString();
47
+ this.stockHistory = yield this.stockService.getStockHistory(stockHistoryInformation);
48
+ });
49
+ }
50
+ getStockInformation(data) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ const articleData = new ArticleStock();
53
+ articleData.goodId = data.goodId.toString();
54
+ articleData.viewKind = "M";
55
+ this.stockInformation = yield this.stockService.getStockInformation(articleData);
56
+ this.stockInformation.forEach((articleStock) => this.allAvailableStock += articleStock.availableStock);
57
+ this.stockInformation.forEach((articleStock) => this.allTechnicalStock += articleStock.technicalStock);
58
+ });
59
+ }
60
+ }
61
+ StockComponent.decorators = [
62
+ { type: Component, args: [{
63
+ selector: "co-stock",
64
+ template: `
65
+ <div class="stock-info-container">
66
+ <co-stock-information [article]="articleExtended"
67
+ [articleStock]=""
68
+ [allAvailableStockInformation]="allAvailableStock"
69
+ [allTechnicalStockInformation]="allTechnicalStock"
70
+ >
71
+ </co-stock-information>
72
+ <hr>
73
+ <co-stock-information-grid *ngIf="showStockInformationGrid"
74
+ [stockLocationData]="stockLocationInformation"
75
+ [articleStockInformation]="stockInformation"
76
+ (transferIconClicked)="handleStockTransferClick($event)"
77
+ (historyClicked)="getStockHistory()"
78
+ [stockHistoryInformation]="stockHistory"
79
+ >
80
+ </co-stock-information-grid>
81
+ <co-stock-location *ngIf="showStockLocation"
82
+ (backToStockLines)="backToStockLinesClicked()">
83
+
84
+ </co-stock-location>
85
+ <co-stock-transfer *ngIf="showStockTransfer"
86
+ (handleCancelClicked)="backToStock()"
87
+ [article]="stockTransferArticle"
88
+ [articleToTransfer]="stockTransferArticleDetails"
89
+ [stockSticker]="stockService.stockStickers"
90
+ (handleStickerClicked)="handleStickerClicked.emit($event)"
91
+ [articleWarehouse]="articleWarehouse"
92
+ [allWarehouses]="allWarehouses"
93
+ >
94
+ </co-stock-transfer>
95
+ </div>
96
+ `,
97
+ encapsulation: ViewEncapsulation.None
98
+ },] }
99
+ ];
100
+ StockComponent.ctorParameters = () => [
101
+ { type: StockService }
102
+ ];
103
+ StockComponent.propDecorators = {
104
+ stock: [{ type: ViewChild, args: [StockComponent,] }],
105
+ handleStickerClicked: [{ type: Output }],
106
+ options: [{ type: Input }],
107
+ article: [{ type: Input }],
108
+ articleWarehouse: [{ type: Input }],
109
+ allWarehouses: [{ type: Input }],
110
+ showClass: [{ type: HostBinding, args: ["class.co-stock",] }]
111
+ };
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUN6RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUdsRyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUF5QzVFLE1BQU0sT0FBTyxjQUFjO0lBMEN6QixZQUNTLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBckM1Qix5QkFBb0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQXdCN0QsNkJBQXdCLEdBQVksSUFBSSxDQUFDO1FBQ3pDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFPbkMsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBQzlCLHNCQUFpQixHQUFXLENBQUMsQ0FBQztJQUtyQyxDQUFDO0lBckNELElBQ1csT0FBTyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFDVyxPQUFPLENBQUMsT0FBTztRQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUFBLENBQUM7SUFTSyxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBbUJNLHVCQUF1QjtRQUM1QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVNLHdCQUF3QixDQUFDLEtBQUs7UUFDbkMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEtBQUssQ0FBQztRQUN6QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDakQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQy9ELElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDakQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ2pFLENBQUM7SUFFWSxlQUFlOztZQUMxQixNQUFNLHVCQUF1QixHQUEyQixJQUFJLHNCQUFzQixFQUFFLENBQUM7WUFDckYsdUJBQXVCLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUNuQyx1QkFBdUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEUsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDdkYsQ0FBQztLQUFBO0lBRVksbUJBQW1CLENBQUMsSUFBa0I7O1lBQ2pELE1BQU0sV0FBVyxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ3JELFdBQVcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QyxXQUFXLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztZQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdkcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV6RyxDQUFDO0tBQUE7OztZQXBIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQ1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTdDTyxZQUFZOzs7b0JBZ0RqQixTQUFTLFNBQUMsY0FBYzttQ0FHeEIsTUFBTTtzQkFHTixLQUFLO3NCQUtMLEtBQUs7K0JBTUwsS0FBSzs0QkFHTCxLQUFLO3dCQUdMLFdBQVcsU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCwgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N0b2NrU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZVwiO1xyXG5pbXBvcnQge1ByaW50U3RvY2tTdGlja2Vyc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3ByaW50LXN0b2NrLXN0aWNrZXJzXCI7XHJcbmltcG9ydCB7R2V0U3RvY2tIaXN0b3J5UmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2dldC1zdG9jay1oaXN0b3J5LXJlcXVlc3RcIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2tCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9ja1wiO1xyXG5pbXBvcnQge1N0b2NrSGlzdG9yeUJvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2staGlzdG9yeS5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVEZXRhaWxzQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWRldGFpbHMuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm8tY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGNvLXN0b2NrLWluZm9ybWF0aW9uIFthcnRpY2xlXT1cImFydGljbGVFeHRlbmRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlU3RvY2tdPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbEF2YWlsYWJsZVN0b2NrSW5mb3JtYXRpb25dPVwiYWxsQXZhaWxhYmxlU3RvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsVGVjaG5pY2FsU3RvY2tJbmZvcm1hdGlvbl09XCJhbGxUZWNobmljYWxTdG9ja1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tc3RvY2staW5mb3JtYXRpb24+XHJcbiAgICAgICAgPGhyPlxyXG4gICAgICAgIDxjby1zdG9jay1pbmZvcm1hdGlvbi1ncmlkICpuZ0lmPVwic2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RvY2tMb2NhdGlvbkRhdGFdPVwic3RvY2tMb2NhdGlvbkluZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb25dPVwic3RvY2tJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRyYW5zZmVySWNvbkNsaWNrZWQpPVwiaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChoaXN0b3J5Q2xpY2tlZCk9XCJnZXRTdG9ja0hpc3RvcnkoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0b2NrSGlzdG9yeUluZm9ybWF0aW9uXT1cInN0b2NrSGlzdG9yeVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tc3RvY2staW5mb3JtYXRpb24tZ3JpZD5cclxuICAgICAgICA8Y28tc3RvY2stbG9jYXRpb24gKm5nSWY9XCJzaG93U3RvY2tMb2NhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYWNrVG9TdG9ja0xpbmVzKT1cImJhY2tUb1N0b2NrTGluZXNDbGlja2VkKClcIj5cclxuXHJcbiAgICAgICAgPC9jby1zdG9jay1sb2NhdGlvbj5cclxuICAgICAgICA8Y28tc3RvY2stdHJhbnNmZXIgKm5nSWY9XCJzaG93U3RvY2tUcmFuc2ZlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChoYW5kbGVDYW5jZWxDbGlja2VkKT1cImJhY2tUb1N0b2NrKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVdPVwic3RvY2tUcmFuc2ZlckFydGljbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVRvVHJhbnNmZXJdPVwic3RvY2tUcmFuc2ZlckFydGljbGVEZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0b2NrU3RpY2tlcl09XCJzdG9ja1NlcnZpY2Uuc3RvY2tTdGlja2Vyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChoYW5kbGVTdGlja2VyQ2xpY2tlZCk9XCJoYW5kbGVTdGlja2VyQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVdhcmVob3VzZV09XCJhcnRpY2xlV2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbFdhcmVob3VzZXNdPVwiYWxsV2FyZWhvdXNlc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tc3RvY2stdHJhbnNmZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tDb21wb25lbnQge1xyXG5cclxuICBAVmlld0NoaWxkKFN0b2NrQ29tcG9uZW50KVxyXG4gIHB1YmxpYyBzdG9jazogU3RvY2tDb21wb25lbnQ7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBoYW5kbGVTdGlja2VyQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBvcHRpb25zKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc3RvY2tTZXJ2aWNlLmNvbm5lY3RDb25uZWN0b3IodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFydGljbGUoYXJ0aWNsZSkge1xyXG4gICAgdGhpcy5hcnRpY2xlRXh0ZW5kZWQgPSBhcnRpY2xlO1xyXG4gICAgdGhpcy5nZXRTdG9ja0luZm9ybWF0aW9uKGFydGljbGUpO1xyXG4gIH07XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVXYXJlaG91c2U6IGFueVtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxXYXJlaG91c2VzOiBhbnlbXTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tc3RvY2tcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1N0b2NrTG9jYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1N0b2NrVHJhbnNmZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc3RvY2tJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrQm9bXTtcclxuICBwdWJsaWMgc3RvY2tMb2NhdGlvbkluZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tCb1tdO1xyXG4gIHB1YmxpYyBzdG9ja1RyYW5zZmVyQXJ0aWNsZTogQXJ0aWNsZVN0b2NrQm87XHJcbiAgcHVibGljIHN0b2NrVHJhbnNmZXJBcnRpY2xlRGV0YWlsczogQXJ0aWNsZURldGFpbHNCbztcclxuICBwdWJsaWMgYXJ0aWNsZUV4dGVuZGVkOiBBcnRpY2xlRXh0ZW5kZWQ7XHJcbiAgcHVibGljIHN0b2NrSGlzdG9yeTogU3RvY2tIaXN0b3J5Qm9bXTtcclxuICBwdWJsaWMgYWxsQXZhaWxhYmxlU3RvY2s6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGFsbFRlY2huaWNhbFN0b2NrOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJhY2tUb1N0b2NrTGluZXNDbGlja2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93U3RvY2tMb2NhdGlvbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrVHJhbnNmZXJDbGljayhldmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9ja1RyYW5zZmVyQXJ0aWNsZURldGFpbHMgPSBldmVudDtcclxuICAgIHRoaXMuc2hvd1N0b2NrVHJhbnNmZXIgPSAhdGhpcy5zaG93U3RvY2tUcmFuc2ZlcjtcclxuICAgIHRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkID0gIXRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkO1xyXG4gICAgdGhpcy5zdG9ja1NlcnZpY2Uuc3RvY2tTdGlja2VycyA9IG5ldyBQcmludFN0b2NrU3RpY2tlcnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBiYWNrVG9TdG9jaygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1N0b2NrVHJhbnNmZXIgPSAhdGhpcy5zaG93U3RvY2tUcmFuc2ZlcjtcclxuICAgIHRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkID0gIXRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrSGlzdG9yeSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0ID0gbmV3IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QoKTtcclxuICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLnR5cGUgPSBcIkJcIjtcclxuICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLmdvb2RJZCA9IHRoaXMuYXJ0aWNsZUV4dGVuZGVkLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5zdG9ja0hpc3RvcnkgPSBhd2FpdCB0aGlzLnN0b2NrU2VydmljZS5nZXRTdG9ja0hpc3Rvcnkoc3RvY2tIaXN0b3J5SW5mb3JtYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrSW5mb3JtYXRpb24oZGF0YTogQXJ0aWNsZVN0b2NrKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBhcnRpY2xlRGF0YTogQXJ0aWNsZVN0b2NrID0gbmV3IEFydGljbGVTdG9jaygpO1xyXG4gICAgYXJ0aWNsZURhdGEuZ29vZElkID0gZGF0YS5nb29kSWQudG9TdHJpbmcoKTtcclxuICAgIGFydGljbGVEYXRhLnZpZXdLaW5kID0gXCJNXCI7XHJcbiAgICB0aGlzLnN0b2NrSW5mb3JtYXRpb24gPSBhd2FpdCB0aGlzLnN0b2NrU2VydmljZS5nZXRTdG9ja0luZm9ybWF0aW9uKGFydGljbGVEYXRhKTtcclxuICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuYWxsQXZhaWxhYmxlU3RvY2sgKz0gYXJ0aWNsZVN0b2NrLmF2YWlsYWJsZVN0b2NrKTtcclxuICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuYWxsVGVjaG5pY2FsU3RvY2sgKz0gYXJ0aWNsZVN0b2NrLnRlY2huaWNhbFN0b2NrKTtcclxuXHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { StockComponent } from "./stock.component";
3
+ import { ButtonModule, CoDialogWizardModule, CoGridModule, DropDownModule, IconModule, ImageModule, InputComboBoxModule, InputNumberPickerModule, InputRadioButtonModule, InputTextareaModule, InputTextModule, SimpleGridModule } from "@colijnit/corecomponents_v12";
4
+ import { CommonModule } from "@angular/common";
5
+ import { StockInformationComponent } from "./stock-information/stock-information.component";
6
+ import { StockInformationGridComponent } from "./stock-information-grid/stock-information-grid.component";
7
+ import { StockLocationComponent } from "./stock-location/stock-location.component";
8
+ import { StockService } from "../../service/stock.service";
9
+ import { IoneConnectorAdapterService } from "../../service/ione-connector-adapter.service";
10
+ import { StockTransferComponent } from "./stock-transfer/stock-transfer.component";
11
+ import { SendMethodDialogModule } from "../send-method-dialog/send-method-dialog.module";
12
+ import { StockChangeAmountComponent } from "./stock-transfer/stock-change-amount.component";
13
+ export class StockModule {
14
+ }
15
+ StockModule.decorators = [
16
+ { type: NgModule, args: [{
17
+ imports: [
18
+ InputComboBoxModule,
19
+ CoGridModule,
20
+ ButtonModule,
21
+ CommonModule,
22
+ InputRadioButtonModule,
23
+ DropDownModule,
24
+ SimpleGridModule,
25
+ ImageModule,
26
+ InputTextModule,
27
+ SendMethodDialogModule,
28
+ IconModule,
29
+ InputNumberPickerModule,
30
+ CoDialogWizardModule,
31
+ InputTextareaModule
32
+ ],
33
+ declarations: [
34
+ StockComponent,
35
+ StockInformationComponent,
36
+ StockInformationGridComponent,
37
+ StockLocationComponent,
38
+ StockTransferComponent,
39
+ StockChangeAmountComponent
40
+ ],
41
+ exports: [
42
+ StockComponent
43
+ ],
44
+ providers: [
45
+ StockService,
46
+ IoneConnectorAdapterService
47
+ ]
48
+ },] }
49
+ ];
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2subW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2subW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFDTCxZQUFZLEVBQUUsb0JBQW9CLEVBQ2xDLFlBQVksRUFDWixjQUFjLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFDdkMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQzVDLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFDL0UsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDeEcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBbUMxRixNQUFNLE9BQU8sV0FBVzs7O1lBakN2QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixZQUFZO29CQUNaLFlBQVk7b0JBQ1osc0JBQXNCO29CQUN0QixjQUFjO29CQUNkLGdCQUFnQjtvQkFDaEIsV0FBVztvQkFDWCxlQUFlO29CQUNmLHNCQUFzQjtvQkFDdEIsVUFBVTtvQkFDVix1QkFBdUI7b0JBQ3ZCLG9CQUFvQjtvQkFDcEIsbUJBQW1CO2lCQUNwQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osY0FBYztvQkFDZCx5QkFBeUI7b0JBQ3pCLDZCQUE2QjtvQkFDN0Isc0JBQXNCO29CQUN0QixzQkFBc0I7b0JBQ3RCLDBCQUEwQjtpQkFDM0I7Z0JBQ0MsT0FBTyxFQUFFO29CQUNMLGNBQWM7aUJBQ2pCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxZQUFZO29CQUNaLDJCQUEyQjtpQkFDNUI7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7U3RvY2tDb21wb25lbnR9IGZyb20gXCIuL3N0b2NrLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1xyXG4gIEJ1dHRvbk1vZHVsZSwgQ29EaWFsb2dXaXphcmRNb2R1bGUsXHJcbiAgQ29HcmlkTW9kdWxlLFxyXG4gIERyb3BEb3duTW9kdWxlLCBJY29uTW9kdWxlLCBJbWFnZU1vZHVsZSxcclxuICBJbnB1dENvbWJvQm94TW9kdWxlLCBJbnB1dE51bWJlclBpY2tlck1vZHVsZSxcclxuICBJbnB1dFJhZGlvQnV0dG9uTW9kdWxlLCBJbnB1dFRleHRhcmVhTW9kdWxlLCBJbnB1dFRleHRNb2R1bGUsIFNpbXBsZUdyaWRNb2R1bGVcclxufSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge1N0b2NrSW5mb3JtYXRpb25Db21wb25lbnR9IGZyb20gXCIuL3N0b2NrLWluZm9ybWF0aW9uL3N0b2NrLWluZm9ybWF0aW9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1N0b2NrSW5mb3JtYXRpb25HcmlkQ29tcG9uZW50fSBmcm9tIFwiLi9zdG9jay1pbmZvcm1hdGlvbi1ncmlkL3N0b2NrLWluZm9ybWF0aW9uLWdyaWQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbkNvbXBvbmVudH0gZnJvbSBcIi4vc3RvY2stbG9jYXRpb24vc3RvY2stbG9jYXRpb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SW9uZUNvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pb25lLWNvbm5lY3Rvci1hZGFwdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdG9ja1RyYW5zZmVyQ29tcG9uZW50fSBmcm9tIFwiLi9zdG9jay10cmFuc2Zlci9zdG9jay10cmFuc2Zlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTZW5kTWV0aG9kRGlhbG9nTW9kdWxlfSBmcm9tIFwiLi4vc2VuZC1tZXRob2QtZGlhbG9nL3NlbmQtbWV0aG9kLWRpYWxvZy5tb2R1bGVcIjtcclxuaW1wb3J0IHtTdG9ja0NoYW5nZUFtb3VudENvbXBvbmVudH0gZnJvbSBcIi4vc3RvY2stdHJhbnNmZXIvc3RvY2stY2hhbmdlLWFtb3VudC5jb21wb25lbnRcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgSW5wdXRDb21ib0JveE1vZHVsZSxcclxuICAgIENvR3JpZE1vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIElucHV0UmFkaW9CdXR0b25Nb2R1bGUsXHJcbiAgICBEcm9wRG93bk1vZHVsZSxcclxuICAgIFNpbXBsZUdyaWRNb2R1bGUsXHJcbiAgICBJbWFnZU1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIFNlbmRNZXRob2REaWFsb2dNb2R1bGUsXHJcbiAgICBJY29uTW9kdWxlLFxyXG4gICAgSW5wdXROdW1iZXJQaWNrZXJNb2R1bGUsXHJcbiAgICBDb0RpYWxvZ1dpemFyZE1vZHVsZSxcclxuICAgIElucHV0VGV4dGFyZWFNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU3RvY2tDb21wb25lbnQsXHJcbiAgICBTdG9ja0luZm9ybWF0aW9uQ29tcG9uZW50LFxyXG4gICAgU3RvY2tJbmZvcm1hdGlvbkdyaWRDb21wb25lbnQsXHJcbiAgICBTdG9ja0xvY2F0aW9uQ29tcG9uZW50LFxyXG4gICAgU3RvY2tUcmFuc2ZlckNvbXBvbmVudCxcclxuICAgIFN0b2NrQ2hhbmdlQW1vdW50Q29tcG9uZW50XHJcbiAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBTdG9ja0NvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICBTdG9ja1NlcnZpY2UsXHJcbiAgICAgIElvbmVDb25uZWN0b3JBZGFwdGVyU2VydmljZVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tNb2R1bGUge31cclxuIl19
@@ -0,0 +1,23 @@
1
+ /** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/
2
+ export var Icon;
3
+ (function (Icon) {
4
+ Icon["ArrowFatRight"] = "arrow_fat_right";
5
+ Icon["ArrowPointDown"] = "arrow_point_down";
6
+ Icon["ArrowPointLeft"] = "arrow_point_left";
7
+ Icon["ArrowPointRight"] = "arrow_point_right";
8
+ Icon["CalendarDay"] = "calendar_day";
9
+ Icon["Cancel"] = "cancel";
10
+ Icon["DeliveryTruck"] = "delivery_truck";
11
+ Icon["EditPencil"] = "edit_pencil";
12
+ Icon["Email"] = "email";
13
+ Icon["Pdf"] = "pdf";
14
+ Icon["PlusRound"] = "plus_round";
15
+ Icon["Print"] = "print";
16
+ Icon["SignatureField"] = "signature_field";
17
+ Icon["Tag"] = "tag";
18
+ Icon["ThickLines"] = "thick_lines";
19
+ Icon["ThinLines"] = "thin_lines";
20
+ Icon["Txt"] = "txt";
21
+ Icon["Xml"] = "xml";
22
+ })(Icon || (Icon = {}));
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2VudW0vaWNvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdHQUFnRztBQUVoRyxNQUFNLENBQU4sSUFBWSxJQW1CWDtBQW5CRCxXQUFZLElBQUk7SUFDWix5Q0FBaUMsQ0FBQTtJQUNqQywyQ0FBbUMsQ0FBQTtJQUNuQywyQ0FBbUMsQ0FBQTtJQUNuQyw2Q0FBcUMsQ0FBQTtJQUNyQyxvQ0FBNEIsQ0FBQTtJQUM1Qix5QkFBaUIsQ0FBQTtJQUNqQix3Q0FBZ0MsQ0FBQTtJQUNoQyxrQ0FBMEIsQ0FBQTtJQUMxQix1QkFBZSxDQUFBO0lBQ2YsbUJBQVcsQ0FBQTtJQUNYLGdDQUF3QixDQUFBO0lBQ3hCLHVCQUFlLENBQUE7SUFDZiwwQ0FBa0MsQ0FBQTtJQUNsQyxtQkFBVyxDQUFBO0lBQ1gsa0NBQTBCLENBQUE7SUFDMUIsZ0NBQXdCLENBQUE7SUFDeEIsbUJBQVcsQ0FBQTtJQUNYLG1CQUFXLENBQUE7QUFDZixDQUFDLEVBbkJXLElBQUksS0FBSixJQUFJLFFBbUJmIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEFVVE8gR0VORVJBVEVEIEZJTEUuIERPIE5PVCBDSEFOR0UuLiBPUiBZT1UgV0lMTCBTVUZGRVIgVEhFIENPTlNFUVVFTkNFUyBPRiBZT1VSIEFDVElPTlMgKiovXHJcblxyXG5leHBvcnQgZW51bSBJY29uIHtcclxuICAgIEFycm93RmF0UmlnaHQgPSBcImFycm93X2ZhdF9yaWdodFwiLFxyXG4gICAgQXJyb3dQb2ludERvd24gPSBcImFycm93X3BvaW50X2Rvd25cIixcclxuICAgIEFycm93UG9pbnRMZWZ0ID0gXCJhcnJvd19wb2ludF9sZWZ0XCIsXHJcbiAgICBBcnJvd1BvaW50UmlnaHQgPSBcImFycm93X3BvaW50X3JpZ2h0XCIsXHJcbiAgICBDYWxlbmRhckRheSA9IFwiY2FsZW5kYXJfZGF5XCIsXHJcbiAgICBDYW5jZWwgPSBcImNhbmNlbFwiLFxyXG4gICAgRGVsaXZlcnlUcnVjayA9IFwiZGVsaXZlcnlfdHJ1Y2tcIixcclxuICAgIEVkaXRQZW5jaWwgPSBcImVkaXRfcGVuY2lsXCIsXHJcbiAgICBFbWFpbCA9IFwiZW1haWxcIixcclxuICAgIFBkZiA9IFwicGRmXCIsXHJcbiAgICBQbHVzUm91bmQgPSBcInBsdXNfcm91bmRcIixcclxuICAgIFByaW50ID0gXCJwcmludFwiLFxyXG4gICAgU2lnbmF0dXJlRmllbGQgPSBcInNpZ25hdHVyZV9maWVsZFwiLFxyXG4gICAgVGFnID0gXCJ0YWdcIixcclxuICAgIFRoaWNrTGluZXMgPSBcInRoaWNrX2xpbmVzXCIsXHJcbiAgICBUaGluTGluZXMgPSBcInRoaW5fbGluZXNcIixcclxuICAgIFR4dCA9IFwidHh0XCIsXHJcbiAgICBYbWwgPSBcInhtbFwiXHJcbn1cclxuIl19
@@ -0,0 +1,120 @@
1
+ import { ComplexFieldDecorator } from "./decorators/complex-field.decorator";
2
+ import { ComplexArrayDecorator } from "./decorators/complex-array.decorator";
3
+ import { BooleanTextDecorator } from "./decorators/boolean.decorator";
4
+ import { DateFieldFieldDecorator } from "./decorators/date-field.decorator";
5
+ import { StringNumberDecorator } from "./decorators/string-number.decorator";
6
+ import { isNill } from "../utils/is-nill.function";
7
+ import { ArrayUtils } from "../utils/array-utils";
8
+ import { BusinessObject } from "../model/business-object";
9
+ // Factory service creates businessobjects, using their decorators in the process.
10
+ export class BusinessObjectFactory {
11
+ constructor() {
12
+ }
13
+ /**
14
+ * Creates and returns a new business data object instance of given class, with all given data properties applied to it in a
15
+ * complex-aware style. That is, all properties on given class that are decorated with @ComplexField(..) or @ComplexArray(..) decorators
16
+ * become strongly typed business objects, with methods that are usable and such.
17
+ *
18
+ * @param modelClass
19
+ * @param {Object} rawData The object with all (possibly raw/flat/not alive) data to be applied to the created model object
20
+ */
21
+ makeWithRawBackendData(modelClass, rawData) {
22
+ if (!modelClass) {
23
+ return undefined;
24
+ }
25
+ if (typeof modelClass !== typeof BusinessObject) {
26
+ return undefined;
27
+ }
28
+ const model = new modelClass();
29
+ this._copyAllPropertiesDecoratorProcessedFrom(rawData, model);
30
+ return model;
31
+ }
32
+ // see makeWithRawBackendData, this is a loop-wrapper around that method
33
+ makeBOArrayFromRawBackendDataArray(modelClass, arrayOfRawDatas) {
34
+ if (!modelClass) {
35
+ return undefined;
36
+ }
37
+ const trueClientBos = [];
38
+ if (arrayOfRawDatas) {
39
+ for (let i = 0, len = arrayOfRawDatas.length; i < len; i++) {
40
+ trueClientBos.push(this.makeWithRawBackendData(modelClass, arrayOfRawDatas[i]));
41
+ }
42
+ }
43
+ return trueClientBos;
44
+ }
45
+ instantiateNewBo(modelClass) {
46
+ return this.makeWithRawBackendData(modelClass, {});
47
+ }
48
+ /**
49
+ * Applies all properties of given 'source' object to the given 'destination' businessobject, if destination has that property.
50
+ * Works with the @ComplexField(), @ComplexArray, @BooleanText, @CoInject and @DateField annotations of given destination model.
51
+ *
52
+ * @param sourceData Raw data to copy to destination model
53
+ * @param {BusinessObject} destinationModel InOut: The annotated businessobject to apply source properties to
54
+ */
55
+ _copyAllPropertiesDecoratorProcessedFrom(sourceData, destinationModel) {
56
+ if (!sourceData || !destinationModel) {
57
+ return;
58
+ }
59
+ // process all source data into destinationModel
60
+ for (const srcPropKey in sourceData) {
61
+ if (!sourceData.hasOwnProperty(srcPropKey)) {
62
+ continue;
63
+ }
64
+ const srcPropVal = sourceData[srcPropKey];
65
+ if (ComplexFieldDecorator.IsComplexField(destinationModel, srcPropKey)) {
66
+ const classOfField = ComplexFieldDecorator.GetComplexFieldType(destinationModel, srcPropKey);
67
+ destinationModel[srcPropKey] = this.makeWithRawBackendData(classOfField, srcPropVal);
68
+ }
69
+ else if (ComplexArrayDecorator.IsComplexArray(destinationModel, srcPropKey)) {
70
+ const sourceArray = srcPropVal;
71
+ if (!sourceArray) {
72
+ continue;
73
+ }
74
+ const classOfArrayItems = ComplexArrayDecorator.GetComplexArrayType(destinationModel, srcPropKey);
75
+ const tempArray = [];
76
+ for (let i = 0, len = sourceArray.length; i < len; i++) {
77
+ tempArray.push(this.makeWithRawBackendData(classOfArrayItems, sourceArray[i]));
78
+ }
79
+ destinationModel[srcPropKey] = tempArray;
80
+ }
81
+ else if (BooleanTextDecorator.IsBooleanTextField(destinationModel, srcPropKey)) {
82
+ // logical 'true' and 'false' also allowed as incoming values for @BooleanText() properties: then just copy their value
83
+ if (typeof srcPropVal === "boolean") {
84
+ destinationModel[srcPropKey] = srcPropVal;
85
+ // here, it should be a 'J' or 'N' (or 'T' or 'F'): assign the associated boolean value
86
+ }
87
+ else {
88
+ destinationModel[srcPropKey] = BooleanTextDecorator.GetLogicalBooleanValue(srcPropVal);
89
+ }
90
+ }
91
+ else if (DateFieldFieldDecorator.IsDateField(destinationModel, srcPropKey)) {
92
+ destinationModel[srcPropKey] = DateFieldFieldDecorator.StringAsDate(srcPropVal);
93
+ }
94
+ else if (StringNumberDecorator.IsStringNumber(destinationModel, srcPropKey)) {
95
+ destinationModel[srcPropKey] = StringNumberDecorator.StringAsNumber(srcPropVal);
96
+ }
97
+ // non-decorated prop
98
+ else {
99
+ if (isNill(srcPropVal)) {
100
+ destinationModel[srcPropKey] = undefined;
101
+ }
102
+ else if (Array.isArray(srcPropVal)) {
103
+ destinationModel[srcPropKey] = ArrayUtils.CloneArray(srcPropVal);
104
+ }
105
+ else if (typeof srcPropVal === "object") {
106
+ if (srcPropVal instanceof Map) { //just copy the value in case of maps
107
+ destinationModel[srcPropKey] = srcPropVal;
108
+ }
109
+ else {
110
+ destinationModel[srcPropKey] = Object.assign({}, srcPropVal);
111
+ }
112
+ }
113
+ else {
114
+ destinationModel[srcPropKey] = srcPropVal;
115
+ }
116
+ }
117
+ }
118
+ }
119
+ }
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvZmFjdG9yeS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV4RCxrRkFBa0Y7QUFDbEYsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QjtJQUNBLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksc0JBQXNCLENBQUMsVUFBZSxFQUFFLE9BQWU7UUFDMUQsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNiLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxPQUFPLFVBQVUsS0FBSyxPQUFPLGNBQWMsRUFBRTtZQUM3QyxPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELE1BQU0sS0FBSyxHQUFtQixJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELHdFQUF3RTtJQUNq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QUFDLEdBQUcsdUJBQXVCLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ25GO2lCQUFNLElBQUkscUJBQXFCLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxFQUFFO2dCQUMzRSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDbkY7WUFDRCxxQkFBcUI7aUJBQ2hCO2dCQUNELElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUNwQixnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxTQUFTLENBQUM7aUJBQzVDO3FCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtvQkFDbEMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDcEU7cUJBQU0sSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUU7b0JBQ3ZDLElBQUksVUFBVSxZQUFZLEdBQUcsRUFBRSxFQUFFLHFDQUFxQzt3QkFDbEUsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFDO3FCQUM3Qzt5QkFBTTt3QkFDSCxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztxQkFDaEU7aUJBQ0o7cUJBQU07b0JBQ0gsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUM3QzthQUNKO1NBQ0o7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBsZXhGaWVsZERlY29yYXRvcn0gZnJvbSBcIi4vZGVjb3JhdG9ycy9jb21wbGV4LWZpZWxkLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge0NvbXBsZXhBcnJheURlY29yYXRvcn0gZnJvbSBcIi4vZGVjb3JhdG9ycy9jb21wbGV4LWFycmF5LmRlY29yYXRvclwiO1xyXG5pbXBvcnQge0Jvb2xlYW5UZXh0RGVjb3JhdG9yfSBmcm9tIFwiLi9kZWNvcmF0b3JzL2Jvb2xlYW4uZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7RGF0ZUZpZWxkRmllbGREZWNvcmF0b3J9IGZyb20gXCIuL2RlY29yYXRvcnMvZGF0ZS1maWVsZC5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtTdHJpbmdOdW1iZXJEZWNvcmF0b3J9IGZyb20gXCIuL2RlY29yYXRvcnMvc3RyaW5nLW51bWJlci5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtpc05pbGx9IGZyb20gXCIuLi91dGlscy9pcy1uaWxsLmZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7QXJyYXlVdGlsc30gZnJvbSBcIi4uL3V0aWxzL2FycmF5LXV0aWxzXCI7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3R9IGZyb20gXCIuLi9tb2RlbC9idXNpbmVzcy1vYmplY3RcIjtcclxuXHJcbi8vIEZhY3Rvcnkgc2VydmljZSBjcmVhdGVzIGJ1c2luZXNzb2JqZWN0cywgdXNpbmcgdGhlaXIgZGVjb3JhdG9ycyBpbiB0aGUgcHJvY2Vzcy5cclxuZXhwb3J0IGNsYXNzIEJ1c2luZXNzT2JqZWN0RmFjdG9yeSB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgYW5kIHJldHVybnMgYSBuZXcgYnVzaW5lc3MgZGF0YSBvYmplY3QgaW5zdGFuY2Ugb2YgZ2l2ZW4gY2xhc3MsIHdpdGggYWxsIGdpdmVuIGRhdGEgcHJvcGVydGllcyBhcHBsaWVkIHRvIGl0IGluIGFcclxuICAgICAqIGNvbXBsZXgtYXdhcmUgc3R5bGUuIFRoYXQgaXMsIGFsbCBwcm9wZXJ0aWVzIG9uIGdpdmVuIGNsYXNzIHRoYXQgYXJlIGRlY29yYXRlZCB3aXRoIEBDb21wbGV4RmllbGQoLi4pIG9yIEBDb21wbGV4QXJyYXkoLi4pIGRlY29yYXRvcnNcclxuICAgICAqIGJlY29tZSBzdHJvbmdseSB0eXBlZCBidXNpbmVzcyBvYmplY3RzLCB3aXRoIG1ldGhvZHMgdGhhdCBhcmUgdXNhYmxlIGFuZCBzdWNoLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBtb2RlbENsYXNzXHJcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcmF3RGF0YSBUaGUgb2JqZWN0IHdpdGggYWxsIChwb3NzaWJseSByYXcvZmxhdC9ub3QgYWxpdmUpIGRhdGEgdG8gYmUgYXBwbGllZCB0byB0aGUgY3JlYXRlZCBtb2RlbCBvYmplY3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIG1ha2VXaXRoUmF3QmFja2VuZERhdGEobW9kZWxDbGFzczogYW55LCByYXdEYXRhOiBPYmplY3QpOiBCdXNpbmVzc09iamVjdCB7XHJcbiAgICAgICAgaWYgKCFtb2RlbENsYXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgbW9kZWxDbGFzcyAhPT0gdHlwZW9mIEJ1c2luZXNzT2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBtb2RlbDogQnVzaW5lc3NPYmplY3QgPSBuZXcgbW9kZWxDbGFzcygpO1xyXG4gICAgICAgIHRoaXMuX2NvcHlBbGxQcm9wZXJ0aWVzRGVjb3JhdG9yUHJvY2Vzc2VkRnJvbShyYXdEYXRhLCBtb2RlbCk7XHJcbiAgICAgICAgcmV0dXJuIG1vZGVsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHNlZSBtYWtlV2l0aFJhd0JhY2tlbmREYXRhLCB0aGlzIGlzIGEgbG9vcC13cmFwcGVyIGFyb3VuZCB0aGF0IG1ldGhvZFxyXG4gICAgcHVibGljIG1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkobW9kZWxDbGFzczogYW55LCBhcnJheU9mUmF3RGF0YXM6IE9iamVjdFtdKTogQnVzaW5lc3NPYmplY3RbXSB7XHJcbiAgICAgICAgaWYgKCFtb2RlbENsYXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB0cnVlQ2xpZW50Qm9zOiBCdXNpbmVzc09iamVjdFtdID0gW107XHJcbiAgICAgICAgaWYgKGFycmF5T2ZSYXdEYXRhcykge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IGFycmF5T2ZSYXdEYXRhcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgdHJ1ZUNsaWVudEJvcy5wdXNoKHRoaXMubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShtb2RlbENsYXNzLCBhcnJheU9mUmF3RGF0YXNbaV0pKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZUNsaWVudEJvcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaW5zdGFudGlhdGVOZXdCbyhtb2RlbENsYXNzOiBhbnkpOiBCdXNpbmVzc09iamVjdCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShtb2RlbENsYXNzLCB7fSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBcHBsaWVzIGFsbCBwcm9wZXJ0aWVzIG9mIGdpdmVuICdzb3VyY2UnIG9iamVjdCB0byB0aGUgZ2l2ZW4gJ2Rlc3RpbmF0aW9uJyBidXNpbmVzc29iamVjdCwgaWYgZGVzdGluYXRpb24gaGFzIHRoYXQgcHJvcGVydHkuXHJcbiAgICAgKiBXb3JrcyB3aXRoIHRoZSBAQ29tcGxleEZpZWxkKCksIEBDb21wbGV4QXJyYXksIEBCb29sZWFuVGV4dCwgQENvSW5qZWN0IGFuZCBARGF0ZUZpZWxkIGFubm90YXRpb25zIG9mIGdpdmVuIGRlc3RpbmF0aW9uIG1vZGVsLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBzb3VyY2VEYXRhIFJhdyBkYXRhIHRvIGNvcHkgdG8gZGVzdGluYXRpb24gbW9kZWxcclxuICAgICAqIEBwYXJhbSB7QnVzaW5lc3NPYmplY3R9IGRlc3RpbmF0aW9uTW9kZWwgSW5PdXQ6IFRoZSBhbm5vdGF0ZWQgYnVzaW5lc3NvYmplY3QgdG8gYXBwbHkgc291cmNlIHByb3BlcnRpZXMgdG9cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfY29weUFsbFByb3BlcnRpZXNEZWNvcmF0b3JQcm9jZXNzZWRGcm9tKHNvdXJjZURhdGE6IGFueSwgZGVzdGluYXRpb25Nb2RlbDogQnVzaW5lc3NPYmplY3QpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXNvdXJjZURhdGEgfHwgIWRlc3RpbmF0aW9uTW9kZWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gcHJvY2VzcyBhbGwgc291cmNlIGRhdGEgaW50byBkZXN0aW5hdGlvbk1vZGVsXHJcbiAgICAgICAgZm9yIChjb25zdCBzcmNQcm9wS2V5IGluIHNvdXJjZURhdGEpIHtcclxuICAgICAgICAgICAgaWYgKCFzb3VyY2VEYXRhLmhhc093blByb3BlcnR5KHNyY1Byb3BLZXkpKSB7XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3Qgc3JjUHJvcFZhbDogYW55ID0gc291cmNlRGF0YVtzcmNQcm9wS2V5XTtcclxuXHJcbiAgICAgICAgICAgIGlmIChDb21wbGV4RmllbGREZWNvcmF0b3IuSXNDb21wbGV4RmllbGQoZGVzdGluYXRpb25Nb2RlbCwgc3JjUHJvcEtleSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNsYXNzT2ZGaWVsZDogYW55ID0gQ29tcGxleEZpZWxkRGVjb3JhdG9yLkdldENvbXBsZXhGaWVsZFR5cGUoZGVzdGluYXRpb25Nb2RlbCwgc3JjUHJvcEtleSk7XHJcbiAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gdGhpcy5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKGNsYXNzT2ZGaWVsZCwgc3JjUHJvcFZhbCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoQ29tcGxleEFycmF5RGVjb3JhdG9yLklzQ29tcGxleEFycmF5KGRlc3RpbmF0aW9uTW9kZWwsIHNyY1Byb3BLZXkpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2VBcnJheTogYW55W10gPSBzcmNQcm9wVmFsO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFzb3VyY2VBcnJheSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgY2xhc3NPZkFycmF5SXRlbXM6IGFueSA9IENvbXBsZXhBcnJheURlY29yYXRvci5HZXRDb21wbGV4QXJyYXlUeXBlKGRlc3RpbmF0aW9uTW9kZWwsIHNyY1Byb3BLZXkpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdGVtcEFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbGVuOiBudW1iZXIgPSBzb3VyY2VBcnJheS5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRlbXBBcnJheS5wdXNoKHRoaXMubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShjbGFzc09mQXJyYXlJdGVtcywgc291cmNlQXJyYXlbaV0pKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSB0ZW1wQXJyYXk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoQm9vbGVhblRleHREZWNvcmF0b3IuSXNCb29sZWFuVGV4dEZpZWxkKGRlc3RpbmF0aW9uTW9kZWwsIHNyY1Byb3BLZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBsb2dpY2FsICd0cnVlJyBhbmQgJ2ZhbHNlJyBhbHNvIGFsbG93ZWQgYXMgaW5jb21pbmcgdmFsdWVzIGZvciBAQm9vbGVhblRleHQoKSBwcm9wZXJ0aWVzOiB0aGVuIGp1c3QgY29weSB0aGVpciB2YWx1ZVxyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBzcmNQcm9wVmFsID09PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSBzcmNQcm9wVmFsO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGhlcmUsIGl0IHNob3VsZCBiZSBhICdKJyBvciAnTicgKG9yICdUJyBvciAnRicpOiBhc3NpZ24gdGhlIGFzc29jaWF0ZWQgYm9vbGVhbiB2YWx1ZVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gQm9vbGVhblRleHREZWNvcmF0b3IuR2V0TG9naWNhbEJvb2xlYW5WYWx1ZShzcmNQcm9wVmFsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmIChEYXRlRmllbGRGaWVsZERlY29yYXRvci5Jc0RhdGVGaWVsZChkZXN0aW5hdGlvbk1vZGVsLCBzcmNQcm9wS2V5KSkge1xyXG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IERhdGVGaWVsZEZpZWxkRGVjb3JhdG9yLlN0cmluZ0FzRGF0ZShzcmNQcm9wVmFsKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChTdHJpbmdOdW1iZXJEZWNvcmF0b3IuSXNTdHJpbmdOdW1iZXIoZGVzdGluYXRpb25Nb2RlbCwgc3JjUHJvcEtleSkpIHtcclxuICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSBTdHJpbmdOdW1iZXJEZWNvcmF0b3IuU3RyaW5nQXNOdW1iZXIoc3JjUHJvcFZhbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gbm9uLWRlY29yYXRlZCBwcm9wXHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlzTmlsbChzcmNQcm9wVmFsKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uTW9kZWxbc3JjUHJvcEtleV0gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoc3JjUHJvcFZhbCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbk1vZGVsW3NyY1Byb3BLZXldID0gQXJyYXlVdGlscy5DbG9uZUFycmF5KHNyY1Byb3BWYWwpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygc3JjUHJvcFZhbCA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChzcmNQcm9wVmFsIGluc3RhbmNlb2YgTWFwKSB7IC8vanVzdCBjb3B5IHRoZSB2YWx1ZSBpbiBjYXNlIG9mIG1hcHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IHNyY1Byb3BWYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IE9iamVjdC5hc3NpZ24oe30sIHNyY1Byb3BWYWwpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25Nb2RlbFtzcmNQcm9wS2V5XSA9IHNyY1Byb3BWYWw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,102 @@
1
+ import { GetYesNoDbBooleanValue } from "@colijnit/articleapi/build/enum/yes-no-db-type.enum";
2
+ import { GetTrueFalseDbBooleanValue } from "@colijnit/articleapi/build/enum/true-false-db-type.enum";
3
+ import { GetOneZeroDbBooleanValue } from "@colijnit/articleapi/build/enum/one-zero-bool-db-type.enum";
4
+ import { GetLogicalBooleanValue } from "@colijnit/articleapi/build/enum/db-boolean-value-type.enum";
5
+ const PROP_META_KEY_JN = "booleanTextJN";
6
+ const PROP_META_KEY_TF = "booleanTextTF";
7
+ const PROP_META_KEY_10 = "booleanText10";
8
+ /**
9
+ * There are 'J', 'T', 'N', 'F', 0 and 1 'boolean values' in the database. These should be translated to true and false boolean values in
10
+ * our client application.
11
+ *
12
+ * The values 'J' and 'N' seem to be most commonly used. This is the default setting when using this decorator.
13
+ * You can pass 'T' or 1 for the other variants as follows:
14
+ *
15
+ * Usage:
16
+ *
17
+ * @BooleanText() or @BooleanText("J") (the default, uses YesNoDbType char values)
18
+ * public foo: boolean // 'J' and 'N' become true and false after BusinessObjectFactoryService and -SerializerService processing
19
+ *
20
+ * @BooleanText('T') (uses TrueFalseDbType char values)
21
+ * public bar: boolean // 'T' and 'F' become true and false after BusinessObjectFactoryService and -SerializerService processing
22
+ *
23
+ * @BooleanText(1)
24
+ * public baz: boolean // 1 and 0 become true and false after BusinessObjectFactoryService and -SerializerService processing
25
+ */
26
+ export function BooleanText(type) {
27
+ return function (target, propertyKey) {
28
+ if (!target || !propertyKey) {
29
+ return;
30
+ }
31
+ // by default, it's a J N boolean text
32
+ if (!type || type === "J") {
33
+ Reflect.defineMetadata(PROP_META_KEY_JN, true, target, propertyKey);
34
+ }
35
+ else if (type === "T") {
36
+ Reflect.defineMetadata(PROP_META_KEY_TF, true, target, propertyKey);
37
+ }
38
+ else if (type === 1) {
39
+ Reflect.defineMetadata(PROP_META_KEY_10, true, target, propertyKey);
40
+ }
41
+ };
42
+ }
43
+ // Utility function holder of the BooleanTextDecorator decorator.
44
+ export class BooleanTextDecorator {
45
+ /**
46
+ * Returns whether given property (as a string) on given object is a boolean text field. That is, it's a field that is decorated
47
+ * with the @BooleanText decorator.
48
+ */
49
+ static IsBooleanTextField(target, propertyKey) {
50
+ if (!target || !propertyKey || typeof target !== "object") {
51
+ return false;
52
+ }
53
+ return (Reflect.getMetadata(PROP_META_KEY_JN, target, propertyKey) === true
54
+ ||
55
+ Reflect.getMetadata(PROP_META_KEY_TF, target, propertyKey) === true
56
+ ||
57
+ Reflect.getMetadata(PROP_META_KEY_10, target, propertyKey) === true);
58
+ }
59
+ /**
60
+ * Returns the logical true or false value of given character ('J', 'N', 'T' or 'F') or number (0 or 1).
61
+ * Returns UNDEFINED if given boolChar was not recognised as a boolean text.
62
+ */
63
+ static GetLogicalBooleanValue(dbBoolChar) {
64
+ return GetLogicalBooleanValue(dbBoolChar);
65
+ }
66
+ /**
67
+ * Returns the boolean character / number of given logical bool property on target object. Uses its @BooleanText() annotation to decide
68
+ * what character / number to return.
69
+ * Used in BusinessObjectSerializerServiceService to convert logical bools to their original boolean character.
70
+ * @returns {string|number} The original, reverse-engineered boolean character (or number) of given object property, or undefined.
71
+ */
72
+ static GetDbBooleanValue(target, propertyKey) {
73
+ if (!target || !propertyKey || typeof target !== "object") {
74
+ return undefined;
75
+ }
76
+ let dbBoolVal = undefined;
77
+ const curBoolVal = target[propertyKey];
78
+ if (BooleanTextDecorator._IsJaNeeProp(target, propertyKey)) {
79
+ dbBoolVal = GetYesNoDbBooleanValue(curBoolVal);
80
+ }
81
+ else if (BooleanTextDecorator._IsTrueFalseProp(target, propertyKey)) {
82
+ dbBoolVal = GetTrueFalseDbBooleanValue(curBoolVal);
83
+ }
84
+ else if (BooleanTextDecorator._IsZeroOneProp(target, propertyKey)) {
85
+ dbBoolVal = GetOneZeroDbBooleanValue(curBoolVal);
86
+ }
87
+ return dbBoolVal;
88
+ }
89
+ static _IsJaNeeProp(target, propertyKey) {
90
+ return BooleanTextDecorator._IsProp(PROP_META_KEY_JN, target, propertyKey);
91
+ }
92
+ static _IsTrueFalseProp(target, propertyKey) {
93
+ return BooleanTextDecorator._IsProp(PROP_META_KEY_TF, target, propertyKey);
94
+ }
95
+ static _IsZeroOneProp(target, propertyKey) {
96
+ return BooleanTextDecorator._IsProp(PROP_META_KEY_10, target, propertyKey);
97
+ }
98
+ static _IsProp(prop, target, propertyKey) {
99
+ return !!target && !!propertyKey && typeof target === "object" && Reflect.hasMetadata(prop, target, propertyKey);
100
+ }
101
+ }
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvZmFjdG9yeS9kZWNvcmF0b3JzL2Jvb2xlYW4uZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzNGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3BHLE9BQU8sRUFBcUIsc0JBQXNCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUV0SCxNQUFNLGdCQUFnQixHQUFXLGVBQWUsQ0FBQztBQUNqRCxNQUFNLGdCQUFnQixHQUFXLGVBQWUsQ0FBQztBQUNqRCxNQUFNLGdCQUFnQixHQUFXLGVBQWUsQ0FBQztBQUVqRDs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQW9CO0lBQzVDLE9BQU8sVUFBVSxNQUFXLEVBQUUsV0FBbUI7UUFDN0MsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN6QixPQUFPO1NBQ1Y7UUFDRCxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFO1lBQ3ZCLE9BQU8sQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztTQUN2RTthQUFNLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtZQUNyQixPQUFPLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDdkU7YUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDbkIsT0FB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blZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvZW51bS95ZXMtbm8tZGItdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7R2V0VHJ1ZUZhbHNlRGJCb29sZWFuVmFsdWV9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9lbnVtL3RydWUtZmFsc2UtZGItdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7R2V0T25lWmVyb0RiQm9vbGVhblZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvZW51bS9vbmUtemVyby1ib29sLWRiLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge0RiQm9vbGVhblZhbHVlVHlwZSwgR2V0TG9naWNhbEJvb2xlYW5WYWx1ZX0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2VudW0vZGItYm9vbGVhbi12YWx1ZS10eXBlLmVudW1cIjtcclxuXHJcbmNvbnN0IFBST1BfTUVUQV9LRVlfSk46IHN0cmluZyA9IFwiYm9vbGVhblRleHRKTlwiO1xyXG5jb25zdCBQUk9QX01FVEFfS0VZX1RGOiBzdHJpbmcgPSBcImJvb2xlYW5UZXh0VEZcIjtcclxuY29uc3QgUFJPUF9NRVRBX0tFWV8xMDogc3RyaW5nID0gXCJib29sZWFuVGV4dDEwXCI7XHJcblxyXG4vKipcclxuICogVGhlcmUgYXJlICdKJywgJ1QnLCAnTicsICdGJywgMCBhbmQgMSAnYm9vbGVhbiB2YWx1ZXMnIGluIHRoZSBkYXRhYmFzZS4gVGhlc2Ugc2hvdWxkIGJlIHRyYW5zbGF0ZWQgdG8gdHJ1ZSBhbmQgZmFsc2UgYm9vbGVhbiB2YWx1ZXMgaW5cclxuICogb3VyIGNsaWVudCBhcHBsaWNhdGlvbi5cclxuICpcclxuICogVGhlIHZhbHVlcyAnSicgYW5kICdOJyBzZWVtIHRvIGJlIG1vc3QgY29tbW9ubHkgdXNlZC4gVGhpcyBpcyB0aGUgZGVmYXVsdCBzZXR0aW5nIHdoZW4gdXNpbmcgdGhpcyBkZWNvcmF0b3IuXHJcbiAqIFlvdSBjYW4gcGFzcyAnVCcgb3IgMSBmb3IgdGhlIG90aGVyIHZhcmlhbnRzIGFzIGZvbGxvd3M6XHJcbiAqXHJcbiAqIFVzYWdlOlxyXG4gKlxyXG4gKiBAQm9vbGVhblRleHQoKSBvciBAQm9vbGVhblRleHQoXCJKXCIpICh0aGUgZGVmYXVsdCwgdXNlcyBZZXNOb0RiVHlwZSBjaGFyIHZhbHVlcylcclxuICogcHVibGljIGZvbzogYm9vbGVhbiAvLyAnSicgYW5kICdOJyBiZWNvbWUgdHJ1ZSBhbmQgZmFsc2UgYWZ0ZXIgQnVzaW5lc3NPYmplY3RGYWN0b3J5U2VydmljZSBhbmQgLVNlcmlhbGl6ZXJTZXJ2aWNlIHByb2Nlc3NpbmdcclxuICpcclxuICogQEJvb2xlYW5UZXh0KCdUJykgKHVzZXMgVHJ1ZUZhbHNlRGJUeXBlIGNoYXIgdmFsdWVzKVxyXG4gKiBwdWJsaWMgYmFyOiBib29sZWFuIC8vICdUJyBhbmQgJ0YnIGJlY29tZSB0cnVlIGFuZCBmYWxzZSBhZnRlciBCdXNpbmVzc09iamVjdEZhY3RvcnlTZXJ2aWNlIGFuZCAtU2VyaWFsaXplclNlcnZpY2UgcHJvY2Vzc2luZ1xyXG4gKlxyXG4gKiBAQm9vbGVhblRleHQoMSlcclxuICogcHVibGljIGJhejogYm9vbGVhbiAvLyAxIGFuZCAwIGJlY29tZSB0cnVlIGFuZCBmYWxzZSBhZnRlciBCdXNpbmVzc09iamVjdEZhY3RvcnlTZXJ2aWNlIGFuZCAtU2VyaWFsaXplclNlcnZpY2UgcHJvY2Vzc2luZ1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEJvb2xlYW5UZXh0KHR5cGU/OiBcIkpcIiB8IFwiVFwiIHwgMSk6IFByb3BlcnR5RGVjb3JhdG9yIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRhcmdldCB8fCAhcHJvcGVydHlLZXkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBieSBkZWZhdWx0LCBpdCdzIGEgSiBOIGJvb2xlYW4gdGV4dFxyXG4gICAgICAgIGlmICghdHlwZSB8fCB0eXBlID09PSBcIkpcIikge1xyXG4gICAgICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFBST1BfTUVUQV9LRVlfSk4sIHRydWUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJUXCIpIHtcclxuICAgICAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShQUk9QX01FVEFfS0VZX1RGLCB0cnVlLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IDEpIHtcclxuICAgICAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShQUk9QX01FVEFfS0VZXzEwLCB0cnVlLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59XHJcblxyXG4vLyBVdGlsaXR5IGZ1bmN0aW9uIGhvbGRlciBvZiB0aGUgQm9vbGVhblRleHREZWNvcmF0b3IgZGVjb3JhdG9yLlxyXG5leHBvcnQgY2xhc3MgQm9vbGVhblRleHREZWNvcmF0b3Ige1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB3aGV0aGVyIGdpdmVuIHByb3BlcnR5IChhcyBhIHN0cmluZykgb24gZ2l2ZW4gb2JqZWN0IGlzIGEgYm9vbGVhbiB0ZXh0IGZpZWxkLiBUaGF0IGlzLCBpdCdzIGEgZmllbGQgdGhhdCBpcyBkZWNvcmF0ZWRcclxuICAgICAqIHdpdGggdGhlIEBCb29sZWFuVGV4dCBkZWNvcmF0b3IuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgSXNCb29sZWFuVGV4dEZpZWxkKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgIXByb3BlcnR5S2V5IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKFBST1BfTUVUQV9LRVlfSk4sIHRhcmdldCwgcHJvcGVydHlLZXkpID09PSB0cnVlXHJcbiAgICAgICAgICAgIHx8XHJcbiAgICAgICAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoUFJPUF9NRVRBX0tFWV9URiwgdGFyZ2V0LCBwcm9wZXJ0eUtleSkgPT09IHRydWVcclxuICAgICAgICAgICAgfHxcclxuICAgICAgICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShQUk9QX01FVEFfS0VZXzEwLCB0YXJnZXQsIHByb3BlcnR5S2V5KSA9PT0gdHJ1ZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBsb2dpY2FsIHRydWUgb3IgZmFsc2UgdmFsdWUgb2YgZ2l2ZW4gY2hhcmFjdGVyICgnSicsICdOJywgJ1QnIG9yICdGJykgb3IgbnVtYmVyICgwIG9yIDEpLlxyXG4gICAgICogUmV0dXJucyBVTkRFRklORUQgaWYgZ2l2ZW4gYm9vbENoYXIgd2FzIG5vdCByZWNvZ25pc2VkIGFzIGEgYm9vbGVhbiB0ZXh0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldExvZ2ljYWxCb29sZWFuVmFsdWUoZGJCb29sQ2hhcjogRGJCb29sZWFuVmFsdWVUeXBlIHwgc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEdldExvZ2ljYWxCb29sZWFuVmFsdWUoZGJCb29sQ2hhcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBib29sZWFuIGNoYXJhY3RlciAvIG51bWJlciBvZiBnaXZlbiBsb2dpY2FsIGJvb2wgcHJvcGVydHkgb24gdGFyZ2V0IG9iamVjdC4gVXNlcyBpdHMgQEJvb2xlYW5UZXh0KCkgYW5ub3RhdGlvbiB0byBkZWNpZGVcclxuICAgICAqIHdoYXQgY2hhcmFjdGVyIC8gbnVtYmVyIHRvIHJldHVybi5cclxuICAgICAqIFVzZWQgaW4gQnVzaW5lc3NPYmplY3RTZXJpYWxpemVyU2VydmljZVNlcnZpY2UgdG8gY29udmVydCBsb2dpY2FsIGJvb2xzIHRvIHRoZWlyIG9yaWdpbmFsIGJvb2xlYW4gY2hhcmFjdGVyLlxyXG4gICAgICogQHJldHVybnMge3N0cmluZ3xudW1iZXJ9IFRoZSBvcmlnaW5hbCwgcmV2ZXJzZS1lbmdpbmVlcmVkIGJvb2xlYW4gY2hhcmFjdGVyIChvciBudW1iZXIpIG9mIGdpdmVuIG9iamVjdCBwcm9wZXJ0eSwgb3IgdW5kZWZpbmVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldERiQm9vbGVhblZhbHVlKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogRGJCb29sZWFuVmFsdWVUeXBlIHtcclxuICAgICAgICBpZiAoIXRhcmdldCB8fCAhcHJvcGVydHlLZXkgfHwgdHlwZW9mIHRhcmdldCAhPT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGRiQm9vbFZhbDogYW55ID0gdW5kZWZpbmVkO1xyXG5cclxuICAgICAgICBjb25zdCBjdXJCb29sVmFsOiBib29sZWFuID0gdGFyZ2V0W3Byb3BlcnR5S2V5XTtcclxuXHJcbiAgICAgICAgaWYgKEJvb2xlYW5UZXh0RGVjb3JhdG9yLl9Jc0phTmVlUHJvcCh0YXJnZXQsIHByb3BlcnR5S2V5KSkge1xyXG4gICAgICAgICAgICBkYkJvb2xWYWwgPSBHZXRZZXNOb0RiQm9vbGVhblZhbHVlKGN1ckJvb2xWYWwpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoQm9vbGVhblRleHREZWNvcmF0b3IuX0lzVHJ1ZUZhbHNlUHJvcCh0YXJnZXQsIHByb3BlcnR5S2V5KSkge1xyXG4gICAgICAgICAgICBkYkJvb2xWYWwgPSBHZXRUcnVlRmFsc2VEYkJvb2xlYW5WYWx1ZShjdXJCb29sVmFsKTtcclxuICAgICAgICB9IGVsc2UgaWYgKEJvb2xlYW5UZXh0RGVjb3JhdG9yLl9Jc1plcm9PbmVQcm9wKHRhcmdldCwgcHJvcGVydHlLZXkpKSB7XHJcbiAgICAgICAgICAgIGRiQm9vbFZhbCA9IEdldE9uZVplcm9EYkJvb2xlYW5WYWx1ZShjdXJCb29sVmFsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBkYkJvb2xWYWwgYXMgYW55IGFzIERiQm9vbGVhblZhbHVlVHlwZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBfSXNKYU5lZVByb3AodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQm9vbGVhblRleHREZWNvcmF0b3IuX0lzUHJvcChQUk9QX01FVEFfS0VZX0pOLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBfSXNUcnVlRmFsc2VQcm9wKHRhcmdldDogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIEJvb2xlYW5UZXh0RGVjb3JhdG9yLl9Jc1Byb3AoUFJPUF9NRVRBX0tFWV9URiwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgX0lzWmVyb09uZVByb3AodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gQm9vbGVhblRleHREZWNvcmF0b3IuX0lzUHJvcChQUk9QX01FVEFfS0VZXzEwLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBfSXNQcm9wKHByb3A6IHN0cmluZywgdGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gISF0YXJnZXQgJiYgISFwcm9wZXJ0eUtleSAmJiB0eXBlb2YgdGFyZ2V0ID09PSBcIm9iamVjdFwiICYmIFJlZmxlY3QuaGFzTWV0YWRhdGEocHJvcCwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XHJcbiAgICB9XHJcbn1cclxuIl19