@veloceapps/sdk 8.0.0-77 → 8.0.0-79

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. package/README.md +0 -1
  2. package/cms/types/common.types.d.ts +0 -1
  3. package/esm2020/cms/types/common.types.mjs +1 -1
  4. package/esm2020/cms/utils/ui-builder-layout.utils.mjs +1 -3
  5. package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +5 -5
  6. package/esm2020/core/modules/configuration/services/configuration.service.mjs +3 -3
  7. package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +6 -6
  8. package/esm2020/src/flow-routing.module.mjs +1 -18
  9. package/esm2020/src/pages/product/product.component.mjs +2 -3
  10. package/esm2020/src/pages/remote/remote.component.mjs +5 -6
  11. package/fesm2015/veloceapps-sdk-cms.mjs +2 -2
  12. package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
  13. package/fesm2015/veloceapps-sdk-core.mjs +16 -15
  14. package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
  15. package/fesm2015/veloceapps-sdk.mjs +8 -160
  16. package/fesm2015/veloceapps-sdk.mjs.map +1 -1
  17. package/fesm2020/veloceapps-sdk-cms.mjs +0 -2
  18. package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
  19. package/fesm2020/veloceapps-sdk-core.mjs +9 -9
  20. package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
  21. package/fesm2020/veloceapps-sdk.mjs +6 -161
  22. package/fesm2020/veloceapps-sdk.mjs.map +1 -1
  23. package/package.json +1 -9
  24. package/src/flow-routing.module.d.ts +6 -7
  25. package/esm2020/runtime/components/component-preview/component-preview.component.mjs +0 -125
  26. package/esm2020/runtime/components/index.mjs +0 -5
  27. package/esm2020/runtime/components/section-renderer/section-renderer.component.mjs +0 -67
  28. package/esm2020/runtime/components/ui-runtime/runtime.component.mjs +0 -440
  29. package/esm2020/runtime/components/ui-runtime-preview/runtime-preview.component.mjs +0 -108
  30. package/esm2020/runtime/execution/components/children-placeholder/children-placeholder.component.mjs +0 -60
  31. package/esm2020/runtime/execution/components/context-provider/context-provider.component.mjs +0 -39
  32. package/esm2020/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.mjs +0 -67
  33. package/esm2020/runtime/execution/components/federated/federated.component.mjs +0 -74
  34. package/esm2020/runtime/execution/components/velo-attribute/velo-attribute.component.mjs +0 -60
  35. package/esm2020/runtime/execution/components/velo-multiselect/velo-multiselect.component.mjs +0 -130
  36. package/esm2020/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.mjs +0 -72
  37. package/esm2020/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.mjs +0 -97
  38. package/esm2020/runtime/execution/components/velo-port-radio/velo-port-radio.component.mjs +0 -142
  39. package/esm2020/runtime/execution/components/velo-type/velo-type.component.mjs +0 -119
  40. package/esm2020/runtime/execution/directives/section-script.directive.mjs +0 -247
  41. package/esm2020/runtime/execution/directives/sf-query.directive.mjs +0 -35
  42. package/esm2020/runtime/execution/directives/velo-attribute.directive.mjs +0 -88
  43. package/esm2020/runtime/execution/directives/velo-port.directive.mjs +0 -376
  44. package/esm2020/runtime/execution/directives/vl-approval.directive.mjs +0 -23
  45. package/esm2020/runtime/execution/directives/vl-document-attachments.directive.mjs +0 -36
  46. package/esm2020/runtime/execution/directives/vl-document-templates.directive.mjs +0 -60
  47. package/esm2020/runtime/execution/directives/vl-quote.directive.mjs +0 -42
  48. package/esm2020/runtime/execution/directives/vl-ramp.directive.mjs +0 -55
  49. package/esm2020/runtime/execution/runtime-execution.module.mjs +0 -133
  50. package/esm2020/runtime/execution/utils/federated.util.mjs +0 -32
  51. package/esm2020/runtime/index.mjs +0 -5
  52. package/esm2020/runtime/runtime.module.mjs +0 -74
  53. package/esm2020/runtime/services/cart.service.mjs +0 -29
  54. package/esm2020/runtime/services/collapsible-state.service.mjs +0 -34
  55. package/esm2020/runtime/services/configuration.service.mjs +0 -119
  56. package/esm2020/runtime/services/current-state.service.mjs +0 -17
  57. package/esm2020/runtime/services/form-scope.service.mjs +0 -30
  58. package/esm2020/runtime/services/index.mjs +0 -4
  59. package/esm2020/runtime/services/product-model-cache.service.mjs +0 -31
  60. package/esm2020/runtime/services/runtime-context.service.mjs +0 -60
  61. package/esm2020/runtime/services/runtime-form.service.mjs +0 -219
  62. package/esm2020/runtime/services/runtime.service.mjs +0 -115
  63. package/esm2020/runtime/services/section-helper.service.mjs +0 -27
  64. package/esm2020/runtime/services/section-scope.service.mjs +0 -36
  65. package/esm2020/runtime/services/section-store.service.mjs +0 -22
  66. package/esm2020/runtime/services/section.service.mjs +0 -117
  67. package/esm2020/runtime/types/bound-data.types.mjs +0 -7
  68. package/esm2020/runtime/types/index.mjs +0 -3
  69. package/esm2020/runtime/types/quote-states.types.mjs +0 -2
  70. package/esm2020/runtime/types/runtime.types.mjs +0 -2
  71. package/esm2020/runtime/types/script-registry.types.mjs +0 -51
  72. package/esm2020/runtime/utils/line-item.util.mjs +0 -270
  73. package/esm2020/runtime/utils/section.utils.mjs +0 -26
  74. package/esm2020/runtime/utils/sections-binder.helper.mjs +0 -105
  75. package/esm2020/runtime/veloceapps-sdk-runtime.mjs +0 -5
  76. package/esm2020/src/pages/legacy-product/legacy-product.component.mjs +0 -137
  77. package/esm2020/src/pages/legacy-product/legacy-product.module.mjs +0 -19
  78. package/fesm2015/veloceapps-sdk-runtime.mjs +0 -3770
  79. package/fesm2015/veloceapps-sdk-runtime.mjs.map +0 -1
  80. package/fesm2020/veloceapps-sdk-runtime.mjs +0 -3767
  81. package/fesm2020/veloceapps-sdk-runtime.mjs.map +0 -1
  82. package/runtime/README.md +0 -5
  83. package/runtime/components/component-preview/component-preview.component.d.ts +0 -27
  84. package/runtime/components/index.d.ts +0 -4
  85. package/runtime/components/section-renderer/section-renderer.component.d.ts +0 -25
  86. package/runtime/components/ui-runtime/runtime.component.d.ts +0 -53
  87. package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +0 -27
  88. package/runtime/execution/components/children-placeholder/children-placeholder.component.d.ts +0 -30
  89. package/runtime/execution/components/context-provider/context-provider.component.d.ts +0 -14
  90. package/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.d.ts +0 -25
  91. package/runtime/execution/components/federated/federated.component.d.ts +0 -36
  92. package/runtime/execution/components/velo-attribute/velo-attribute.component.d.ts +0 -19
  93. package/runtime/execution/components/velo-multiselect/velo-multiselect.component.d.ts +0 -35
  94. package/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.d.ts +0 -22
  95. package/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.d.ts +0 -22
  96. package/runtime/execution/components/velo-port-radio/velo-port-radio.component.d.ts +0 -28
  97. package/runtime/execution/components/velo-type/velo-type.component.d.ts +0 -31
  98. package/runtime/execution/directives/section-script.directive.d.ts +0 -59
  99. package/runtime/execution/directives/sf-query.directive.d.ts +0 -15
  100. package/runtime/execution/directives/velo-attribute.directive.d.ts +0 -26
  101. package/runtime/execution/directives/velo-port.directive.d.ts +0 -74
  102. package/runtime/execution/directives/vl-approval.directive.d.ts +0 -10
  103. package/runtime/execution/directives/vl-document-attachments.directive.d.ts +0 -15
  104. package/runtime/execution/directives/vl-document-templates.directive.d.ts +0 -33
  105. package/runtime/execution/directives/vl-quote.directive.d.ts +0 -14
  106. package/runtime/execution/directives/vl-ramp.directive.d.ts +0 -15
  107. package/runtime/execution/runtime-execution.module.d.ts +0 -25
  108. package/runtime/execution/utils/federated.util.d.ts +0 -6
  109. package/runtime/index.d.ts +0 -4
  110. package/runtime/runtime.module.d.ts +0 -16
  111. package/runtime/services/cart.service.d.ts +0 -15
  112. package/runtime/services/collapsible-state.service.d.ts +0 -15
  113. package/runtime/services/configuration.service.d.ts +0 -20
  114. package/runtime/services/current-state.service.d.ts +0 -8
  115. package/runtime/services/form-scope.service.d.ts +0 -20
  116. package/runtime/services/index.d.ts +0 -3
  117. package/runtime/services/product-model-cache.service.d.ts +0 -14
  118. package/runtime/services/runtime-context.service.d.ts +0 -16
  119. package/runtime/services/runtime-form.service.d.ts +0 -24
  120. package/runtime/services/runtime.service.d.ts +0 -44
  121. package/runtime/services/section-helper.service.d.ts +0 -8
  122. package/runtime/services/section-scope.service.d.ts +0 -14
  123. package/runtime/services/section-store.service.d.ts +0 -11
  124. package/runtime/services/section.service.d.ts +0 -30
  125. package/runtime/types/bound-data.types.d.ts +0 -13
  126. package/runtime/types/index.d.ts +0 -2
  127. package/runtime/types/quote-states.types.d.ts +0 -6
  128. package/runtime/types/runtime.types.d.ts +0 -19
  129. package/runtime/types/script-registry.types.d.ts +0 -13
  130. package/runtime/utils/line-item.util.d.ts +0 -34
  131. package/runtime/utils/section.utils.d.ts +0 -2
  132. package/runtime/utils/sections-binder.helper.d.ts +0 -16
  133. package/src/pages/legacy-product/legacy-product.component.d.ts +0 -37
  134. package/src/pages/legacy-product/legacy-product.module.d.ts +0 -9
