onshore-forms 0.0.58 → 1.0.0

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 (49) hide show
  1. package/fesm2022/onshore-forms.mjs +1399 -0
  2. package/fesm2022/onshore-forms.mjs.map +1 -0
  3. package/lib/components/form-autocomplete-item/form-autocomplete-item.component.d.ts +5 -3
  4. package/lib/components/form-checkbox-item/form-checkbox-item.component.d.ts +3 -2
  5. package/lib/components/form-colorpicker-item/form-colorpicker-item.component.d.ts +3 -2
  6. package/lib/components/form-datetime-item/form-datetime-item.component.d.ts +3 -2
  7. package/lib/components/form-dropdown-item/form-dropdown-item.component.d.ts +3 -2
  8. package/lib/components/form-image-item/form-image-item.component.d.ts +3 -3
  9. package/lib/components/form-input-item/form-input-item.component.d.ts +3 -2
  10. package/lib/components/form-item-container/form-item-container.component.d.ts +3 -3
  11. package/lib/components/form-sort-item/form-sort-item.component.d.ts +2 -2
  12. package/lib/components/form-switch-item/form-switch-item.component.d.ts +3 -2
  13. package/lib/components/form-validation-output/form-validation-output.component.d.ts +1 -1
  14. package/lib/components/image-chooser/image-chooser.component.d.ts +2 -2
  15. package/lib/components/image-placeholder/image-placeholder.component.d.ts +1 -1
  16. package/lib/components/webcam/webcam.component.d.ts +2 -2
  17. package/lib/onshore-forms.component.d.ts +1 -1
  18. package/lib/onshore-forms.service.d.ts +1 -1
  19. package/package.json +12 -19
  20. package/public-api.d.ts +0 -1
  21. package/styles/scss/main.css +1 -1
  22. package/styles/scss/theme1.css +1 -1
  23. package/esm2020/lib/components/form-autocomplete-item/form-autocomplete-item.component.mjs +0 -98
  24. package/esm2020/lib/components/form-checkbox-item/form-checkbox-item.component.mjs +0 -54
  25. package/esm2020/lib/components/form-colorpicker-item/form-colorpicker-item.component.mjs +0 -63
  26. package/esm2020/lib/components/form-datetime-item/form-datetime-item.component.mjs +0 -59
  27. package/esm2020/lib/components/form-dropdown-item/form-dropdown-item.component.mjs +0 -101
  28. package/esm2020/lib/components/form-image-item/form-image-item.component.mjs +0 -164
  29. package/esm2020/lib/components/form-input-item/form-input-item.component.mjs +0 -78
  30. package/esm2020/lib/components/form-item-container/form-item-container.component.mjs +0 -130
  31. package/esm2020/lib/components/form-sort-item/form-sort-item.component.mjs +0 -89
  32. package/esm2020/lib/components/form-switch-item/form-switch-item.component.mjs +0 -58
  33. package/esm2020/lib/components/form-validation-output/form-validation-output.component.mjs +0 -38
  34. package/esm2020/lib/components/image-chooser/image-chooser.component.mjs +0 -79
  35. package/esm2020/lib/components/image-placeholder/image-placeholder.component.mjs +0 -41
  36. package/esm2020/lib/components/webcam/webcam.component.mjs +0 -49
  37. package/esm2020/lib/enums/form.enums.mjs +0 -37
  38. package/esm2020/lib/models/form.models.mjs +0 -2
  39. package/esm2020/lib/onshore-forms.component.mjs +0 -14
  40. package/esm2020/lib/onshore-forms.module.mjs +0 -189
  41. package/esm2020/lib/onshore-forms.service.mjs +0 -213
  42. package/esm2020/lib/validators/form.validators.mjs +0 -15
  43. package/esm2020/onshore-forms.mjs +0 -5
  44. package/esm2020/public-api.mjs +0 -24
  45. package/fesm2015/onshore-forms.mjs +0 -1550
  46. package/fesm2015/onshore-forms.mjs.map +0 -1
  47. package/fesm2020/onshore-forms.mjs +0 -1479
  48. package/fesm2020/onshore-forms.mjs.map +0 -1
  49. package/lib/onshore-forms.module.d.ts +0 -43
