onshore-forms 0.0.58 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/onshore-forms.mjs +1399 -0
- package/fesm2022/onshore-forms.mjs.map +1 -0
- package/lib/components/form-autocomplete-item/form-autocomplete-item.component.d.ts +5 -3
- package/lib/components/form-checkbox-item/form-checkbox-item.component.d.ts +3 -2
- package/lib/components/form-colorpicker-item/form-colorpicker-item.component.d.ts +3 -2
- package/lib/components/form-datetime-item/form-datetime-item.component.d.ts +3 -2
- package/lib/components/form-dropdown-item/form-dropdown-item.component.d.ts +3 -2
- package/lib/components/form-image-item/form-image-item.component.d.ts +3 -3
- package/lib/components/form-input-item/form-input-item.component.d.ts +3 -2
- package/lib/components/form-item-container/form-item-container.component.d.ts +3 -3
- package/lib/components/form-sort-item/form-sort-item.component.d.ts +2 -2
- package/lib/components/form-switch-item/form-switch-item.component.d.ts +3 -2
- package/lib/components/form-validation-output/form-validation-output.component.d.ts +1 -1
- package/lib/components/image-chooser/image-chooser.component.d.ts +2 -2
- package/lib/components/image-placeholder/image-placeholder.component.d.ts +1 -1
- package/lib/components/webcam/webcam.component.d.ts +2 -2
- package/lib/onshore-forms.component.d.ts +1 -1
- package/lib/onshore-forms.service.d.ts +1 -1
- package/package.json +12 -19
- package/public-api.d.ts +0 -1
- package/styles/scss/main.css +1 -1
- package/styles/scss/theme1.css +1 -1
- package/esm2020/lib/components/form-autocomplete-item/form-autocomplete-item.component.mjs +0 -98
- package/esm2020/lib/components/form-checkbox-item/form-checkbox-item.component.mjs +0 -54
- package/esm2020/lib/components/form-colorpicker-item/form-colorpicker-item.component.mjs +0 -63
- package/esm2020/lib/components/form-datetime-item/form-datetime-item.component.mjs +0 -59
- package/esm2020/lib/components/form-dropdown-item/form-dropdown-item.component.mjs +0 -101
- package/esm2020/lib/components/form-image-item/form-image-item.component.mjs +0 -164
- package/esm2020/lib/components/form-input-item/form-input-item.component.mjs +0 -78
- package/esm2020/lib/components/form-item-container/form-item-container.component.mjs +0 -130
- package/esm2020/lib/components/form-sort-item/form-sort-item.component.mjs +0 -89
- package/esm2020/lib/components/form-switch-item/form-switch-item.component.mjs +0 -58
- package/esm2020/lib/components/form-validation-output/form-validation-output.component.mjs +0 -38
- package/esm2020/lib/components/image-chooser/image-chooser.component.mjs +0 -79
- package/esm2020/lib/components/image-placeholder/image-placeholder.component.mjs +0 -41
- package/esm2020/lib/components/webcam/webcam.component.mjs +0 -49
- package/esm2020/lib/enums/form.enums.mjs +0 -37
- package/esm2020/lib/models/form.models.mjs +0 -2
- package/esm2020/lib/onshore-forms.component.mjs +0 -14
- package/esm2020/lib/onshore-forms.module.mjs +0 -189
- package/esm2020/lib/onshore-forms.service.mjs +0 -213
- package/esm2020/lib/validators/form.validators.mjs +0 -15
- package/esm2020/onshore-forms.mjs +0 -5
- package/esm2020/public-api.mjs +0 -24
- package/fesm2015/onshore-forms.mjs +0 -1550
- package/fesm2015/onshore-forms.mjs.map +0 -1
- package/fesm2020/onshore-forms.mjs +0 -1479
- package/fesm2020/onshore-forms.mjs.map +0 -1
- package/lib/onshore-forms.module.d.ts +0 -43
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Optional, Output, Self } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/forms";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "primeng/dropdown";
|
|
6
|
-
import * as i4 from "primeng/multiselect";
|
|
7
|
-
import * as i5 from "../form-item-container/form-item-container.component";
|
|
8
|
-
import * as i6 from "@ngx-translate/core";
|
|
9
|
-
export class OnshoreFormDropdownItemComponent {
|
|
10
|
-
constructor(ngControl, cdr) {
|
|
11
|
-
this.ngControl = ngControl;
|
|
12
|
-
this.cdr = cdr;
|
|
13
|
-
this.multiple = false;
|
|
14
|
-
this.showClear = false;
|
|
15
|
-
this.group = false;
|
|
16
|
-
this.selectionLimit = 0;
|
|
17
|
-
this.minLength = 0;
|
|
18
|
-
this.optionLabel = '';
|
|
19
|
-
this.optionGroupLabel = '';
|
|
20
|
-
this.dataKey = '';
|
|
21
|
-
this.actionButtonDisabled = false;
|
|
22
|
-
this.valueChange = new EventEmitter();
|
|
23
|
-
this.actionButtonClick = new EventEmitter();
|
|
24
|
-
this.disabled = false;
|
|
25
|
-
this.ngControl.valueAccessor = this;
|
|
26
|
-
}
|
|
27
|
-
// ControlValueAccessor interface
|
|
28
|
-
writeValue(obj) {
|
|
29
|
-
if (obj) {
|
|
30
|
-
this.cdr.markForCheck();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
registerOnChange(fn) {
|
|
34
|
-
if (this.ngControl.value) {
|
|
35
|
-
this.cdr.markForCheck();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
registerOnTouched(fn) { }
|
|
39
|
-
setDisabledState(isDisabled) {
|
|
40
|
-
this.disabled = isDisabled;
|
|
41
|
-
}
|
|
42
|
-
clearSelection() {
|
|
43
|
-
this.ngControl.control?.reset();
|
|
44
|
-
this.ngControl.control?.setValue(this.multiple ? [] : '');
|
|
45
|
-
this.cdr.markForCheck();
|
|
46
|
-
}
|
|
47
|
-
ngOnInit() {
|
|
48
|
-
if ((!this.ngControl.control?.value || this.ngControl.control?.value == '' || this.ngControl.control?.value == undefined) && !this.multiple) {
|
|
49
|
-
this.ngControl.control?.setValue(this.formTemplate.default);
|
|
50
|
-
this.cdr.markForCheck();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
ngOnDestroy() {
|
|
54
|
-
this.ngControl.control?.disable();
|
|
55
|
-
}
|
|
56
|
-
ngOnChanges(changes) {
|
|
57
|
-
const currentOptions = changes['options']?.currentValue ?? changes['formTemplate']?.currentValue?.options;
|
|
58
|
-
//const previousOptions = changes['options']?.previousValue ?? changes['formTemplate']?.previousValue?.options;
|
|
59
|
-
if (!this.options && currentOptions) {
|
|
60
|
-
this.options = currentOptions;
|
|
61
|
-
}
|
|
62
|
-
this.cdr.markForCheck();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
OnshoreFormDropdownItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormDropdownItemComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
-
OnshoreFormDropdownItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormDropdownItemComponent, selector: "onshore-form-dropdown-item", inputs: { formTemplate: "formTemplate", multiple: "multiple", showClear: "showClear", group: "group", selectionLimit: "selectionLimit", minLength: "minLength", optionLabel: "optionLabel", optionGroupLabel: "optionGroupLabel", dataKey: "dataKey", actionButtonDisabled: "actionButtonDisabled", options: "options" }, 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\n <p-dropdown *ngIf=\"!multiple\"\n class=\"w-full\"\n [options]=\"options\"\n [formControl]=\"ngControl.control\"\n [name]=\"formTemplate?.name\"\n [placeholder]=\"formTemplate?.placeholder\"\n [disabled]=\"disabled\"\n [optionLabel]=\"optionLabel\"\n [dataKey]=\"dataKey\"\n [optionGroupLabel]=\"optionGroupLabel\"\n [group]=\"group\"\n [showClear]=\"showClear && formTemplate?.placeholder\"\n (onClear)=\"clearSelection()\"\n optionDisabled=\"disabled\"\n appendTo=\"body\">\n </p-dropdown>\n\n <p-multiSelect *ngIf=\"multiple\"\n class=\"w-full\"\n [options]=\"options\"\n [formControl]=\"ngControl.control\"\n [name]=\"formTemplate?.name\"\n [placeholder]=\"formTemplate?.placeholder\"\n [disabled]=\"disabled\"\n [showClear]=\"showClear\"\n [selectionLimit]=\"selectionLimit\"\n [minlength]=\"minLength\"\n [optionLabel]=\"optionLabel\"\n [dataKey]=\"dataKey\"\n [optionGroupLabel]=\"optionGroupLabel\"\n [group]=\"group\"\n (onClear)=\"clearSelection()\"\n [selectedItemsLabel]=\"'form.dropdownControl.selectedItems' | translate\"\n optionDisabled=\"disabled\"\n appendTo=\"body\"></p-multiSelect>\n\n</onshore-form-item-container>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "itemSize", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i4.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "label", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "autoZIndex", "baseZIndex", "filterBy", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "defaultLabel", "placeholder", "options", "filterValue", "itemSize"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad"] }, { kind: "component", type: i5.OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl", "actionButtonDisabled"], outputs: ["actionButtonClick", "lockIsChanged"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormDropdownItemComponent, decorators: [{
|
|
68
|
-
type: Component,
|
|
69
|
-
args: [{ selector: 'onshore-form-dropdown-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n\n <p-dropdown *ngIf=\"!multiple\"\n class=\"w-full\"\n [options]=\"options\"\n [formControl]=\"ngControl.control\"\n [name]=\"formTemplate?.name\"\n [placeholder]=\"formTemplate?.placeholder\"\n [disabled]=\"disabled\"\n [optionLabel]=\"optionLabel\"\n [dataKey]=\"dataKey\"\n [optionGroupLabel]=\"optionGroupLabel\"\n [group]=\"group\"\n [showClear]=\"showClear && formTemplate?.placeholder\"\n (onClear)=\"clearSelection()\"\n optionDisabled=\"disabled\"\n appendTo=\"body\">\n </p-dropdown>\n\n <p-multiSelect *ngIf=\"multiple\"\n class=\"w-full\"\n [options]=\"options\"\n [formControl]=\"ngControl.control\"\n [name]=\"formTemplate?.name\"\n [placeholder]=\"formTemplate?.placeholder\"\n [disabled]=\"disabled\"\n [showClear]=\"showClear\"\n [selectionLimit]=\"selectionLimit\"\n [minlength]=\"minLength\"\n [optionLabel]=\"optionLabel\"\n [dataKey]=\"dataKey\"\n [optionGroupLabel]=\"optionGroupLabel\"\n [group]=\"group\"\n (onClear)=\"clearSelection()\"\n [selectedItemsLabel]=\"'form.dropdownControl.selectedItems' | translate\"\n optionDisabled=\"disabled\"\n appendTo=\"body\"></p-multiSelect>\n\n</onshore-form-item-container>\n" }]
|
|
70
|
-
}], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
|
|
71
|
-
type: Self
|
|
72
|
-
}, {
|
|
73
|
-
type: Optional
|
|
74
|
-
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { formTemplate: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], multiple: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}], showClear: [{
|
|
79
|
-
type: Input
|
|
80
|
-
}], group: [{
|
|
81
|
-
type: Input
|
|
82
|
-
}], selectionLimit: [{
|
|
83
|
-
type: Input
|
|
84
|
-
}], minLength: [{
|
|
85
|
-
type: Input
|
|
86
|
-
}], optionLabel: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}], optionGroupLabel: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], dataKey: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], actionButtonDisabled: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], options: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}], valueChange: [{
|
|
97
|
-
type: Output
|
|
98
|
-
}], actionButtonClick: [{
|
|
99
|
-
type: Output
|
|
100
|
-
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kcm9wZG93bi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uc2hvcmUtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZHJvcGRvd24taXRlbS9mb3JtLWRyb3Bkb3duLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1kcm9wZG93bi1pdGVtL2Zvcm0tZHJvcGRvd24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLEtBQUssRUFDRyxRQUFRLEVBQUUsTUFBTSxFQUN4QixJQUFJLEVBQ0wsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBVXZCLE1BQU0sT0FBTyxnQ0FBZ0M7SUE4RDNDLFlBQXVDLFNBQW9CLEVBQ3ZDLEdBQXNCO1FBREgsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN2QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTdEakMsYUFBUSxHQUF3QixLQUFLLENBQUM7UUFDdEMsY0FBUyxHQUF3QixLQUFLLENBQUM7UUFDdkMsVUFBSyxHQUF3QixLQUFLLENBQUM7UUFDbkMsbUJBQWMsR0FBWSxDQUFDLENBQUE7UUFDM0IsY0FBUyxHQUFZLENBQUMsQ0FBQztRQUN2QixnQkFBVyxHQUFZLEVBQUUsQ0FBQztRQUMxQixxQkFBZ0IsR0FBWSxFQUFFLENBQUM7UUFDL0IsWUFBTyxHQUFZLEVBQUUsQ0FBQztRQUN0Qix5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFHckMsZ0JBQVcsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWpELGFBQVEsR0FBd0IsS0FBSyxDQUFDO1FBZ0RwQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDdEMsQ0FBQztJQS9DRCxpQ0FBaUM7SUFDMUIsVUFBVSxDQUFDLEdBQVE7UUFDeEIsSUFBRyxHQUFHLEVBQUU7WUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUNNLGdCQUFnQixDQUFDLEVBQU87UUFDN0IsSUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQU8sSUFBUyxDQUFDO0lBQ25DLGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDMUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLGNBQWMsR0FBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDO1FBQzNHLGdIQUFnSDtRQUVoSCxJQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxjQUFjLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUM7U0FDL0I7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7OzZIQTVEVSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQyxrZUNqQjdDLG8xREEwQ0E7MkZEekJhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSw0QkFBNEIsbUJBRXJCLHVCQUF1QixDQUFDLE1BQU07OzBCQWdFbEMsSUFBSTs7MEJBQUksUUFBUTs0RUE3RHBCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCxcbiAgU2VsZiwgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbSwgT25zaG9yZUZvcm1UZW1wbGF0ZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS5tb2RlbHMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc2tpcCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvbnNob3JlLWZvcm0tZHJvcGRvd24taXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWRyb3Bkb3duLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgT25zaG9yZUZvcm1Ecm9wZG93bkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZm9ybVRlbXBsYXRlITogT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW07XG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dDbGVhcjogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuICBASW5wdXQoKSBncm91cDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWxlY3Rpb25MaW1pdD86IG51bWJlciA9IDBcbiAgQElucHV0KCkgbWluTGVuZ3RoPzogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgb3B0aW9uTGFiZWw/OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgb3B0aW9uR3JvdXBMYWJlbD86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBkYXRhS2V5Pzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGFjdGlvbkJ1dHRvbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IGFueVtdO1xuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgYWN0aW9uQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgZGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcHVibGljIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICBpZihvYmopIHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgaWYodGhpcy5uZ0NvbnRyb2wudmFsdWUpIHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7fVxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBjbGVhclNlbGVjdGlvbigpIHtcbiAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5yZXNldCgpO1xuICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2w/LnNldFZhbHVlKHRoaXMubXVsdGlwbGUgPyBbXSA6ICcnKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmKCghdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udmFsdWUgfHwgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udmFsdWUgPT0gJycgfHwgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udmFsdWUgPT0gdW5kZWZpbmVkKSAmJiAhdGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8uc2V0VmFsdWUodGhpcy5mb3JtVGVtcGxhdGUuZGVmYXVsdCk7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5kaXNhYmxlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgY3VycmVudE9wdGlvbnMgPSAgY2hhbmdlc1snb3B0aW9ucyddPy5jdXJyZW50VmFsdWUgPz8gY2hhbmdlc1snZm9ybVRlbXBsYXRlJ10/LmN1cnJlbnRWYWx1ZT8ub3B0aW9ucztcbiAgICAvL2NvbnN0IHByZXZpb3VzT3B0aW9ucyA9ICBjaGFuZ2VzWydvcHRpb25zJ10/LnByZXZpb3VzVmFsdWUgPz8gY2hhbmdlc1snZm9ybVRlbXBsYXRlJ10/LnByZXZpb3VzVmFsdWU/Lm9wdGlvbnM7XG5cbiAgICBpZighdGhpcy5vcHRpb25zICYmIGN1cnJlbnRPcHRpb25zKSB7XG4gICAgICB0aGlzLm9wdGlvbnMgPSBjdXJyZW50T3B0aW9ucztcbiAgICB9XG5cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgfVxufVxuIiwiPG9uc2hvcmUtZm9ybS1pdGVtLWNvbnRhaW5lciBbZm9ybVRlbXBsYXRlXT1cImZvcm1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NvbnRyb2xdPVwibmdDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGlvbkJ1dHRvbkNsaWNrKT1cImFjdGlvbkJ1dHRvbkNsaWNrLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY3Rpb25CdXR0b25EaXNhYmxlZF09XCJhY3Rpb25CdXR0b25EaXNhYmxlZFwiPlxuXG4gIDxwLWRyb3Bkb3duICpuZ0lmPVwiIW11bHRpcGxlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgICBbb3B0aW9uc109XCJvcHRpb25zXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm5nQ29udHJvbC5jb250cm9sXCJcbiAgICAgICAgICAgICAgW25hbWVdPVwiZm9ybVRlbXBsYXRlPy5uYW1lXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZvcm1UZW1wbGF0ZT8ucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICBbb3B0aW9uTGFiZWxdPVwib3B0aW9uTGFiZWxcIlxuICAgICAgICAgICAgICBbZGF0YUtleV09XCJkYXRhS2V5XCJcbiAgICAgICAgICAgICAgW29wdGlvbkdyb3VwTGFiZWxdPVwib3B0aW9uR3JvdXBMYWJlbFwiXG4gICAgICAgICAgICAgIFtncm91cF09XCJncm91cFwiXG4gICAgICAgICAgICAgIFtzaG93Q2xlYXJdPVwic2hvd0NsZWFyICYmIGZvcm1UZW1wbGF0ZT8ucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAob25DbGVhcik9XCJjbGVhclNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgICAgb3B0aW9uRGlzYWJsZWQ9XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiPlxuICA8L3AtZHJvcGRvd24+XG5cbiAgPHAtbXVsdGlTZWxlY3QgKm5nSWY9XCJtdWx0aXBsZVwiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJuZ0NvbnRyb2wuY29udHJvbFwiXG4gICAgICAgICAgICAgICAgIFtuYW1lXT1cImZvcm1UZW1wbGF0ZT8ubmFtZVwiXG4gICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmb3JtVGVtcGxhdGU/LnBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgW3Nob3dDbGVhcl09XCJzaG93Q2xlYXJcIlxuICAgICAgICAgICAgICAgICBbc2VsZWN0aW9uTGltaXRdPVwic2VsZWN0aW9uTGltaXRcIlxuICAgICAgICAgICAgICAgICBbbWlubGVuZ3RoXT1cIm1pbkxlbmd0aFwiXG4gICAgICAgICAgICAgICAgIFtvcHRpb25MYWJlbF09XCJvcHRpb25MYWJlbFwiXG4gICAgICAgICAgICAgICAgIFtkYXRhS2V5XT1cImRhdGFLZXlcIlxuICAgICAgICAgICAgICAgICBbb3B0aW9uR3JvdXBMYWJlbF09XCJvcHRpb25Hcm91cExhYmVsXCJcbiAgICAgICAgICAgICAgICAgW2dyb3VwXT1cImdyb3VwXCJcbiAgICAgICAgICAgICAgICAgKG9uQ2xlYXIpPVwiY2xlYXJTZWxlY3Rpb24oKVwiXG4gICAgICAgICAgICAgICAgIFtzZWxlY3RlZEl0ZW1zTGFiZWxdPVwiJ2Zvcm0uZHJvcGRvd25Db250cm9sLnNlbGVjdGVkSXRlbXMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgb3B0aW9uRGlzYWJsZWQ9XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiPjwvcC1tdWx0aVNlbGVjdD5cblxuPC9vbnNob3JlLWZvcm0taXRlbS1jb250YWluZXI+XG4iXX0=
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Optional, Output, Self } from '@angular/core';
|
|
2
|
-
import { OnshoreFormTemplateLayout } from '../../enums/form.enums';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
import * as i2 from "primeng/dynamicdialog";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "primeng/button";
|
|
8
|
-
import * as i5 from "primeng/dialog";
|
|
9
|
-
import * as i6 from "../image-placeholder/image-placeholder.component";
|
|
10
|
-
import * as i7 from "../form-item-container/form-item-container.component";
|
|
11
|
-
import * as i8 from "../image-chooser/image-chooser.component";
|
|
12
|
-
import * as i9 from "../webcam/webcam.component";
|
|
13
|
-
import * as i10 from "@ngx-translate/core";
|
|
14
|
-
export class OnshoreFormImageItemComponent {
|
|
15
|
-
constructor(cdr, ngControl, dialogService) {
|
|
16
|
-
this.cdr = cdr;
|
|
17
|
-
this.ngControl = ngControl;
|
|
18
|
-
this.dialogService = dialogService;
|
|
19
|
-
this.actionButtonDisabled = false;
|
|
20
|
-
this.imageDeleted = new EventEmitter();
|
|
21
|
-
this.imageCleared = new EventEmitter();
|
|
22
|
-
this.imageReady = new EventEmitter();
|
|
23
|
-
this.selectFromMedia = new EventEmitter();
|
|
24
|
-
this.isLoading = new EventEmitter();
|
|
25
|
-
this.OnshoreFormTemplateLayout = OnshoreFormTemplateLayout;
|
|
26
|
-
this.defaultImageSettings = {
|
|
27
|
-
imageWidth: 400,
|
|
28
|
-
imageHeight: 400,
|
|
29
|
-
containWithinAspectRatio: false,
|
|
30
|
-
aspectRatio: 1 / 1,
|
|
31
|
-
imageSelectionEnabled: true,
|
|
32
|
-
webcamSelectionEnabled: true,
|
|
33
|
-
mediaSelectionEnabled: true,
|
|
34
|
-
deleteEnabled: true,
|
|
35
|
-
placeholderImage: '',
|
|
36
|
-
placeholderIcon: 'fa fa-image fa-10x',
|
|
37
|
-
containerWidth: 250,
|
|
38
|
-
containerHeight: 250,
|
|
39
|
-
imageQuality: 100,
|
|
40
|
-
format: 'png',
|
|
41
|
-
alignImage: 'center',
|
|
42
|
-
cropperPreviewWidth: 400,
|
|
43
|
-
cropperPreviewHeight: 400,
|
|
44
|
-
webcamWidth: 400,
|
|
45
|
-
webcamHeight: 400,
|
|
46
|
-
circleCropper: false,
|
|
47
|
-
maxFileSize: 6400000,
|
|
48
|
-
backgroundColor: 'white'
|
|
49
|
-
};
|
|
50
|
-
this.image = '';
|
|
51
|
-
this.disabled = false;
|
|
52
|
-
this.webcamDialogVisible = false;
|
|
53
|
-
this.imageChooserDialogVisible = false;
|
|
54
|
-
this.subscriptions = [];
|
|
55
|
-
this.ngControl.valueAccessor = this;
|
|
56
|
-
}
|
|
57
|
-
getFileImage(image) {
|
|
58
|
-
this.imageChooserDialogVisible = false;
|
|
59
|
-
if (image) {
|
|
60
|
-
this.image = image;
|
|
61
|
-
setTimeout(() => {
|
|
62
|
-
this.ngControl?.control?.setValue(this.image);
|
|
63
|
-
this.ngControl?.control?.markAsDirty();
|
|
64
|
-
this.imageReady.emit(this.image);
|
|
65
|
-
this.cdr.markForCheck();
|
|
66
|
-
}, 500);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
getWebcamImage(image) {
|
|
70
|
-
this.webcamDialogVisible = false;
|
|
71
|
-
if (image) {
|
|
72
|
-
this.image = image;
|
|
73
|
-
setTimeout(() => {
|
|
74
|
-
this.ngControl?.control?.setValue(this.image);
|
|
75
|
-
this.ngControl?.control?.markAsDirty();
|
|
76
|
-
this.imageReady.emit(this.image);
|
|
77
|
-
this.cdr.markForCheck();
|
|
78
|
-
}, 500);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
removeImage() {
|
|
82
|
-
if (this.image && !this.image.includes('base64')) {
|
|
83
|
-
this.imageDeleted.emit(this.image);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
this.imageCleared.emit();
|
|
87
|
-
}
|
|
88
|
-
this.ngControl?.control?.setValue(null);
|
|
89
|
-
this.ngControl?.control?.markAsDirty();
|
|
90
|
-
this.image = '';
|
|
91
|
-
this.cdr.markForCheck();
|
|
92
|
-
}
|
|
93
|
-
writeValue(obj) {
|
|
94
|
-
if (obj && !obj.includes('base64')) {
|
|
95
|
-
this.image = obj;
|
|
96
|
-
}
|
|
97
|
-
if (obj == null) {
|
|
98
|
-
this.image = '';
|
|
99
|
-
}
|
|
100
|
-
this.imageReady.emit(this.image);
|
|
101
|
-
this.cdr.markForCheck();
|
|
102
|
-
}
|
|
103
|
-
registerOnChange(fn) {
|
|
104
|
-
if (this.ngControl.value) {
|
|
105
|
-
this.image = this.ngControl.value;
|
|
106
|
-
this.cdr.markForCheck();
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
registerOnTouched(fn) { }
|
|
110
|
-
setDisabledState(isDisabled) {
|
|
111
|
-
this.disabled = isDisabled;
|
|
112
|
-
this.cdr.markForCheck();
|
|
113
|
-
}
|
|
114
|
-
ngOnInit() {
|
|
115
|
-
if (this.ngControl?.control?.value == '' && this.formTemplate.default != undefined) {
|
|
116
|
-
this.ngControl?.control?.setValue(this.formTemplate.default);
|
|
117
|
-
this.cdr.markForCheck();
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
ngOnDestroy() {
|
|
121
|
-
this.subscriptions.forEach((subscription) => {
|
|
122
|
-
subscription.unsubscribe();
|
|
123
|
-
});
|
|
124
|
-
this.ngControl?.control?.disable();
|
|
125
|
-
this.image = null;
|
|
126
|
-
}
|
|
127
|
-
ngOnChanges(changes) {
|
|
128
|
-
const imageSettings = changes['imageSettings']?.currentValue;
|
|
129
|
-
this.imageSettings = {
|
|
130
|
-
...this.defaultImageSettings,
|
|
131
|
-
...imageSettings,
|
|
132
|
-
placeholderIcon: imageSettings?.placeholderImage ? '' : (imageSettings?.placeholderIcon ?? this.defaultImageSettings.placeholderIcon)
|
|
133
|
-
};
|
|
134
|
-
//this.removeImage();
|
|
135
|
-
this.cdr.markForCheck();
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
OnshoreFormImageItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormImageItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgControl, optional: true, self: true }, { token: i2.DialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
139
|
-
OnshoreFormImageItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormImageItemComponent, selector: "onshore-form-image-item", inputs: { formTemplate: "formTemplate", imageSettings: "imageSettings", actionButtonDisabled: "actionButtonDisabled" }, outputs: { imageDeleted: "imageDeleted", imageCleared: "imageCleared", imageReady: "imageReady", selectFromMedia: "selectFromMedia", isLoading: "isLoading" }, usesOnChanges: true, ngImport: i0, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <div class=\"w-full flex align-items-center\" [class.flex-column]=\"formTemplate.layout === OnshoreFormTemplateLayout.vertical\">\n\n <div class=\"onshore-border-gray-4 border-solid border-1 overflow-hidden\"\n [style]=\"'background-color: white; width: ' + imageSettings.containerWidth + 'px; height: ' + imageSettings.containerHeight + 'px'\">\n <onshore-image-placeholder\n class=\"w-full\"\n [image]=\"image\"\n [imageStyle]=\"'width: 100%; height: 100%'\"\n [placeholderIcon]=\"imageSettings.placeholderIcon\"\n [placeholderImage]=\"imageSettings.placeholderImage\"\n [placeholderStyle]=\"'width: 100%; height: 100%'\">\n </onshore-image-placeholder>\n </div>\n\n <div class=\"flex flex-column m-4\">\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.imageSelectionEnabled\"\n icon=\"fa fa-image\"\n [label]=\"'form.imageControl.uploadImageButton' | translate\"\n class=\"onshore-button-primary mb-2\"\n [disabled]=\"disabled\"\n (click)=\"imageChooserDialogVisible = true; cdr.detectChanges()\">\n </button>\n\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.webcamSelectionEnabled\"\n icon=\"fa fa-camera\"\n [label]=\"'form.imageControl.webcamImageButton' | translate\"\n class=\"onshore-button-light mb-2\"\n [disabled]=\"disabled\"\n (click)=\"webcamDialogVisible = true\">\n </button>\n\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.mediaSelectionEnabled\"\n icon=\"fa fa-photo-video\"\n [label]=\"'form.imageControl.mediaImageButton' | translate\"\n class=\"onshore-button-light mb-2\"\n [disabled]=\"disabled\"\n (click)=\"selectFromMedia.emit()\">\n </button>\n\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.deleteEnabled\"\n icon=\"fa fa-eraser\"\n [label]=\"'form.imageControl.removeImageButton' | translate\"\n class=\"onshore-button-light\"\n (click)=\"removeImage()\"\n [disabled]=\"!image || disabled\">\n </button>\n\n </div>\n\n </div>\n</onshore-form-item-container>\n\n<p-dialog [header]=\"'form.imageControl.uploadImageTitle' | translate\" [(visible)]=\"imageChooserDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\" appendTo=\"body\">\n <onshore-image-chooser\n (choosen)=\"getFileImage($event)\"\n (canceled)=\"imageChooserDialogVisible = false\"\n [imageSettings]=\"imageSettings\">\n </onshore-image-chooser>\n</p-dialog>\n\n<p-dialog [header]=\"'form.imageControl.webacmImageTitle' | translate\" [(visible)]=\"webcamDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\" appendTo=\"body\">\n <onshore-webcam\n *ngIf=\"webcamDialogVisible\"\n (shot)=\"getWebcamImage($event)\"\n (canceled)=\"webcamDialogVisible = false\"\n [imageSettings]=\"imageSettings\"></onshore-webcam>\n</p-dialog>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i5.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: i6.OnshoreImagePlaceholderComponent, selector: "onshore-image-placeholder", inputs: ["placeholderIcon", "placeholderImage", "image", "imageStyle", "placeholderStyle", "showLoader"] }, { kind: "component", type: i7.OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl", "actionButtonDisabled"], outputs: ["actionButtonClick", "lockIsChanged"] }, { kind: "component", type: i8.OnshoreImageChooserComponent, selector: "onshore-image-chooser", inputs: ["imageSettings"], outputs: ["choosen", "canceled"] }, { kind: "component", type: i9.WebcamComponent, selector: "onshore-webcam", inputs: ["imageSettings"], outputs: ["shot", "canceled"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormImageItemComponent, decorators: [{
|
|
141
|
-
type: Component,
|
|
142
|
-
args: [{ selector: 'onshore-form-image-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\" [ngControl]=\"ngControl\">\n <div class=\"w-full flex align-items-center\" [class.flex-column]=\"formTemplate.layout === OnshoreFormTemplateLayout.vertical\">\n\n <div class=\"onshore-border-gray-4 border-solid border-1 overflow-hidden\"\n [style]=\"'background-color: white; width: ' + imageSettings.containerWidth + 'px; height: ' + imageSettings.containerHeight + 'px'\">\n <onshore-image-placeholder\n class=\"w-full\"\n [image]=\"image\"\n [imageStyle]=\"'width: 100%; height: 100%'\"\n [placeholderIcon]=\"imageSettings.placeholderIcon\"\n [placeholderImage]=\"imageSettings.placeholderImage\"\n [placeholderStyle]=\"'width: 100%; height: 100%'\">\n </onshore-image-placeholder>\n </div>\n\n <div class=\"flex flex-column m-4\">\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.imageSelectionEnabled\"\n icon=\"fa fa-image\"\n [label]=\"'form.imageControl.uploadImageButton' | translate\"\n class=\"onshore-button-primary mb-2\"\n [disabled]=\"disabled\"\n (click)=\"imageChooserDialogVisible = true; cdr.detectChanges()\">\n </button>\n\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.webcamSelectionEnabled\"\n icon=\"fa fa-camera\"\n [label]=\"'form.imageControl.webcamImageButton' | translate\"\n class=\"onshore-button-light mb-2\"\n [disabled]=\"disabled\"\n (click)=\"webcamDialogVisible = true\">\n </button>\n\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.mediaSelectionEnabled\"\n icon=\"fa fa-photo-video\"\n [label]=\"'form.imageControl.mediaImageButton' | translate\"\n class=\"onshore-button-light mb-2\"\n [disabled]=\"disabled\"\n (click)=\"selectFromMedia.emit()\">\n </button>\n\n <button pButton\n type=\"button\"\n *ngIf=\"imageSettings.deleteEnabled\"\n icon=\"fa fa-eraser\"\n [label]=\"'form.imageControl.removeImageButton' | translate\"\n class=\"onshore-button-light\"\n (click)=\"removeImage()\"\n [disabled]=\"!image || disabled\">\n </button>\n\n </div>\n\n </div>\n</onshore-form-item-container>\n\n<p-dialog [header]=\"'form.imageControl.uploadImageTitle' | translate\" [(visible)]=\"imageChooserDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\" appendTo=\"body\">\n <onshore-image-chooser\n (choosen)=\"getFileImage($event)\"\n (canceled)=\"imageChooserDialogVisible = false\"\n [imageSettings]=\"imageSettings\">\n </onshore-image-chooser>\n</p-dialog>\n\n<p-dialog [header]=\"'form.imageControl.webacmImageTitle' | translate\" [(visible)]=\"webcamDialogVisible\" [modal]=\"true\" [style]=\"{'max-width': '50vw'}\" appendTo=\"body\">\n <onshore-webcam\n *ngIf=\"webcamDialogVisible\"\n (shot)=\"getWebcamImage($event)\"\n (canceled)=\"webcamDialogVisible = false\"\n [imageSettings]=\"imageSettings\"></onshore-webcam>\n</p-dialog>\n" }]
|
|
143
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.NgControl, decorators: [{
|
|
144
|
-
type: Self
|
|
145
|
-
}, {
|
|
146
|
-
type: Optional
|
|
147
|
-
}] }, { type: i2.DialogService }]; }, propDecorators: { formTemplate: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}], imageSettings: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}], actionButtonDisabled: [{
|
|
152
|
-
type: Input
|
|
153
|
-
}], imageDeleted: [{
|
|
154
|
-
type: Output
|
|
155
|
-
}], imageCleared: [{
|
|
156
|
-
type: Output
|
|
157
|
-
}], imageReady: [{
|
|
158
|
-
type: Output
|
|
159
|
-
}], selectFromMedia: [{
|
|
160
|
-
type: Output
|
|
161
|
-
}], isLoading: [{
|
|
162
|
-
type: Output
|
|
163
|
-
}] } });
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbWFnZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uc2hvcmUtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW1hZ2UtaXRlbS9mb3JtLWltYWdlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbWFnZS1pdGVtL2Zvcm0taW1hZ2UtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUM5QixRQUFRLEVBQUUsTUFBTSxFQUNoQixJQUFJLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7OztBQU9uRSxNQUFNLE9BQU8sNkJBQTZCO0lBMEl4QyxZQUFtQixHQUFzQixFQUNGLFNBQW9CLEVBQ3hDLGFBQTRCO1FBRjVCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ0YsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXpJdEMseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBRXJDLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEQsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEQsb0JBQWUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxjQUFTLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEUsOEJBQXlCLEdBQUcseUJBQXlCLENBQUM7UUFFdEQseUJBQW9CLEdBQTZCO1lBQy9DLFVBQVUs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QUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsXG4gIE9wdGlvbmFsLCBPdXRwdXQsXG4gIFNlbGYsIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IE9uc2hvcmVGb3JtSW1hZ2VTZXR0aW5ncywgT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS5tb2RlbHMnO1xuaW1wb3J0IHsgT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dCB9IGZyb20gJy4uLy4uL2VudW1zL2Zvcm0uZW51bXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvbnNob3JlLWZvcm0taW1hZ2UtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWltYWdlLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgT25zaG9yZUZvcm1JbWFnZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGZvcm1UZW1wbGF0ZSE6IE9uc2hvcmVGb3JtVGVtcGxhdGVJdGVtO1xuICBASW5wdXQoKSBpbWFnZVNldHRpbmdzOiBPbnNob3JlRm9ybUltYWdlU2V0dGluZ3M7XG4gIEBJbnB1dCgpIGFjdGlvbkJ1dHRvbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGltYWdlRGVsZXRlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBpbWFnZUNsZWFyZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgaW1hZ2VSZWFkeTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RGcm9tTWVkaWE6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgaXNMb2FkaW5nOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgT25zaG9yZUZvcm1UZW1wbGF0ZUxheW91dCA9IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQ7XG5cbiAgZGVmYXVsdEltYWdlU2V0dGluZ3M6IE9uc2hvcmVGb3JtSW1hZ2VTZXR0aW5ncyA9IHtcbiAgICBpbWFnZVdpZHRoOiA0MDAsXG4gICAgaW1hZ2VIZWlnaHQ6IDQwMCxcbiAgICBjb250YWluV2l0aGluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgIGFzcGVjdFJhdGlvOiAxIC8gMSxcbiAgICBpbWFnZVNlbGVjdGlvbkVuYWJsZWQ6IHRydWUsXG4gICAgd2ViY2FtU2VsZWN0aW9uRW5hYmxlZDogdHJ1ZSxcbiAgICBtZWRpYVNlbGVjdGlvbkVuYWJsZWQ6IHRydWUsXG4gICAgZGVsZXRlRW5hYmxlZDogdHJ1ZSxcbiAgICBwbGFjZWhvbGRlckltYWdlOiAnJyxcbiAgICBwbGFjZWhvbGRlckljb246ICdmYSBmYS1pbWFnZSBmYS0xMHgnLFxuICAgIGNvbnRhaW5lcldpZHRoOiAyNTAsXG4gICAgY29udGFpbmVySGVpZ2h0OiAyNTAsXG4gICAgaW1hZ2VRdWFsaXR5OiAxMDAsXG4gICAgZm9ybWF0OiAncG5nJyxcbiAgICBhbGlnbkltYWdlOiAnY2VudGVyJyxcbiAgICBjcm9wcGVyUHJldmlld1dpZHRoOiA0MDAsXG4gICAgY3JvcHBlclByZXZpZXdIZWlnaHQ6IDQwMCxcbiAgICB3ZWJjYW1XaWR0aDogNDAwLFxuICAgIHdlYmNhbUhlaWdodDogNDAwLFxuICAgIGNpcmNsZUNyb3BwZXI6IGZhbHNlLFxuICAgIG1heEZpbGVTaXplOiA2NDAwMDAwLFxuICAgIGJhY2tncm91bmRDb2xvcjogJ3doaXRlJ1xuICB9O1xuXG4gIGltYWdlOiBzdHJpbmcgfCBudWxsID0gJyc7XG4gIGRpc2FibGVkID0gZmFsc2U7XG4gIHdlYmNhbURpYWxvZ1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaW1hZ2VDaG9vc2VyRGlhbG9nVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHN1YnNjcmlwdGlvbnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcblxuICBnZXRGaWxlSW1hZ2UoaW1hZ2U6IGFueSkge1xuICAgIHRoaXMuaW1hZ2VDaG9vc2VyRGlhbG9nVmlzaWJsZSA9IGZhbHNlO1xuICAgIGlmKGltYWdlKSB7XG4gICAgICB0aGlzLmltYWdlID0gaW1hZ2U7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnNldFZhbHVlKHRoaXMuaW1hZ2UpO1xuICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8ubWFya0FzRGlydHkoKTtcbiAgICAgICAgdGhpcy5pbWFnZVJlYWR5LmVtaXQodGhpcy5pbWFnZSk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSwgNTAwKTtcbiAgICB9XG4gIH1cblxuICBnZXRXZWJjYW1JbWFnZShpbWFnZTogYW55KSB7XG4gICAgdGhpcy53ZWJjYW1EaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgaWYoaW1hZ2UpIHtcbiAgICAgIHRoaXMuaW1hZ2UgPSBpbWFnZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUodGhpcy5pbWFnZSk7XG4gICAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB0aGlzLmltYWdlUmVhZHkuZW1pdCh0aGlzLmltYWdlKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9LCA1MDApO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZUltYWdlKCkge1xuICAgIGlmKHRoaXMuaW1hZ2UgJiYgIXRoaXMuaW1hZ2UuaW5jbHVkZXMoJ2Jhc2U2NCcpKSB7XG4gICAgICB0aGlzLmltYWdlRGVsZXRlZC5lbWl0KHRoaXMuaW1hZ2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmltYWdlQ2xlYXJlZC5lbWl0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5tYXJrQXNEaXJ0eSgpO1xuICAgIHRoaXMuaW1hZ2UgPSAnJztcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgaWYob2JqICYmICFvYmouaW5jbHVkZXMoJ2Jhc2U2NCcpKSB7XG4gICAgICB0aGlzLmltYWdlID0gb2JqO1xuICAgIH1cbiAgICBpZihvYmogPT0gbnVsbCkge1xuICAgICAgdGhpcy5pbWFnZSA9ICcnO1xuICAgIH1cblxuICAgIHRoaXMuaW1hZ2VSZWFkeS5lbWl0KHRoaXMuaW1hZ2UpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIGlmKHRoaXMubmdDb250cm9sLnZhbHVlKSB7XG4gICAgICB0aGlzLmltYWdlID0gdGhpcy5uZ0NvbnRyb2wudmFsdWU7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbHVlID09ICcnICYmIHRoaXMuZm9ybVRlbXBsYXRlLmRlZmF1bHQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUodGhpcy5mb3JtVGVtcGxhdGUuZGVmYXVsdCk7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24pID0+IHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5kaXNhYmxlKCk7XG4gICAgdGhpcy5pbWFnZSA9IG51bGw7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgaW1hZ2VTZXR0aW5nczogT25zaG9yZUZvcm1JbWFnZVNldHRpbmdzID0gY2hhbmdlc1snaW1hZ2VTZXR0aW5ncyddPy5jdXJyZW50VmFsdWU7XG5cbiAgICB0aGlzLmltYWdlU2V0dGluZ3MgPSB7XG4gICAgICAuLi50aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLFxuICAgICAgLi4uaW1hZ2VTZXR0aW5ncyxcbiAgICAgIHBsYWNlaG9sZGVySWNvbjogaW1hZ2VTZXR0aW5ncz8ucGxhY2Vob2xkZXJJbWFnZSA/ICcnIDogKGltYWdlU2V0dGluZ3M/LnBsYWNlaG9sZGVySWNvbiA/PyB0aGlzLmRlZmF1bHRJbWFnZVNldHRpbmdzLnBsYWNlaG9sZGVySWNvbilcbiAgICB9O1xuXG4gICAgLy90aGlzLnJlbW92ZUltYWdlKCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgICAgICAgIHB1YmxpYyBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlKSB7XG4gICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gIH1cbn1cbiIsIjxvbnNob3JlLWZvcm0taXRlbS1jb250YWluZXIgW2Zvcm1UZW1wbGF0ZV09XCJmb3JtVGVtcGxhdGVcIiBbbmdDb250cm9sXT1cIm5nQ29udHJvbFwiPlxuICA8ZGl2IGNsYXNzPVwidy1mdWxsIGZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgW2NsYXNzLmZsZXgtY29sdW1uXT1cImZvcm1UZW1wbGF0ZS5sYXlvdXQgPT09IE9uc2hvcmVGb3JtVGVtcGxhdGVMYXlvdXQudmVydGljYWxcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJvbnNob3JlLWJvcmRlci1ncmF5LTQgYm9yZGVyLXNvbGlkIGJvcmRlci0xIG92ZXJmbG93LWhpZGRlblwiXG4gICAgICAgICBbc3R5bGVdPVwiJ2JhY2tncm91bmQtY29sb3I6IHdoaXRlOyB3aWR0aDogJyArIGltYWdlU2V0dGluZ3MuY29udGFpbmVyV2lkdGggKyAncHg7IGhlaWdodDogJyArIGltYWdlU2V0dGluZ3MuY29udGFpbmVySGVpZ2h0ICsgJ3B4J1wiPlxuICAgICAgPG9uc2hvcmUtaW1hZ2UtcGxhY2Vob2xkZXJcbiAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICBbaW1hZ2VdPVwiaW1hZ2VcIlxuICAgICAgICBbaW1hZ2VTdHlsZV09XCInd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJSdcIlxuICAgICAgICBbcGxhY2Vob2xkZXJJY29uXT1cImltYWdlU2V0dGluZ3MucGxhY2Vob2xkZXJJY29uXCJcbiAgICAgICAgW3BsYWNlaG9sZGVySW1hZ2VdPVwiaW1hZ2VTZXR0aW5ncy5wbGFjZWhvbGRlckltYWdlXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyU3R5bGVdPVwiJ3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUnXCI+XG4gICAgICA8L29uc2hvcmUtaW1hZ2UtcGxhY2Vob2xkZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtLTRcIj5cbiAgICAgIDxidXR0b24gcEJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpbWFnZVNldHRpbmdzLmltYWdlU2VsZWN0aW9uRW5hYmxlZFwiXG4gICAgICAgICAgICAgIGljb249XCJmYSBmYS1pbWFnZVwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInZm9ybS5pbWFnZUNvbnRyb2wudXBsb2FkSW1hZ2VCdXR0b24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvbnNob3JlLWJ1dHRvbi1wcmltYXJ5IG1iLTJcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiaW1hZ2VDaG9vc2VyRGlhbG9nVmlzaWJsZSA9IHRydWU7IGNkci5kZXRlY3RDaGFuZ2VzKClcIj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uIHBCdXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaW1hZ2VTZXR0aW5ncy53ZWJjYW1TZWxlY3Rpb25FbmFibGVkXCJcbiAgICAgICAgICAgICAgaWNvbj1cImZhIGZhLWNhbWVyYVwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInZm9ybS5pbWFnZUNvbnRyb2wud2ViY2FtSW1hZ2VCdXR0b24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvbnNob3JlLWJ1dHRvbi1saWdodCBtYi0yXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIndlYmNhbURpYWxvZ1Zpc2libGUgPSB0cnVlXCI+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvbiBwQnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAqbmdJZj1cImltYWdlU2V0dGluZ3MubWVkaWFTZWxlY3Rpb25FbmFibGVkXCJcbiAgICAgICAgICAgICAgaWNvbj1cImZhIGZhLXBob3RvLXZpZGVvXCJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidmb3JtLmltYWdlQ29udHJvbC5tZWRpYUltYWdlQnV0dG9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwib25zaG9yZS1idXR0b24tbGlnaHQgbWItMlwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RGcm9tTWVkaWEuZW1pdCgpXCI+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvbiBwQnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAqbmdJZj1cImltYWdlU2V0dGluZ3MuZGVsZXRlRW5hYmxlZFwiXG4gICAgICAgICAgICAgIGljb249XCJmYSBmYS1lcmFzZXJcIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2Zvcm0uaW1hZ2VDb250cm9sLnJlbW92ZUltYWdlQnV0dG9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwib25zaG9yZS1idXR0b24tbGlnaHRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlSW1hZ2UoKVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaW1hZ2UgfHwgZGlzYWJsZWRcIj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG48L29uc2hvcmUtZm9ybS1pdGVtLWNvbnRhaW5lcj5cblxuPHAtZGlhbG9nIFtoZWFkZXJdPVwiJ2Zvcm0uaW1hZ2VDb250cm9sLnVwbG9hZEltYWdlVGl0bGUnIHwgdHJhbnNsYXRlXCIgWyh2aXNpYmxlKV09XCJpbWFnZUNob29zZXJEaWFsb2dWaXNpYmxlXCIgW21vZGFsXT1cInRydWVcIiBbc3R5bGVdPVwieydtYXgtd2lkdGgnOiAnNTB2dyd9XCIgYXBwZW5kVG89XCJib2R5XCI+XG4gIDxvbnNob3JlLWltYWdlLWNob29zZXJcbiAgICAgICAgICAgICAgICAgICAgIChjaG9vc2VuKT1cImdldEZpbGVJbWFnZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgIChjYW5jZWxlZCk9XCJpbWFnZUNob29zZXJEaWFsb2dWaXNpYmxlID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgW2ltYWdlU2V0dGluZ3NdPVwiaW1hZ2VTZXR0aW5nc1wiPlxuICA8L29uc2hvcmUtaW1hZ2UtY2hvb3Nlcj5cbjwvcC1kaWFsb2c+XG5cbjxwLWRpYWxvZyBbaGVhZGVyXT1cIidmb3JtLmltYWdlQ29udHJvbC53ZWJhY21JbWFnZVRpdGxlJyB8IHRyYW5zbGF0ZVwiIFsodmlzaWJsZSldPVwid2ViY2FtRGlhbG9nVmlzaWJsZVwiIFttb2RhbF09XCJ0cnVlXCIgW3N0eWxlXT1cInsnbWF4LXdpZHRoJzogJzUwdncnfVwiIGFwcGVuZFRvPVwiYm9keVwiPlxuICA8b25zaG9yZS13ZWJjYW1cbiAgICAqbmdJZj1cIndlYmNhbURpYWxvZ1Zpc2libGVcIlxuICAgIChzaG90KT1cImdldFdlYmNhbUltYWdlKCRldmVudClcIlxuICAgIChjYW5jZWxlZCk9XCJ3ZWJjYW1EaWFsb2dWaXNpYmxlID0gZmFsc2VcIlxuICAgIFtpbWFnZVNldHRpbmdzXT1cImltYWdlU2V0dGluZ3NcIj48L29uc2hvcmUtd2ViY2FtPlxuPC9wLWRpYWxvZz5cbiJdfQ==
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Optional, Output, Self } from '@angular/core';
|
|
2
|
-
import { OnshoreFormTemplateType } from '../../enums/form.enums';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
import * as i3 from "primeng/inputnumber";
|
|
7
|
-
import * as i4 from "primeng/inputtext";
|
|
8
|
-
import * as i5 from "primeng/inputtextarea";
|
|
9
|
-
import * as i6 from "../form-item-container/form-item-container.component";
|
|
10
|
-
export class OnshoreFormInputItemComponent {
|
|
11
|
-
constructor(ngControl, cdr) {
|
|
12
|
-
this.ngControl = ngControl;
|
|
13
|
-
this.cdr = cdr;
|
|
14
|
-
this.step = 1;
|
|
15
|
-
this.min = 0;
|
|
16
|
-
this.max = 999999;
|
|
17
|
-
this.minLength = 0;
|
|
18
|
-
this.maxLength = 999999;
|
|
19
|
-
this.actionButtonDisabled = false;
|
|
20
|
-
this.actionButtonClick = new EventEmitter();
|
|
21
|
-
this.OnshoreFormTemplateType = OnshoreFormTemplateType;
|
|
22
|
-
this.passwordVisible = false;
|
|
23
|
-
this.disabled = false;
|
|
24
|
-
this.ngControl.valueAccessor = this;
|
|
25
|
-
}
|
|
26
|
-
// ControlValueAccessor interface
|
|
27
|
-
writeValue(obj) { }
|
|
28
|
-
registerOnChange(fn) { }
|
|
29
|
-
registerOnTouched(fn) { }
|
|
30
|
-
setDisabledState(isDisabled) {
|
|
31
|
-
this.disabled = isDisabled;
|
|
32
|
-
}
|
|
33
|
-
ngOnInit() {
|
|
34
|
-
if (this.ngControl.control?.value == '' && this.formTemplate.default != undefined) {
|
|
35
|
-
this.ngControl.control?.setValue(this.formTemplate.default);
|
|
36
|
-
this.cdr.markForCheck();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
// @ts-ignore
|
|
40
|
-
onNumberInput(event) {
|
|
41
|
-
this.ngControl.control?.setValue(event.value);
|
|
42
|
-
this.ngControl?.control?.markAsDirty();
|
|
43
|
-
this.cdr.markForCheck();
|
|
44
|
-
}
|
|
45
|
-
ngOnChanges(changes) {
|
|
46
|
-
this.cdr.markForCheck();
|
|
47
|
-
}
|
|
48
|
-
ngOnDestroy() {
|
|
49
|
-
this.ngControl.control?.disable();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
OnshoreFormInputItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormInputItemComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
OnshoreFormInputItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: OnshoreFormInputItemComponent, selector: "onshore-form-input-item", inputs: { formTemplate: "formTemplate", step: "step", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", 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 <span class=\"p-inputgroup w-full\">\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pInputTextarea\n [autoResize]=\"true\"\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n class=\"w-full\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n class=\"w-full\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? 0\"\n [disabled]=\"disabled\"\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [showButtons]=\"true\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\"\n (onInput)=\"onNumberInput($event)\">\n </p-inputNumber>\n\n <span *ngIf=\"formTemplate.inputAddon\" class=\"p-inputgroup-addon\">\n <i [class]=\"formTemplate.inputAddon\"></i>\n </span>\n\n <span *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n (click)=\"passwordVisible = !passwordVisible\"\n class=\"p-inputgroup-addon cursor-pointer\">\n <i class=\"fa\"\n [class.fa-eye-slash]=\"passwordVisible\"\n [class.fa-eye]=\"!passwordVisible\"\n ></i>\n </span>\n\n </span>\n</onshore-form-item-container>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i4.InputText, selector: "[pInputText]" }, { kind: "directive", type: i5.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { kind: "component", type: i6.OnshoreFormItemContainer, selector: "onshore-form-item-container", inputs: ["formTemplate", "ngControl", "actionButtonDisabled"], outputs: ["actionButtonClick", "lockIsChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: OnshoreFormInputItemComponent, decorators: [{
|
|
55
|
-
type: Component,
|
|
56
|
-
args: [{ selector: 'onshore-form-input-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<onshore-form-item-container [formTemplate]=\"formTemplate\"\n [ngControl]=\"ngControl\"\n (actionButtonClick)=\"actionButtonClick.emit()\"\n [actionButtonDisabled]=\"actionButtonDisabled\">\n <span class=\"p-inputgroup w-full\">\n\n <textarea *ngIf=\"formTemplate.type == OnshoreFormTemplateType.textarea\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n [rows]=\"3\"\n [cols]=\"30\"\n pInputTextarea\n [autoResize]=\"true\"\n [formControl]=\"ngControl.control\"\n [class.p-invalid]=\"ngControl.control?.touched && ngControl.control?.invalid\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"></textarea>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.text || formTemplate.type == OnshoreFormTemplateType.email || formTemplate.type == OnshoreFormTemplateType.phone\"\n class=\"w-full\"\n [type]=\"formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <input *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n class=\"w-full\"\n [type]=\"passwordVisible ? 'text' : formTemplate.type\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? ''\"\n [disabled]=\"disabled\"\n pInputText\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"/>\n\n <p-inputNumber *ngIf=\"formTemplate.type == OnshoreFormTemplateType.number\"\n class=\"w-full\"\n [name]=\"formTemplate.name\"\n [placeholder]=\"formTemplate.placeholder ?? 0\"\n [disabled]=\"disabled\"\n [formControl]=\"ngControl.control\"\n [autocomplete]=\"'prevent-template-' + formTemplate.name\"\n [showButtons]=\"true\"\n [step]=\"step ?? 1\"\n [min]=\"min\"\n [max]=\"max\"\n (onInput)=\"onNumberInput($event)\">\n </p-inputNumber>\n\n <span *ngIf=\"formTemplate.inputAddon\" class=\"p-inputgroup-addon\">\n <i [class]=\"formTemplate.inputAddon\"></i>\n </span>\n\n <span *ngIf=\"formTemplate.type == OnshoreFormTemplateType.password\"\n (click)=\"passwordVisible = !passwordVisible\"\n class=\"p-inputgroup-addon cursor-pointer\">\n <i class=\"fa\"\n [class.fa-eye-slash]=\"passwordVisible\"\n [class.fa-eye]=\"!passwordVisible\"\n ></i>\n </span>\n\n </span>\n</onshore-form-item-container>\n" }]
|
|
57
|
-
}], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
|
|
58
|
-
type: Self
|
|
59
|
-
}, {
|
|
60
|
-
type: Optional
|
|
61
|
-
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { formTemplate: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}], step: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}], min: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], max: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}], minLength: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], maxLength: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}], actionButtonDisabled: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}], actionButtonClick: [{
|
|
76
|
-
type: Output
|
|
77
|
-
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uc2hvcmUtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW5wdXQtaXRlbS9mb3JtLWlucHV0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25zaG9yZS1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbnB1dC1pdGVtL2Zvcm0taW5wdXQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLEtBQUssRUFDRyxRQUFRLEVBQUUsTUFBTSxFQUN4QixJQUFJLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBT2pFLE1BQU0sT0FBTyw2QkFBNkI7SUE4Q3hDLFlBQXVDLFNBQW9CLEVBQ3ZDLEdBQXNCO1FBREgsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN2QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTdDakMsU0FBSSxHQUFZLENBQUMsQ0FBQztRQUNsQixRQUFHLEdBQVksQ0FBQyxDQUFDO1FBQ2pCLFFBQUcsR0FBWSxNQUFNLENBQUM7UUFDdEIsY0FBUyxHQUFZLENBQUMsQ0FBQztRQUN2QixjQUFTLEdBQVksTUFBTSxDQUFDO1FBQzVCLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUVyQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWpELDRCQUF1QixHQUFHLHVCQUF1QixDQUFDO1FBRWxELG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFrQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBakNELGlDQUFpQztJQUNqQyxVQUFVLENBQUMsR0FBUSxJQUFTLENBQUM7SUFDN0IsZ0JBQWdCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFDbEMsaUJBQWlCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFDbkMsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFO1lBQ2hGLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsYUFBYTtJQUNiLGFBQWEsQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzswSEE1Q1UsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsdVRDakIxQyw4eEdBeUVBOzJGRHhEYSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUVsQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFnRGxDLElBQUk7OzBCQUFJLFFBQVE7NEVBN0NwQixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LFxuICBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQsXG4gIFNlbGYsIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT25zaG9yZUZvcm1UZW1wbGF0ZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS5tb2RlbHMnO1xuaW1wb3J0IHsgT25zaG9yZUZvcm1UZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9mb3JtLmVudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25zaG9yZS1mb3JtLWlucHV0LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1pbnB1dC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE9uc2hvcmVGb3JtSW5wdXRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmb3JtVGVtcGxhdGUhOiBPbnNob3JlRm9ybVRlbXBsYXRlSXRlbTtcbiAgQElucHV0KCkgc3RlcD86IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIG1pbj86IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1heD86IG51bWJlciA9IDk5OTk5OTtcbiAgQElucHV0KCkgbWluTGVuZ3RoPzogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWF4TGVuZ3RoPzogbnVtYmVyID0gOTk5OTk5O1xuICBASW5wdXQoKSBhY3Rpb25CdXR0b25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBhY3Rpb25CdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBPbnNob3JlRm9ybVRlbXBsYXRlVHlwZSA9IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlO1xuXG4gIHBhc3N3b3JkVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7fVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHt9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHt9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmKHRoaXMubmdDb250cm9sLmNvbnRyb2w/LnZhbHVlID09ICcnICYmIHRoaXMuZm9ybVRlbXBsYXRlLmRlZmF1bHQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5zZXRWYWx1ZSh0aGlzLmZvcm1UZW1wbGF0ZS5kZWZhdWx0KTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgb25OdW1iZXJJbnB1dChldmVudCkge1xuICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2w/LnNldFZhbHVlKGV2ZW50LnZhbHVlKTtcbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8ubWFya0FzRGlydHkoKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2w/LmRpc2FibGUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgfVxufVxuIiwiPG9uc2hvcmUtZm9ybS1pdGVtLWNvbnRhaW5lciBbZm9ybVRlbXBsYXRlXT1cImZvcm1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NvbnRyb2xdPVwibmdDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGlvbkJ1dHRvbkNsaWNrKT1cImFjdGlvbkJ1dHRvbkNsaWNrLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY3Rpb25CdXR0b25EaXNhYmxlZF09XCJhY3Rpb25CdXR0b25EaXNhYmxlZFwiPlxuICA8c3BhbiBjbGFzcz1cInAtaW5wdXRncm91cCB3LWZ1bGxcIj5cblxuICAgICAgPHRleHRhcmVhICAqbmdJZj1cImZvcm1UZW1wbGF0ZS50eXBlID09IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlLnRleHRhcmVhXCJcbiAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgICAgIFtuYW1lXT1cImZvcm1UZW1wbGF0ZS5uYW1lXCJcbiAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmb3JtVGVtcGxhdGUucGxhY2Vob2xkZXIgPz8gJydcIlxuICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgIFtyb3dzXT1cIjNcIlxuICAgICAgICAgICAgICAgW2NvbHNdPVwiMzBcIlxuICAgICAgICAgICAgICAgcElucHV0VGV4dGFyZWFcbiAgICAgICAgICAgICAgIFthdXRvUmVzaXplXT1cInRydWVcIlxuICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm5nQ29udHJvbC5jb250cm9sXCJcbiAgICAgICAgICAgICAgIFtjbGFzcy5wLWludmFsaWRdPVwibmdDb250cm9sLmNvbnRyb2w/LnRvdWNoZWQgJiYgbmdDb250cm9sLmNvbnRyb2w/LmludmFsaWRcIlxuICAgICAgICAgICAgICAgW21pbkxlbmd0aF09XCJtaW5MZW5ndGhcIlxuICAgICAgICAgICAgICAgW21heExlbmd0aF09XCJtYXhMZW5ndGhcIj48L3RleHRhcmVhPlxuXG4gICAgICA8aW5wdXQgKm5nSWY9XCJmb3JtVGVtcGxhdGUudHlwZSA9PSBPbnNob3JlRm9ybVRlbXBsYXRlVHlwZS50ZXh0IHx8IGZvcm1UZW1wbGF0ZS50eXBlID09IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlLmVtYWlsIHx8IGZvcm1UZW1wbGF0ZS50eXBlID09IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlLnBob25lXCJcbiAgICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgW3R5cGVdPVwiZm9ybVRlbXBsYXRlLnR5cGVcIlxuICAgICAgICAgICAgIFtuYW1lXT1cImZvcm1UZW1wbGF0ZS5uYW1lXCJcbiAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybVRlbXBsYXRlLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwibmdDb250cm9sLmNvbnRyb2xcIlxuICAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiJ3ByZXZlbnQtdGVtcGxhdGUtJyArIGZvcm1UZW1wbGF0ZS5uYW1lXCJcbiAgICAgICAgICAgICBbbWluTGVuZ3RoXT1cIm1pbkxlbmd0aFwiXG4gICAgICAgICAgICAgW21heExlbmd0aF09XCJtYXhMZW5ndGhcIi8+XG5cbiAgICAgIDxpbnB1dCAqbmdJZj1cImZvcm1UZW1wbGF0ZS50eXBlID09IE9uc2hvcmVGb3JtVGVtcGxhdGVUeXBlLnBhc3N3b3JkXCJcbiAgICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgW3R5cGVdPVwicGFzc3dvcmRWaXNpYmxlID8gJ3RleHQnIDogZm9ybVRlbXBsYXRlLnR5cGVcIlxuICAgICAgICAgICAgIFtuYW1lXT1cImZvcm1UZW1wbGF0ZS5uYW1lXCJcbiAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybVRlbXBsYXRlLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwibmdDb250cm9sLmNvbnRyb2xcIlxuICAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiJ3ByZXZlbnQtdGVtcGxhdGUtJyArIGZvcm1UZW1wbGF0ZS5uYW1lXCJcbiAgICAgICAgICAgICBbbWluTGVuZ3RoXT1cIm1pbkxlbmd0aFwiXG4gICAgICAgICAgICAgW21heExlbmd0aF09XCJtYXhMZW5ndGhcIi8+XG5cbiAgICAgIDxwLWlucHV0TnVtYmVyICpuZ0lmPVwiZm9ybVRlbXBsYXRlLnR5cGUgPT0gT25zaG9yZUZvcm1UZW1wbGF0ZVR5cGUubnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImZvcm1UZW1wbGF0ZS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmb3JtVGVtcGxhdGUucGxhY2Vob2xkZXIgPz8gMFwiXG4gICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm5nQ29udHJvbC5jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiJ3ByZXZlbnQtdGVtcGxhdGUtJyArIGZvcm1UZW1wbGF0ZS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgIFtzaG93QnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgIFtzdGVwXT1cInN0ZXAgPz8gMVwiXG4gICAgICAgICAgICAgICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgICAgICAgICAgICAgICAob25JbnB1dCk9XCJvbk51bWJlcklucHV0KCRldmVudClcIj5cbiAgICAgIDwvcC1pbnB1dE51bWJlcj5cblxuICAgICAgPHNwYW4gKm5nSWY9XCJmb3JtVGVtcGxhdGUuaW5wdXRBZGRvblwiIGNsYXNzPVwicC1pbnB1dGdyb3VwLWFkZG9uXCI+XG4gICAgICAgIDxpIFtjbGFzc109XCJmb3JtVGVtcGxhdGUuaW5wdXRBZGRvblwiPjwvaT5cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPHNwYW4gKm5nSWY9XCJmb3JtVGVtcGxhdGUudHlwZSA9PSBPbnNob3JlRm9ybVRlbXBsYXRlVHlwZS5wYXNzd29yZFwiXG4gICAgICAgICAgKGNsaWNrKT1cInBhc3N3b3JkVmlzaWJsZSA9ICFwYXNzd29yZFZpc2libGVcIlxuICAgICAgICAgIGNsYXNzPVwicC1pbnB1dGdyb3VwLWFkZG9uIGN1cnNvci1wb2ludGVyXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmFcIlxuICAgICAgICAgICBbY2xhc3MuZmEtZXllLXNsYXNoXT1cInBhc3N3b3JkVmlzaWJsZVwiXG4gICAgICAgICAgIFtjbGFzcy5mYS1leWVdPVwiIXBhc3N3b3JkVmlzaWJsZVwiXG4gICAgICAgID48L2k+XG4gICAgICA8L3NwYW4+XG5cbiAgPC9zcGFuPlxuPC9vbnNob3JlLWZvcm0taXRlbS1jb250YWluZXI+XG4iXX0=
|