@@ -1,130 +0,0 @@
1
- import { Overlay } from '@angular/cdk/overlay';
2
- import { TemplatePortal } from '@angular/cdk/portal';
3
- import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, TemplateRef, ViewChild, ViewContainerRef, } from '@angular/core';
4
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
- import { merge, of } from 'rxjs';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/cdk/overlay";
8
- import * as i2 from "@angular/common";
9
- export class MultiselectComponent {
10
- constructor(elRef, viewContainerRef, overlay) {
11
- this.elRef = elRef;
12
- this.viewContainerRef = viewContainerRef;
13
- this.overlay = overlay;
14
- this.selectionChange = new EventEmitter();
15
- this.selected = [];
16
- this.displayValue = '';
17
- this.touched = false;
18
- this.disabled = false;
19
- this.opened = false;
20
- this.onChange = () => {
21
- return;
22
- };
23
- this.onTouched = () => {
24
- return;
25
- };
26
- }
27
- ngOnDestroy() {
28
- this.destroyDropdown();
29
- }
30
- writeValue(selected) {
31
- this.selected = selected;
32
- this.getDisplayValue();
33
- }
34
- registerOnChange(onChange) {
35
- this.onChange = onChange;
36
- }
37
- registerOnTouched(onTouched) {
38
- this.onTouched = onTouched;
39
- }
40
- setDisabledState(disabled) {
41
- this.disabled = disabled;
42
- }
43
- handleSelection(value) {
44
- const selectedItem = this.selected.find(item => item === value);
45
- if (selectedItem) {
46
- this.selected = this.selected.filter(item => item !== value);
47
- }
48
- else {
49
- this.selected = [...this.selected, value];
50
- }
51
- this.getDisplayValue();
52
- this.selectionChange.emit(this.selected);
53
- this.onChange(this.selected);
54
- }
55
- toggleOpened() {
56
- this.opened ? this.destroyDropdown() : this.openDropdown();
57
- }
58
- getDisplayValue() {
59
- const joinedValue = this.selected.join(', ');
60
- this.displayValue = joinedValue.length > 24 ? `${this.selected.length} options selected` : joinedValue;
61
- }
62
- openDropdown() {
63
- this.opened = true;
64
- this.overlayRef = this.overlay.create({
65
- hasBackdrop: true,
66
- backdropClass: 'cdk-overlay-transparent-backdrop',
67
- scrollStrategy: this.overlay.scrollStrategies.close(),
68
- positionStrategy: this.overlay
69
- .position()
70
- .flexibleConnectedTo(this.elRef)
71
- .withPositions([
72
- {
73
- originX: 'end',
74
- originY: 'bottom',
75
- overlayX: 'end',
76
- overlayY: 'top',
77
- offsetY: 8,
78
- },
79
- ]),
80
- });
81
- const templatePortal = new TemplatePortal(this.overlayTemplate, this.viewContainerRef);
82
- this.overlayRef.attach(templatePortal);
83
- this.dropdownClosingActionsSub = this.dropdownClosingActions().subscribe(() => this.destroyDropdown());
84
- }
85
- dropdownClosingActions() {
86
- if (!this.overlayRef) {
87
- return of();
88
- }
89
- const backdropClick$ = this.overlayRef.backdropClick();
90
- const detachment$ = this.overlayRef.detachments();
91
- return merge(backdropClick$, detachment$);
92
- }
93
- destroyDropdown() {
94
- if (!this.overlayRef || !this.opened) {
95
- return;
96
- }
97
- this.dropdownClosingActionsSub?.unsubscribe();
98
- this.opened = false;
99
- this.overlayRef.detach();
100
- }
101
- }
102
- MultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MultiselectComponent, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
103
- MultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MultiselectComponent, selector: "velo-multiselect", inputs: { options: "options" }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.opened": "this.opened" } }, providers: [
104
- {
105
- provide: NG_VALUE_ACCESSOR,
106
- multi: true,
107
- useExisting: MultiselectComponent,
108
- },
109
- ], viewQueries: [{ propertyName: "overlayTemplate", first: true, predicate: ["overlayTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"value-wrapper\" (click)=\"toggleOpened()\">\n <span class=\"value\">{{ displayValue }}</span>\n <i class=\"fa fa-chevron-down\"></i>\n</div>\n\n<ng-template #overlayTemplate>\n <div class=\"dropdown\">\n <div class=\"checkbox-select\" *ngFor=\"let option of options\">\n <label>\n <input\n type=\"checkbox\"\n [checked]=\"selected.includes(option)\"\n (change)=\"handleSelection(option)\"\n [value]=\"option\"\n />\n\n <i class=\"input-helper\"></i>\n {{ option }}\n </label>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:block;width:172px}:host[disabled] .value-wrapper{pointer-events:none;background:rgba(0,0,0,.06);border-color:#0003}:host.opened .value-wrapper{border-color:#0e8fff}:host.opened i{transform:rotate(180deg)}:host .value-wrapper{cursor:pointer;display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 10px;border:1px solid #ddd;border-radius:3px;background:#fff}:host .value-wrapper .value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown{width:172px;max-height:200px;background:#fff;border:1px solid #ddd;border-radius:3px;overflow:auto}.dropdown .checkbox-select{padding:0 10px;width:100%}.dropdown .checkbox-select label{width:100%;height:36px;line-height:36px}.dropdown .checkbox-select .input-helper:before{top:10px}.dropdown .checkbox-select .input-helper:after{top:12px}.dropdown .checkbox-select:hover{background:#d5dddf}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MultiselectComponent, decorators: [{
111
- type: Component,
112
- args: [{ selector: 'velo-multiselect', providers: [
113
- {
114
- provide: NG_VALUE_ACCESSOR,
115
- multi: true,
116
- useExisting: MultiselectComponent,
117
- },
118
- ], template: "<div class=\"value-wrapper\" (click)=\"toggleOpened()\">\n <span class=\"value\">{{ displayValue }}</span>\n <i class=\"fa fa-chevron-down\"></i>\n</div>\n\n<ng-template #overlayTemplate>\n <div class=\"dropdown\">\n <div class=\"checkbox-select\" *ngFor=\"let option of options\">\n <label>\n <input\n type=\"checkbox\"\n [checked]=\"selected.includes(option)\"\n (change)=\"handleSelection(option)\"\n [value]=\"option\"\n />\n\n <i class=\"input-helper\"></i>\n {{ option }}\n </label>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:block;width:172px}:host[disabled] .value-wrapper{pointer-events:none;background:rgba(0,0,0,.06);border-color:#0003}:host.opened .value-wrapper{border-color:#0e8fff}:host.opened i{transform:rotate(180deg)}:host .value-wrapper{cursor:pointer;display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 10px;border:1px solid #ddd;border-radius:3px;background:#fff}:host .value-wrapper .value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown{width:172px;max-height:200px;background:#fff;border:1px solid #ddd;border-radius:3px;overflow:auto}.dropdown .checkbox-select{padding:0 10px;width:100%}.dropdown .checkbox-select label{width:100%;height:36px;line-height:36px}.dropdown .checkbox-select .input-helper:before{top:10px}.dropdown .checkbox-select .input-helper:after{top:12px}.dropdown .checkbox-select:hover{background:#d5dddf}\n"] }]
119
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i1.Overlay }]; }, propDecorators: { options: [{
120
- type: Input
121
- }], selectionChange: [{
122
- type: Output
123
- }], overlayTemplate: [{
124
- type: ViewChild,
125
- args: ['overlayTemplate']
126
- }], opened: [{
127
- type: HostBinding,
128
- args: ['class.opened']
129
- }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVsby1tdWx0aXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL3ZlbG8tbXVsdGlzZWxlY3QvdmVsby1tdWx0aXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL3ZlbG8tbXVsdGlzZWxlY3QvdmVsby1tdWx0aXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBYyxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7O0FBZTNELE1BQU0sT0FBTyxvQkFBb0I7SUF1Qi9CLFlBQW9CLEtBQWlCLEVBQVUsZ0JBQWtDLEVBQVUsT0FBZ0I7UUFBdkYsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBckIxRixvQkFBZSxHQUEyQixJQUFJLFlBQVksRUFBWSxDQUFDO1FBQ2pGLGFBQVEsR0FBYSxFQUFFLENBQUM7UUFDeEIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsWUFBTyxHQUFHLEtBQUssQ0FB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LEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLHNCQUFzQjt5QkFDbEM7cUJBQ0Y7c0pBR2UsT0FBTztzQkFBdEIsS0FBSztnQkFDVyxlQUFlO3NCQUEvQixNQUFNO2dCQU04QixlQUFlO3NCQUFuRCxTQUFTO3VCQUFDLGlCQUFpQjtnQkFHckIsTUFBTTtzQkFEWixXQUFXO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ3ZlbG8tbXVsdGlzZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJ3ZlbG8tbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92ZWxvLW11bHRpc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlzZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM/OiBhbnlbXTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuICBwdWJsaWMgc2VsZWN0ZWQ6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyBkaXNwbGF5VmFsdWUgPSAnJztcbiAgcHVibGljIHRvdWNoZWQgPSBmYWxzZTtcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnb3ZlcmxheVRlbXBsYXRlJykgcHVibGljIG92ZXJsYXlUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vcGVuZWQnKVxuICBwdWJsaWMgb3BlbmVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcbiAgcHJpdmF0ZSBkcm9wZG93bkNsb3NpbmdBY3Rpb25zU3ViPzogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyBvbkNoYW5nZTogKHNlbGVjdGVkOiBzdHJpbmdbXSkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICByZXR1cm47XG4gIH07XG4gIHB1YmxpYyBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgcmV0dXJuO1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5KSB7fVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lEcm9wZG93bigpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUoc2VsZWN0ZWQ6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgdGhpcy5nZXREaXNwbGF5VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gb25DaGFuZ2U7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZVNlbGVjdGlvbih2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gdGhpcy5zZWxlY3RlZC5maW5kKGl0ZW0gPT4gaXRlbSA9PT0gdmFsdWUpO1xuXG4gICAgaWYgKHNlbGVjdGVkSXRlbSkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWQuZmlsdGVyKGl0ZW0gPT4gaXRlbSAhPT0gdmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkID0gWy4uLnRoaXMuc2VsZWN0ZWQsIHZhbHVlXTtcbiAgICB9XG5cbiAgICB0aGlzLmdldERpc3BsYXlWYWx1ZSgpO1xuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZCk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVPcGVuZWQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuZWQgPyB0aGlzLmRlc3Ryb3lEcm9wZG93bigpIDogdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGlzcGxheVZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGpvaW5lZFZhbHVlID0gdGhpcy5zZWxlY3RlZC5qb2luKCcsICcpO1xuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gam9pbmVkVmFsdWUubGVuZ3RoID4gMjQgPyBgJHt0aGlzLnNlbGVjdGVkLmxlbmd0aH0gb3B0aW9ucyBzZWxlY3RlZGAgOiBqb2luZWRWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbmVkID0gdHJ1ZTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5XG4gICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxSZWYpXG4gICAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgICAgb2Zmc2V0WTogOCxcbiAgICAgICAgICB9LFxuICAgICAgICBdKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHRlbXBsYXRlUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMub3ZlcmxheVRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2godGVtcGxhdGVQb3J0YWwpO1xuXG4gICAgdGhpcy5kcm9wZG93bkNsb3NpbmdBY3Rpb25zU3ViID0gdGhpcy5kcm9wZG93bkNsb3NpbmdBY3Rpb25zKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZGVzdHJveURyb3Bkb3duKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBkcm9wZG93bkNsb3NpbmdBY3Rpb25zKCk6IE9ic2VydmFibGU8TW91c2VFdmVudCB8IHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikge1xuICAgICAgcmV0dXJuIG9mKCk7XG4gICAgfVxuXG4gICAgY29uc3QgYmFja2Ryb3BDbGljayQgPSB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpO1xuICAgIGNvbnN0IGRldGFjaG1lbnQkID0gdGhpcy5vdmVybGF5UmVmLmRldGFjaG1lbnRzKCk7XG5cbiAgICByZXR1cm4gbWVyZ2UoYmFja2Ryb3BDbGljayQsIGRldGFjaG1lbnQkKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveURyb3Bkb3duKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vdmVybGF5UmVmIHx8ICF0aGlzLm9wZW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZHJvcGRvd25DbG9zaW5nQWN0aW9uc1N1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInZhbHVlLXdyYXBwZXJcIiAoY2xpY2spPVwidG9nZ2xlT3BlbmVkKClcIj5cbiAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPnt7IGRpc3BsYXlWYWx1ZSB9fTwvc3Bhbj5cbiAgPGkgY2xhc3M9XCJmYSBmYS1jaGV2cm9uLWRvd25cIj48L2k+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNvdmVybGF5VGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJkcm9wZG93blwiPlxuICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1zZWxlY3RcIiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIj5cbiAgICAgIDxsYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZC5pbmNsdWRlcyhvcHRpb24pXCJcbiAgICAgICAgICAoY2hhbmdlKT1cImhhbmRsZVNlbGVjdGlvbihvcHRpb24pXCJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8aSBjbGFzcz1cImlucHV0LWhlbHBlclwiPjwvaT5cbiAgICAgICAge3sgb3B0aW9uIH19XG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,72 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { FormScopeService } from '../../../services/form-scope.service';
3
- import { SectionScopeService } from '../../../services/section-scope.service';
4
- import { SectionsBinderHelper } from '../../../utils/sections-binder.helper';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../services/form-scope.service";
7
- import * as i2 from "../../../services/section-scope.service";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "@angular/forms";
10
- export class VeloPortCheckBoxComponent {
11
- constructor(formScope, sectionScope) {
12
- this.formScope = formScope;
13
- this.sectionScope = sectionScope;
14
- this.showSelectAll = false;
15
- this.form = this.formScope.form;
16
- this.section = this.sectionScope.section;
17
- this.controlName = this.section.id;
18
- this.section.sectionValue?.valueOptions.forEach(item => {
19
- if (this.hasValueFor(item)) {
20
- this.form.controls[this.controlName].setValue(item);
21
- }
22
- });
23
- }
24
- handleChange(valueOption) {
25
- const updateData = {
26
- id: this.section.id,
27
- action: this.hasValueFor(valueOption)
28
- ? 'remove'
29
- : this.section.model && SectionsBinderHelper.isAddAllowed(this.section.model, this.section.boundData.name)
30
- ? 'create'
31
- : 'update',
32
- valueOption,
33
- };
34
- this.formScope.publishFormUpdate(updateData);
35
- }
36
- hasValueFor(valueOption) {
37
- return !!this.findLineItemForValue(valueOption);
38
- }
39
- selectAllChange() {
40
- const portDomain = this.section.model?.portDomains[this.section.boundData.name];
41
- const updateData = {
42
- id: this.section.id,
43
- action: 'upsert',
44
- selectedValueOptions: this.isAllSelected() ? [] : portDomain ? portDomain.domainTypes.map(t => t.name) : [],
45
- };
46
- this.formScope.publishFormUpdate(updateData);
47
- }
48
- isAllSelected() {
49
- const selected = this.section.model?.lineItems.filter(li => li.port && li.port === this.section.boundData.name);
50
- const portDomain = this.section.model?.portDomains[this.section.boundData.name];
51
- return portDomain ? portDomain.domainTypes.length === selected?.length : false;
52
- }
53
- getMessages(valueOption) {
54
- if (this.section.model?.lineItems) {
55
- return this.findLineItemForValue(valueOption)?.messages ?? [];
56
- }
57
- return [];
58
- }
59
- findLineItemForValue(valueOption) {
60
- return (this.section.model?.lineItems &&
61
- this.section.model.lineItems.find(li => li.type && li.type.toLowerCase() === valueOption.toLowerCase()));
62
- }
63
- }
64
- VeloPortCheckBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortCheckBoxComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
65
- VeloPortCheckBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: VeloPortCheckBoxComponent, selector: "velo-port-checkbox", inputs: { showSelectAll: "showSelectAll" }, ngImport: i0, template: "<div [formGroup]=\"form\">\n <!--TODO ALE replace divs with ng-templates-->\n <div *ngIf=\"showSelectAll\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-checkbox collapsed\">\n <div class=\"box-title\">\n <div class=\"header clearfix\">\n <div class=\"checkbox-select\">\n <label>\n <input type=\"checkbox\" (change)=\"selectAllChange()\" [checked]=\"isAllSelected()\" />\n\n <i class=\"input-helper\"></i>\n Select All\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngFor=\"let valueOption of section.sectionValue?.valueOptions\">\n <div class=\"unchecked\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-checkbox collapsed\">\n <div class=\"box-title\" (click)=\"handleChange(valueOption)\">\n <div class=\"header clearfix\">\n <div class=\"checkbox-select\">\n <label>\n <input\n type=\"checkbox\"\n [class.checkbox--checked]=\"valueOption === form.controls[controlName].value\"\n />\n\n <i class=\"input-helper\"></i>\n {{section.sectionValue?.displayValues?.[valueOption] || valueOption}}\n </label>\n </div>\n </div>\n\n <div class=\"box-actions\" *ngIf=\"hasValueFor(valueOption)\">\n <ng-template #msgTemplate>\n <div class=\"runtime-info-message\">\n <ul class=\"message-text\">\n <li *ngFor=\"let message of getMessages(valueOption)\">{{ message }}</li>\n </ul>\n </div>\n </ng-template>\n <!-- removed dependency: ngx-bootstrap -->\n <!-- <div\n class=\"box-action-button\"\n *ngIf=\"getMessages(valueOption).length > 0\"\n [popover]=\"msgTemplate\"\n placement=\"left\"\n container=\"body\"\n [isOpen]=\"true\"\n >\n <a href=\"javascript:void(0);\">\n <i class=\"fa fa-info check-icon\"></i>\n </a>\n </div> -->\n </div>\n </div>\n <div class=\"box-content-wrapper\">\n <div class=\"box-content\">&nbsp;</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortCheckBoxComponent, decorators: [{
67
- type: Component,
68
- args: [{ selector: 'velo-port-checkbox', template: "<div [formGroup]=\"form\">\n <!--TODO ALE replace divs with ng-templates-->\n <div *ngIf=\"showSelectAll\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-checkbox collapsed\">\n <div class=\"box-title\">\n <div class=\"header clearfix\">\n <div class=\"checkbox-select\">\n <label>\n <input type=\"checkbox\" (change)=\"selectAllChange()\" [checked]=\"isAllSelected()\" />\n\n <i class=\"input-helper\"></i>\n Select All\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngFor=\"let valueOption of section.sectionValue?.valueOptions\">\n <div class=\"unchecked\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-checkbox collapsed\">\n <div class=\"box-title\" (click)=\"handleChange(valueOption)\">\n <div class=\"header clearfix\">\n <div class=\"checkbox-select\">\n <label>\n <input\n type=\"checkbox\"\n [class.checkbox--checked]=\"valueOption === form.controls[controlName].value\"\n />\n\n <i class=\"input-helper\"></i>\n {{section.sectionValue?.displayValues?.[valueOption] || valueOption}}\n </label>\n </div>\n </div>\n\n <div class=\"box-actions\" *ngIf=\"hasValueFor(valueOption)\">\n <ng-template #msgTemplate>\n <div class=\"runtime-info-message\">\n <ul class=\"message-text\">\n <li *ngFor=\"let message of getMessages(valueOption)\">{{ message }}</li>\n </ul>\n </div>\n </ng-template>\n <!-- removed dependency: ngx-bootstrap -->\n <!-- <div\n class=\"box-action-button\"\n *ngIf=\"getMessages(valueOption).length > 0\"\n [popover]=\"msgTemplate\"\n placement=\"left\"\n container=\"body\"\n [isOpen]=\"true\"\n >\n <a href=\"javascript:void(0);\">\n <i class=\"fa fa-info check-icon\"></i>\n </a>\n </div> -->\n </div>\n </div>\n <div class=\"box-content-wrapper\">\n <div class=\"box-content\">&nbsp;</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-content></ng-content>\n" }]
69
- }], ctorParameters: function () { return [{ type: i1.FormScopeService }, { type: i2.SectionScopeService }]; }, propDecorators: { showSelectAll: [{
70
- type: Input
71
- }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVsby1wb3J0LWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvZXhlY3V0aW9uL2NvbXBvbmVudHMvdmVsby1wb3J0LWNoZWNrYm94L3ZlbG8tcG9ydC1jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL3ZlbG8tcG9ydC1jaGVja2JveC92ZWxvLXBvcnQtY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7OztBQU83RSxNQUFNLE9BQU8seUJBQXlCO0lBUXBDLFlBQW9CLFNBQTJCLEVBQVUsWUFBaUM7UUFBdEUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFGMUUsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFHcEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1FBRXpDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFFbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZ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LE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDeEcsQ0FBQztJQUNKLENBQUM7O3NIQXpFVSx5QkFBeUI7MEdBQXpCLHlCQUF5QixzR0NidEMseWhHQStFQTsyRkRsRWEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUVFLG9CQUFvQjt5SUFTZCxhQUFhO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTGluZUl0ZW0sIFNlY3Rpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IEZvcm1TY29wZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLXNjb3BlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VjdGlvblNjb3BlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NlY3Rpb24tc2NvcGUuc2VydmljZSc7XG5pbXBvcnQgeyBVcGRhdGVEYXRhIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgU2VjdGlvbnNCaW5kZXJIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscy9zZWN0aW9ucy1iaW5kZXIuaGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAndmVsby1wb3J0LWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICd2ZWxvLXBvcnQtY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBWZWxvUG9ydENoZWNrQm94Q29tcG9uZW50IHtcbiAgcHVibGljIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIHNlY3Rpb246IFNlY3Rpb247XG5cbiAgQElucHV0KCkgcHVibGljIHNob3dTZWxlY3RBbGwgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1TY29wZTogRm9ybVNjb3BlU2VydmljZSwgcHJpdmF0ZSBzZWN0aW9uU2NvcGU6IFNlY3Rpb25TY29wZVNlcnZpY2UpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TY29wZS5mb3JtO1xuICAgIHRoaXMuc2VjdGlvbiA9IHRoaXMuc2VjdGlvblNjb3BlLnNlY3Rpb247XG5cbiAgICB0aGlzLmNvbnRyb2xOYW1lID0gdGhpcy5zZWN0aW9uLmlkO1xuXG4gICAgdGhpcy5zZWN0aW9uLnNlY3Rpb25WYWx1ZT8udmFsdWVPcHRpb25zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBpZiAodGhpcy5oYXNWYWx1ZUZvcihpdGVtKSkge1xuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5jb250cm9sTmFtZV0uc2V0VmFsdWUoaXRlbSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ2hhbmdlKHZhbHVlT3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB1cGRhdGVEYXRhOiBVcGRhdGVEYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuc2VjdGlvbi5pZCxcbiAgICAgIGFjdGlvbjogdGhpcy5oYXNWYWx1ZUZvcih2YWx1ZU9wdGlvbilcbiAgICAgICAgPyAncmVtb3ZlJ1xuICAgICAgICA6IHRoaXMuc2VjdGlvbi5tb2RlbCAmJiBTZWN0aW9uc0JpbmRlckhlbHBlci5pc0FkZEFsbG93ZWQodGhpcy5zZWN0aW9uLm1vZGVsLCB0aGlzLnNlY3Rpb24uYm91bmREYXRhLm5hbWUpXG4gICAgICAgID8gJ2NyZWF0ZSdcbiAgICAgICAgOiAndXBkYXRlJyxcbiAgICAgIHZhbHVlT3B0aW9uLFxuICAgIH07XG5cbiAgICB0aGlzLmZvcm1TY29wZS5wdWJsaXNoRm9ybVVwZGF0ZSh1cGRhdGVEYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNWYWx1ZUZvcih2YWx1ZU9wdGlvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5maW5kTGluZUl0ZW1Gb3JWYWx1ZSh2YWx1ZU9wdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsQ2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHBvcnREb21haW4gPSB0aGlzLnNlY3Rpb24ubW9kZWw/LnBvcnREb21haW5zW3RoaXMuc2VjdGlvbi5ib3VuZERhdGEubmFtZV07XG5cbiAgICBjb25zdCB1cGRhdGVEYXRhOiBVcGRhdGVEYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuc2VjdGlvbi5pZCxcbiAgICAgIGFjdGlvbjogJ3Vwc2VydCcsXG4gICAgICBzZWxlY3RlZFZhbHVlT3B0aW9uczogdGhpcy5pc0FsbFNlbGVjdGVkKCkgPyBbXSA6IHBvcnREb21haW4gPyBwb3J0RG9tYWluLmRvbWFpblR5cGVzLm1hcCh0ID0+IHQubmFtZSkgOiBbXSxcbiAgICB9O1xuXG4gICAgdGhpcy5mb3JtU2NvcGUucHVibGlzaEZvcm1VcGRhdGUodXBkYXRlRGF0YSk7XG4gIH1cblxuICBwdWJsaWMgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWxlY3RlZDogTGluZUl0ZW1bXSB8IHVuZGVmaW5lZCA9IHRoaXMuc2VjdGlvbi5tb2RlbD8ubGluZUl0ZW1zLmZpbHRlcihcbiAgICAgIGxpID0+IGxpLnBvcnQgJiYgbGkucG9ydCA9PT0gdGhpcy5zZWN0aW9uLmJvdW5kRGF0YS5uYW1lLFxuICAgICk7XG5cbiAgICBjb25zdCBwb3J0RG9tYWluID0gdGhpcy5zZWN0aW9uLm1vZGVsPy5wb3J0RG9tYWluc1t0aGlzLnNlY3Rpb24uYm91bmREYXRhLm5hbWVdO1xuXG4gICAgcmV0dXJuIHBvcnREb21haW4gPyBwb3J0RG9tYWluLmRvbWFpblR5cGVzLmxlbmd0aCA9PT0gc2VsZWN0ZWQ/Lmxlbmd0aCA6IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldE1lc3NhZ2VzKHZhbHVlT3B0aW9uOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgaWYgKHRoaXMuc2VjdGlvbi5tb2RlbD8ubGluZUl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5maW5kTGluZUl0ZW1Gb3JWYWx1ZSh2YWx1ZU9wdGlvbik/Lm1lc3NhZ2VzID8/IFtdO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwcml2YXRlIGZpbmRMaW5lSXRlbUZvclZhbHVlKHZhbHVlT3B0aW9uOiBzdHJpbmcpOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2VjdGlvbi5tb2RlbD8ubGluZUl0ZW1zICYmXG4gICAgICB0aGlzLnNlY3Rpb24ubW9kZWwubGluZUl0ZW1zLmZpbmQobGkgPT4gbGkudHlwZSAmJiBsaS50eXBlLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlT3B0aW9uLnRvTG93ZXJDYXNlKCkpXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgPCEtLVRPRE8gQUxFIHJlcGxhY2UgZGl2cyB3aXRoIG5nLXRlbXBsYXRlcy0tPlxuICA8ZGl2ICpuZ0lmPVwic2hvd1NlbGVjdEFsbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbm8tZ3V0dGVyIGNsZWFyZml4XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1ib3ggY29udGFpbmVyLWJveC1ib3JkZXJlZCBjb250YWluZXItYm94LWNoZWNrYm94IGNvbGxhcHNlZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJveC10aXRsZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyIGNsZWFyZml4XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LXNlbGVjdFwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgKGNoYW5nZSk9XCJzZWxlY3RBbGxDaGFuZ2UoKVwiIFtjaGVja2VkXT1cImlzQWxsU2VsZWN0ZWQoKVwiIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpbnB1dC1oZWxwZXJcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIFNlbGVjdCBBbGxcbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0Zvcj1cImxldCB2YWx1ZU9wdGlvbiBvZiBzZWN0aW9uLnNlY3Rpb25WYWx1ZT8udmFsdWVPcHRpb25zXCI+XG4gICAgPGRpdiBjbGFzcz1cInVuY2hlY2tlZFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBuby1ndXR0ZXIgY2xlYXJmaXhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWJveCBjb250YWluZXItYm94LWJvcmRlcmVkIGNvbnRhaW5lci1ib3gtY2hlY2tib3ggY29sbGFwc2VkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3gtdGl0bGVcIiAoY2xpY2spPVwiaGFuZGxlQ2hhbmdlKHZhbHVlT3B0aW9uKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXIgY2xlYXJmaXhcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1zZWxlY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jaGVja2JveC0tY2hlY2tlZF09XCJ2YWx1ZU9wdGlvbiA9PT0gZm9ybS5jb250cm9sc1tjb250cm9sTmFtZV0udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImlucHV0LWhlbHBlclwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICB7e3NlY3Rpb24uc2VjdGlvblZhbHVlPy5kaXNwbGF5VmFsdWVzPy5bdmFsdWVPcHRpb25dIHx8IHZhbHVlT3B0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJveC1hY3Rpb25zXCIgKm5nSWY9XCJoYXNWYWx1ZUZvcih2YWx1ZU9wdGlvbilcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbXNnVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJydW50aW1lLWluZm8tbWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm1lc3NhZ2UtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIGdldE1lc3NhZ2VzKHZhbHVlT3B0aW9uKVwiPnt7IG1lc3NhZ2UgfX08L2xpPlxuICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwhLS0gcmVtb3ZlZCBkZXBlbmRlbmN5OiBuZ3gtYm9vdHN0cmFwIC0tPlxuICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm94LWFjdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdldE1lc3NhZ2VzKHZhbHVlT3B0aW9uKS5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICAgICAgW3BvcG92ZXJdPVwibXNnVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJsZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICAgICAgICAgICAgICAgIFtpc09wZW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1pbmZvIGNoZWNrLWljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3gtY29udGVudC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJveC1jb250ZW50XCI+Jm5ic3A7PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -1,97 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { EntityUtil } from '@veloceapps/core';
3
- import { FormScopeService } from '../../../services/form-scope.service';
4
- import { SectionScopeService } from '../../../services/section-scope.service';
5
- import { SectionsBinderHelper } from '../../../utils/sections-binder.helper';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../../services/form-scope.service";
8
- import * as i2 from "../../../services/section-scope.service";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "@angular/forms";
11
- import * as i5 from "@veloceapps/core";
12
- export class VeloPortDropdownComponent {
13
- constructor(formScope, sectionScope) {
14
- this.formScope = formScope;
15
- this.sectionScope = sectionScope;
16
- this.prices = {};
17
- this.form = this.formScope.form;
18
- this.section = this.sectionScope.section;
19
- this.controlName = this.section.id;
20
- this.qtyControlName = this.section.id + 'qty';
21
- if (this.section.pricingEnabled) {
22
- this.section.sectionValue?.valueOptions.forEach(valueOption => {
23
- this.prices[valueOption] = this.findPriceItemsForValue(valueOption);
24
- });
25
- }
26
- }
27
- isAddAllowed() {
28
- if (!EntityUtil.isPresent(this.form.controls[this.controlName].value)) {
29
- return false;
30
- }
31
- return this.section.model
32
- ? SectionsBinderHelper.isAddAllowed(this.section.model, this.section.boundData.name)
33
- : false;
34
- }
35
- handleCreate() {
36
- if (this.form.invalid || !this.isAddAllowed()) {
37
- return;
38
- }
39
- const updateData = {
40
- id: this.section.id,
41
- action: 'create',
42
- };
43
- this.formScope.publishFormUpdate(updateData);
44
- }
45
- findPriceItemsForValue(valueOption) {
46
- let prices = [];
47
- if (valueOption) {
48
- const portDomain = this.section.model?.portDomains[this.section.boundData.name];
49
- const domainType = portDomain?.domainTypes.find(d => d.name.toLowerCase() === valueOption.toLowerCase());
50
- if (domainType && domainType.recommendedPrices) {
51
- prices = domainType.recommendedPrices;
52
- }
53
- }
54
- const oneTime = {
55
- chargeMethod: 'ONE_TIME',
56
- netPrice: 0,
57
- listPrice: 0,
58
- chargeType: '',
59
- };
60
- const recurring = {
61
- chargeMethod: 'RECURRING',
62
- netPrice: 0,
63
- listPrice: 0,
64
- chargeType: '',
65
- };
66
- prices.forEach(p => {
67
- if (p.chargeMethod === oneTime.chargeMethod) {
68
- this.add(oneTime, p);
69
- }
70
- if (p.chargeMethod === recurring.chargeMethod) {
71
- this.add(recurring, p);
72
- }
73
- });
74
- const result = [];
75
- if (oneTime.listPrice > 0) {
76
- result.push(oneTime);
77
- }
78
- if (recurring.listPrice > 0) {
79
- result.push(recurring);
80
- }
81
- return result;
82
- }
83
- add(target, src) {
84
- target.netPrice = target.netPrice + src.netPrice;
85
- target.listPrice = target.listPrice + src.listPrice;
86
- if (src.explanation) {
87
- target.explanation = src.explanation;
88
- }
89
- }
90
- }
91
- VeloPortDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortDropdownComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
92
- VeloPortDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: VeloPortDropdownComponent, selector: "velo-port-dropdown", ngImport: i0, template: "<div class=\"form-group col-md-12\" [formGroup]=\"form\">\n <div class=\"input-form-input div-inline\">\n <label [for]=\"controlName\">{{ section.label }}</label>\n <div class=\"form-control-wrapper\">\n <select [id]=\"controlName\" [formControlName]=\"controlName\" class=\"form-control\">\n <option *ngFor=\"let valueOption of section.sectionValue?.valueOptions\" [ngValue]=\"valueOption\">\n {{section.sectionValue?.displayValues?.[valueOption] || valueOption}}\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <span>${{ prices[valueOption][0].netPrice }}</span>\n <span *ngIf=\"prices[valueOption].length > 1\">\n <span>, </span>\n <span>${{ prices[valueOption][1].netPrice }}</span>\n </span>\n </span>\n </option>\n </select>\n </div>\n </div>\n <div class=\"input-form-input div-inline quantity-form-input\">\n <label [for]=\"qtyControlName\"> Quantity </label>\n <div class=\"form-control-wrapper\">\n <input [id]=\"qtyControlName\" [formControlName]=\"qtyControlName\" type=\"text\" class=\"form-control\" size=\"3\" />\n\n <div\n class=\"validation-message\"\n [hidden]=\"form.controls[qtyControlName].valid || form.controls[qtyControlName].pristine\"\n >\n <div *ngFor=\"let key of form.controls[qtyControlName].errors | values\">\n <span> {{form.controls[qtyControlName]?.errors?.[key].message}}</span>\n </div>\n </div>\n\n <a href=\"javascript:void(0);\" (click)=\"handleCreate()\">\n <div class=\"add-config-control\" [attr.disabled]=\"form.valid && isAddAllowed() ? null : true\">\n <i class=\"fa fa-plus plus-icon\"></i>\n </div>\n </a>\n </div>\n </div>\n</div>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i5.ValuesPipe, name: "values" }] });
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortDropdownComponent, decorators: [{
94
- type: Component,
95
- args: [{ selector: 'velo-port-dropdown', template: "<div class=\"form-group col-md-12\" [formGroup]=\"form\">\n <div class=\"input-form-input div-inline\">\n <label [for]=\"controlName\">{{ section.label }}</label>\n <div class=\"form-control-wrapper\">\n <select [id]=\"controlName\" [formControlName]=\"controlName\" class=\"form-control\">\n <option *ngFor=\"let valueOption of section.sectionValue?.valueOptions\" [ngValue]=\"valueOption\">\n {{section.sectionValue?.displayValues?.[valueOption] || valueOption}}\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <span>${{ prices[valueOption][0].netPrice }}</span>\n <span *ngIf=\"prices[valueOption].length > 1\">\n <span>, </span>\n <span>${{ prices[valueOption][1].netPrice }}</span>\n </span>\n </span>\n </option>\n </select>\n </div>\n </div>\n <div class=\"input-form-input div-inline quantity-form-input\">\n <label [for]=\"qtyControlName\"> Quantity </label>\n <div class=\"form-control-wrapper\">\n <input [id]=\"qtyControlName\" [formControlName]=\"qtyControlName\" type=\"text\" class=\"form-control\" size=\"3\" />\n\n <div\n class=\"validation-message\"\n [hidden]=\"form.controls[qtyControlName].valid || form.controls[qtyControlName].pristine\"\n >\n <div *ngFor=\"let key of form.controls[qtyControlName].errors | values\">\n <span> {{form.controls[qtyControlName]?.errors?.[key].message}}</span>\n </div>\n </div>\n\n <a href=\"javascript:void(0);\" (click)=\"handleCreate()\">\n <div class=\"add-config-control\" [attr.disabled]=\"form.valid && isAddAllowed() ? null : true\">\n <i class=\"fa fa-plus plus-icon\"></i>\n </div>\n </a>\n </div>\n </div>\n</div>\n<ng-content></ng-content>\n" }]
96
- }], ctorParameters: function () { return [{ type: i1.FormScopeService }, { type: i2.SectionScopeService }]; } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVsby1wb3J0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvZXhlY3V0aW9uL2NvbXBvbmVudHMvdmVsby1wb3J0LWRyb3Bkb3duL3ZlbG8tcG9ydC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL3ZlbG8tcG9ydC1kcm9wZG93bi92ZWxvLXBvcnQtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsVUFBVSxFQUE2QixNQUFNLGtCQUFrQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7O0FBTzdFLE1BQU0sT0FBTyx5QkFBeUI7SUFRcEMsWUFBb0IsU0FBMkIsRUFBVSxZQUFpQztRQUF0RSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUZuRixXQUFNLEdBQW9CLEVBQUUsQ0FBQztRQUdsQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7UUFFekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUU5QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3RFLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckUsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1lBQ3ZCLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3BGLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDWixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQzdDLE9BQU87U0FDUjtRQUVELE1BQU0sVUFBVSxHQUFlO1lBQzdCLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkIsTUFBTSxFQUFFLFFBQVE7U0FDakIsQ0FBQztRQUVGLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLHNCQUFzQixDQUFDLFdBQW1CO1FBQ2hELElBQUksTUFBTSxHQUF1QixFQUFFLENBQUM7UUFDcEMsSUFBSSxXQUFXLEVBQUU7WUFDZixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEYsTUFBTSxVQUFVLEdBQUcsVUFBVSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3pHLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDOUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQzthQUN2QztTQUNGO1FBRUQsTUFBTSxPQUFPLEdBQXFCO1lBQ2hDLFlBQVksRUFBRSxVQUFVO1lBQ3hCLFFBQVEsRUFBRSxDQUFDO1lBQ1gsU0FBUyxFQUFFLENBQUM7WUFDWixVQUFVLEVBQUUsRUFBRTtTQUNmLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBcUI7WUFDbEMsWUFBWSxFQUFFLFdBQVc7WUFDekIsUUFBUSxFQUFFLENBQUM7WUFDWCxTQUFTLEVBQUUsQ0FBQztZQUNaLFVBQVUsRUFBRSxFQUFFO1NBQ2YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLENBQUMsWUFBWSxLQUFLLE9BQU8sQ0FBQyxZQUFZLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3RCO1lBQ0QsSUFBSSxDQUFDLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQyxZQUFZLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLE1BQU0sR0FBdUIsRUFBRSxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUU7WUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN0QjtRQUNELElBQUksU0FBUyxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUU7WUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN4QjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxHQUFHLENBQUMsTUFBd0IsRUFBRSxHQUFxQjtRQUN6RCxNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUNqRCxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUNwRCxJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUU7WUFDbkIsTUFBTSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQzs7c0hBL0ZVLHlCQUF5QjswR0FBekIseUJBQXlCLDBEQ2R0QyxrMERBeUNBOzJGRDNCYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBRUUsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFbnRpdHlVdGlsLCBSZWNvbW1lbmRlZFByaWNlLCBTZWN0aW9uIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEZvcm1TY29wZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLXNjb3BlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VjdGlvblNjb3BlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NlY3Rpb24tc2NvcGUuc2VydmljZSc7XG5pbXBvcnQgeyBVcGRhdGVEYXRhIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgU2VjdGlvbnNCaW5kZXJIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscy9zZWN0aW9ucy1iaW5kZXIuaGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAndmVsby1wb3J0LWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICd2ZWxvLXBvcnQtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBWZWxvUG9ydERyb3Bkb3duQ29tcG9uZW50IHtcbiAgcHVibGljIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBxdHlDb250cm9sTmFtZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBzZWN0aW9uOiBTZWN0aW9uO1xuICBwdWJsaWMgcHJpY2VzOiBEaWN0aW9uYXJ5PGFueT4gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1TY29wZTogRm9ybVNjb3BlU2VydmljZSwgcHJpdmF0ZSBzZWN0aW9uU2NvcGU6IFNlY3Rpb25TY29wZVNlcnZpY2UpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TY29wZS5mb3JtO1xuICAgIHRoaXMuc2VjdGlvbiA9IHRoaXMuc2VjdGlvblNjb3BlLnNlY3Rpb247XG5cbiAgICB0aGlzLmNvbnRyb2xOYW1lID0gdGhpcy5zZWN0aW9uLmlkO1xuICAgIHRoaXMucXR5Q29udHJvbE5hbWUgPSB0aGlzLnNlY3Rpb24uaWQgKyAncXR5JztcblxuICAgIGlmICh0aGlzLnNlY3Rpb24ucHJpY2luZ0VuYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VjdGlvbi5zZWN0aW9uVmFsdWU/LnZhbHVlT3B0aW9ucy5mb3JFYWNoKHZhbHVlT3B0aW9uID0+IHtcbiAgICAgICAgdGhpcy5wcmljZXNbdmFsdWVPcHRpb25dID0gdGhpcy5maW5kUHJpY2VJdGVtc0ZvclZhbHVlKHZhbHVlT3B0aW9uKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0FkZEFsbG93ZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCFFbnRpdHlVdGlsLmlzUHJlc2VudCh0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5jb250cm9sTmFtZV0udmFsdWUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbi5tb2RlbFxuICAgICAgPyBTZWN0aW9uc0JpbmRlckhlbHBlci5pc0FkZEFsbG93ZWQodGhpcy5zZWN0aW9uLm1vZGVsLCB0aGlzLnNlY3Rpb24uYm91bmREYXRhLm5hbWUpXG4gICAgICA6IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNyZWF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQgfHwgIXRoaXMuaXNBZGRBbGxvd2VkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVEYXRhOiBVcGRhdGVEYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuc2VjdGlvbi5pZCxcbiAgICAgIGFjdGlvbjogJ2NyZWF0ZScsXG4gICAgfTtcblxuICAgIHRoaXMuZm9ybVNjb3BlLnB1Ymxpc2hGb3JtVXBkYXRlKHVwZGF0ZURhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUHJpY2VJdGVtc0ZvclZhbHVlKHZhbHVlT3B0aW9uOiBzdHJpbmcpOiBSZWNvbW1lbmRlZFByaWNlW10ge1xuICAgIGxldCBwcmljZXM6IFJlY29tbWVuZGVkUHJpY2VbXSA9IFtdO1xuICAgIGlmICh2YWx1ZU9wdGlvbikge1xuICAgICAgY29uc3QgcG9ydERvbWFpbiA9IHRoaXMuc2VjdGlvbi5tb2RlbD8ucG9ydERvbWFpbnNbdGhpcy5zZWN0aW9uLmJvdW5kRGF0YS5uYW1lXTtcbiAgICAgIGNvbnN0IGRvbWFpblR5cGUgPSBwb3J0RG9tYWluPy5kb21haW5UeXBlcy5maW5kKGQgPT4gZC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlT3B0aW9uLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgaWYgKGRvbWFpblR5cGUgJiYgZG9tYWluVHlwZS5yZWNvbW1lbmRlZFByaWNlcykge1xuICAgICAgICBwcmljZXMgPSBkb21haW5UeXBlLnJlY29tbWVuZGVkUHJpY2VzO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG9uZVRpbWU6IFJlY29tbWVuZGVkUHJpY2UgPSB7XG4gICAgICBjaGFyZ2VNZXRob2Q6ICdPTkVfVElNRScsXG4gICAgICBuZXRQcmljZTogMCxcbiAgICAgIGxpc3RQcmljZTogMCxcbiAgICAgIGNoYXJnZVR5cGU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdCByZWN1cnJpbmc6IFJlY29tbWVuZGVkUHJpY2UgPSB7XG4gICAgICBjaGFyZ2VNZXRob2Q6ICdSRUNVUlJJTkcnLFxuICAgICAgbmV0UHJpY2U6IDAsXG4gICAgICBsaXN0UHJpY2U6IDAsXG4gICAgICBjaGFyZ2VUeXBlOiAnJyxcbiAgICB9O1xuXG4gICAgcHJpY2VzLmZvckVhY2gocCA9PiB7XG4gICAgICBpZiAocC5jaGFyZ2VNZXRob2QgPT09IG9uZVRpbWUuY2hhcmdlTWV0aG9kKSB7XG4gICAgICAgIHRoaXMuYWRkKG9uZVRpbWUsIHApO1xuICAgICAgfVxuICAgICAgaWYgKHAuY2hhcmdlTWV0aG9kID09PSByZWN1cnJpbmcuY2hhcmdlTWV0aG9kKSB7XG4gICAgICAgIHRoaXMuYWRkKHJlY3VycmluZywgcCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCByZXN1bHQ6IFJlY29tbWVuZGVkUHJpY2VbXSA9IFtdO1xuICAgIGlmIChvbmVUaW1lLmxpc3RQcmljZSA+IDApIHtcbiAgICAgIHJlc3VsdC5wdXNoKG9uZVRpbWUpO1xuICAgIH1cbiAgICBpZiAocmVjdXJyaW5nLmxpc3RQcmljZSA+IDApIHtcbiAgICAgIHJlc3VsdC5wdXNoKHJlY3VycmluZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkKHRhcmdldDogUmVjb21tZW5kZWRQcmljZSwgc3JjOiBSZWNvbW1lbmRlZFByaWNlKTogdm9pZCB7XG4gICAgdGFyZ2V0Lm5ldFByaWNlID0gdGFyZ2V0Lm5ldFByaWNlICsgc3JjLm5ldFByaWNlO1xuICAgIHRhcmdldC5saXN0UHJpY2UgPSB0YXJnZXQubGlzdFByaWNlICsgc3JjLmxpc3RQcmljZTtcbiAgICBpZiAoc3JjLmV4cGxhbmF0aW9uKSB7XG4gICAgICB0YXJnZXQuZXhwbGFuYXRpb24gPSBzcmMuZXhwbGFuYXRpb247XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtMTJcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgPGRpdiBjbGFzcz1cImlucHV0LWZvcm0taW5wdXQgZGl2LWlubGluZVwiPlxuICAgIDxsYWJlbCBbZm9yXT1cImNvbnRyb2xOYW1lXCI+e3sgc2VjdGlvbi5sYWJlbCB9fTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tY29udHJvbC13cmFwcGVyXCI+XG4gICAgICA8c2VsZWN0IFtpZF09XCJjb250cm9sTmFtZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiY29udHJvbE5hbWVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxuICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB2YWx1ZU9wdGlvbiBvZiBzZWN0aW9uLnNlY3Rpb25WYWx1ZT8udmFsdWVPcHRpb25zXCIgW25nVmFsdWVdPVwidmFsdWVPcHRpb25cIj5cbiAgICAgICAgICB7e3NlY3Rpb24uc2VjdGlvblZhbHVlPy5kaXNwbGF5VmFsdWVzPy5bdmFsdWVPcHRpb25dIHx8IHZhbHVlT3B0aW9ufX1cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInByaWNlc1t2YWx1ZU9wdGlvbl0gJiYgcHJpY2VzW3ZhbHVlT3B0aW9uXS5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8c3Bhbj4ke3sgcHJpY2VzW3ZhbHVlT3B0aW9uXVswXS5uZXRQcmljZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicHJpY2VzW3ZhbHVlT3B0aW9uXS5sZW5ndGggPiAxXCI+XG4gICAgICAgICAgICAgIDxzcGFuPiwgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3Bhbj4ke3sgcHJpY2VzW3ZhbHVlT3B0aW9uXVsxXS5uZXRQcmljZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvb3B0aW9uPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtZm9ybS1pbnB1dCBkaXYtaW5saW5lIHF1YW50aXR5LWZvcm0taW5wdXRcIj5cbiAgICA8bGFiZWwgW2Zvcl09XCJxdHlDb250cm9sTmFtZVwiPiBRdWFudGl0eSA8L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtd3JhcHBlclwiPlxuICAgICAgPGlucHV0IFtpZF09XCJxdHlDb250cm9sTmFtZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwicXR5Q29udHJvbE5hbWVcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgc2l6ZT1cIjNcIiAvPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidmFsaWRhdGlvbi1tZXNzYWdlXCJcbiAgICAgICAgW2hpZGRlbl09XCJmb3JtLmNvbnRyb2xzW3F0eUNvbnRyb2xOYW1lXS52YWxpZCB8fCBmb3JtLmNvbnRyb2xzW3F0eUNvbnRyb2xOYW1lXS5wcmlzdGluZVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGtleSBvZiBmb3JtLmNvbnRyb2xzW3F0eUNvbnRyb2xOYW1lXS5lcnJvcnMgfCB2YWx1ZXNcIj5cbiAgICAgICAgICA8c3Bhbj4ge3tmb3JtLmNvbnRyb2xzW3F0eUNvbnRyb2xOYW1lXT8uZXJyb3JzPy5ba2V5XS5tZXNzYWdlfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCIgKGNsaWNrKT1cImhhbmRsZUNyZWF0ZSgpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGQtY29uZmlnLWNvbnRyb2xcIiBbYXR0ci5kaXNhYmxlZF09XCJmb3JtLnZhbGlkICYmIGlzQWRkQWxsb3dlZCgpID8gbnVsbCA6IHRydWVcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMgcGx1cy1pY29uXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -1,142 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { FormScopeService } from '../../../services/form-scope.service';
3
- import { SectionScopeService } from '../../../services/section-scope.service';
4
- import { LineItemUtil } from '../../../utils/line-item.util';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../services/form-scope.service";
7
- import * as i2 from "../../../services/section-scope.service";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "@angular/forms";
10
- export class VeloPortRadioComponent {
11
- constructor(formScope, sectionScope) {
12
- this.formScope = formScope;
13
- this.sectionScope = sectionScope;
14
- this.prices = {};
15
- this.form = this.formScope.form;
16
- this.section = this.sectionScope.section;
17
- this.controlName = this.section.id;
18
- }
19
- ngOnInit() {
20
- this.initPriceItems();
21
- this.section.sectionValue?.valueOptions.forEach(item => {
22
- if (this.hasValueFor(item)) {
23
- this.form.controls[this.controlName].setValue(item);
24
- }
25
- });
26
- }
27
- handleChange(event, valueOption) {
28
- event.preventDefault();
29
- event.stopPropagation();
30
- const updateData = {
31
- id: this.section.id,
32
- action: this.hasPreviousValue() ? 'update' : 'create',
33
- valueOption,
34
- };
35
- this.form.controls[this.controlName].setValue(valueOption);
36
- this.form.controls[this.controlName].markAsDirty();
37
- this.formScope.publishFormUpdate(updateData);
38
- }
39
- hasValueFor(valueOption) {
40
- return !!this.findLineItemForValue(valueOption);
41
- }
42
- getMessages(valueOption) {
43
- const lineItem = this.findLineItemForValue(valueOption);
44
- if (this.section.model?.lineItems && lineItem) {
45
- return lineItem.messages;
46
- }
47
- return [];
48
- }
49
- toString(price) {
50
- let result = '';
51
- if (price.listPrice > price.netPrice) {
52
- result += '<strike>' + price.listPrice + '</strike>';
53
- }
54
- result += price.netPrice;
55
- if (price.explanation) {
56
- result += '(' + price.explanation + ')';
57
- }
58
- return result;
59
- }
60
- hasPreviousValue() {
61
- const previous = this.section.model?.lineItems.filter(li => li.port && li.port === this.section.boundData.name);
62
- return previous ? previous.length > 0 : false;
63
- }
64
- findLineItemForValue(valueOption) {
65
- return this.section.model ? LineItemUtil.findLineItemForValue(this.section.model, valueOption) : undefined;
66
- }
67
- initPriceItems() {
68
- this.prices = {};
69
- if (this.section.pricingEnabled) {
70
- this.section.sectionValue?.valueOptions.forEach(valueOption => {
71
- this.prices[valueOption] = this.findPriceItemsForValue(valueOption);
72
- });
73
- }
74
- }
75
- findPriceItemsForValue(valueOption) {
76
- let prices = [];
77
- if (valueOption) {
78
- const lineItem = this.section.model?.lineItems &&
79
- this.section.model.lineItems.find(li => li.type && li.type.toLowerCase() === valueOption.toLowerCase());
80
- if (lineItem && lineItem.chargeItems) {
81
- prices = lineItem.chargeItems.map(pi => {
82
- const price = {
83
- listPrice: pi.listPrice,
84
- netPrice: pi.netPrice,
85
- chargeMethod: pi.chargeMethod,
86
- chargeType: pi.chargeType,
87
- };
88
- return price;
89
- });
90
- }
91
- else {
92
- const portDomain = this.section.model?.portDomains[this.section.boundData.name];
93
- const domainType = portDomain?.domainTypes.find(d => d.name.toLowerCase() === valueOption.toLowerCase());
94
- if (domainType && domainType.recommendedPrices) {
95
- prices = domainType.recommendedPrices;
96
- }
97
- }
98
- }
99
- const oneTime = {
100
- chargeMethod: 'ONE_TIME',
101
- netPrice: 0,
102
- listPrice: 0,
103
- chargeType: '',
104
- };
105
- const recurring = {
106
- chargeMethod: 'RECURRING',
107
- netPrice: 0,
108
- listPrice: 0,
109
- chargeType: '',
110
- };
111
- prices.forEach(p => {
112
- if (p.chargeMethod === oneTime.chargeMethod) {
113
- this.add(oneTime, p);
114
- }
115
- if (p.chargeMethod === recurring.chargeMethod) {
116
- this.add(recurring, p);
117
- }
118
- });
119
- const result = [];
120
- if (oneTime.listPrice > 0) {
121
- result.push(oneTime);
122
- }
123
- if (recurring.listPrice > 0) {
124
- result.push(recurring);
125
- }
126
- return result;
127
- }
128
- add(target, src) {
129
- target.netPrice = target.netPrice + src.netPrice;
130
- target.listPrice = target.listPrice + src.listPrice;
131
- if (src.explanation) {
132
- target.explanation = src.explanation;
133
- }
134
- }
135
- }
136
- VeloPortRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortRadioComponent, deps: [{ token: i1.FormScopeService }, { token: i2.SectionScopeService }], target: i0.ɵɵFactoryTarget.Component });
137
- VeloPortRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: VeloPortRadioComponent, selector: "velo-port-radio", ngImport: i0, template: "<div [formGroup]=\"form\">\n <!--TODO ALE replace divs with ng-templates-->\n <ng-container *ngFor=\"let valueOption of section.sectionValue?.valueOptions\">\n <div class=\"unchecked\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-radio\">\n <div class=\"box-title\" (click)=\"handleChange($event, valueOption)\">\n <div class=\"header clearfix\">\n <div class=\"radio-button\">\n <label>\n <input type=\"radio\" [id]=\"controlName\" [value]=\"valueOption\" [formControlName]=\"controlName\" />\n\n <i class=\"input-helper\"></i>\n\n {{ section.sectionValue?.displayValues?.[valueOption] || valueOption }}\n\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <span>${{ prices[valueOption][0].netPrice }}</span>\n\n <span *ngIf=\"prices[valueOption].length > 1\">\n <span>, </span>\n\n <span>${{ prices[valueOption][1].netPrice }}</span>\n </span>\n </span>\n </label>\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <div>{{ prices[valueOption][0].explanation }}</div>\n\n <span *ngIf=\"prices[valueOption].length > 1 && prices[valueOption][1].explanation\">\n <div>{{ prices[valueOption][1].explanation }}</div>\n </span>\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n</div>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VeloPortRadioComponent, decorators: [{
139
- type: Component,
140
- args: [{ selector: 'velo-port-radio', template: "<div [formGroup]=\"form\">\n <!--TODO ALE replace divs with ng-templates-->\n <ng-container *ngFor=\"let valueOption of section.sectionValue?.valueOptions\">\n <div class=\"unchecked\">\n <div class=\"row no-gutter clearfix\">\n <div class=\"col-md-12\">\n <div class=\"content\">\n <div class=\"container-box container-box-bordered container-box-radio\">\n <div class=\"box-title\" (click)=\"handleChange($event, valueOption)\">\n <div class=\"header clearfix\">\n <div class=\"radio-button\">\n <label>\n <input type=\"radio\" [id]=\"controlName\" [value]=\"valueOption\" [formControlName]=\"controlName\" />\n\n <i class=\"input-helper\"></i>\n\n {{ section.sectionValue?.displayValues?.[valueOption] || valueOption }}\n\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <span>${{ prices[valueOption][0].netPrice }}</span>\n\n <span *ngIf=\"prices[valueOption].length > 1\">\n <span>, </span>\n\n <span>${{ prices[valueOption][1].netPrice }}</span>\n </span>\n </span>\n </label>\n <span *ngIf=\"prices[valueOption] && prices[valueOption].length > 0\">\n <div>{{ prices[valueOption][0].explanation }}</div>\n\n <span *ngIf=\"prices[valueOption].length > 1 && prices[valueOption][1].explanation\">\n <div>{{ prices[valueOption][1].explanation }}</div>\n </span>\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n</div>\n<ng-content></ng-content>\n" }]
141
- }], ctorParameters: function () { return [{ type: i1.FormScopeService }, { type: i2.SectionScopeService }]; } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVsby1wb3J0LXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvZXhlY3V0aW9uL2NvbXBvbmVudHMvdmVsby1wb3J0LXJhZGlvL3ZlbG8tcG9ydC1yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2V4ZWN1dGlvbi9jb21wb25lbnRzL3ZlbG8tcG9ydC1yYWRpby92ZWxvLXBvcnQtcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUlsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7OztBQVE3RCxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQW9CLFNBQTJCLEVBQVUsWUFBaUM7UUFBdEUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFGbkYsV0FBTSxHQUFvQixFQUFFLENBQUM7UUFHbEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1FBRXpDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNyRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDckQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBVSxFQUFFLFdBQWdCO1FBQzlDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsTUFBTSxVQUFVLEdBQWU7WUFDN0IsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQixNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUTtZQUNyRCxXQUFXO1NBQ1osQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRW5ELElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLFdBQVcsQ0FBQyxXQUFtQjtRQUNwQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxXQUFtQjtRQUNwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLElBQUksUUFBUSxFQUFFO1lBQzdDLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQztTQUMxQjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUF1QjtRQUNyQyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxLQUFLLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDcEMsTUFBTSxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztTQUN0RDtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ3pCLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNyQixNQUFNLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1NBQ3pDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhILE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxXQUFtQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM3RyxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3RFLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsV0FBbUI7UUFDaEQsSUFBSSxNQUFNLEdBQXVCLEVBQUUsQ0FBQztRQUNwQyxJQUFJLFdBQVcsRUFBRTtZQUNmLE1BQU0sUUFBUSxHQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVM7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDMUcsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRTtnQkFDcEMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUNyQyxNQUFNLEtBQUssR0FBcUI7d0JBQzlCLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUzt3QkFDdkIsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRO3dCQUNyQixZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVk7d0JBQzdCLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVTtxQkFDMUIsQ0FBQztvQkFDRixPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEYsTUFBTSxVQUFVLEdBQUcsVUFBVSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RyxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsaUJBQWlCLEVBQUU7b0JBQzlDLE1BQU0sR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUM7aUJBQ3ZDO2FBQ0Y7U0FDRjtRQUVELE1BQU0sT0FBTyxHQUFxQjtZQUNoQyxZQUFZLEVBQUUsVUFBVTtZQUN4QixRQUFRLEVBQUUsQ0FBQztZQUNYLFNBQVMsRUFBRSxDQUFDO1lBQ1osVUFBVSxFQUFFLEVBQUU7U0FDZixDQUFDO1FBRUYsTUFBTSxTQUFTLEdBQXFCO1lBQ2xDLFlBQVksRUFBRSxXQUFXO1lBQ3pCLFFBQVEsRUFBRSxDQUFDO1lBQ1gsU0FBUyxFQUFFLENBQUM7WUFDWixVQUFVLEVBQUUsRUFBRTtTQUNmLENBQUM7UUFFRixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxDQUFDLFlBQVksS0FBSyxPQUFPLENBQUMsWUFBWSxFQUFFO2dCQUMzQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN0QjtZQUNELElBQUksQ0FBQyxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUMsWUFBWSxFQUFFO2dCQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLEdBQXVCLEVBQUUsQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdEI7UUFDRCxJQUFJLFNBQVMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sR0FBRyxDQUFDLE1BQXdCLEVBQUUsR0FBcUI7UUFDekQsTUFBTSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDakQsTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7UUFDcEQsSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFO1lBQ25CLE1BQU0sQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztTQUN0QztJQUNILENBQUM7O21IQXRKVSxzQkFBc0I7dUdBQXRCLHNCQUFzQix1RENmbkMsaStEQWdEQTsyRkRqQ2Esc0JBQXNCO2tCQU5sQyxTQUFTOytCQUdFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMaW5lSXRlbSwgUmVjb21tZW5kZWRQcmljZSwgU2VjdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBGb3JtU2NvcGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS1zY29wZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNlY3Rpb25TY29wZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zZWN0aW9uLXNjb3BlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBkYXRlRGF0YSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IExpbmVJdGVtVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2xpbmUtaXRlbS51dGlsJztcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICd2ZWxvLXBvcnQtcmFkaW8nLFxuICB0ZW1wbGF0ZVVybDogJ3ZlbG8tcG9ydC1yYWRpby5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFZlbG9Qb3J0UmFkaW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgY29udHJvbE5hbWU6IHN0cmluZztcblxuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VjdGlvbjogU2VjdGlvbjtcblxuICBwdWJsaWMgcHJpY2VzOiBEaWN0aW9uYXJ5PGFueT4gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1TY29wZTogRm9ybVNjb3BlU2VydmljZSwgcHJpdmF0ZSBzZWN0aW9uU2NvcGU6IFNlY3Rpb25TY29wZVNlcnZpY2UpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TY29wZS5mb3JtO1xuICAgIHRoaXMuc2VjdGlvbiA9IHRoaXMuc2VjdGlvblNjb3BlLnNlY3Rpb247XG5cbiAgICB0aGlzLmNvbnRyb2xOYW1lID0gdGhpcy5zZWN0aW9uLmlkO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdFByaWNlSXRlbXMoKTtcblxuICAgIHRoaXMuc2VjdGlvbi5zZWN0aW9uVmFsdWU/LnZhbHVlT3B0aW9ucy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKHRoaXMuaGFzVmFsdWVGb3IoaXRlbSkpIHtcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMuY29udHJvbE5hbWVdLnNldFZhbHVlKGl0ZW0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNoYW5nZShldmVudDogYW55LCB2YWx1ZU9wdGlvbjogYW55KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IHVwZGF0ZURhdGE6IFVwZGF0ZURhdGEgPSB7XG4gICAgICBpZDogdGhpcy5zZWN0aW9uLmlkLFxuICAgICAgYWN0aW9uOiB0aGlzLmhhc1ByZXZpb3VzVmFsdWUoKSA/ICd1cGRhdGUnIDogJ2NyZWF0ZScsXG4gICAgICB2YWx1ZU9wdGlvbixcbiAgICB9O1xuXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMuY29udHJvbE5hbWVdLnNldFZhbHVlKHZhbHVlT3B0aW9uKTtcbiAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5jb250cm9sTmFtZV0ubWFya0FzRGlydHkoKTtcblxuICAgIHRoaXMuZm9ybVNjb3BlLnB1Ymxpc2hGb3JtVXBkYXRlKHVwZGF0ZURhdGEpO1xuICB9XG5cbiAgcHVibGljIGhhc1ZhbHVlRm9yKHZhbHVlT3B0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZpbmRMaW5lSXRlbUZvclZhbHVlKHZhbHVlT3B0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNZXNzYWdlcyh2YWx1ZU9wdGlvbjogc3RyaW5nKTogTGluZUl0ZW1bJ21lc3NhZ2VzJ10ge1xuICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5maW5kTGluZUl0ZW1Gb3JWYWx1ZSh2YWx1ZU9wdGlvbik7XG5cbiAgICBpZiAodGhpcy5zZWN0aW9uLm1vZGVsPy5saW5lSXRlbXMgJiYgbGluZUl0ZW0pIHtcbiAgICAgIHJldHVybiBsaW5lSXRlbS5tZXNzYWdlcztcbiAgICB9XG5cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwdWJsaWMgdG9TdHJpbmcocHJpY2U6IFJlY29tbWVuZGVkUHJpY2UpOiBzdHJpbmcge1xuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBpZiAocHJpY2UubGlzdFByaWNlID4gcHJpY2UubmV0UHJpY2UpIHtcbiAgICAgIHJlc3VsdCArPSAnPHN0cmlrZT4nICsgcHJpY2UubGlzdFByaWNlICsgJzwvc3RyaWtlPic7XG4gICAgfVxuICAgIHJlc3VsdCArPSBwcmljZS5uZXRQcmljZTtcbiAgICBpZiAocHJpY2UuZXhwbGFuYXRpb24pIHtcbiAgICAgIHJlc3VsdCArPSAnKCcgKyBwcmljZS5leHBsYW5hdGlvbiArICcpJztcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgaGFzUHJldmlvdXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMuc2VjdGlvbi5tb2RlbD8ubGluZUl0ZW1zLmZpbHRlcihsaSA9PiBsaS5wb3J0ICYmIGxpLnBvcnQgPT09IHRoaXMuc2VjdGlvbi5ib3VuZERhdGEubmFtZSk7XG5cbiAgICByZXR1cm4gcHJldmlvdXMgPyBwcmV2aW91cy5sZW5ndGggPiAwIDogZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGZpbmRMaW5lSXRlbUZvclZhbHVlKHZhbHVlT3B0aW9uOiBzdHJpbmcpOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbi5tb2RlbCA/IExpbmVJdGVtVXRpbC5maW5kTGluZUl0ZW1Gb3JWYWx1ZSh0aGlzLnNlY3Rpb24ubW9kZWwsIHZhbHVlT3B0aW9uKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFByaWNlSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5wcmljZXMgPSB7fTtcbiAgICBpZiAodGhpcy5zZWN0aW9uLnByaWNpbmdFbmFibGVkKSB7XG4gICAgICB0aGlzLnNlY3Rpb24uc2VjdGlvblZhbHVlPy52YWx1ZU9wdGlvbnMuZm9yRWFjaCh2YWx1ZU9wdGlvbiA9PiB7XG4gICAgICAgIHRoaXMucHJpY2VzW3ZhbHVlT3B0aW9uXSA9IHRoaXMuZmluZFByaWNlSXRlbXNGb3JWYWx1ZSh2YWx1ZU9wdGlvbik7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmRQcmljZUl0ZW1zRm9yVmFsdWUodmFsdWVPcHRpb246IHN0cmluZyk6IFJlY29tbWVuZGVkUHJpY2VbXSB7XG4gICAgbGV0IHByaWNlczogUmVjb21tZW5kZWRQcmljZVtdID0gW107XG4gICAgaWYgKHZhbHVlT3B0aW9uKSB7XG4gICAgICBjb25zdCBsaW5lSXRlbSA9XG4gICAgICAgIHRoaXMuc2VjdGlvbi5tb2RlbD8ubGluZUl0ZW1zICYmXG4gICAgICAgIHRoaXMuc2VjdGlvbi5tb2RlbC5saW5lSXRlbXMuZmluZChsaSA9PiBsaS50eXBlICYmIGxpLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gdmFsdWVPcHRpb24udG9Mb3dlckNhc2UoKSk7XG4gICAgICBpZiAobGluZUl0ZW0gJiYgbGluZUl0ZW0uY2hhcmdlSXRlbXMpIHtcbiAgICAgICAgcHJpY2VzID0gbGluZUl0ZW0uY2hhcmdlSXRlbXMubWFwKHBpID0+IHtcbiAgICAgICAgICBjb25zdCBwcmljZTogUmVjb21tZW5kZWRQcmljZSA9IHtcbiAgICAgICAgICAgIGxpc3RQcmljZTogcGkubGlzdFByaWNlLFxuICAgICAgICAgICAgbmV0UHJpY2U6IHBpLm5ldFByaWNlLFxuICAgICAgICAgICAgY2hhcmdlTWV0aG9kOiBwaS5jaGFyZ2VNZXRob2QsXG4gICAgICAgICAgICBjaGFyZ2VUeXBlOiBwaS5jaGFyZ2VUeXBlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIHByaWNlO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHBvcnREb21haW4gPSB0aGlzLnNlY3Rpb24ubW9kZWw/LnBvcnREb21haW5zW3RoaXMuc2VjdGlvbi5ib3VuZERhdGEubmFtZV07XG4gICAgICAgIGNvbnN0IGRvbWFpblR5cGUgPSBwb3J0RG9tYWluPy5kb21haW5UeXBlcy5maW5kKGQgPT4gZC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlT3B0aW9uLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICBpZiAoZG9tYWluVHlwZSAmJiBkb21haW5UeXBlLnJlY29tbWVuZGVkUHJpY2VzKSB7XG4gICAgICAgICAgcHJpY2VzID0gZG9tYWluVHlwZS5yZWNvbW1lbmRlZFByaWNlcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG9uZVRpbWU6IFJlY29tbWVuZGVkUHJpY2UgPSB7XG4gICAgICBjaGFyZ2VNZXRob2Q6ICdPTkVfVElNRScsXG4gICAgICBuZXRQcmljZTogMCxcbiAgICAgIGxpc3RQcmljZTogMCxcbiAgICAgIGNoYXJnZVR5cGU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdCByZWN1cnJpbmc6IFJlY29tbWVuZGVkUHJpY2UgPSB7XG4gICAgICBjaGFyZ2VNZXRob2Q6ICdSRUNVUlJJTkcnLFxuICAgICAgbmV0UHJpY2U6IDAsXG4gICAgICBsaXN0UHJpY2U6IDAsXG4gICAgICBjaGFyZ2VUeXBlOiAnJyxcbiAgICB9O1xuXG4gICAgcHJpY2VzLmZvckVhY2gocCA9PiB7XG4gICAgICBpZiAocC5jaGFyZ2VNZXRob2QgPT09IG9uZVRpbWUuY2hhcmdlTWV0aG9kKSB7XG4gICAgICAgIHRoaXMuYWRkKG9uZVRpbWUsIHApO1xuICAgICAgfVxuICAgICAgaWYgKHAuY2hhcmdlTWV0aG9kID09PSByZWN1cnJpbmcuY2hhcmdlTWV0aG9kKSB7XG4gICAgICAgIHRoaXMuYWRkKHJlY3VycmluZywgcCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCByZXN1bHQ6IFJlY29tbWVuZGVkUHJpY2VbXSA9IFtdO1xuICAgIGlmIChvbmVUaW1lLmxpc3RQcmljZSA+IDApIHtcbiAgICAgIHJlc3VsdC5wdXNoKG9uZVRpbWUpO1xuICAgIH1cbiAgICBpZiAocmVjdXJyaW5nLmxpc3RQcmljZSA+IDApIHtcbiAgICAgIHJlc3VsdC5wdXNoKHJlY3VycmluZyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGFkZCh0YXJnZXQ6IFJlY29tbWVuZGVkUHJpY2UsIHNyYzogUmVjb21tZW5kZWRQcmljZSk6IHZvaWQge1xuICAgIHRhcmdldC5uZXRQcmljZSA9IHRhcmdldC5uZXRQcmljZSArIHNyYy5uZXRQcmljZTtcbiAgICB0YXJnZXQubGlzdFByaWNlID0gdGFyZ2V0Lmxpc3RQcmljZSArIHNyYy5saXN0UHJpY2U7XG4gICAgaWYgKHNyYy5leHBsYW5hdGlvbikge1xuICAgICAgdGFyZ2V0LmV4cGxhbmF0aW9uID0gc3JjLmV4cGxhbmF0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgPCEtLVRPRE8gQUxFIHJlcGxhY2UgZGl2cyB3aXRoIG5nLXRlbXBsYXRlcy0tPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWx1ZU9wdGlvbiBvZiBzZWN0aW9uLnNlY3Rpb25WYWx1ZT8udmFsdWVPcHRpb25zXCI+XG4gICAgPGRpdiBjbGFzcz1cInVuY2hlY2tlZFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBuby1ndXR0ZXIgY2xlYXJmaXhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWJveCBjb250YWluZXItYm94LWJvcmRlcmVkIGNvbnRhaW5lci1ib3gtcmFkaW9cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJveC10aXRsZVwiIChjbGljayk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50LCB2YWx1ZU9wdGlvbilcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyIGNsZWFyZml4XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmFkaW8tYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgW2lkXT1cImNvbnRyb2xOYW1lXCIgW3ZhbHVlXT1cInZhbHVlT3B0aW9uXCIgW2Zvcm1Db250cm9sTmFtZV09XCJjb250cm9sTmFtZVwiIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImlucHV0LWhlbHBlclwiPjwvaT5cblxuICAgICAgICAgICAgICAgICAgICAgIHt7IHNlY3Rpb24uc2VjdGlvblZhbHVlPy5kaXNwbGF5VmFsdWVzPy5bdmFsdWVPcHRpb25dIHx8IHZhbHVlT3B0aW9uIH19XG5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInByaWNlc1t2YWx1ZU9wdGlvbl0gJiYgcHJpY2VzW3ZhbHVlT3B0aW9uXS5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke3sgcHJpY2VzW3ZhbHVlT3B0aW9uXVswXS5uZXRQcmljZSB9fTwvc3Bhbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwcmljZXNbdmFsdWVPcHRpb25dLmxlbmd0aCA+IDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+LCA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHt7IHByaWNlc1t2YWx1ZU9wdGlvbl1bMV0ubmV0UHJpY2UgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInByaWNlc1t2YWx1ZU9wdGlvbl0gJiYgcHJpY2VzW3ZhbHVlT3B0aW9uXS5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57eyBwcmljZXNbdmFsdWVPcHRpb25dWzBdLmV4cGxhbmF0aW9uIH19PC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInByaWNlc1t2YWx1ZU9wdGlvbl0ubGVuZ3RoID4gMSAmJiBwcmljZXNbdmFsdWVPcHRpb25dWzFdLmV4cGxhbmF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7IHByaWNlc1t2YWx1ZU9wdGlvbl1bMV0uZXhwbGFuYXRpb24gfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=