@@ -1,130 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
2
- import { OnshoreFormTemplateLayout } from '../../enums/form.enums';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "primeng/button";
6
- import * as i3 from "primeng/tooltip";
7
- import * as i4 from "primeng/togglebutton";
8
- import * as i5 from "../form-validation-output/form-validation-output.component";
9
- export class OnshoreFormItemContainer {
10
- constructor(cdr) {
11
- this.cdr = cdr;
12
- this.actionButtonDisabled = false;
13
- this.actionButtonClick = new EventEmitter();
14
- this.lockIsChanged = new EventEmitter();
15
- this.disabled = false;
16
- this.OnshoreFormTemplateLayout = OnshoreFormTemplateLayout;
17
- this.layout = OnshoreFormTemplateLayout.auto;
18
- }
19
- enabled(enable) {
20
- setTimeout(() => {
21
- if (enable) {
22
- this.ngControl?.control.enable();
23
- }
24
- else {
25
- this.ngControl?.control.disable();
26
- }
27
- this.disabled = !enable;
28
- this.cdr.markForCheck();
29
- }, 100);
30
- }
31
- lockChanged(unlocked) {
32
- if (unlocked && this.formTemplate.enabled) {
33
- this.tempLockValue = this.ngControl?.control.value;
34
- this.enabled(true);
35
- this.disabled = false;
36
- this.lockIsChanged.emit(unlocked);
37
- }
38
- else {
39
- this.enabled(false);
40
- this.disabled = true;
41
- this.ngControl?.control.setValue(this.tempLockValue);
42
- this.tempLockValue = null;
43
- this.lockIsChanged.emit(unlocked);
44
- }
45
- this.cdr.markForCheck();
46
- }
47
- onWindowResize() {
48
- const conatinerWidth = this.formContainer?.nativeElement.offsetWidth;
49
- if (conatinerWidth > 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto && this.layout !== OnshoreFormTemplateLayout.horizontal) {
50
- this.layout = OnshoreFormTemplateLayout.horizontal;
51
- this.cdr.markForCheck();
52
- }
53
- if (conatinerWidth <= 500 && this.formTemplate.layout === OnshoreFormTemplateLayout.auto && this.layout !== OnshoreFormTemplateLayout.vertical) {
54
- this.layout = OnshoreFormTemplateLayout.vertical;
55
- this.cdr.markForCheck();
56
- }
57
- }
58
- ngOnInit() {
59
- this.ngControl?.control?.valueChanges.subscribe(value => {
60
- this.cdr.markForCheck();
61
- });
62
- this.ngControl?.control?.statusChanges.subscribe(status => {
63
- this.cdr.markForCheck();
64
- });
65
- this.enabled(this.formTemplate.enabled);
66
- this.disabled = !this.formTemplate.enabled;
67
- if (this.formTemplate.locked) {
68
- this.enabled(false);
69
- this.disabled = true;
70
- }
71
- this.layout = this.formTemplate.layout;
72
- setTimeout(() => {
73
- this.cdr.markForCheck();
74
- }, 100);
75
- }
76
- ngAfterViewInit() {
77
- this.onWindowResize();
78
- }
79
- ngOnChanges(changes) {
80
- const previousValue = changes['formTemplate']?.previousValue;
81
- const currentValue = changes['formTemplate']?.currentValue;
82
- if (currentValue) {
83
- if (previousValue?.enabled !== currentValue?.enabled) {
84
- this.enabled(currentValue?.enabled);
85
- this.disabled = !currentValue?.enabled;
86
- }
87
- if (previousValue?.locked !== currentValue?.locked) {
88
- if (currentValue.locked) {
89
- this.enabled(false);
90
- this.disabled = true;
91
- }
92
- else {
93
- this.enabled(currentValue.enabled);
94
- this.disabled = currentValue.enabled;
95
- }
96
- }
97
- if (previousValue?.layout !== currentValue?.layout) {
98
- this.layout = this.formTemplate.layout;
99
- this.onWindowResize();
100
- }
101
- if (previousValue?.labelStyle !== currentValue?.labelStyle) {
102
- this.onWindowResize();
103
- }
104
- this.cdr.markForCheck();
105
- }
106
- }
107
- }
108
- OnshoreFormItemContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormItemContainer, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
109
- OnshoreFormItemContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: { formTemplate: "formTemplate", ngControl: "ngControl", actionButtonDisabled: "actionButtonDisabled" }, outputs: { actionButtonClick: "actionButtonClick", lockIsChanged: "lockIsChanged" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "formContainer", first: true, predicate: ["formContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [class.mb-4]=\"!formTemplate.noGap\" #formContainer>\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n [hidden]=\"!formTemplate.label || formTemplate.label == ''\"\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px; max-height: 36px'\">\n\n <span *ngIf=\"formTemplate.label && formTemplate.label != ''\" [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.align-self-center]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </span>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" [tooltipPosition]=\"'left'\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{'height': '37px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <div class=\"w-full overflow-hidden align-self-center\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"formTemplate.actionButton\"\n class=\"ml-2 onshore-button-light\"\n [style]=\"{'height': '37px', 'min-width': '38px'}\"\n pButton\n [disabled]=\"actionButtonDisabled\"\n [icon]=\"formTemplate.actionButtonIcon\"\n (click)=\"actionButtonClick.emit()\">\n </button>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [tooltipPosition]=\"'left'\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.touched || ngControl.control.dirty\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? (formLabel?.clientWidth + (formTemplate.locked ? 48 : 0)) + 'px' : (formTemplate.locked ? 48 : 0) + 'px', 'margin-right': formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal ? '16px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div *ngIf=\"formTemplate.description\" class=\"mt-2\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? (formLabel?.clientWidth + (formTemplate.locked ? 48 : 0)) + 'px' : (formTemplate.locked ? 48 : 0) + 'px', 'margin-right': formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal ? '16px' : '0px'}\">\n <small class=\"onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i4.ToggleButton, selector: "p-toggleButton", inputs: ["onLabel", "offLabel", "onIcon", "offIcon", "ariaLabelledBy", "disabled", "style", "styleClass", "inputId", "tabindex", "iconPos"], outputs: ["onChange"] }, { kind: "component", type: i5.OnshoreFormValidationOutputComponent, selector: "onshore-form-validation-output", inputs: ["validationErrors", "validationItems"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormItemContainer, decorators: [{
111
- type: Component,
112
- args: [{ selector: 'onshore-form-item-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class.mb-4]=\"!formTemplate.noGap\" #formContainer>\n <div class=\"flex w-full\"\n [class.flex-column]=\"layout == OnshoreFormTemplateLayout.vertical\"\n [class.flex-row]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.justify-content-between]=\"layout == OnshoreFormTemplateLayout.horizontal\">\n\n <div #formLabel\n [hidden]=\"!formTemplate.label || formTemplate.label == ''\"\n class=\"flex justify-content-between\"\n [style]=\"formTemplate.labelStyle ?? 'min-width: 200px; max-height: 36px'\">\n\n <span *ngIf=\"formTemplate.label && formTemplate.label != ''\" [class.mr-2]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.align-self-center]=\"layout == OnshoreFormTemplateLayout.horizontal\"\n [class.mb-2]=\"layout == OnshoreFormTemplateLayout.vertical\">\n {{formTemplate.label}}\n <small *ngIf=\"formTemplate.required\" class=\"onshore-color-danger\">*</small>\n </span>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.vertical\" [pTooltip]=\"formTemplate.tooltip\" [escape]=\"false\" [tooltipPosition]=\"'left'\" appendTo=\"body\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n\n </div>\n\n <div class=\"flex w-full\">\n <p-toggleButton\n *ngIf=\"formTemplate.locked\"\n (onChange)=\"lockChanged($event.checked)\"\n onIcon=\"fa fa-lock-open\"\n offIcon=\"fa fa-lock\"\n class=\"mr-2\"\n [style]=\"{'height': '37px'}\"\n [disabled]=\"!formTemplate.enabled\">\n </p-toggleButton>\n\n <div class=\"w-full overflow-hidden align-self-center\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"formTemplate.actionButton\"\n class=\"ml-2 onshore-button-light\"\n [style]=\"{'height': '37px', 'min-width': '38px'}\"\n pButton\n [disabled]=\"actionButtonDisabled\"\n [icon]=\"formTemplate.actionButtonIcon\"\n (click)=\"actionButtonClick.emit()\">\n </button>\n </div>\n\n <div *ngIf=\"formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal\" class=\"ml-2 align-self-center\" [pTooltip]=\"formTemplate.tooltip\" [tooltipPosition]=\"'left'\" [escape]=\"false\"><i class=\"fa fa-circle-question onshore-color-gray-5\"></i></div>\n </div>\n\n <div *ngIf=\"ngControl.control.touched || ngControl.control.dirty\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? (formLabel?.clientWidth + (formTemplate.locked ? 48 : 0)) + 'px' : (formTemplate.locked ? 48 : 0) + 'px', 'margin-right': formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal ? '16px' : '0px'}\">\n <onshore-form-validation-output\n [validationItems]=\"formTemplate.validationItems\"\n [validationErrors]=\"ngControl.control.errors\">\n </onshore-form-validation-output>\n </div>\n\n <div *ngIf=\"formTemplate.description\" class=\"mt-2\" [style]=\"{'margin-left': layout == OnshoreFormTemplateLayout.horizontal ? (formLabel?.clientWidth + (formTemplate.locked ? 48 : 0)) + 'px' : (formTemplate.locked ? 48 : 0) + 'px', 'margin-right': formTemplate.tooltip && layout == OnshoreFormTemplateLayout.horizontal ? '16px' : '0px'}\">\n <small class=\"onshore-color-gray-5\"><i class=\"fa fa-info-circle\"></i> {{formTemplate.description}}</small>\n </div>\n\n</div>\n" }]
113
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { formTemplate: [{
114
- type: Input
115
- }], ngControl: [{
116
- type: Input
117
- }], actionButtonDisabled: [{
118
- type: Input
119
- }], actionButtonClick: [{
120
- type: Output
121
- }], lockIsChanged: [{
122
- type: Output
123
- }], formContainer: [{
124
- type: ViewChild,
125
- args: ['formContainer']
126
- }], onWindowResize: [{
127
- type: HostListener,
128
- args: ['window:resize', ['$event']]
129
- }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pdGVtLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnNob3JlLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWl0ZW0tY29udGFpbmVyL2Zvcm0taXRlbS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pdGVtLWNvbnRhaW5lci9mb3JtLWl0ZW0tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUFjLFlBQVksRUFDbkMsWUFBWSxFQUNaLEtBQUssRUFFRyxNQUFNLEVBQ0MsU0FBUyxFQUN6QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQVFuRSxNQUFNLE9BQU8sd0JBQXdCO0lBd0huQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXJIakMseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBRXJDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSTdDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsOEJBQXlCLEdBQUcseUJBQXlCLENBQUM7UUFFdEQsV0FBTSxHQUE4Qix5QkFBeUIsQ0FBQyxJQUFJLENBQUM7SUEyR25FLENBQUM7SUF6R0QsT0FBTyxDQUFDLE1BQWU7UUFDckIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUcsTUFBTSxFQUFFO2dCQUNULElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ2xDO2lC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TSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDdkI7WUFFRCxJQUFHLGFBQWEsRUFBRSxVQUFVLEtBQUssWUFBWSxFQUFFLFVBQVUsRUFBRTtnQkFDekQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3ZCO1lBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7O3FIQXRIVSx3QkFBd0I7eUdBQXhCLHdCQUF3QixpZENwQnJDLG00R0E4REE7MkZEMUNhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSw2QkFBNkIsbUJBRXRCLHVCQUF1QixDQUFDLE1BQU07d0dBR3RDLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRXFCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkF1QzFCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCwgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLm1vZGVscyc7XG5pbXBvcnQgeyBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0IH0gZnJvbSAnLi4vLi4vZW51bXMvZm9ybS5lbnVtcyc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29uc2hvcmUtZm9ybS1pdGVtLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWl0ZW0tY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE9uc2hvcmVGb3JtSXRlbUNvbnRhaW5lciBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgZm9ybVRlbXBsYXRlITogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW07XG4gIEBJbnB1dCgpIG5nQ29udHJvbCE6IE5nQ29udHJvbDtcbiAgQElucHV0KCkgYWN0aW9uQnV0dG9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgYWN0aW9uQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBsb2NrSXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2Zvcm1Db250YWluZXInKSBmb3JtQ29udGFpbmVyITogRWxlbWVudFJlZjtcblxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICB0ZW1wTG9ja1ZhbHVlOiBhbnk7XG5cbiAgT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dCA9IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQ7XG5cbiAgbGF5b3V0OiBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0ID0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5hdXRvO1xuXG4gIGVuYWJsZWQoZW5hYmxlOiBib29sZWFuKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmKGVuYWJsZSkge1xuICAgICAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sLmVuYWJsZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRpc2FibGVkID0gIWVuYWJsZTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIGxvY2tDaGFuZ2VkKHVubG9ja2VkOiBib29sZWFuKSB7XG4gICAgaWYodW5sb2NrZWQgJiYgdGhpcy5mb3JtVGVtcGxhdGUuZW5hYmxlZCkge1xuICAgICAgdGhpcy50ZW1wTG9ja1ZhbHVlID0gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wudmFsdWU7XG4gICAgICB0aGlzLmVuYWJsZWQodHJ1ZSk7XG4gICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmxvY2tJc0NoYW5nZWQuZW1pdCh1bmxvY2tlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW5hYmxlZChmYWxzZSk7XG4gICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sLnNldFZhbHVlKHRoaXMudGVtcExvY2tWYWx1ZSk7XG4gICAgICB0aGlzLnRlbXBMb2NrVmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5sb2NrSXNDaGFuZ2VkLmVtaXQodW5sb2NrZWQpO1xuICAgIH1cblxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIG9uV2luZG93UmVzaXplKCkge1xuICAgIGNvbnN0IGNvbmF0aW5lcldpZHRoID0gdGhpcy5mb3JtQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIGlmKGNvbmF0aW5lcldpZHRoID4gNTAwICYmIHRoaXMuZm9ybVRlbXBsYXRlLmxheW91dCA9PT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5hdXRvICYmIHRoaXMubGF5b3V0ICE9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWwpIHtcbiAgICAgIHRoaXMubGF5b3V0ID0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5ob3Jpem9udGFsO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICAgIGlmKGNvbmF0aW5lcldpZHRoIDw9IDUwMCAmJiB0aGlzLmZvcm1UZW1wbGF0ZS5sYXlvdXQgPT09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQuYXV0byAmJiB0aGlzLmxheW91dCAhPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC52ZXJ0aWNhbCkge1xuICAgICAgdGhpcy5sYXlvdXQgPSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0LnZlcnRpY2FsO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZW5hYmxlZCh0aGlzLmZvcm1UZW1wbGF0ZS5lbmFibGVkKTtcbiAgICB0aGlzLmRpc2FibGVkID0gIXRoaXMuZm9ybVRlbXBsYXRlLmVuYWJsZWQ7XG5cbiAgICBpZih0aGlzLmZvcm1UZW1wbGF0ZS5sb2NrZWQpIHtcbiAgICAgIHRoaXMuZW5hYmxlZChmYWxzZSk7XG4gICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmxheW91dCA9IHRoaXMuZm9ybVRlbXBsYXRlLmxheW91dDtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLm9uV2luZG93UmVzaXplKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IGNoYW5nZXNbJ2Zvcm1UZW1wbGF0ZSddPy5wcmV2aW91c1ZhbHVlO1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGNoYW5nZXNbJ2Zvcm1UZW1wbGF0ZSddPy5jdXJyZW50VmFsdWU7XG5cbiAgICBpZihjdXJyZW50VmFsdWUpIHtcblxuICAgICAgaWYocHJldmlvdXNWYWx1ZT8uZW5hYmxlZCAhPT0gY3VycmVudFZhbHVlPy5lbmFibGVkKSB7XG4gICAgICAgIHRoaXMuZW5hYmxlZChjdXJyZW50VmFsdWU/LmVuYWJsZWQpO1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gIWN1cnJlbnRWYWx1ZT8uZW5hYmxlZDtcbiAgICAgIH1cblxuICAgICAgaWYocHJldmlvdXNWYWx1ZT8ubG9ja2VkICE9PSBjdXJyZW50VmFsdWU/LmxvY2tlZCkge1xuICAgICAgICBpZihjdXJyZW50VmFsdWUubG9ja2VkKSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVkKGZhbHNlKTtcbiAgICAgICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmVuYWJsZWQoY3VycmVudFZhbHVlLmVuYWJsZWQpO1xuICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSBjdXJyZW50VmFsdWUuZW5hYmxlZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZihwcmV2aW91c1ZhbHVlPy5sYXlvdXQgIT09IGN1cnJlbnRWYWx1ZT8ubGF5b3V0KSB7XG4gICAgICAgIHRoaXMubGF5b3V0ID0gdGhpcy5mb3JtVGVtcGxhdGUubGF5b3V0O1xuICAgICAgICB0aGlzLm9uV2luZG93UmVzaXplKCk7XG4gICAgICB9XG5cbiAgICAgIGlmKHByZXZpb3VzVmFsdWU/LmxhYmVsU3R5bGUgIT09IGN1cnJlbnRWYWx1ZT8ubGFiZWxTdHlsZSkge1xuICAgICAgICB0aGlzLm9uV2luZG93UmVzaXplKCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuXG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzLm1iLTRdPVwiIWZvcm1UZW1wbGF0ZS5ub0dhcFwiICNmb3JtQ29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGxcIlxuICAgICAgIFtjbGFzcy5mbGV4LWNvbHVtbl09XCJsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC52ZXJ0aWNhbFwiXG4gICAgICAgW2NsYXNzLmZsZXgtcm93XT1cImxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWxcIlxuICAgICAgIFtjbGFzcy5qdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbl09XCJsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC5ob3Jpem9udGFsXCI+XG5cbiAgICA8ZGl2ICNmb3JtTGFiZWxcbiAgICAgICAgIFtoaWRkZW5dPVwiIWZvcm1UZW1wbGF0ZS5sYWJlbCB8fCBmb3JtVGVtcGxhdGUubGFiZWwgPT0gJydcIlxuICAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCJcbiAgICAgICAgIFtzdHlsZV09XCJmb3JtVGVtcGxhdGUubGFiZWxTdHlsZSA/PyAnbWluLXdpZHRoOiAyMDBweDsgbWF4LWhlaWdodDogMzZweCdcIj5cblxuICAgICAgPHNwYW4gKm5nSWY9XCJmb3JtVGVtcGxhdGUubGFiZWwgJiYgZm9ybVRlbXBsYXRlLmxhYmVsICE9ICcnXCIgW2NsYXNzLm1yLTJdPVwibGF5b3V0ID09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQuaG9yaXpvbnRhbFwiXG4gICAgICAgICBbY2xhc3MuYWxpZ24tc2VsZi1jZW50ZXJdPVwibGF5b3V0ID09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQuaG9yaXpvbnRhbFwiXG4gICAgICAgICBbY2xhc3MubWItMl09XCJsYXlvdXQgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dC52ZXJ0aWNhbFwiPlxuICAgICAgICB7e2Zvcm1UZW1wbGF0ZS5sYWJlbH19XG4gICAgICAgIDxzbWFsbCAqbmdJZj1cImZvcm1UZW1wbGF0ZS5yZXF1aXJlZFwiIGNsYXNzPVwib25zaG9yZS1jb2xvci1kYW5nZXJcIj4qPC9zbWFsbD5cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1UZW1wbGF0ZS50b29sdGlwICYmIGxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0LnZlcnRpY2FsXCIgW3BUb29sdGlwXT1cImZvcm1UZW1wbGF0ZS50b29sdGlwXCIgW2VzY2FwZV09XCJmYWxzZVwiIFt0b29sdGlwUG9zaXRpb25dPVwiJ2xlZnQnXCIgYXBwZW5kVG89XCJib2R5XCI+PGkgY2xhc3M9XCJmYSBmYS1jaXJjbGUtcXVlc3Rpb24gb25zaG9yZS1jb2xvci1ncmF5LTVcIj48L2k+PC9kaXY+XG5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbFwiPlxuICAgICAgPHAtdG9nZ2xlQnV0dG9uXG4gICAgICAgICpuZ0lmPVwiZm9ybVRlbXBsYXRlLmxvY2tlZFwiXG4gICAgICAgIChvbkNoYW5nZSk9XCJsb2NrQ2hhbmdlZCgkZXZlbnQuY2hlY2tlZClcIlxuICAgICAgICBvbkljb249XCJmYSBmYS1sb2NrLW9wZW5cIlxuICAgICAgICBvZmZJY29uPVwiZmEgZmEtbG9ja1wiXG4gICAgICAgIGNsYXNzPVwibXItMlwiXG4gICAgICAgIFtzdHlsZV09XCJ7J2hlaWdodCc6ICczN3B4J31cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWZvcm1UZW1wbGF0ZS5lbmFibGVkXCI+XG4gICAgICA8L3AtdG9nZ2xlQnV0dG9uPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIG92ZXJmbG93LWhpZGRlbiBhbGlnbi1zZWxmLWNlbnRlclwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImZvcm1UZW1wbGF0ZS5hY3Rpb25CdXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1sLTIgb25zaG9yZS1idXR0b24tbGlnaHRcIlxuICAgICAgICAgICAgICBbc3R5bGVdPVwieydoZWlnaHQnOiAnMzdweCcsICdtaW4td2lkdGgnOiAnMzhweCd9XCJcbiAgICAgICAgICAgICAgcEJ1dHRvblxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICBbaWNvbl09XCJmb3JtVGVtcGxhdGUuYWN0aW9uQnV0dG9uSWNvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb25CdXR0b25DbGljay5lbWl0KClcIj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImZvcm1UZW1wbGF0ZS50b29sdGlwICYmIGxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWxcIiBjbGFzcz1cIm1sLTIgYWxpZ24tc2VsZi1jZW50ZXJcIiBbcFRvb2x0aXBdPVwiZm9ybVRlbXBsYXRlLnRvb2x0aXBcIiBbdG9vbHRpcFBvc2l0aW9uXT1cIidsZWZ0J1wiIFtlc2NhcGVdPVwiZmFsc2VcIj48aSBjbGFzcz1cImZhIGZhLWNpcmNsZS1xdWVzdGlvbiBvbnNob3JlLWNvbG9yLWdyYXktNVwiPjwvaT48L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIm5nQ29udHJvbC5jb250cm9sLnRvdWNoZWQgfHwgbmdDb250cm9sLmNvbnRyb2wuZGlydHlcIiBbc3R5bGVdPVwieydtYXJnaW4tbGVmdCc6IGxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWwgPyAoZm9ybUxhYmVsPy5jbGllbnRXaWR0aCArIChmb3JtVGVtcGxhdGUubG9ja2VkID8gNDggOiAwKSkgKyAncHgnIDogKGZvcm1UZW1wbGF0ZS5sb2NrZWQgPyA0OCA6IDApICsgJ3B4JywgJ21hcmdpbi1yaWdodCc6IGZvcm1UZW1wbGF0ZS50b29sdGlwICYmIGxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWwgPyAnMTZweCcgOiAnMHB4J31cIj5cbiAgICA8b25zaG9yZS1mb3JtLXZhbGlkYXRpb24tb3V0cHV0XG4gICAgICBbdmFsaWRhdGlvbkl0ZW1zXT1cImZvcm1UZW1wbGF0ZS52YWxpZGF0aW9uSXRlbXNcIlxuICAgICAgW3ZhbGlkYXRpb25FcnJvcnNdPVwibmdDb250cm9sLmNvbnRyb2wuZXJyb3JzXCI+XG4gICAgPC9vbnNob3JlLWZvcm0tdmFsaWRhdGlvbi1vdXRwdXQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJmb3JtVGVtcGxhdGUuZGVzY3JpcHRpb25cIiBjbGFzcz1cIm10LTJcIiBbc3R5bGVdPVwieydtYXJnaW4tbGVmdCc6IGxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWwgPyAoZm9ybUxhYmVsPy5jbGllbnRXaWR0aCArIChmb3JtVGVtcGxhdGUubG9ja2VkID8gNDggOiAwKSkgKyAncHgnIDogKGZvcm1UZW1wbGF0ZS5sb2NrZWQgPyA0OCA6IDApICsgJ3B4JywgJ21hcmdpbi1yaWdodCc6IGZvcm1UZW1wbGF0ZS50b29sdGlwICYmIGxheW91dCA9PSBPbnNob3JlRm9ybVRlbXBsYXRlTGF5b3V0Lmhvcml6b250YWwgPyAnMTZweCcgOiAnMHB4J31cIj5cbiAgICA8c21hbGwgY2xhc3M9XCJvbnNob3JlLWNvbG9yLWdyYXktNVwiPjxpIGNsYXNzPVwiZmEgZmEtaW5mby1jaXJjbGVcIj48L2k+IHt7Zm9ybVRlbXBsYXRlLmRlc2NyaXB0aW9ufX08L3NtYWxsPlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
@@ -1,89 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Optional, Output, Self } from '@angular/core';
2
- import { OnshoreFormTemplateType } from '../../enums/form.enums';
3
- import { debounceTime, distinctUntilChanged, skip } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "ng2-dragula";
8
- import * as i4 from "../form-item-container/form-item-container.component";
9
- export class OnshoreFormSortItemComponent {
10
- constructor(ngControl, cdr) {
11
- this.ngControl = ngControl;
12
- this.cdr = cdr;
13
- this.actionButtonDisabled = false;
14
- this.actionButtonClick = new EventEmitter();
15
- this.sortItems = [];
16
- this.tempLockValue = [];
17
- this.OnshoreFormTemplateType = OnshoreFormTemplateType;
18
- this.disabled = false;
19
- this.ngControl.valueAccessor = this;
20
- }
21
- sortItemsChanged(event) {
22
- this.sortItems = event;
23
- this.ngControl?.control?.setValue(event);
24
- this.ngControl?.control?.markAsDirty();
25
- this.cdr.markForCheck();
26
- }
27
- lockChanged(unlocked) {
28
- if (unlocked && this.formTemplate.enabled) {
29
- this.tempLockValue = this.ngControl?.control.value;
30
- }
31
- else {
32
- this.ngControl?.control.setValue(this.tempLockValue);
33
- this.sortItems = this.tempLockValue;
34
- this.tempLockValue = null;
35
- }
36
- this.cdr.markForCheck();
37
- }
38
- // ControlValueAccessor interface
39
- writeValue(obj) {
40
- if (obj) {
41
- this.cdr.markForCheck();
42
- }
43
- }
44
- registerOnChange(fn) {
45
- if (this.ngControl.value) {
46
- this.cdr.markForCheck();
47
- }
48
- }
49
- registerOnTouched(fn) { }
50
- setDisabledState(isDisabled) {
51
- this.disabled = isDisabled;
52
- }
53
- ngOnInit() {
54
- this.ngControl.control?.valueChanges.pipe(debounceTime(100), distinctUntilChanged(), skip(1)).subscribe(newValue => {
55
- this.ngControl?.control.setValue(newValue);
56
- });
57
- if (this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {
58
- this.ngControl.control?.setValue(this.formTemplate.default);
59
- this.sortItems = this.formTemplate.default;
60
- }
61
- else {
62
- this.sortItems = this.ngControl.control?.value;
63
- }
64
- this.cdr.markForCheck();
65
- }
66
- ngOnChanges(changes) {
67
- this.cdr.markForCheck();
68
- }
69
- ngOnDestroy() {
70
- this.ngControl.control?.disable();
71
- }
72
- }
73
- OnshoreFormSortItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormSortItemComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
74
- OnshoreFormSortItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormSortItemComponent, selector: "onshore-form-sort-item", inputs: { formTemplate: "formTemplate", actionButtonDisabled: "actionButtonDisabled" }, outputs: { actionButtonClick: "actionButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\"\n (lockIsChanged)=\"lockChanged($event)\">\n\n <div *ngIf=\"formTemplate.type == OnshoreFormTemplateType.sort\"\n class=\"w-full\" [dragula]=\"ngControl.enabled\"\n [dragulaModel]=\"sortItems\"\n (dragulaModelChange)=\"sortItemsChanged($event)\">\n <div [class.cursor-move]=\"ngControl.enabled\"\n style=\"border-radius: 3px\"\n class=\"onshore-sort-item flex justify-content-between align-items-center onshore-border-gray-4 border-solid border-1 p-2 mb-2 onshore-background-color-white\" *ngFor=\"let item of sortItems\">\n <span [class.onshore-color-blocked]=\"!ngControl.enabled\">{{ item.label }}</span>\n <i [class.onshore-color-blocked]=\"!ngControl.enabled\" class=\"fa fa-arrows-v\"></i>\n </div>\n </div>\n\n</onshore-form-item-container>\n\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DragulaDirective, selector: "[dragula]", inputs: ["dragula", "dragulaModel"], outputs: ["dragulaModelChange"] }, { kind: "component", type: i4.OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl", "actionButtonDisabled"], outputs: ["actionButtonClick", "lockIsChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormSortItemComponent, decorators: [{
76
- type: Component,
77
- args: [{ selector: 'onshore-form-sort-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\"\n (lockIsChanged)=\"lockChanged($event)\">\n\n <div *ngIf=\"formTemplate.type == OnshoreFormTemplateType.sort\"\n class=\"w-full\" [dragula]=\"ngControl.enabled\"\n [dragulaModel]=\"sortItems\"\n (dragulaModelChange)=\"sortItemsChanged($event)\">\n <div [class.cursor-move]=\"ngControl.enabled\"\n style=\"border-radius: 3px\"\n class=\"onshore-sort-item flex justify-content-between align-items-center onshore-border-gray-4 border-solid border-1 p-2 mb-2 onshore-background-color-white\" *ngFor=\"let item of sortItems\">\n <span [class.onshore-color-blocked]=\"!ngControl.enabled\">{{ item.label }}</span>\n <i [class.onshore-color-blocked]=\"!ngControl.enabled\" class=\"fa fa-arrows-v\"></i>\n </div>\n </div>\n\n</onshore-form-item-container>\n\n" }]
78
- }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
79
- type: Self
80
- }, {
81
- type: Optional
82
- }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { formTemplate: [{
83
- type: Input
84
- }], actionButtonDisabled: [{
85
- type: Input
86
- }], actionButtonClick: [{
87
- type: Output
88
- }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zb3J0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1zb3J0LWl0ZW0vZm9ybS1zb3J0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1zb3J0LWl0ZW0vZm9ybS1zb3J0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQUUsWUFBWSxFQUN2QixLQUFLLEVBQ0csUUFBUSxFQUFFLE1BQU0sRUFDeEIsSUFBSSxFQUNMLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFPaEUsTUFBTSxPQUFPLDRCQUE0QjtJQTRFdkMsWUFBdUMsU0FBb0IsRUFDdkMsR0FBc0I7UUFESCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3ZDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBM0VqQyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFFckMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRCxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBRTNCLDRCQUF1QixHQUFHLHVCQUF1QixDQUFDO1FBRWxELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFtRXhCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBbEVELGdCQUFnQixDQUFDLEtBQVk7UUFDM0Is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QUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCxcbiAgU2VsZiwgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLm1vZGVscyc7XG5pbXBvcnQgeyBPbnNob3JlRm9ybVRlbXBsYXRlVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL2Zvcm0uZW51bXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc2tpcCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvbnNob3JlLWZvcm0tc29ydC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tc29ydC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE9uc2hvcmVGb3JtU29ydEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGZvcm1UZW1wbGF0ZSE6IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtO1xuICBASW5wdXQoKSBhY3Rpb25CdXR0b25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBhY3Rpb25CdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBzb3J0SXRlbXM/OiBhbnlbXSA9IFtdO1xuICB0ZW1wTG9ja1ZhbHVlPzogYW55W10gPSBbXTtcblxuICBPbnNob3JlRm9ybVRlbXBsYXRlVHlwZSA9IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlO1xuXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgc29ydEl0ZW1zQ2hhbmdlZChldmVudDogYW55W10pIHtcbiAgICB0aGlzLnNvcnRJdGVtcyA9IGV2ZW50O1xuICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5zZXRWYWx1ZShldmVudCk7XG4gICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lm1hcmtBc0RpcnR5KCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBsb2NrQ2hhbmdlZCh1bmxvY2tlZDogYm9vbGVhbikge1xuICAgIGlmKHVubG9ja2VkICYmIHRoaXMuZm9ybVRlbXBsYXRlLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMudGVtcExvY2tWYWx1ZSA9IHRoaXMubmdDb250cm9sPy5jb250cm9sLnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbC5zZXRWYWx1ZSh0aGlzLnRlbXBMb2NrVmFsdWUpO1xuICAgICAgdGhpcy5zb3J0SXRlbXMgPSB0aGlzLnRlbXBMb2NrVmFsdWU7XG4gICAgICB0aGlzLnRlbXBMb2NrVmFsdWUgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICBwdWJsaWMgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGlmKG9iaikge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIGlmKHRoaXMubmdDb250cm9sLnZhbHVlKSB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7fVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgc2tpcCgxKVxuICAgICkuc3Vic2NyaWJlKG5ld1ZhbHVlID0+IHtcbiAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sLnNldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICB9KTtcblxuICAgIGlmKHRoaXMubmdDb250cm9sLmNvbnRyb2w/LnZhbHVlID09ICcnICYmIHRoaXMuZm9ybVRlbXBsYXRlLmRlZmF1bHQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5zZXRWYWx1ZSh0aGlzLmZvcm1UZW1wbGF0ZS5kZWZhdWx0KTtcbiAgICAgIHRoaXMuc29ydEl0ZW1zID0gdGhpcy5mb3JtVGVtcGxhdGUuZGVmYXVsdDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zb3J0SXRlbXMgPSB0aGlzLm5nQ29udHJvbC5jb250cm9sPy52YWx1ZTtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5kaXNhYmxlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gIH1cbn1cbiIsIjxvbnNob3JlLWZvcm0taXRlbS1jb250YWluZXIgW2Zvcm1UZW1wbGF0ZV09XCJmb3JtVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDb250cm9sXT1cIm5nQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpb25CdXR0b25DbGljayk9XCJhY3Rpb25CdXR0b25DbGljay5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aW9uQnV0dG9uRGlzYWJsZWRdPVwiYWN0aW9uQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9ja0lzQ2hhbmdlZCk9XCJsb2NrQ2hhbmdlZCgkZXZlbnQpXCI+XG5cbiAgPGRpdiAqbmdJZj1cImZvcm1UZW1wbGF0ZS50eXBlID09IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlLnNvcnRcIlxuICAgICAgIGNsYXNzPVwidy1mdWxsXCIgW2RyYWd1bGFdPVwibmdDb250cm9sLmVuYWJsZWRcIlxuICAgICAgIFtkcmFndWxhTW9kZWxdPVwic29ydEl0ZW1zXCJcbiAgICAgICAoZHJhZ3VsYU1vZGVsQ2hhbmdlKT1cInNvcnRJdGVtc0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDxkaXYgW2NsYXNzLmN1cnNvci1tb3ZlXT1cIm5nQ29udHJvbC5lbmFibGVkXCJcbiAgICAgICAgIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogM3B4XCJcbiAgICAgICAgIGNsYXNzPVwib25zaG9yZS1zb3J0LWl0ZW0gZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgb25zaG9yZS1ib3JkZXItZ3JheS00IGJvcmRlci1zb2xpZCBib3JkZXItMSBwLTIgbWItMiBvbnNob3JlLWJhY2tncm91bmQtY29sb3Itd2hpdGVcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzb3J0SXRlbXNcIj5cbiAgICAgIDxzcGFuIFtjbGFzcy5vbnNob3JlLWNvbG9yLWJsb2NrZWRdPVwiIW5nQ29udHJvbC5lbmFibGVkXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDxpIFtjbGFzcy5vbnNob3JlLWNvbG9yLWJsb2NrZWRdPVwiIW5nQ29udHJvbC5lbmFibGVkXCIgY2xhc3M9XCJmYSBmYS1hcnJvd3MtdlwiPjwvaT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbjwvb25zaG9yZS1mb3JtLWl0ZW0tY29udGFpbmVyPlxuXG4iXX0=
@@ -1,58 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Optional, Output, Self } from '@angular/core';
2
- import { debounceTime, distinctUntilChanged, skip } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "primeng/inputswitch";
6
- import * as i3 from "../form-item-container/form-item-container.component";
7
- export class OnshoreFormSwitchItemComponent {
8
- constructor(ngControl, cdr) {
9
- this.ngControl = ngControl;
10
- this.cdr = cdr;
11
- this.actionButtonDisabled = false;
12
- this.valueChange = new EventEmitter();
13
- this.actionButtonClick = new EventEmitter();
14
- this.disabled = false;
15
- this.ngControl.valueAccessor = this;
16
- }
17
- // ControlValueAccessor interface
18
- writeValue(obj) { }
19
- registerOnChange(fn) { }
20
- registerOnTouched(fn) { }
21
- setDisabledState(isDisabled) {
22
- this.disabled = isDisabled;
23
- }
24
- ngOnInit() {
25
- this.ngControl.control?.valueChanges.pipe(debounceTime(100), distinctUntilChanged(), skip(1)).subscribe(newValue => {
26
- this.valueChange.emit(this.ngControl.control?.value);
27
- });
28
- if (this.ngControl.control?.value == undefined && this.formTemplate.default != undefined) {
29
- this.ngControl.control?.setValue(this.formTemplate.default);
30
- this.cdr.markForCheck();
31
- }
32
- }
33
- ngOnChanges(changes) {
34
- this.cdr.markForCheck();
35
- }
36
- ngOnDestroy() {
37
- this.ngControl.control?.disable();
38
- }
39
- }
40
- OnshoreFormSwitchItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormSwitchItemComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
41
- OnshoreFormSwitchItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormSwitchItemComponent, selector: "onshore-form-switch-item", inputs: { formTemplate: "formTemplate", actionButtonDisabled: "actionButtonDisabled" }, outputs: { valueChange: "valueChange", actionButtonClick: "actionButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <div class=\"h-full align-items-center mt-1\">\n <p-inputSwitch [name]=\"formTemplate.name\"\n [formControl]=\"ngControl.control\"\n [disabled]=\"disabled\"\n [inputId]=\"formTemplate.name\">\n </p-inputSwitch>\n </div>\n\n</onshore-form-item-container>\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.InputSwitch, selector: "p-inputSwitch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabel", "ariaLabelledBy"], outputs: ["onChange"] }, { kind: "component", type: i3.OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl", "actionButtonDisabled"], outputs: ["actionButtonClick", "lockIsChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormSwitchItemComponent, decorators: [{
43
- type: Component,
44
- args: [{ selector: 'onshore-form-switch-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <div class=\"h-full align-items-center mt-1\">\n <p-inputSwitch [name]=\"formTemplate.name\"\n [formControl]=\"ngControl.control\"\n [disabled]=\"disabled\"\n [inputId]=\"formTemplate.name\">\n </p-inputSwitch>\n </div>\n\n</onshore-form-item-container>\n" }]
45
- }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
46
- type: Self
47
- }, {
48
- type: Optional
49
- }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { formTemplate: [{
50
- type: Input
51
- }], actionButtonDisabled: [{
52
- type: Input
53
- }], valueChange: [{
54
- type: Output
55
- }], actionButtonClick: [{
56
- type: Output
57
- }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zd2l0Y2gtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnNob3JlLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLXN3aXRjaC1pdGVtL2Zvcm0tc3dpdGNoLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1zd2l0Y2gtaXRlbS9mb3JtLXN3aXRjaC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUFFLFlBQVksRUFDdkIsS0FBSyxFQUNHLFFBQVEsRUFBRSxNQUFNLEVBQ3hCLElBQUksRUFDTCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFRaEUsTUFBTSxPQUFPLDhCQUE4QjtJQXlDekMsWUFBdUMsU0FBb0IsRUFDdkMsR0FBc0I7UUFESCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3ZDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBeENqQyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFFckMsZ0JBQVcsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWpELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFvQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBbkNELGlDQUFpQztJQUNqQyxVQUFVLENBQUMsR0FBUSxJQUFTLENBQUM7SUFDN0IsZ0JBQWdCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFDbEMsaUJBQWlCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFDbkMsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsSUFBSSxDQUN2QyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLG9CQUFvQixFQUFFLEVBQ3RCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUixDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sSUFBSSxTQUFTLEVBQUU7WUFDdkYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7OzJIQXZDVSw4QkFBOEI7K0dBQTlCLDhCQUE4Qiw4UENqQjNDLG9sQkFhQTsyRkRJYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUVuQix1QkFBdUIsQ0FBQyxNQUFNOzswQkEyQ2xDLElBQUk7OzBCQUFJLFFBQVE7NEVBeENwQixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsXG4gIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSxcbiAgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LFxuICBTZWxmLCBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNraXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25zaG9yZS1mb3JtLXN3aXRjaC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tc3dpdGNoLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgT25zaG9yZUZvcm1Td2l0Y2hJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBmb3JtVGVtcGxhdGUhOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbTtcbiAgQElucHV0KCkgYWN0aW9uQnV0dG9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGFjdGlvbkJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHt9XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge31cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHNraXAoMSlcbiAgICApLnN1YnNjcmliZShuZXdWYWx1ZSA9PiB7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udmFsdWUpO1xuICAgIH0pO1xuXG4gICAgaWYodGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udmFsdWUgPT0gdW5kZWZpbmVkICYmIHRoaXMuZm9ybVRlbXBsYXRlLmRlZmF1bHQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5zZXRWYWx1ZSh0aGlzLmZvcm1UZW1wbGF0ZS5kZWZhdWx0KTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2w/LmRpc2FibGUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgfVxufVxuIiwiPG9uc2hvcmUtZm9ybS1pdGVtLWNvbnRhaW5lciBbZm9ybVRlbXBsYXRlXT1cImZvcm1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NvbnRyb2xdPVwibmdDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGlvbkJ1dHRvbkNsaWNrKT1cImFjdGlvbkJ1dHRvbkNsaWNrLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY3Rpb25CdXR0b25EaXNhYmxlZF09XCJhY3Rpb25CdXR0b25EaXNhYmxlZFwiPlxuICA8ZGl2IGNsYXNzPVwiaC1mdWxsIGFsaWduLWl0ZW1zLWNlbnRlciBtdC0xXCI+XG4gICAgPHAtaW5wdXRTd2l0Y2ggW25hbWVdPVwiZm9ybVRlbXBsYXRlLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJuZ0NvbnRyb2wuY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICBbaW5wdXRJZF09XCJmb3JtVGVtcGxhdGUubmFtZVwiPlxuICAgIDwvcC1pbnB1dFN3aXRjaD5cbiAgPC9kaXY+XG5cbjwvb25zaG9yZS1mb3JtLWl0ZW0tY29udGFpbmVyPlxuIl19
@@ -1,38 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@ngx-translate/core";
4
- import * as i2 from "@angular/common";
5
- export class OnshoreFormValidationOutputComponent {
6
- constructor(cdr, translate) {
7
- this.cdr = cdr;
8
- this.translate = translate;
9
- this.validationTranslation = '';
10
- }
11
- ngOnChanges(changes) {
12
- this.validationTranslation = '';
13
- if (changes['validationErrors'].currentValue && this.validationErrors) {
14
- Object.keys(this.validationErrors).forEach(error => {
15
- const exists = Object.values(this.validationItems ?? []).filter(validationItem => validationItem == error);
16
- if (exists && exists.length > 0) {
17
- this.validationTranslation += this.translate.instant('form.validation.' + error) + '<br>';
18
- }
19
- else {
20
- const errorValues = this.validationErrors[error];
21
- this.validationTranslation += this.translate.instant('form.validation.' + error, errorValues) + '<br>';
22
- }
23
- });
24
- }
25
- this.cdr.markForCheck();
26
- }
27
- }
28
- OnshoreFormValidationOutputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormValidationOutputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
29
- OnshoreFormValidationOutputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormValidationOutputComponent, selector: "onshore-form-validation-output", inputs: { validationErrors: "validationErrors", validationItems: "validationItems" }, usesOnChanges: true, ngImport: i0, template: "<small class=\"onshore-color-danger\"\n *ngIf=\"validationTranslation\"\n [innerHTML]=\"validationTranslation\">\n</small>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormValidationOutputComponent, decorators: [{
31
- type: Component,
32
- args: [{ selector: 'onshore-form-validation-output', changeDetection: ChangeDetectionStrategy.OnPush, template: "<small class=\"onshore-color-danger\"\n *ngIf=\"validationTranslation\"\n [innerHTML]=\"validationTranslation\">\n</small>\n" }]
33
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }]; }, propDecorators: { validationErrors: [{
34
- type: Input
35
- }], validationItems: [{
36
- type: Input
37
- }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0aW9uLW91dHB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnNob3JlLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLXZhbGlkYXRpb24tb3V0cHV0L2Zvcm0tdmFsaWRhdGlvbi1vdXRwdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS12YWxpZGF0aW9uLW91dHB1dC9mb3JtLXZhbGlkYXRpb24tb3V0cHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFDTixNQUFNLGVBQWUsQ0FBQzs7OztBQVN2QixNQUFNLE9BQU8sb0NBQW9DO0lBc0IvQyxZQUFvQixHQUFzQixFQUN0QixTQUEyQjtRQUQzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQW5CL0MsMEJBQXFCLEdBQVcsRUFBRSxDQUFDO0lBcUJuQyxDQUFDO0lBbkJELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLElBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNwRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDbEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBRSxjQUFjLENBQUMsRUFBRSxDQUFDLGNBQWMsSUFBSSxLQUFLLENBQUMsQ0FBQztnQkFDNUcsSUFBRyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQzlCLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUM7aUJBQzNGO3FCQUFNO29CQUNMLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDbEQsSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGtCQUFrQixHQUFHLEtBQUssRUFBRSxXQUFXLENBQUMsR0FBRyxNQUFNLENBQUM7aUJBQ3hHO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7aUlBcEJVLG9DQUFvQztxSEFBcEMsb0NBQW9DLGlMQ2RqRCx5SUFJQTsyRkRVYSxvQ0FBb0M7a0JBTGhELFNBQVM7K0JBQ0UsZ0NBQWdDLG1CQUV6Qix1QkFBdUIsQ0FBQyxNQUFNO3VJQUd0QyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25zaG9yZS1mb3JtLXZhbGlkYXRpb24tb3V0cHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tdmFsaWRhdGlvbi1vdXRwdXQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgT25zaG9yZUZvcm1WYWxpZGF0aW9uT3V0cHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgdmFsaWRhdGlvbkVycm9ycyE6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsO1xuICBASW5wdXQoKSB2YWxpZGF0aW9uSXRlbXMhOiBzdHJpbmdbXTtcblxuICB2YWxpZGF0aW9uVHJhbnNsYXRpb246IHN0cmluZyA9ICcnO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLnZhbGlkYXRpb25UcmFuc2xhdGlvbiA9ICcnO1xuICAgIGlmKGNoYW5nZXNbJ3ZhbGlkYXRpb25FcnJvcnMnXS5jdXJyZW50VmFsdWUgJiYgdGhpcy52YWxpZGF0aW9uRXJyb3JzKSB7XG4gICAgICBPYmplY3Qua2V5cyh0aGlzLnZhbGlkYXRpb25FcnJvcnMhKS5mb3JFYWNoKGVycm9yID0+IHtcbiAgICAgICAgY29uc3QgZXhpc3RzID0gT2JqZWN0LnZhbHVlcyh0aGlzLnZhbGlkYXRpb25JdGVtcyA/PyBbXSkuZmlsdGVyKCB2YWxpZGF0aW9uSXRlbSA9PiB2YWxpZGF0aW9uSXRlbSA9PSBlcnJvcik7XG4gICAgICAgIGlmKGV4aXN0cyAmJiBleGlzdHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMudmFsaWRhdGlvblRyYW5zbGF0aW9uICs9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2Zvcm0udmFsaWRhdGlvbi4nICsgZXJyb3IpICsgJzxicj4nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGVycm9yVmFsdWVzID0gdGhpcy52YWxpZGF0aW9uRXJyb3JzIVtlcnJvcl07XG4gICAgICAgICAgdGhpcy52YWxpZGF0aW9uVHJhbnNsYXRpb24gKz0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZm9ybS52YWxpZGF0aW9uLicgKyBlcnJvciwgZXJyb3JWYWx1ZXMpICsgJzxicj4nO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCkge1xuXG4gIH1cbn1cbiIsIjxzbWFsbCBjbGFzcz1cIm9uc2hvcmUtY29sb3ItZGFuZ2VyXCJcbiAgICAgICAqbmdJZj1cInZhbGlkYXRpb25UcmFuc2xhdGlvblwiXG4gICAgICBbaW5uZXJIVE1MXT1cInZhbGlkYXRpb25UcmFuc2xhdGlvblwiPlxuPC9zbWFsbD5cbiJdfQ==
@@ -1,79 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { OnshoreImageError } from '../../enums/form.enums';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "primeng/button";
6
- import * as i3 from "primeng/api";
7
- import * as i4 from "ngx-image-cropper";
8
- import * as i5 from "@ngx-translate/core";
9
- export class OnshoreImageChooserComponent {
10
- constructor(cdr) {
11
- this.cdr = cdr;
12
- this.drag = false;
13
- this.image = '';
14
- this.finalImage = '';
15
- this.imageErrorType = OnshoreImageError;
16
- this.imageError = OnshoreImageError.none;
17
- this.choosen = new EventEmitter();
18
- this.canceled = new EventEmitter();
19
- }
20
- clear() {
21
- this.image = '';
22
- this.finalImage = '';
23
- this.imageError = OnshoreImageError.none;
24
- }
25
- fileChange(event) {
26
- this.imageError = OnshoreImageError.none;
27
- const target = event.target;
28
- const file = target?.files ? target?.files[0] : null;
29
- if (file?.type != 'image/png' && file?.type != 'image/jpeg' && file?.type != 'image/webp') {
30
- this.imageError = OnshoreImageError.fileType;
31
- return;
32
- }
33
- if (file?.size > this.imageSettings.maxFileSize) {
34
- this.imageError = OnshoreImageError.size;
35
- return;
36
- }
37
- if (file) {
38
- const reader = new FileReader();
39
- reader.readAsDataURL(file);
40
- reader.onload = () => {
41
- const img = new Image();
42
- img.src = window.URL.createObjectURL(file);
43
- img.onload = () => {
44
- const originalWidth = img.width;
45
- const originalHeight = img.height;
46
- if (originalWidth >= this.imageSettings.imageWidth && originalHeight >= this.imageSettings.imageHeight) {
47
- this.image = reader.result?.toString() || '';
48
- }
49
- else {
50
- this.imageError = OnshoreImageError.ratio;
51
- }
52
- this.cdr.markForCheck();
53
- };
54
- };
55
- }
56
- }
57
- imageCropped(event) {
58
- // ToDo: Check needed base64 format
59
- //this.finalImage = event.base64.split(',')[1];
60
- this.finalImage = event.base64 || '';
61
- }
62
- imageCroppedReady() {
63
- this.choosen.emit(this.finalImage);
64
- this.clear();
65
- }
66
- }
67
- OnshoreImageChooserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreImageChooserComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
68
- OnshoreImageChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreImageChooserComponent, selector: "onshore-image-chooser", inputs: { imageSettings: "imageSettings" }, outputs: { choosen: "choosen", canceled: "canceled" }, ngImport: i0, template: "<div class=\"flex flex-column justify-content-center align-items-center w-full\">\n\n <div *ngIf=\"!image\" class=\"flex justify-content-center flex-column align-items-center w-full\">\n <div\n class=\"onshore-image-upload flex flex-column justify-content-between align-items-center rounded-lg p-4 relative m-3\"\n [class.onshore-border-gray-3]=\"drag\"\n [class.onshore-border-danger]=\"imageError != imageErrorType.none\">\n <i class=\"fa fa-image fa-5x onshore-color-gray-4\"></i>\n <small class=\"onshore-color-gray-4 mb-2\">{{'form.imageControl.dropImageLabel' | translate}}</small>\n\n <button pButton\n type=\"button\"\n icon=\"fa fa-file\"\n [label]=\"'form.imageControl.imageChooserFileButton' | translate\"\n class=\"onshore-button-primary mr-2\">\n </button>\n\n <input\n (change)=\"fileChange($event)\"\n *ngIf=\"!image\"\n accept=\"image/png, image/jpeg, image/webp\"\n class=\"onshore-image-input absolute w-full h-full\"\n type=\"file\"\n (dragenter)=\"drag = true\"\n (dragleave)=\"drag = false\"\n (dragend)=\"drag = false\"\n />\n </div>\n </div>\n\n <div class=\"flex flex-column relative align-items-center w-full\" *ngIf=\"image\">\n <image-cropper\n class=\"m-3\"\n [style]=\"'align-items: center; height: ' + (imageSettings.cropperPreviewHeight * this.imageSettings.aspectRatio) + 'px; width: ' + (imageSettings.cropperPreviewWidth * this.imageSettings.aspectRatio) + 'px'\"\n [class.onshore-cropper-circle]=\"this.imageSettings.circleCropper\"\n (imageCropped)=\"imageCropped($event)\"\n [imageBase64]=\"image\"\n [imageQuality]=\"this.imageSettings.imageQuality\"\n [alignImage]=\"this.imageSettings.alignImage\"\n [backgroundColor]=\"this.imageSettings.backgroundColor\"\n [containWithinAspectRatio]=\"this.imageSettings.containWithinAspectRatio\"\n [format]=\"this.imageSettings.format\"\n [aspectRatio]=\"this.imageSettings.aspectRatio\"\n [resizeToHeight]=\"this.imageSettings.imageWidth * this.imageSettings.aspectRatio\"\n [resizeToWidth]=\"this.imageSettings.imageHeight * this.imageSettings.aspectRatio\">\n </image-cropper>\n </div>\n\n <div *ngIf=\"imageError\"class=\"pb-2 text-wrap text-center onshore-color-danger\">\n <small *ngIf=\"imageError == imageErrorType.ratio\">{{'form.imageControl.imageErrorRatio' | translate: {resizeToWidth: this.imageSettings.imageWidth, resizeToHeight: this.imageSettings.imageHeight} }}</small>\n <small *ngIf=\"imageError == imageErrorType.fileType\">{{'form.imageControl.imageErrorFileType' | translate}}</small>\n <small *ngIf=\"imageError == imageErrorType.size\">{{'form.imageControl.imageErrorSize' | translate}}</small>\n </div>\n</div>\n\n\n<p-footer>\n <div class=\"flex justify-content-end align-items-center mt-2\">\n <button pButton\n type=\"button\"\n icon=\"fa fa-times\"\n [label]=\"'form.imageControl.imageChooserCancelButton' | translate\"\n class=\"onshore-button-light mr-2\"\n (click)=\"clear(); canceled.emit(true)\">\n </button>\n\n <button pButton\n type=\"button\"\n [label]=\"'form.imageControl.imageChooserSelectButton' | translate\"\n class=\"onshore-button-primary\"\n icon=\"fa fa-check\"\n [disabled]=\"!image\"\n (click)=\"imageCroppedReady()\">\n </button>\n </div>\n</p-footer>\n\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i3.Footer, selector: "p-footer" }, { kind: "component", type: i4.ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "format", "transform", "maintainAspectRatio", "aspectRatio", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "autoCrop", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "cropper", "alignImage", "disabled"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreImageChooserComponent, decorators: [{
70
- type: Component,
71
- args: [{ selector: 'onshore-image-chooser', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-column justify-content-center align-items-center w-full\">\n\n <div *ngIf=\"!image\" class=\"flex justify-content-center flex-column align-items-center w-full\">\n <div\n class=\"onshore-image-upload flex flex-column justify-content-between align-items-center rounded-lg p-4 relative m-3\"\n [class.onshore-border-gray-3]=\"drag\"\n [class.onshore-border-danger]=\"imageError != imageErrorType.none\">\n <i class=\"fa fa-image fa-5x onshore-color-gray-4\"></i>\n <small class=\"onshore-color-gray-4 mb-2\">{{'form.imageControl.dropImageLabel' | translate}}</small>\n\n <button pButton\n type=\"button\"\n icon=\"fa fa-file\"\n [label]=\"'form.imageControl.imageChooserFileButton' | translate\"\n class=\"onshore-button-primary mr-2\">\n </button>\n\n <input\n (change)=\"fileChange($event)\"\n *ngIf=\"!image\"\n accept=\"image/png, image/jpeg, image/webp\"\n class=\"onshore-image-input absolute w-full h-full\"\n type=\"file\"\n (dragenter)=\"drag = true\"\n (dragleave)=\"drag = false\"\n (dragend)=\"drag = false\"\n />\n </div>\n </div>\n\n <div class=\"flex flex-column relative align-items-center w-full\" *ngIf=\"image\">\n <image-cropper\n class=\"m-3\"\n [style]=\"'align-items: center; height: ' + (imageSettings.cropperPreviewHeight * this.imageSettings.aspectRatio) + 'px; width: ' + (imageSettings.cropperPreviewWidth * this.imageSettings.aspectRatio) + 'px'\"\n [class.onshore-cropper-circle]=\"this.imageSettings.circleCropper\"\n (imageCropped)=\"imageCropped($event)\"\n [imageBase64]=\"image\"\n [imageQuality]=\"this.imageSettings.imageQuality\"\n [alignImage]=\"this.imageSettings.alignImage\"\n [backgroundColor]=\"this.imageSettings.backgroundColor\"\n [containWithinAspectRatio]=\"this.imageSettings.containWithinAspectRatio\"\n [format]=\"this.imageSettings.format\"\n [aspectRatio]=\"this.imageSettings.aspectRatio\"\n [resizeToHeight]=\"this.imageSettings.imageWidth * this.imageSettings.aspectRatio\"\n [resizeToWidth]=\"this.imageSettings.imageHeight * this.imageSettings.aspectRatio\">\n </image-cropper>\n </div>\n\n <div *ngIf=\"imageError\"class=\"pb-2 text-wrap text-center onshore-color-danger\">\n <small *ngIf=\"imageError == imageErrorType.ratio\">{{'form.imageControl.imageErrorRatio' | translate: {resizeToWidth: this.imageSettings.imageWidth, resizeToHeight: this.imageSettings.imageHeight} }}</small>\n <small *ngIf=\"imageError == imageErrorType.fileType\">{{'form.imageControl.imageErrorFileType' | translate}}</small>\n <small *ngIf=\"imageError == imageErrorType.size\">{{'form.imageControl.imageErrorSize' | translate}}</small>\n </div>\n</div>\n\n\n<p-footer>\n <div class=\"flex justify-content-end align-items-center mt-2\">\n <button pButton\n type=\"button\"\n icon=\"fa fa-times\"\n [label]=\"'form.imageControl.imageChooserCancelButton' | translate\"\n class=\"onshore-button-light mr-2\"\n (click)=\"clear(); canceled.emit(true)\">\n </button>\n\n <button pButton\n type=\"button\"\n [label]=\"'form.imageControl.imageChooserSelectButton' | translate\"\n class=\"onshore-button-primary\"\n icon=\"fa fa-check\"\n [disabled]=\"!image\"\n (click)=\"imageCroppedReady()\">\n </button>\n </div>\n</p-footer>\n\n" }]
72
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { imageSettings: [{
73
- type: Input
74
- }], choosen: [{
75
- type: Output
76
- }], canceled: [{
77
- type: Output
78
- }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY2hvb3Nlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnNob3JlLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS1jaG9vc2VyL2ltYWdlLWNob29zZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2UtY2hvb3Nlci9pbWFnZS1jaG9vc2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBUTNELE1BQU0sT0FBTyw0QkFBNEI7SUF5RXZDLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBdkUxQyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsbUJBQWMsR0FBRyxpQkFBaUIsQ0FBQztRQUNuQyxlQUFVLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUk3QyxZQUFPLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkQsYUFBUSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBK0QvRCxDQUFDO0lBN0RELEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztJQUMzQyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQVk7UUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQTRCLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUU5RSxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksV0FBVyxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksWUFBWSxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksWUFBWSxFQUFFO1lBQ3pGLElBQUksQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDO1lBQzdDLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRTtZQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUN6QyxPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksRUFBRTtZQUNSLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFFbkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDeEIsR0FBRyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDM0MsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7b0JBRWhCLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7b0JBQ2hDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7b0JBRWxDLElBQUksYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxJQUFJLGNBQWMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRTt3QkFDdEcsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztxQkFDOUM7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7cUJBQzNDO29CQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBRTFCLENBQUMsQ0FBQTtZQUVILENBQUMsQ0FBQztTQUNIO0lBSUgsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUF3QjtRQUMxQyxtQ0FBbUM7UUFDbkMsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQzs7eUhBdkVVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLGdLQ2pCekMsKytHQTZFQTsyRkQ1RGEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHVCQUF1QixtQkFFaEIsdUJBQXVCLENBQUMsTUFBTTt3R0FVdEMsYUFBYTtzQkFBckIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1hZ2VDcm9wcGVkRXZlbnQgfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcic7XG5pbXBvcnQgeyBPbnNob3JlSW1hZ2VFcnJvciB9IGZyb20gJy4uLy4uL2VudW1zL2Zvcm0uZW51bXMnO1xuaW1wb3J0IHsgT25zaG9yZUZvcm1JbWFnZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25zaG9yZS1pbWFnZS1jaG9vc2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWNob29zZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgT25zaG9yZUltYWdlQ2hvb3NlckNvbXBvbmVudCB7XG5cbiAgZHJhZyA9IGZhbHNlO1xuICBpbWFnZSA9ICcnO1xuICBmaW5hbEltYWdlID0gJyc7XG4gIGltYWdlRXJyb3JUeXBlID0gT25zaG9yZUltYWdlRXJyb3I7XG4gIGltYWdlRXJyb3I6IE9uc2hvcmVJbWFnZUVycm9yID0gT25zaG9yZUltYWdlRXJyb3Iubm9uZTtcblxuICBASW5wdXQoKSBpbWFnZVNldHRpbmdzOiBPbnNob3JlRm9ybUltYWdlU2V0dGluZ3M7XG5cbiAgQE91dHB1dCgpIGNob29zZW46IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2FuY2VsZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjbGVhcigpIHtcbiAgICB0aGlzLmltYWdlID0gJyc7XG4gICAgdGhpcy5maW5hbEltYWdlID0gJyc7XG4gICAgdGhpcy5pbWFnZUVycm9yID0gT25zaG9yZUltYWdlRXJyb3Iubm9uZTtcbiAgfVxuXG4gIHB1YmxpYyBmaWxlQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaW1hZ2VFcnJvciA9IE9uc2hvcmVJbWFnZUVycm9yLm5vbmU7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgZmlsZTogRmlsZSB8IHVuZGVmaW5lZCB8IG51bGwgPSB0YXJnZXQ/LmZpbGVzID8gdGFyZ2V0Py5maWxlc1swXSA6IG51bGw7XG5cbiAgICBpZiAoZmlsZT8udHlwZSAhPSAnaW1hZ2UvcG5nJyAmJiBmaWxlPy50eXBlICE9ICdpbWFnZS9qcGVnJyAmJiBmaWxlPy50eXBlICE9ICdpbWFnZS93ZWJwJykge1xuICAgICAgdGhpcy5pbWFnZUVycm9yID0gT25zaG9yZUltYWdlRXJyb3IuZmlsZVR5cGU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGZpbGU/LnNpemUgPiB0aGlzLmltYWdlU2V0dGluZ3MubWF4RmlsZVNpemUpIHtcbiAgICAgIHRoaXMuaW1hZ2VFcnJvciA9IE9uc2hvcmVJbWFnZUVycm9yLnNpemU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG5cbiAgICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICAgIGltZy5zcmMgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcbiAgICAgICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcblxuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsV2lkdGggPSBpbWcud2lkdGg7XG4gICAgICAgICAgY29uc3Qgb3JpZ2luYWxIZWlnaHQgPSBpbWcuaGVpZ2h0O1xuXG4gICAgICAgICAgaWYgKG9yaWdpbmFsV2lkdGggPj0gdGhpcy5pbWFnZVNldHRpbmdzLmltYWdlV2lkdGggJiYgb3JpZ2luYWxIZWlnaHQgPj0gdGhpcy5pbWFnZVNldHRpbmdzLmltYWdlSGVpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLmltYWdlID0gcmVhZGVyLnJlc3VsdD8udG9TdHJpbmcoKSB8fCAnJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbWFnZUVycm9yID0gT25zaG9yZUltYWdlRXJyb3IucmF0aW87XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICAgIH1cblxuICAgICAgfTtcbiAgICB9XG5cblxuXG4gIH1cblxuICBwdWJsaWMgaW1hZ2VDcm9wcGVkKGV2ZW50OiBJbWFnZUNyb3BwZWRFdmVudCk6IHZvaWQge1xuICAgIC8vIFRvRG86IENoZWNrIG5lZWRlZCBiYXNlNjQgZm9ybWF0XG4gICAgLy90aGlzLmZpbmFsSW1hZ2UgPSBldmVudC5iYXNlNjQuc3BsaXQoJywnKVsxXTtcbiAgICB0aGlzLmZpbmFsSW1hZ2UgPSBldmVudC5iYXNlNjQgfHwgJyc7XG4gIH1cblxuICBwdWJsaWMgaW1hZ2VDcm9wcGVkUmVhZHkoKTogdm9pZCB7XG4gICAgdGhpcy5jaG9vc2VuLmVtaXQodGhpcy5maW5hbEltYWdlKTtcbiAgICB0aGlzLmNsZWFyKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgdy1mdWxsXCI+XG5cbiAgPGRpdiAqbmdJZj1cIiFpbWFnZVwiIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciB3LWZ1bGxcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm9uc2hvcmUtaW1hZ2UtdXBsb2FkIGZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHJvdW5kZWQtbGcgcC00IHJlbGF0aXZlIG0tM1wiXG4gICAgICBbY2xhc3Mub25zaG9yZS1ib3JkZXItZ3JheS0zXT1cImRyYWdcIlxuICAgICAgW2NsYXNzLm9uc2hvcmUtYm9yZGVyLWRhbmdlcl09XCJpbWFnZUVycm9yICE9IGltYWdlRXJyb3JUeXBlLm5vbmVcIj5cbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtaW1hZ2UgZmEtNXggb25zaG9yZS1jb2xvci1ncmF5LTRcIj48L2k+XG4gICAgICA8c21hbGwgY2xhc3M9XCJvbnNob3JlLWNvbG9yLWdyYXktNCBtYi0yXCI+e3snZm9ybS5pbWFnZUNvbnRyb2wuZHJvcEltYWdlTGFiZWwnIHwgdHJhbnNsYXRlfX08L3NtYWxsPlxuXG4gICAgICA8YnV0dG9uIHBCdXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGljb249XCJmYSBmYS1maWxlXCJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidmb3JtLmltYWdlQ29udHJvbC5pbWFnZUNob29zZXJGaWxlQnV0dG9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwib25zaG9yZS1idXR0b24tcHJpbWFyeSBtci0yXCI+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGlucHV0XG4gICAgICAgIChjaGFuZ2UpPVwiZmlsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKm5nSWY9XCIhaW1hZ2VcIlxuICAgICAgICBhY2NlcHQ9XCJpbWFnZS9wbmcsIGltYWdlL2pwZWcsIGltYWdlL3dlYnBcIlxuICAgICAgICBjbGFzcz1cIm9uc2hvcmUtaW1hZ2UtaW5wdXQgYWJzb2x1dGUgdy1mdWxsIGgtZnVsbFwiXG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgKGRyYWdlbnRlcik9XCJkcmFnID0gdHJ1ZVwiXG4gICAgICAgIChkcmFnbGVhdmUpPVwiZHJhZyA9IGZhbHNlXCJcbiAgICAgICAgKGRyYWdlbmQpPVwiZHJhZyA9IGZhbHNlXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIHJlbGF0aXZlIGFsaWduLWl0ZW1zLWNlbnRlciB3LWZ1bGxcIiAqbmdJZj1cImltYWdlXCI+XG4gICAgPGltYWdlLWNyb3BwZXJcbiAgICAgIGNsYXNzPVwibS0zXCJcbiAgICAgIFtzdHlsZV09XCInYWxpZ24taXRlbXM6IGNlbnRlcjsgaGVpZ2h0OiAnICsgKGltYWdlU2V0dGluZ3MuY3JvcHBlclByZXZpZXdIZWlnaHQgKiB0aGlzLmltYWdlU2V0dGluZ3MuYXNwZWN0UmF0aW8pICsgJ3B4OyB3aWR0aDogJyArIChpbWFnZVNldHRpbmdzLmNyb3BwZXJQcmV2aWV3V2lkdGggKiB0aGlzLmltYWdlU2V0dGluZ3MuYXNwZWN0UmF0aW8pICsgJ3B4J1wiXG4gICAgICBbY2xhc3Mub25zaG9yZS1jcm9wcGVyLWNpcmNsZV09XCJ0aGlzLmltYWdlU2V0dGluZ3MuY2lyY2xlQ3JvcHBlclwiXG4gICAgICAoaW1hZ2VDcm9wcGVkKT1cImltYWdlQ3JvcHBlZCgkZXZlbnQpXCJcbiAgICAgIFtpbWFnZUJhc2U2NF09XCJpbWFnZVwiXG4gICAgICBbaW1hZ2VRdWFsaXR5XT1cInRoaXMuaW1hZ2VTZXR0aW5ncy5pbWFnZVF1YWxpdHlcIlxuICAgICAgW2FsaWduSW1hZ2VdPVwidGhpcy5pbWFnZVNldHRpbmdzLmFsaWduSW1hZ2VcIlxuICAgICAgW2JhY2tncm91bmRDb2xvcl09XCJ0aGlzLmltYWdlU2V0dGluZ3MuYmFja2dyb3VuZENvbG9yXCJcbiAgICAgIFtjb250YWluV2l0aGluQXNwZWN0UmF0aW9dPVwidGhpcy5pbWFnZVNldHRpbmdzLmNvbnRhaW5XaXRoaW5Bc3BlY3RSYXRpb1wiXG4gICAgICBbZm9ybWF0XT1cInRoaXMuaW1hZ2VTZXR0aW5ncy5mb3JtYXRcIlxuICAgICAgW2FzcGVjdFJhdGlvXT1cInRoaXMuaW1hZ2VTZXR0aW5ncy5hc3BlY3RSYXRpb1wiXG4gICAgICBbcmVzaXplVG9IZWlnaHRdPVwidGhpcy5pbWFnZVNldHRpbmdzLmltYWdlV2lkdGggKiB0aGlzLmltYWdlU2V0dGluZ3MuYXNwZWN0UmF0aW9cIlxuICAgICAgW3Jlc2l6ZVRvV2lkdGhdPVwidGhpcy5pbWFnZVNldHRpbmdzLmltYWdlSGVpZ2h0ICogdGhpcy5pbWFnZVNldHRpbmdzLmFzcGVjdFJhdGlvXCI+XG4gICAgPC9pbWFnZS1jcm9wcGVyPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiaW1hZ2VFcnJvclwiY2xhc3M9XCJwYi0yIHRleHQtd3JhcCB0ZXh0LWNlbnRlciBvbnNob3JlLWNvbG9yLWRhbmdlclwiPlxuICAgIDxzbWFsbCAqbmdJZj1cImltYWdlRXJyb3IgPT0gaW1hZ2VFcnJvclR5cGUucmF0aW9cIj57eydmb3JtLmltYWdlQ29udHJvbC5pbWFnZUVycm9yUmF0aW8nIHwgdHJhbnNsYXRlOiB7cmVzaXplVG9XaWR0aDogdGhpcy5pbWFnZVNldHRpbmdzLmltYWdlV2lkdGgsIHJlc2l6ZVRvSGVpZ2h0OiB0aGlzLmltYWdlU2V0dGluZ3MuaW1hZ2VIZWlnaHR9IH19PC9zbWFsbD5cbiAgICA8c21hbGwgKm5nSWY9XCJpbWFnZUVycm9yID09IGltYWdlRXJyb3JUeXBlLmZpbGVUeXBlXCI+e3snZm9ybS5pbWFnZUNvbnRyb2wuaW1hZ2VFcnJvckZpbGVUeXBlJyB8IHRyYW5zbGF0ZX19PC9zbWFsbD5cbiAgICA8c21hbGwgKm5nSWY9XCJpbWFnZUVycm9yID09IGltYWdlRXJyb3JUeXBlLnNpemVcIj57eydmb3JtLmltYWdlQ29udHJvbC5pbWFnZUVycm9yU2l6ZScgfCB0cmFuc2xhdGV9fTwvc21hbGw+XG4gIDwvZGl2PlxuPC9kaXY+XG5cblxuPHAtZm9vdGVyPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWNlbnRlciBtdC0yXCI+XG4gICAgPGJ1dHRvbiBwQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGljb249XCJmYSBmYS10aW1lc1wiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ2Zvcm0uaW1hZ2VDb250cm9sLmltYWdlQ2hvb3NlckNhbmNlbEJ1dHRvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJvbnNob3JlLWJ1dHRvbi1saWdodCBtci0yXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigpOyBjYW5jZWxlZC5lbWl0KHRydWUpXCI+XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uIHBCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidmb3JtLmltYWdlQ29udHJvbC5pbWFnZUNob29zZXJTZWxlY3RCdXR0b24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIGNsYXNzPVwib25zaG9yZS1idXR0b24tcHJpbWFyeVwiXG4gICAgICAgICAgICBpY29uPVwiZmEgZmEtY2hlY2tcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpbWFnZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaW1hZ2VDcm9wcGVkUmVhZHkoKVwiPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvcC1mb290ZXI+XG5cbiJdfQ==
@@ -1,41 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class OnshoreImagePlaceholderComponent {
5
- constructor() {
6
- this.placeholderIcon = '';
7
- this.placeholderImage = '';
8
- this.image = '';
9
- this.imageStyle = '';
10
- this.placeholderStyle = '';
11
- this.showLoader = true;
12
- this.imageLoaded = false;
13
- }
14
- loadReady() {
15
- this.imageLoaded = true;
16
- this.showLoader = false;
17
- }
18
- abort() {
19
- this.imageLoaded = false;
20
- this.showLoader = false;
21
- }
22
- }
23
- OnshoreImagePlaceholderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreImagePlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- OnshoreImagePlaceholderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreImagePlaceholderComponent, selector: "onshore-image-placeholder", inputs: { placeholderIcon: "placeholderIcon", placeholderImage: "placeholderImage", image: "image", imageStyle: "imageStyle", placeholderStyle: "placeholderStyle", showLoader: "showLoader" }, ngImport: i0, template: "<div [hidden]=\"!imageLoaded || !image\">\n <img [style]=\"imageStyle\" [src]=\"image\" (load)=\"loadReady()\" (abort)=\"abort()\" />\n</div>\n\n<div *ngIf=\"!imageLoaded || !image\" class=\"flex justify-content-center align-items-center\" [style]=\"placeholderStyle\" [class.bg-gray-200]=\"placeholderIcon\" [class.p-2]=\"placeholderIcon\">\n <i *ngIf=\"placeholderIcon\" [class]=\"'text-muted fa ' + placeholderIcon\" [class.opacity-20]=\"showLoader && image\"></i>\n <img *ngIf=\"placeholderImage\" [src]=\"placeholderImage\" [class.opacity-20]=\"showLoader && image\" class=\"h-full\" />\n <i *ngIf=\"showLoader && image\" class=\"fas fa-circle-notch fa-spin fa-2x absolute\"></i>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreImagePlaceholderComponent, decorators: [{
26
- type: Component,
27
- args: [{ selector: 'onshore-image-placeholder', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [hidden]=\"!imageLoaded || !image\">\n <img [style]=\"imageStyle\" [src]=\"image\" (load)=\"loadReady()\" (abort)=\"abort()\" />\n</div>\n\n<div *ngIf=\"!imageLoaded || !image\" class=\"flex justify-content-center align-items-center\" [style]=\"placeholderStyle\" [class.bg-gray-200]=\"placeholderIcon\" [class.p-2]=\"placeholderIcon\">\n <i *ngIf=\"placeholderIcon\" [class]=\"'text-muted fa ' + placeholderIcon\" [class.opacity-20]=\"showLoader && image\"></i>\n <img *ngIf=\"placeholderImage\" [src]=\"placeholderImage\" [class.opacity-20]=\"showLoader && image\" class=\"h-full\" />\n <i *ngIf=\"showLoader && image\" class=\"fas fa-circle-notch fa-spin fa-2x absolute\"></i>\n</div>\n" }]
28
- }], ctorParameters: function () { return []; }, propDecorators: { placeholderIcon: [{
29
- type: Input
30
- }], placeholderImage: [{
31
- type: Input
32
- }], image: [{
33
- type: Input
34
- }], imageStyle: [{
35
- type: Input
36
- }], placeholderStyle: [{
37
- type: Input
38
- }], showLoader: [{
39
- type: Input
40
- }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcGxhY2Vob2xkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2UtcGxhY2Vob2xkZXIvaW1hZ2UtcGxhY2Vob2xkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2UtcGxhY2Vob2xkZXIvaW1hZ2UtcGxhY2Vob2xkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8xRSxNQUFNLE9BQU8sZ0NBQWdDO0lBcUIzQztRQW5CZ0Isb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFDN0IscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBQzlCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixxQkFBZ0IsR0FBVyxFQUFFLENBQUM7UUFDOUIsZUFBVSxHQUFZLElBQUksQ0FBQztRQUUzQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztJQVlMLENBQUM7SUFWaEIsU0FBUztRQUNQLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQzs7NkhBbkJVLGdDQUFnQztpSEFBaEMsZ0NBQWdDLGlRQ1A3Qyw0ckJBU0E7MkZERmEsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLDJCQUEyQixtQkFFcEIsdUJBQXVCLENBQUMsTUFBTTswRUFJL0IsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25zaG9yZS1pbWFnZS1wbGFjZWhvbGRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1wbGFjZWhvbGRlci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBPbnNob3JlSW1hZ2VQbGFjZWhvbGRlckNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVySWNvbjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlckltYWdlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGltYWdlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGltYWdlU3R5bGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXJTdHlsZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93TG9hZGVyOiBib29sZWFuID0gdHJ1ZTtcblxuICBpbWFnZUxvYWRlZCA9IGZhbHNlO1xuXG4gIGxvYWRSZWFkeSgpIHtcbiAgICB0aGlzLmltYWdlTG9hZGVkID0gdHJ1ZTtcbiAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcbiAgfVxuXG4gIGFib3J0KCkge1xuICAgIHRoaXMuaW1hZ2VMb2FkZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxufVxuIiwiPGRpdiBbaGlkZGVuXT1cIiFpbWFnZUxvYWRlZCB8fCAhaW1hZ2VcIj5cbiAgPGltZyBbc3R5bGVdPVwiaW1hZ2VTdHlsZVwiIFtzcmNdPVwiaW1hZ2VcIiAobG9hZCk9XCJsb2FkUmVhZHkoKVwiIChhYm9ydCk9XCJhYm9ydCgpXCIgLz5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiIWltYWdlTG9hZGVkIHx8ICFpbWFnZVwiIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiIFtzdHlsZV09XCJwbGFjZWhvbGRlclN0eWxlXCIgW2NsYXNzLmJnLWdyYXktMjAwXT1cInBsYWNlaG9sZGVySWNvblwiIFtjbGFzcy5wLTJdPVwicGxhY2Vob2xkZXJJY29uXCI+XG4gIDxpICpuZ0lmPVwicGxhY2Vob2xkZXJJY29uXCIgW2NsYXNzXT1cIid0ZXh0LW11dGVkIGZhICcgKyBwbGFjZWhvbGRlckljb25cIiBbY2xhc3Mub3BhY2l0eS0yMF09XCJzaG93TG9hZGVyICYmIGltYWdlXCI+PC9pPlxuICA8aW1nICpuZ0lmPVwicGxhY2Vob2xkZXJJbWFnZVwiIFtzcmNdPVwicGxhY2Vob2xkZXJJbWFnZVwiIFtjbGFzcy5vcGFjaXR5LTIwXT1cInNob3dMb2FkZXIgJiYgaW1hZ2VcIiBjbGFzcz1cImgtZnVsbFwiIC8+XG4gIDxpICpuZ0lmPVwic2hvd0xvYWRlciAmJiBpbWFnZVwiIGNsYXNzPVwiZmFzIGZhLWNpcmNsZS1ub3RjaCBmYS1zcGluIGZhLTJ4IGFic29sdXRlXCI+PC9pPlxuPC9kaXY+XG4iXX0=