bpm-core 0.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/README.md +30 -0
- package/esm2022/bpm-core.mjs +5 -0
- package/esm2022/lib/classes/form-validation.mjs +80 -0
- package/esm2022/lib/classes/index.mjs +2 -0
- package/esm2022/lib/components/app-component-sections/activities/activities.component.mjs +51 -0
- package/esm2022/lib/components/app-component-sections/comment-section/comment-section.component.mjs +66 -0
- package/esm2022/lib/components/app-component-sections/faq-sidenav/faq-sidenav.component.mjs +29 -0
- package/esm2022/lib/components/app-component-sections/faqs/faqs.component.mjs +32 -0
- package/esm2022/lib/components/app-component-sections/faqs/index.mjs +2 -0
- package/esm2022/lib/components/app-component-sections/feedback-section/feedback-section.component.mjs +236 -0
- package/esm2022/lib/components/app-component-sections/form-section/form-section.component.mjs +270 -0
- package/esm2022/lib/components/app-component-sections/index.mjs +9 -0
- package/esm2022/lib/components/app-component-sections/main-request-details/main-request-details.component.mjs +34 -0
- package/esm2022/lib/components/app-component-sections/profile-section/profile-section.component.mjs +45 -0
- package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +162 -0
- package/esm2022/lib/components/app-component-sections/status/status.component.mjs +38 -0
- package/esm2022/lib/components/app-component-sections/workflow-section/workflow-section.component.mjs +162 -0
- package/esm2022/lib/components/shared-components/confirmation-popup/confirmation-popup.component.mjs +39 -0
- package/esm2022/lib/components/shared-components/delete-popup/delete-popup.component.mjs +19 -0
- package/esm2022/lib/components/shared-components/dialogs/confirm-dialog/confirm-dialog.component.mjs +30 -0
- package/esm2022/lib/components/shared-components/dialogs/delete-dialog/delete-dialog.component.mjs +28 -0
- package/esm2022/lib/components/shared-components/dialogs/submit-dialog/submit-dialog.component.mjs +72 -0
- package/esm2022/lib/components/shared-components/doc-uploader/docs-uploader.component.mjs +686 -0
- package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +77 -0
- package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +181 -0
- package/esm2022/lib/components/shared-components/form-field/base-component/base-component.component.mjs +198 -0
- package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +69 -0
- package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +201 -0
- package/esm2022/lib/components/shared-components/form-field/date-picker/date-format.mjs +31 -0
- package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs +244 -0
- package/esm2022/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.mjs +26 -0
- package/esm2022/lib/components/shared-components/form-field/form-label/form-label.component.mjs +31 -0
- package/esm2022/lib/components/shared-components/form-field/index.mjs +25 -0
- package/esm2022/lib/components/shared-components/form-field/info-item/info-item.component.mjs +72 -0
- package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +155 -0
- package/esm2022/lib/components/shared-components/form-field/input-autocomplete/index.mjs +3 -0
- package/esm2022/lib/components/shared-components/form-field/input-autocomplete/input-autocomplete.model.mjs +2 -0
- package/esm2022/lib/components/shared-components/form-field/input-currency/input-currency.component.mjs +157 -0
- package/esm2022/lib/components/shared-components/form-field/input-email/input-email.component.mjs +114 -0
- package/esm2022/lib/components/shared-components/form-field/input-mask/input-mask.component.mjs +111 -0
- package/esm2022/lib/components/shared-components/form-field/input-number/input-number.component.mjs +153 -0
- package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +176 -0
- package/esm2022/lib/components/shared-components/form-field/radio/radio.component.mjs +38 -0
- package/esm2022/lib/components/shared-components/form-field/repeated-list/repeated-list.component.mjs +32 -0
- package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +228 -0
- package/esm2022/lib/components/shared-components/form-field/select/select.component.mjs +191 -0
- package/esm2022/lib/components/shared-components/form-field/table-list/table-list.component.mjs +116 -0
- package/esm2022/lib/components/shared-components/form-field/textarea/special-chars.directive.mjs +39 -0
- package/esm2022/lib/components/shared-components/form-field/textarea/textarea.component.mjs +88 -0
- package/esm2022/lib/components/shared-components/form-field/toggle-button/toggle-button.component.mjs +75 -0
- package/esm2022/lib/components/shared-components/index.mjs +10 -0
- package/esm2022/lib/components/shared-components/terms-conditions/terms-conditions.component.mjs +31 -0
- package/esm2022/lib/components/shared-components/title-section/title-section.component.mjs +31 -0
- package/esm2022/lib/constants/constants.mjs +144 -0
- package/esm2022/lib/constants/index.mjs +2 -0
- package/esm2022/lib/environments/environment.local.mjs +27 -0
- package/esm2022/lib/functions/data-to-blob.mjs +12 -0
- package/esm2022/lib/functions/encode-password.mjs +14 -0
- package/esm2022/lib/functions/handel-error-response.mjs +12 -0
- package/esm2022/lib/functions/index.mjs +5 -0
- package/esm2022/lib/functions/is-valid-data.mjs +42 -0
- package/esm2022/lib/hooks/index.mjs +3 -0
- package/esm2022/lib/hooks/load-form.mjs +13 -0
- package/esm2022/lib/hooks/save-form.mjs +18 -0
- package/esm2022/lib/i18n/ar.mjs +183 -0
- package/esm2022/lib/i18n/en.mjs +187 -0
- package/esm2022/lib/i18n/index.mjs +3 -0
- package/esm2022/lib/interfaces/api-response.interface.mjs +2 -0
- package/esm2022/lib/interfaces/document-file.interface.mjs +2 -0
- package/esm2022/lib/interfaces/form-items.interface.mjs +2 -0
- package/esm2022/lib/interfaces/form.interface.mjs +150 -0
- package/esm2022/lib/interfaces/igate-user.interface.mjs +2 -0
- package/esm2022/lib/interfaces/index.mjs +8 -0
- package/esm2022/lib/interfaces/lov-list.interface.mjs +2 -0
- package/esm2022/lib/interfaces/lov.interface.mjs +2 -0
- package/esm2022/lib/interfaces/shared.interface.mjs +2 -0
- package/esm2022/lib/pipes/currency.pipe.mjs +66 -0
- package/esm2022/lib/pipes/format-as-password.pipe.mjs +19 -0
- package/esm2022/lib/pipes/index.mjs +3 -0
- package/esm2022/lib/services/feedBack.service.mjs +80 -0
- package/esm2022/lib/services/i18n.service.mjs +36 -0
- package/esm2022/lib/services/index.mjs +3 -0
- package/esm2022/lib/services/sidenav.service.mjs +69 -0
- package/esm2022/lib/validators/ar.directive.mjs +53 -0
- package/esm2022/lib/validators/currency.directive.mjs +74 -0
- package/esm2022/lib/validators/en.directive.mjs +50 -0
- package/esm2022/lib/validators/id.validator.mjs +66 -0
- package/esm2022/lib/validators/index.mjs +8 -0
- package/esm2022/lib/validators/string-to-boolean.pipe.mjs +16 -0
- package/esm2022/lib/validators/text.directive.mjs +50 -0
- package/esm2022/lib/validators/timer.pipe.mjs +19 -0
- package/esm2022/public-api.mjs +16 -0
- package/fesm2022/bpm-core.mjs +6005 -0
- package/fesm2022/bpm-core.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/classes/form-validation.d.ts +19 -0
- package/lib/classes/index.d.ts +1 -0
- package/lib/components/app-component-sections/activities/activities.component.d.ts +22 -0
- package/lib/components/app-component-sections/comment-section/comment-section.component.d.ts +19 -0
- package/lib/components/app-component-sections/faq-sidenav/faq-sidenav.component.d.ts +13 -0
- package/lib/components/app-component-sections/faqs/faqs.component.d.ts +17 -0
- package/lib/components/app-component-sections/faqs/index.d.ts +1 -0
- package/lib/components/app-component-sections/feedback-section/feedback-section.component.d.ts +38 -0
- package/lib/components/app-component-sections/form-section/form-section.component.d.ts +58 -0
- package/lib/components/app-component-sections/index.d.ts +8 -0
- package/lib/components/app-component-sections/main-request-details/main-request-details.component.d.ts +13 -0
- package/lib/components/app-component-sections/profile-section/profile-section.component.d.ts +17 -0
- package/lib/components/app-component-sections/service-header/service-header.component.d.ts +35 -0
- package/lib/components/app-component-sections/status/status.component.d.ts +23 -0
- package/lib/components/app-component-sections/workflow-section/workflow-section.component.d.ts +29 -0
- package/lib/components/shared-components/confirmation-popup/confirmation-popup.component.d.ts +25 -0
- package/lib/components/shared-components/delete-popup/delete-popup.component.d.ts +6 -0
- package/lib/components/shared-components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +11 -0
- package/lib/components/shared-components/dialogs/delete-dialog/delete-dialog.component.d.ts +11 -0
- package/lib/components/shared-components/dialogs/submit-dialog/submit-dialog.component.d.ts +15 -0
- package/lib/components/shared-components/doc-uploader/docs-uploader.component.d.ts +144 -0
- package/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.d.ts +16 -0
- package/lib/components/shared-components/form-field/attachment-section/attachment-section.component.d.ts +30 -0
- package/lib/components/shared-components/form-field/base-component/base-component.component.d.ts +63 -0
- package/lib/components/shared-components/form-field/checkbox/checkbox.component.d.ts +18 -0
- package/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.d.ts +29 -0
- package/lib/components/shared-components/form-field/date-picker/date-format.d.ts +17 -0
- package/lib/components/shared-components/form-field/date-picker/date-picker.component.d.ts +41 -0
- package/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.d.ts +10 -0
- package/lib/components/shared-components/form-field/form-label/form-label.component.d.ts +12 -0
- package/lib/components/shared-components/form-field/index.d.ts +24 -0
- package/lib/components/shared-components/form-field/info-item/info-item.component.d.ts +23 -0
- package/lib/components/shared-components/form-field/input/input.component.d.ts +32 -0
- package/lib/components/shared-components/form-field/input-autocomplete/index.d.ts +1 -0
- package/lib/components/shared-components/form-field/input-autocomplete/input-autocomplete.model.d.ts +6 -0
- package/lib/components/shared-components/form-field/input-currency/input-currency.component.d.ts +31 -0
- package/lib/components/shared-components/form-field/input-email/input-email.component.d.ts +27 -0
- package/lib/components/shared-components/form-field/input-mask/input-mask.component.d.ts +27 -0
- package/lib/components/shared-components/form-field/input-number/input-number.component.d.ts +30 -0
- package/lib/components/shared-components/form-field/input-telephone/input-telephone.component.d.ts +45 -0
- package/lib/components/shared-components/form-field/radio/radio.component.d.ts +10 -0
- package/lib/components/shared-components/form-field/repeated-list/repeated-list.component.d.ts +9 -0
- package/lib/components/shared-components/form-field/search-employee/search-employee.component.d.ts +44 -0
- package/lib/components/shared-components/form-field/select/select.component.d.ts +36 -0
- package/lib/components/shared-components/form-field/table-list/table-list.component.d.ts +26 -0
- package/lib/components/shared-components/form-field/textarea/special-chars.directive.d.ts +10 -0
- package/lib/components/shared-components/form-field/textarea/textarea.component.d.ts +20 -0
- package/lib/components/shared-components/form-field/toggle-button/toggle-button.component.d.ts +20 -0
- package/lib/components/shared-components/index.d.ts +9 -0
- package/lib/components/shared-components/terms-conditions/terms-conditions.component.d.ts +12 -0
- package/lib/components/shared-components/title-section/title-section.component.d.ts +13 -0
- package/lib/constants/constants.d.ts +122 -0
- package/lib/constants/index.d.ts +1 -0
- package/lib/environments/environment.local.d.ts +26 -0
- package/lib/functions/data-to-blob.d.ts +1 -0
- package/lib/functions/encode-password.d.ts +1 -0
- package/lib/functions/handel-error-response.d.ts +4 -0
- package/lib/functions/index.d.ts +4 -0
- package/lib/functions/is-valid-data.d.ts +1 -0
- package/lib/hooks/index.d.ts +2 -0
- package/lib/hooks/load-form.d.ts +10 -0
- package/lib/hooks/save-form.d.ts +15 -0
- package/lib/i18n/ar.d.ts +170 -0
- package/lib/i18n/en.d.ts +174 -0
- package/lib/i18n/index.d.ts +2 -0
- package/lib/interfaces/api-response.interface.d.ts +5 -0
- package/lib/interfaces/document-file.interface.d.ts +12 -0
- package/lib/interfaces/form-items.interface.d.ts +14 -0
- package/lib/interfaces/form.interface.d.ts +95 -0
- package/lib/interfaces/igate-user.interface.d.ts +16 -0
- package/lib/interfaces/index.d.ts +7 -0
- package/lib/interfaces/lov-list.interface.d.ts +10 -0
- package/lib/interfaces/lov.interface.d.ts +19 -0
- package/lib/interfaces/shared.interface.d.ts +21 -0
- package/lib/pipes/currency.pipe.d.ts +13 -0
- package/lib/pipes/format-as-password.pipe.d.ts +7 -0
- package/lib/pipes/index.d.ts +2 -0
- package/lib/services/feedBack.service.d.ts +21 -0
- package/lib/services/i18n.service.d.ts +10 -0
- package/lib/services/index.d.ts +2 -0
- package/lib/services/sidenav.service.d.ts +28 -0
- package/lib/validators/ar.directive.d.ts +11 -0
- package/lib/validators/currency.directive.d.ts +16 -0
- package/lib/validators/en.directive.d.ts +11 -0
- package/lib/validators/id.validator.d.ts +3 -0
- package/lib/validators/index.d.ts +7 -0
- package/lib/validators/string-to-boolean.pipe.d.ts +7 -0
- package/lib/validators/text.directive.d.ts +12 -0
- package/lib/validators/timer.pipe.d.ts +7 -0
- package/package.json +26 -0
- package/public-api.d.ts +13 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/* eslint-disable @angular-eslint/use-lifecycle-interface */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
/* eslint-disable @angular-eslint/component-selector */
|
|
4
|
+
import { BaseComponent } from '../base-component/base-component.component';
|
|
5
|
+
import { ReactiveFormsModule, Validators } from '@angular/forms';
|
|
6
|
+
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input, EventEmitter } from '@angular/core';
|
|
7
|
+
import { MatError, MatFormField, MatHint } from '@angular/material/form-field';
|
|
8
|
+
import { SatPopoverModule } from "@ncstate/sat-popover";
|
|
9
|
+
import { NgClass, NgIf } from "@angular/common";
|
|
10
|
+
import { InfoItemComponent } from "../info-item/info-item.component";
|
|
11
|
+
import { NgxMaskDirective } from "ngx-mask";
|
|
12
|
+
import { MatInput } from "@angular/material/input";
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@ncstate/sat-popover";
|
|
15
|
+
import * as i2 from "@angular/forms";
|
|
16
|
+
export class InputComponent extends BaseComponent {
|
|
17
|
+
label;
|
|
18
|
+
displayValue;
|
|
19
|
+
hasError = false;
|
|
20
|
+
hasTooltip = false;
|
|
21
|
+
error;
|
|
22
|
+
tooltip;
|
|
23
|
+
floatLabel = 'auto';
|
|
24
|
+
className = 'bordered-input';
|
|
25
|
+
showLabel = true;
|
|
26
|
+
matPrefix;
|
|
27
|
+
iconPrefixName;
|
|
28
|
+
matSuffix;
|
|
29
|
+
iconSuffixName;
|
|
30
|
+
numberSuffixName;
|
|
31
|
+
optional = false;
|
|
32
|
+
showArrows = false;
|
|
33
|
+
decimals = 0;
|
|
34
|
+
emitedChangedValue1 = new EventEmitter();
|
|
35
|
+
useCurrency;
|
|
36
|
+
useMask;
|
|
37
|
+
ngOnInit() {
|
|
38
|
+
// this.resetPropagator.subscribe(this, this.resetData);
|
|
39
|
+
this.field == undefined ? (this.field = '') : this.field;
|
|
40
|
+
this.controller.setValue(this.field);
|
|
41
|
+
if (this.type == 'email') {
|
|
42
|
+
this.controller.setValidators([
|
|
43
|
+
Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$'),
|
|
44
|
+
]);
|
|
45
|
+
}
|
|
46
|
+
if (this.minLength) {
|
|
47
|
+
this.controller.setValidators([Validators.minLength(+this.minLength)]);
|
|
48
|
+
}
|
|
49
|
+
if (this.maxLength) {
|
|
50
|
+
this.controller.setValidators([Validators.maxLength(+this.maxLength)]);
|
|
51
|
+
}
|
|
52
|
+
if (this.maxValue) {
|
|
53
|
+
this.controller.setValidators([Validators.max(+this.maxValue)]);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
ngAfterViewChecked() {
|
|
57
|
+
this.cdRef.detectChanges();
|
|
58
|
+
}
|
|
59
|
+
ngOnChanges(changes) {
|
|
60
|
+
if (changes?.['field']) {
|
|
61
|
+
if (changes?.['field'].currentValue == '' || changes?.['field'].currentValue == null) {
|
|
62
|
+
this.controller.setValue('');
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.controller.setValue(changes['field'].currentValue);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (changes?.['disabled']) {
|
|
69
|
+
if (changes['disabled'].currentValue) {
|
|
70
|
+
this.controller.disable();
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.controller.enable();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
onValueChange1(data) {
|
|
78
|
+
const currentValue = data.target.value;
|
|
79
|
+
this.emitedChangedValue1.emit(currentValue);
|
|
80
|
+
}
|
|
81
|
+
onValueChange(data) {
|
|
82
|
+
let currentValue = data.target.value;
|
|
83
|
+
console.log("showErrorMessage :", this.showErrorMessage);
|
|
84
|
+
if (+currentValue.length > +this.maxLength) {
|
|
85
|
+
currentValue = currentValue.substr(0, +this.maxLength).toString();
|
|
86
|
+
}
|
|
87
|
+
if (+currentValue < +this.minValue) {
|
|
88
|
+
currentValue = this.minValue.toString();
|
|
89
|
+
}
|
|
90
|
+
if (+currentValue > +this.maxValue) {
|
|
91
|
+
currentValue = this.maxValue.toString();
|
|
92
|
+
}
|
|
93
|
+
this.field = currentValue;
|
|
94
|
+
this.controller.setValue(this.field);
|
|
95
|
+
this.emitedValue.emit(this.field.trim());
|
|
96
|
+
}
|
|
97
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InputComponent, isStandalone: true, selector: "app-input", inputs: { label: "label", displayValue: "displayValue", hasError: "hasError", hasTooltip: "hasTooltip", error: "error", tooltip: "tooltip", floatLabel: "floatLabel", className: "className", showLabel: "showLabel", matPrefix: "matPrefix", iconPrefixName: "iconPrefixName", matSuffix: "matSuffix", iconSuffixName: "iconSuffixName", numberSuffixName: "numberSuffixName", optional: "optional", showArrows: "showArrows", decimals: "decimals", emitedChangedValue1: "emitedChangedValue1", useCurrency: "useCurrency", useMask: "useMask" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if(!isReadOnly){\r\n <!-- <app-form-label [label]=\"label\" [optional]=\"!required\" [hideOption]=\"hideOption\" [showLabel]=\"showLabel\"></app-form-label> -->\r\n @if(hasLabel){\r\n <div class=\"d-flex justify-content-between mb-1\">\r\n @if(!hasTooltip){<span class=\"form-label mb-0\">{{label}}</span>}\r\n @if(!required && !hideOption){<span class=\"fs-11 fc-dark-gray\">{{i18n.translate('Optional')}}</span>}\r\n @if(hasTooltip){\r\n <span class=\"form-label mb-0\">\r\n {{labelTextWriteMode}}\r\n <ds-icon icon=\"info fs-22\" class=\"cursor-pointer\" [satPopoverAnchor]=\"popover\"\r\n (click)=\"popover.toggle(); $event.stopImmediatePropagation()\"></ds-icon>\r\n </span>\r\n }\r\n </div>\r\n }\r\n <mat-form-field class=\"primary-form {{className}}\" [ngClass]=\"{'input-disabled' : disabled }\"\r\n [floatLabel]=\"floatLabel\">\r\n @if(iconPrefixName){<span matPrefix class=\"sfi {{iconPrefixName}}\"></span>}\r\n @if(loading){<span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix></span>}\r\n \r\n <label class=\"mat-form-content\">\r\n <!-- add input for ar && en custom directive with add type = arOnly || type = enOnly-->\r\n @if(type === 'arOnly'){\r\n <input arOnly matInput [value]=\"value\"\r\n [attr.disabled]=\"disabled\" oninput=\"validity.valid || (value='');\" [formControl]=\"controller\"\r\n (input)=\"onValueChange($event)\" [required]=\"required\" [maxlength]=\"maxLength\" [minLength]=\"minLength\"\r\n [placeholder]=\"placeholder\">\r\n }\r\n @if(type === 'enOnly'){\r\n <input enOnly matInput [value]=\"value\"\r\n [attr.disabled]=\"disabled\" oninput=\"validity.valid || (value='');\" [formControl]=\"controller\"\r\n (input)=\"onValueChange($event)\" [required]=\"required\" [maxlength]=\"maxLength\" [minLength]=\"minLength\"\r\n [placeholder]=\"placeholder\">\r\n }\r\n <!-- -->\r\n @if(type !== 'enOnly' && type !== 'arOnly'){\r\n <input matInput [value]=\"value\"\r\n [attr.disabled]=\"disabled\" oninput=\"validity.valid || (value='');\" [formControl]=\"controller\" [type]=\"type\"\r\n (input)=\"onValueChange($event)\" (change)=\"onValueChange1($event)\" [required]=\"required\" [maxlength]=\"maxLength\" [minLength]=\"minLength\"\r\n [placeholder]=\"placeholder\">\r\n }\r\n </label>\r\n @if(matSuffix){<span matSuffix class=\"sfi {{iconSuffixName}}\"></span>}\r\n @if(!controller?.valid){\r\n <mat-error class=\"mb-2\">\r\n {{i18n.translate('validFieldError')}}{{label}}\r\n </mat-error>\r\n }\r\n @if(showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{hint}}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n @if(showErrorMessage && controller.value){\r\n <span class=\"fc-coral\" style=\"color:#f44336\">\r\n {{errorMessage}}\r\n </span>\r\n }\r\n}\r\n\r\n@if(isReadOnly && (showIfEmpty || field)){\r\n <ng-container class=\"info-section\">\r\n <app-info-item class=\"info-item w-100\" [label]=\"label\" [insideTable]=\"insideTable\"\r\n [hasLabel]=\"hasLabel\" [type]=\"type\" [value]=\"field\"></app-info-item>\r\n @if(showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{hint}}</span>\r\n </mat-hint>\r\n }\r\n \r\n </ng-container>\r\n}\r\n\r\n<!-- section tooltip -->\r\n<!-- <sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"deafult-tooltip\">\r\n {{tooltip}}\r\n </div>\r\n</sat-popover> -->\r\n\r\n<sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"default-popover p-3 fs-14\">\r\n <span class=\"fs-14 fw-bold signature-notes\" [innerHTML]='tooltip'></span>\r\n </div>\r\n</sat-popover>\r\n", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none;opacity:1.5}\n"], dependencies: [{ kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i1.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: i1.SatPopoverAnchorDirective, selector: "[satPopoverAnchor]", inputs: ["satPopoverAnchor"], exportAs: ["satPopoverAnchor"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] });
|
|
99
|
+
}
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputComponent, decorators: [{
|
|
101
|
+
type: Component,
|
|
102
|
+
args: [{ selector: 'app-input', schemas: [CUSTOM_ELEMENTS_SCHEMA], imports: [
|
|
103
|
+
SatPopoverModule,
|
|
104
|
+
ReactiveFormsModule,
|
|
105
|
+
NgIf,
|
|
106
|
+
MatError,
|
|
107
|
+
MatHint,
|
|
108
|
+
NgClass,
|
|
109
|
+
InfoItemComponent,
|
|
110
|
+
MatFormField,
|
|
111
|
+
NgxMaskDirective,
|
|
112
|
+
MatInput,
|
|
113
|
+
], standalone: true, template: "@if(!isReadOnly){\r\n <!-- <app-form-label [label]=\"label\" [optional]=\"!required\" [hideOption]=\"hideOption\" [showLabel]=\"showLabel\"></app-form-label> -->\r\n @if(hasLabel){\r\n <div class=\"d-flex justify-content-between mb-1\">\r\n @if(!hasTooltip){<span class=\"form-label mb-0\">{{label}}</span>}\r\n @if(!required && !hideOption){<span class=\"fs-11 fc-dark-gray\">{{i18n.translate('Optional')}}</span>}\r\n @if(hasTooltip){\r\n <span class=\"form-label mb-0\">\r\n {{labelTextWriteMode}}\r\n <ds-icon icon=\"info fs-22\" class=\"cursor-pointer\" [satPopoverAnchor]=\"popover\"\r\n (click)=\"popover.toggle(); $event.stopImmediatePropagation()\"></ds-icon>\r\n </span>\r\n }\r\n </div>\r\n }\r\n <mat-form-field class=\"primary-form {{className}}\" [ngClass]=\"{'input-disabled' : disabled }\"\r\n [floatLabel]=\"floatLabel\">\r\n @if(iconPrefixName){<span matPrefix class=\"sfi {{iconPrefixName}}\"></span>}\r\n @if(loading){<span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix></span>}\r\n \r\n <label class=\"mat-form-content\">\r\n <!-- add input for ar && en custom directive with add type = arOnly || type = enOnly-->\r\n @if(type === 'arOnly'){\r\n <input arOnly matInput [value]=\"value\"\r\n [attr.disabled]=\"disabled\" oninput=\"validity.valid || (value='');\" [formControl]=\"controller\"\r\n (input)=\"onValueChange($event)\" [required]=\"required\" [maxlength]=\"maxLength\" [minLength]=\"minLength\"\r\n [placeholder]=\"placeholder\">\r\n }\r\n @if(type === 'enOnly'){\r\n <input enOnly matInput [value]=\"value\"\r\n [attr.disabled]=\"disabled\" oninput=\"validity.valid || (value='');\" [formControl]=\"controller\"\r\n (input)=\"onValueChange($event)\" [required]=\"required\" [maxlength]=\"maxLength\" [minLength]=\"minLength\"\r\n [placeholder]=\"placeholder\">\r\n }\r\n <!-- -->\r\n @if(type !== 'enOnly' && type !== 'arOnly'){\r\n <input matInput [value]=\"value\"\r\n [attr.disabled]=\"disabled\" oninput=\"validity.valid || (value='');\" [formControl]=\"controller\" [type]=\"type\"\r\n (input)=\"onValueChange($event)\" (change)=\"onValueChange1($event)\" [required]=\"required\" [maxlength]=\"maxLength\" [minLength]=\"minLength\"\r\n [placeholder]=\"placeholder\">\r\n }\r\n </label>\r\n @if(matSuffix){<span matSuffix class=\"sfi {{iconSuffixName}}\"></span>}\r\n @if(!controller?.valid){\r\n <mat-error class=\"mb-2\">\r\n {{i18n.translate('validFieldError')}}{{label}}\r\n </mat-error>\r\n }\r\n @if(showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{hint}}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n @if(showErrorMessage && controller.value){\r\n <span class=\"fc-coral\" style=\"color:#f44336\">\r\n {{errorMessage}}\r\n </span>\r\n }\r\n}\r\n\r\n@if(isReadOnly && (showIfEmpty || field)){\r\n <ng-container class=\"info-section\">\r\n <app-info-item class=\"info-item w-100\" [label]=\"label\" [insideTable]=\"insideTable\"\r\n [hasLabel]=\"hasLabel\" [type]=\"type\" [value]=\"field\"></app-info-item>\r\n @if(showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{hint}}</span>\r\n </mat-hint>\r\n }\r\n \r\n </ng-container>\r\n}\r\n\r\n<!-- section tooltip -->\r\n<!-- <sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"deafult-tooltip\">\r\n {{tooltip}}\r\n </div>\r\n</sat-popover> -->\r\n\r\n<sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"default-popover p-3 fs-14\">\r\n <span class=\"fs-14 fw-bold signature-notes\" [innerHTML]='tooltip'></span>\r\n </div>\r\n</sat-popover>\r\n", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none;opacity:1.5}\n"] }]
|
|
114
|
+
}], propDecorators: { label: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], displayValue: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], hasError: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], hasTooltip: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], error: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], tooltip: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], floatLabel: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], className: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], showLabel: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], matPrefix: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], iconPrefixName: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], matSuffix: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], iconSuffixName: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], numberSuffixName: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], optional: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], showArrows: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], decimals: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], emitedChangedValue1: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], useCurrency: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], useMask: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}] } });
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHVEQUF1RDtBQUN2RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBaUIsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBaUIsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFxQmpELE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQUN0QyxLQUFLLENBQVU7SUFDZixZQUFZLENBQU87SUFD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Y0FBYzsyRkFBZCxjQUFjLHFvQkNoQzNCLG16SUF3RkEsNkhEckVJLGdCQUFnQixrcUJBQ2hCLG1CQUFtQiwwOEJBRW5CLFFBQVEsa0ZBQ1IsT0FBTyw4RUFDUCxPQUFPLG9GQUNQLGlCQUFpQixnTUFDakIsWUFBWSw0TEFFWixRQUFROzsyRkFJQyxjQUFjO2tCQW5CMUIsU0FBUzsrQkFDRSxXQUFXLFdBR1osQ0FBQyxzQkFBc0IsQ0FBQyxXQUN4Qjt3QkFDUCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsSUFBSTt3QkFDSixRQUFRO3dCQUNSLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixRQUFRO3FCQUNULGNBQ1csSUFBSTs4QkFHUCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvdXNlLWxpZmVjeWNsZS1pbnRlcmZhY2UgKi9cclxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWNvbXBvbmVudC9iYXNlLWNvbXBvbmVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RmxvYXRMYWJlbFR5cGUsIE1hdEVycm9yLCBNYXRGb3JtRmllbGQsIE1hdEhpbnR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQge1NhdFBvcG92ZXJNb2R1bGV9IGZyb20gXCJAbmNzdGF0ZS9zYXQtcG9wb3ZlclwiO1xyXG5pbXBvcnQge05nQ2xhc3MsIE5nSWZ9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtJbmZvSXRlbUNvbXBvbmVudH0gZnJvbSBcIi4uL2luZm8taXRlbS9pbmZvLWl0ZW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Tmd4TWFza0RpcmVjdGl2ZX0gZnJvbSBcIm5neC1tYXNrXCI7XHJcbmltcG9ydCB7TWF0SW5wdXR9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaW5wdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgU2F0UG9wb3Zlck1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBOZ0lmLFxyXG4gICAgTWF0RXJyb3IsXHJcbiAgICBNYXRIaW50LFxyXG4gICAgTmdDbGFzcyxcclxuICAgIEluZm9JdGVtQ29tcG9uZW50LFxyXG4gICAgTWF0Rm9ybUZpZWxkLFxyXG4gICAgTmd4TWFza0RpcmVjdGl2ZSxcclxuICAgIE1hdElucHV0LFxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcclxuICBASW5wdXQoKSBkaXNwbGF5VmFsdWUhOiBhbnk7XHJcbiAgQElucHV0KCkgaGFzRXJyb3IgPSBmYWxzZTtcclxuICBASW5wdXQoKSBoYXNUb29sdGlwID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZXJyb3IhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdG9vbHRpcCE6IHN0cmluZztcclxuICBASW5wdXQoKSBmbG9hdExhYmVsOiBhbnkgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJ2JvcmRlcmVkLWlucHV0JztcclxuICBASW5wdXQoKSBzaG93TGFiZWwgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIG1hdFByZWZpeCE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaWNvblByZWZpeE5hbWUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF0U3VmZml4ITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpY29uU3VmZml4TmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBudW1iZXJTdWZmaXhOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG9wdGlvbmFsID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd0Fycm93cyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRlY2ltYWxzID0gMDtcclxuICBASW5wdXQoKSBlbWl0ZWRDaGFuZ2VkVmFsdWUxID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIHVzZUN1cnJlbmN5OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHVzZU1hc2s6Ym9vbGVhbjtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIHRoaXMucmVzZXRQcm9wYWdhdG9yLnN1YnNjcmliZSh0aGlzLCB0aGlzLnJlc2V0RGF0YSk7XHJcbiAgICB0aGlzLmZpZWxkID09IHVuZGVmaW5lZCA/ICh0aGlzLmZpZWxkID0gJycpIDogdGhpcy5maWVsZDtcclxuICAgIHRoaXMuY29udHJvbGxlci5zZXRWYWx1ZSh0aGlzLmZpZWxkKTtcclxuICAgIGlmICh0aGlzLnR5cGUgPT0gJ2VtYWlsJykge1xyXG4gICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsaWRhdG9ycyhbXHJcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW2EtejAtOS5fJSstXStAW2EtejAtOS4tXStcXFxcLlthLXpdezIsNH0kJyksXHJcbiAgICAgIF0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1pbkxlbmd0aCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5taW5MZW5ndGgoK3RoaXMubWluTGVuZ3RoKV0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1heExlbmd0aCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5tYXhMZW5ndGgoK3RoaXMubWF4TGVuZ3RoKV0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1heFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbGxlci5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLm1heCgrdGhpcy5tYXhWYWx1ZSldKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXM/LlsnZmllbGQnXSkge1xyXG4gICAgICBpZiAoY2hhbmdlcz8uWydmaWVsZCddLmN1cnJlbnRWYWx1ZSA9PSAnJyB8fCBjaGFuZ2VzPy5bJ2ZpZWxkJ10uY3VycmVudFZhbHVlID09IG51bGwpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsdWUoJycpO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsdWUoY2hhbmdlc1snZmllbGQnXS5jdXJyZW50VmFsdWUpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICBpZiAoY2hhbmdlcz8uWydkaXNhYmxlZCddKSB7XHJcbiAgICAgIGlmIChjaGFuZ2VzWydkaXNhYmxlZCddLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbGxlci5kaXNhYmxlKClcclxuICAgICAgfVxyXG4gICAgICBlbHNle1xyXG4gICAgICAgIHRoaXMuY29udHJvbGxlci5lbmFibGUoKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBvblZhbHVlQ2hhbmdlMShkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGRhdGEudGFyZ2V0LnZhbHVlO1xyXG4gICAgdGhpcy5lbWl0ZWRDaGFuZ2VkVmFsdWUxLmVtaXQoY3VycmVudFZhbHVlKTtcclxuICB9XHJcbiAgb25WYWx1ZUNoYW5nZShkYXRhOiBhbnkpIHtcclxuICAgIGxldCBjdXJyZW50VmFsdWUgPSBkYXRhLnRhcmdldC52YWx1ZTtcclxuICAgIGNvbnNvbGUubG9nKFwic2hvd0Vycm9yTWVzc2FnZSA6XCIsdGhpcy5zaG93RXJyb3JNZXNzYWdlKVxyXG4gICAgaWYgKCtjdXJyZW50VmFsdWUubGVuZ3RoID4gK3RoaXMubWF4TGVuZ3RoKSB7XHJcbiAgICAgIGN1cnJlbnRWYWx1ZSA9IGN1cnJlbnRWYWx1ZS5zdWJzdHIoMCwgK3RoaXMubWF4TGVuZ3RoKS50b1N0cmluZygpO1xyXG4gICAgfVxyXG4gICAgaWYgKCtjdXJyZW50VmFsdWUgPCArdGhpcy5taW5WYWx1ZSkge1xyXG4gICAgICBjdXJyZW50VmFsdWUgPSB0aGlzLm1pblZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoK2N1cnJlbnRWYWx1ZSA+ICt0aGlzLm1heFZhbHVlKSB7XHJcbiAgICAgIGN1cnJlbnRWYWx1ZSA9IHRoaXMubWF4VmFsdWUudG9TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZmllbGQgPSBjdXJyZW50VmFsdWU7XHJcbiAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsdWUodGhpcy5maWVsZClcclxuICAgIHRoaXMuZW1pdGVkVmFsdWUuZW1pdCh0aGlzLmZpZWxkLnRyaW0oKSk7XHJcbiAgfVxyXG59XHJcbiIsIkBpZighaXNSZWFkT25seSl7XHJcbiAgICA8IS0tIDxhcHAtZm9ybS1sYWJlbCBbbGFiZWxdPVwibGFiZWxcIiBbb3B0aW9uYWxdPVwiIXJlcXVpcmVkXCIgW2hpZGVPcHRpb25dPVwiaGlkZU9wdGlvblwiIFtzaG93TGFiZWxdPVwic2hvd0xhYmVsXCI+PC9hcHAtZm9ybS1sYWJlbD4gLS0+XHJcbiAgICAgQGlmKGhhc0xhYmVsKXtcclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0xXCI+XHJcbiAgICAgICAgQGlmKCFoYXNUb29sdGlwKXs8c3BhbiBjbGFzcz1cImZvcm0tbGFiZWwgbWItMFwiPnt7bGFiZWx9fTwvc3Bhbj59XHJcbiAgICAgICAgQGlmKCFyZXF1aXJlZCAmJiAhaGlkZU9wdGlvbil7PHNwYW4gY2xhc3M9XCJmcy0xMSBmYy1kYXJrLWdyYXlcIj57e2kxOG4udHJhbnNsYXRlKCdPcHRpb25hbCcpfX08L3NwYW4+fVxyXG4gICAgICAgIEBpZihoYXNUb29sdGlwKXtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0wXCI+XHJcbiAgICAgICAgICAgIHt7bGFiZWxUZXh0V3JpdGVNb2RlfX1cclxuICAgICAgICAgICAgPGRzLWljb24gaWNvbj1cImluZm8gZnMtMjJcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgW3NhdFBvcG92ZXJBbmNob3JdPVwicG9wb3ZlclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInBvcG92ZXIudG9nZ2xlKCk7ICRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVwiPjwvZHMtaWNvbj5cclxuICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgfVxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwicHJpbWFyeS1mb3JtIHt7Y2xhc3NOYW1lfX1cIiBbbmdDbGFzc109XCJ7J2lucHV0LWRpc2FibGVkJyA6IGRpc2FibGVkIH1cIlxyXG4gICAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCI+XHJcbiAgICAgIEBpZihpY29uUHJlZml4TmFtZSl7PHNwYW4gIG1hdFByZWZpeCBjbGFzcz1cInNmaSB7e2ljb25QcmVmaXhOYW1lfX1cIj48L3NwYW4+fVxyXG4gICAgICBAaWYobG9hZGluZyl7PHNwYW4gY2xhc3M9XCJzZmkgc2ZpLXNwaW5uZXIgZC1pbmxpbmUtYmxvY2sgc3BpbiBmYy1jb3JhbFwiIG1hdFN1ZmZpeD48L3NwYW4+fVxyXG4gICAgICBcclxuICAgICAgPGxhYmVsIGNsYXNzPVwibWF0LWZvcm0tY29udGVudFwiPlxyXG4gICAgICAgICAgICAgIDwhLS0gYWRkIGlucHV0IGZvciBhciAmJiBlbiBjdXN0b20gZGlyZWN0aXZlIHdpdGggYWRkIHR5cGUgPSBhck9ubHkgfHwgIHR5cGUgPSBlbk9ubHktLT5cclxuICAgICAgICAgICAgICAgQGlmKHR5cGUgPT09ICdhck9ubHknKXtcclxuICAgICAgICAgICAgICAgIDxpbnB1dCBhck9ubHkgbWF0SW5wdXQgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCIgb25pbnB1dD1cInZhbGlkaXR5LnZhbGlkIHx8ICh2YWx1ZT0nJyk7XCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xsZXJcIlxyXG4gICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCIgW21pbkxlbmd0aF09XCJtaW5MZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICBAaWYodHlwZSA9PT0gJ2VuT25seScpe1xyXG4gICAgICAgICAgPGlucHV0ICBlbk9ubHkgbWF0SW5wdXQgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCIgb25pbnB1dD1cInZhbGlkaXR5LnZhbGlkIHx8ICh2YWx1ZT0nJyk7XCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xsZXJcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCIgW21pbkxlbmd0aF09XCJtaW5MZW5ndGhcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwhLS0gIC0tPlxyXG4gICAgICAgIEBpZih0eXBlICE9PSAnZW5Pbmx5JyAmJiAgdHlwZSAhPT0gJ2FyT25seScpe1xyXG4gICAgICAgICAgPGlucHV0ICBtYXRJbnB1dCBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBvbmlucHV0PVwidmFsaWRpdHkudmFsaWQgfHwgKHZhbHVlPScnKTtcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbGxlclwiIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZTEoJGV2ZW50KVwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCIgW21pbkxlbmd0aF09XCJtaW5MZW5ndGhcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2xhYmVsPlxyXG4gICAgICBAaWYobWF0U3VmZml4KXs8c3BhbiBtYXRTdWZmaXggY2xhc3M9XCJzZmkge3tpY29uU3VmZml4TmFtZX19XCI+PC9zcGFuPn1cclxuICAgICAgQGlmKCFjb250cm9sbGVyPy52YWxpZCl7XHJcbiAgICAgICAgPG1hdC1lcnJvciBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgIHt7aTE4bi50cmFuc2xhdGUoJ3ZhbGlkRmllbGRFcnJvcicpfX17e2xhYmVsfX1cclxuICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgfVxyXG4gICAgQGlmKHNob3dIaW50KXtcclxuICAgICAgPG1hdC1oaW50IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMSBtdC0xXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZmkgc2ZpLWluZm8gZnMtMTcgZmMtZGFyay1ncmF5XCIgW25nQ2xhc3NdPVwieydmYy1vYXNpcy1saWdodC1pbXAnOnZhbHVlfVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTEyIGZjLWJsYWNrIGxpbmUtaGVpZ2h0LTFcIj57e2hpbnR9fTwvc3Bhbj5cclxuICAgICAgPC9tYXQtaGludD5cclxuICAgIH1cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICBAaWYoc2hvd0Vycm9yTWVzc2FnZSAmJiBjb250cm9sbGVyLnZhbHVlKXtcclxuICAgICAgPHNwYW4gY2xhc3M9XCJmYy1jb3JhbFwiIHN0eWxlPVwiY29sb3I6I2Y0NDMzNlwiPlxyXG4gICAgICAgIHt7ZXJyb3JNZXNzYWdlfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgfVxyXG59XHJcblxyXG5AaWYoaXNSZWFkT25seSAmJiAoc2hvd0lmRW1wdHkgfHwgZmllbGQpKXtcclxuICA8bmctY29udGFpbmVyICBjbGFzcz1cImluZm8tc2VjdGlvblwiPlxyXG4gICAgPGFwcC1pbmZvLWl0ZW0gY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIiBbbGFiZWxdPVwibGFiZWxcIiBbaW5zaWRlVGFibGVdPVwiaW5zaWRlVGFibGVcIlxyXG4gICAgICBbaGFzTGFiZWxdPVwiaGFzTGFiZWxcIiBbdHlwZV09XCJ0eXBlXCIgW3ZhbHVlXT1cImZpZWxkXCI+PC9hcHAtaW5mby1pdGVtPlxyXG4gICAgICBAaWYoc2hvd0hpbnQpe1xyXG4gICAgICAgIDxtYXQtaGludCBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTEgbXQtMVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZmkgc2ZpLWluZm8gZnMtMTcgZmMtZGFyay1ncmF5XCIgW25nQ2xhc3NdPVwieydmYy1vYXNpcy1saWdodC1pbXAnOnZhbHVlfVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTIgZmMtYmxhY2sgbGluZS1oZWlnaHQtMVwiPnt7aGludH19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWhpbnQ+XHJcbiAgICAgIH1cclxuICAgICBcclxuICA8L25nLWNvbnRhaW5lcj5cclxufVxyXG5cclxuPCEtLSBzZWN0aW9uIHRvb2x0aXAgLS0+XHJcbjwhLS0gPHNhdC1wb3BvdmVyICNwb3BvdmVyIFtoYXNCYWNrZHJvcF09XCJ0cnVlXCIgdmVydGljYWxBbGlnbj1cImJlbG93XCI+XHJcbiAgPGRpdiBjbGFzcz1cImRlYWZ1bHQtdG9vbHRpcFwiPlxyXG4gICAge3t0b29sdGlwfX1cclxuICA8L2Rpdj5cclxuPC9zYXQtcG9wb3Zlcj4gLS0+XHJcblxyXG48c2F0LXBvcG92ZXIgI3BvcG92ZXIgW2hhc0JhY2tkcm9wXT1cInRydWVcIiAgdmVydGljYWxBbGlnbj1cImJlbG93XCI+XHJcbiAgPGRpdiBjbGFzcz1cImRlZmF1bHQtcG9wb3ZlciBwLTMgZnMtMTRcIj5cclxuICAgPHNwYW4gY2xhc3M9XCJmcy0xNCBmdy1ib2xkIHNpZ25hdHVyZS1ub3Rlc1wiIFtpbm5lckhUTUxdPSd0b29sdGlwJz48L3NwYW4+XHJcbiAgPC9kaXY+XHJcbjwvc2F0LXBvcG92ZXI+XHJcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// export * from './input-autocomplete.module';
|
|
2
|
+
export * from './input-autocomplete.model';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZm9ybS1maWVsZC9pbnB1dC1hdXRvY29tcGxldGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBleHBvcnQgKiBmcm9tICcuL2lucHV0LWF1dG9jb21wbGV0ZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2lucHV0LWF1dG9jb21wbGV0ZS5tb2RlbCc7Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYXV0b2NvbXBsZXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQtYXV0b2NvbXBsZXRlL2lucHV0LWF1dG9jb21wbGV0ZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJZGVudGlmaWFibGUge1xyXG4gIGlkOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZW1haWw6IHN0cmluZztcclxufSJdfQ==
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
/* eslint-disable @angular-eslint/use-lifecycle-interface */
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
|
+
/* eslint-disable @angular-eslint/component-selector */
|
|
5
|
+
import { BaseComponent } from '../base-component/base-component.component';
|
|
6
|
+
import { ReactiveFormsModule, Validators } from '@angular/forms';
|
|
7
|
+
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
8
|
+
import { MatError, MatFormField, MatHint } from '@angular/material/form-field';
|
|
9
|
+
import { NgClass, NgIf } from "@angular/common";
|
|
10
|
+
import { InfoItemComponent } from "../info-item/info-item.component";
|
|
11
|
+
import { SatPopoverModule } from "@ncstate/sat-popover";
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/forms";
|
|
14
|
+
import * as i2 from "@ncstate/sat-popover";
|
|
15
|
+
export class InputCurrencyComponent extends BaseComponent {
|
|
16
|
+
label;
|
|
17
|
+
displayValue;
|
|
18
|
+
hasError = false;
|
|
19
|
+
error;
|
|
20
|
+
tooltip;
|
|
21
|
+
floatLabel = 'auto';
|
|
22
|
+
className = 'bordered-input';
|
|
23
|
+
showLabel = true;
|
|
24
|
+
showPlus = true;
|
|
25
|
+
showMinus = true;
|
|
26
|
+
matPrefix;
|
|
27
|
+
iconPrefixName;
|
|
28
|
+
matSuffix;
|
|
29
|
+
iconSuffixName;
|
|
30
|
+
numberSuffixName;
|
|
31
|
+
optional = false;
|
|
32
|
+
showArrows = false;
|
|
33
|
+
decimals = 0;
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
// this.resetPropagator.subscribe(this, this.resetData);
|
|
36
|
+
this.field == undefined ? (this.field = '') : this.field;
|
|
37
|
+
this.controller.setValue(this.field);
|
|
38
|
+
if (this.type == 'email') {
|
|
39
|
+
this.controller.setValidators([
|
|
40
|
+
Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$'),
|
|
41
|
+
]);
|
|
42
|
+
}
|
|
43
|
+
// if (this.minLength) {
|
|
44
|
+
// this.controller.setValidators([Validators.minLength(+this.minLength)]);
|
|
45
|
+
// }
|
|
46
|
+
if (this.maxLength && !this.mask) {
|
|
47
|
+
// this.controller.setValidators([Validators.maxLength(+this.maxLength)]);
|
|
48
|
+
this.mask = '0'.repeat(+this.maxLength);
|
|
49
|
+
}
|
|
50
|
+
if (this.maxValue) {
|
|
51
|
+
this.controller.setValidators([Validators.max(+this.maxValue)]);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
ngAfterViewChecked() {
|
|
55
|
+
this.cdRef.detectChanges();
|
|
56
|
+
}
|
|
57
|
+
ngOnChanges(changes) {
|
|
58
|
+
if (changes?.['field']) {
|
|
59
|
+
if (changes?.['field'].currentValue == '' || changes?.['field'].currentValue == null) {
|
|
60
|
+
this.controller.setValue('');
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this.controller.setValue(changes['field'].currentValue);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
plus() {
|
|
68
|
+
let controlValue = (this.controller.value);
|
|
69
|
+
controlValue = this.mycurrencyPipe.parse(controlValue);
|
|
70
|
+
controlValue = Number(controlValue);
|
|
71
|
+
controlValue = controlValue + 1;
|
|
72
|
+
const currencValue = this.mycurrencyPipe.transform(controlValue.toString());
|
|
73
|
+
this.controller.setValue(this.mycurrencyPipe.transform(currencValue));
|
|
74
|
+
this.emitedValue.emit(this.controller.value);
|
|
75
|
+
}
|
|
76
|
+
minus() {
|
|
77
|
+
let controlValue = (this.controller.value);
|
|
78
|
+
controlValue = this.mycurrencyPipe.parse(controlValue);
|
|
79
|
+
controlValue = Number(controlValue);
|
|
80
|
+
if (controlValue > 0) {
|
|
81
|
+
controlValue = controlValue - 1;
|
|
82
|
+
const currencValue = this.mycurrencyPipe.transform(controlValue.toString());
|
|
83
|
+
this.controller.setValue(this.mycurrencyPipe.transform(currencValue));
|
|
84
|
+
this.emitedValue.emit(this.controller.value);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
onValueChange(data) {
|
|
88
|
+
let currentValue = data.target.value;
|
|
89
|
+
if (+currentValue.length > +this.maxLength) {
|
|
90
|
+
currentValue = currentValue.substr(0, +this.maxLength).toString();
|
|
91
|
+
}
|
|
92
|
+
if (+currentValue < +this.minValue) {
|
|
93
|
+
currentValue = this.minValue.toString();
|
|
94
|
+
}
|
|
95
|
+
if (+currentValue > +this.maxValue) {
|
|
96
|
+
currentValue = this.maxValue.toString();
|
|
97
|
+
}
|
|
98
|
+
// currentValue = currentValue?.replaceAll(',', '')
|
|
99
|
+
// currentValue = Number(currentValue)
|
|
100
|
+
// this.field = JSON.stringify(currentValue);
|
|
101
|
+
this.field = currentValue;
|
|
102
|
+
this.controller.setValue(this.field);
|
|
103
|
+
this.emitedValue.emit(this.field.trim());
|
|
104
|
+
}
|
|
105
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputCurrencyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
106
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: InputCurrencyComponent, isStandalone: true, selector: "app-input-currency", inputs: { label: "label", displayValue: "displayValue", hasError: "hasError", error: "error", tooltip: "tooltip", floatLabel: "floatLabel", className: "className", showLabel: "showLabel", showPlus: "showPlus", showMinus: "showMinus", matPrefix: "matPrefix", iconPrefixName: "iconPrefixName", matSuffix: "matSuffix", iconSuffixName: "iconSuffixName", numberSuffixName: "numberSuffixName", optional: "optional", showArrows: "showArrows", decimals: "decimals" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!isReadOnly\">\r\n <!-- <app-form-label [label]=\"label\" [optional]=\"!required\" [hideOption]=\"hideOption\" [showLabel]=\"showLabel\"></app-form-label> -->\r\n <div class=\"d-flex justify-content-between mb-1\" *ngIf=\"hasLabel\">\r\n <span class=\"form-label mb-0\">{{label}}</span>\r\n <span *ngIf=\"!required && ! hideOption\" class=\"fs-11 fc-dark-gray\">{{i18n.translate('Optional')}}\r\n </span>\r\n </div>\r\n <mat-form-field class=\"primary-form {{className}}\" [ngClass]=\"{'input-disabled' : disabled }\"\r\n [floatLabel]=\"floatLabel\">\r\n\r\n <span *ngIf=\"iconPrefixName\" matPrefix class=\"sfi {{iconPrefixName}}\"></span>\r\n <label class=\"mat-form-content\">\r\n\r\n <input matInput [placeholder]=\"placeholder\" [value]=\"value\" [disabled]=\"disabled\"\r\n oninput=\"validity.valid || (value='');\" [formControl]=\"controller\" (input)=\"onValueChange($event)\"\r\n (paste)=\"false\"\r\n [required]=\"required\" [placeholder]=\"placeholder\" appMycurrency>\r\n </label>\r\n\r\n <span *ngIf=\"matSuffix\" matSuffix class=\"sfi {{iconSuffixName}}\"></span>\r\n <div *ngIf=\"type === 'number'\" matSuffix class=\"d-flex align-items-center gap-2 position-relative\"\r\n (click)=\"$event.stopPropagation()\">\r\n <span class=\"fs-14 fw-medium\" *ngIf=\"numberSuffixName\">{{numberSuffixName}}</span>\r\n <span class=\"sfi sfi-minus p-2 bc-light-gray fc-black cursor-pointer\" *ngIf=\"showMinus\" (click)=\"minus()\"></span>\r\n <span class=\"sfi sfi-plus p-2 bc-light-gray fc-black cursor-pointer\" *ngIf=\"showPlus\" (click)=\"plus()\"></span>\r\n </div>\r\n <mat-error class=\"mb-2\" *ngIf=\"(type !=='email' && !controller?.valid)\">\r\n {{i18n.translate('validFieldError')}}{{label}}\r\n </mat-error>\r\n\r\n <mat-error *ngIf=\"(type ==='email' && !controller?.valid)\">\r\n {{i18n.translate('validEmailError')}}\r\n </mat-error>\r\n <mat-hint *ngIf=\"showHint\">\r\n <span class=\"sfi sfi-check-circle font-10 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{hint}}</span>\r\n </mat-hint>\r\n\r\n\r\n </mat-form-field>\r\n <span class=\"fc-coral\" style=\"color:#f44336\" *ngIf=\"( showErrorMessage && controller.value)\">\r\n {{errorMessage}}\r\n </span>\r\n\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"isReadOnly && (showIfEmpty || field)\" class=\"info-section\">\r\n <app-info-item class=\"info-item w-100\" [type]=\"'currency'\" [label]=\"label\" [insideTable]=\"insideTable\"\r\n [hasLabel]=\"hasLabel\" [value]=\"field\"></app-info-item>\r\n</ng-container>\r\n\r\n\r\n<!-- section tooltip -->\r\n<sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"deafult-tooltip\">\r\n {{tooltip}}\r\n </div>\r\n</sat-popover>\r\n", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none!important;opacity:1.5}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i2.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
107
|
+
}
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputCurrencyComponent, decorators: [{
|
|
109
|
+
type: Component,
|
|
110
|
+
args: [{ selector: 'app-input-currency', schemas: [CUSTOM_ELEMENTS_SCHEMA], standalone: true, imports: [
|
|
111
|
+
ReactiveFormsModule,
|
|
112
|
+
NgClass,
|
|
113
|
+
MatError,
|
|
114
|
+
MatHint,
|
|
115
|
+
InfoItemComponent,
|
|
116
|
+
SatPopoverModule,
|
|
117
|
+
MatFormField,
|
|
118
|
+
NgIf
|
|
119
|
+
], template: "<ng-container *ngIf=\"!isReadOnly\">\r\n <!-- <app-form-label [label]=\"label\" [optional]=\"!required\" [hideOption]=\"hideOption\" [showLabel]=\"showLabel\"></app-form-label> -->\r\n <div class=\"d-flex justify-content-between mb-1\" *ngIf=\"hasLabel\">\r\n <span class=\"form-label mb-0\">{{label}}</span>\r\n <span *ngIf=\"!required && ! hideOption\" class=\"fs-11 fc-dark-gray\">{{i18n.translate('Optional')}}\r\n </span>\r\n </div>\r\n <mat-form-field class=\"primary-form {{className}}\" [ngClass]=\"{'input-disabled' : disabled }\"\r\n [floatLabel]=\"floatLabel\">\r\n\r\n <span *ngIf=\"iconPrefixName\" matPrefix class=\"sfi {{iconPrefixName}}\"></span>\r\n <label class=\"mat-form-content\">\r\n\r\n <input matInput [placeholder]=\"placeholder\" [value]=\"value\" [disabled]=\"disabled\"\r\n oninput=\"validity.valid || (value='');\" [formControl]=\"controller\" (input)=\"onValueChange($event)\"\r\n (paste)=\"false\"\r\n [required]=\"required\" [placeholder]=\"placeholder\" appMycurrency>\r\n </label>\r\n\r\n <span *ngIf=\"matSuffix\" matSuffix class=\"sfi {{iconSuffixName}}\"></span>\r\n <div *ngIf=\"type === 'number'\" matSuffix class=\"d-flex align-items-center gap-2 position-relative\"\r\n (click)=\"$event.stopPropagation()\">\r\n <span class=\"fs-14 fw-medium\" *ngIf=\"numberSuffixName\">{{numberSuffixName}}</span>\r\n <span class=\"sfi sfi-minus p-2 bc-light-gray fc-black cursor-pointer\" *ngIf=\"showMinus\" (click)=\"minus()\"></span>\r\n <span class=\"sfi sfi-plus p-2 bc-light-gray fc-black cursor-pointer\" *ngIf=\"showPlus\" (click)=\"plus()\"></span>\r\n </div>\r\n <mat-error class=\"mb-2\" *ngIf=\"(type !=='email' && !controller?.valid)\">\r\n {{i18n.translate('validFieldError')}}{{label}}\r\n </mat-error>\r\n\r\n <mat-error *ngIf=\"(type ==='email' && !controller?.valid)\">\r\n {{i18n.translate('validEmailError')}}\r\n </mat-error>\r\n <mat-hint *ngIf=\"showHint\">\r\n <span class=\"sfi sfi-check-circle font-10 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{hint}}</span>\r\n </mat-hint>\r\n\r\n\r\n </mat-form-field>\r\n <span class=\"fc-coral\" style=\"color:#f44336\" *ngIf=\"( showErrorMessage && controller.value)\">\r\n {{errorMessage}}\r\n </span>\r\n\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"isReadOnly && (showIfEmpty || field)\" class=\"info-section\">\r\n <app-info-item class=\"info-item w-100\" [type]=\"'currency'\" [label]=\"label\" [insideTable]=\"insideTable\"\r\n [hasLabel]=\"hasLabel\" [value]=\"field\"></app-info-item>\r\n</ng-container>\r\n\r\n\r\n<!-- section tooltip -->\r\n<sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"deafult-tooltip\">\r\n {{tooltip}}\r\n </div>\r\n</sat-popover>\r\n", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none!important;opacity:1.5}\n"] }]
|
|
120
|
+
}], propDecorators: { label: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], displayValue: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], hasError: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], error: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], tooltip: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], floatLabel: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], className: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], showLabel: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], showPlus: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], showMinus: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], matPrefix: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], iconPrefixName: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], matSuffix: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], iconSuffixName: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], numberSuffixName: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], optional: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], showArrows: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}], decimals: [{
|
|
155
|
+
type: Input
|
|
156
|
+
}] } });
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQtY3VycmVuY3kvaW5wdXQtY3VycmVuY3kuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQtY3VycmVuY3kvaW5wdXQtY3VycmVuY3kuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELDREQUE0RDtBQUM1RCx1REFBdUQ7QUFDdkQsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBaUIsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RixPQUFPLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBbUJ0RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsYUFBYTtJQUM5QyxLQUFLLENBQVU7SUFDZixZQUFZLENBQU87SUFDbkIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixLQUFLLENB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O2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvdXNlLWxpZmVjeWNsZS1pbnRlcmZhY2UgKi9cclxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWNvbXBvbmVudC9iYXNlLWNvbXBvbmVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Zsb2F0TGFiZWxUeXBlLCBNYXRFcnJvciwgTWF0Rm9ybUZpZWxkLCBNYXRIaW50fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHtOZ0NsYXNzLCBOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7SW5mb0l0ZW1Db21wb25lbnR9IGZyb20gXCIuLi9pbmZvLWl0ZW0vaW5mby1pdGVtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NhdFBvcG92ZXJNb2R1bGV9IGZyb20gXCJAbmNzdGF0ZS9zYXQtcG9wb3ZlclwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaW5wdXQtY3VycmVuY3knLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtY3VycmVuY3kuY29tcG9uZW50LnNjc3MnXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIE1hdEVycm9yLFxyXG4gICAgTWF0SGludCxcclxuICAgIEluZm9JdGVtQ29tcG9uZW50LFxyXG4gICAgU2F0UG9wb3Zlck1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZCxcclxuICAgIE5nSWZcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dEN1cnJlbmN5Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbGFiZWwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGlzcGxheVZhbHVlITogYW55O1xyXG4gIEBJbnB1dCgpIGhhc0Vycm9yID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZXJyb3IhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdG9vbHRpcCE6IHN0cmluZztcclxuICBASW5wdXQoKSBmbG9hdExhYmVsOiBhbnkgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJ2JvcmRlcmVkLWlucHV0JztcclxuICBASW5wdXQoKSBzaG93TGFiZWwgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dQbHVzID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93TWludXMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIG1hdFByZWZpeCE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaWNvblByZWZpeE5hbWUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF0U3VmZml4ITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpY29uU3VmZml4TmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBudW1iZXJTdWZmaXhOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG9wdGlvbmFsID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd0Fycm93cyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRlY2ltYWxzID0gMDtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIHRoaXMucmVzZXRQcm9wYWdhdG9yLnN1YnNjcmliZSh0aGlzLCB0aGlzLnJlc2V0RGF0YSk7XHJcbiAgICB0aGlzLmZpZWxkID09IHVuZGVmaW5lZCA/ICh0aGlzLmZpZWxkID0gJycpIDogdGhpcy5maWVsZDtcclxuICAgIHRoaXMuY29udHJvbGxlci5zZXRWYWx1ZSh0aGlzLmZpZWxkKTtcclxuICAgIGlmICh0aGlzLnR5cGUgPT0gJ2VtYWlsJykge1xyXG4gICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsaWRhdG9ycyhbXHJcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW2EtejAtOS5fJSstXStAW2EtejAtOS4tXStcXFxcLlthLXpdezIsNH0kJyksXHJcbiAgICAgIF0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGlmICh0aGlzLm1pbkxlbmd0aCkge1xyXG4gICAgLy8gICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5taW5MZW5ndGgoK3RoaXMubWluTGVuZ3RoKV0pO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIGlmICh0aGlzLm1heExlbmd0aCAmJiAhdGhpcy5tYXNrKSB7XHJcbiAgICAgIC8vIHRoaXMuY29udHJvbGxlci5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLm1heExlbmd0aCgrdGhpcy5tYXhMZW5ndGgpXSk7XHJcbiAgICAgIHRoaXMubWFzayA9ICcwJy5yZXBlYXQoK3RoaXMubWF4TGVuZ3RoKVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1heFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbGxlci5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLm1heCgrdGhpcy5tYXhWYWx1ZSldKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXM/LlsnZmllbGQnXSkge1xyXG4gICAgICBpZiAoY2hhbmdlcz8uWydmaWVsZCddLmN1cnJlbnRWYWx1ZSA9PSAnJyB8fCBjaGFuZ2VzPy5bJ2ZpZWxkJ10uY3VycmVudFZhbHVlID09IG51bGwpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsdWUoJycpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29udHJvbGxlci5zZXRWYWx1ZShjaGFuZ2VzWydmaWVsZCddLmN1cnJlbnRWYWx1ZSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcGx1cygpIHtcclxuICAgIGxldCBjb250cm9sVmFsdWUgPSAodGhpcy5jb250cm9sbGVyLnZhbHVlKVxyXG4gICAgY29udHJvbFZhbHVlID0gdGhpcy5teWN1cnJlbmN5UGlwZS5wYXJzZShjb250cm9sVmFsdWUpXHJcbiAgICBjb250cm9sVmFsdWUgPSBOdW1iZXIoY29udHJvbFZhbHVlKVxyXG4gICAgY29udHJvbFZhbHVlID0gY29udHJvbFZhbHVlICsgMVxyXG4gICAgY29uc3QgY3VycmVuY1ZhbHVlID0gdGhpcy5teWN1cnJlbmN5UGlwZS50cmFuc2Zvcm0oY29udHJvbFZhbHVlLnRvU3RyaW5nKCkpXHJcbiAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsdWUodGhpcy5teWN1cnJlbmN5UGlwZS50cmFuc2Zvcm0oY3VycmVuY1ZhbHVlKSlcclxuICAgIHRoaXMuZW1pdGVkVmFsdWUuZW1pdCh0aGlzLmNvbnRyb2xsZXIudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgbWludXMoKSB7XHJcbiAgICBsZXQgY29udHJvbFZhbHVlID0gKHRoaXMuY29udHJvbGxlci52YWx1ZSlcclxuICAgIGNvbnRyb2xWYWx1ZSA9IHRoaXMubXljdXJyZW5jeVBpcGUucGFyc2UoY29udHJvbFZhbHVlKVxyXG4gICAgY29udHJvbFZhbHVlID0gTnVtYmVyKGNvbnRyb2xWYWx1ZSlcclxuICAgIGlmIChjb250cm9sVmFsdWUgPiAwKSB7XHJcbiAgICAgIGNvbnRyb2xWYWx1ZSA9IGNvbnRyb2xWYWx1ZSAtIDFcclxuICAgICAgY29uc3QgY3VycmVuY1ZhbHVlID0gdGhpcy5teWN1cnJlbmN5UGlwZS50cmFuc2Zvcm0oY29udHJvbFZhbHVlLnRvU3RyaW5nKCkpXHJcbiAgICAgIHRoaXMuY29udHJvbGxlci5zZXRWYWx1ZSh0aGlzLm15Y3VycmVuY3lQaXBlLnRyYW5zZm9ybShjdXJyZW5jVmFsdWUpKVxyXG4gICAgICB0aGlzLmVtaXRlZFZhbHVlLmVtaXQodGhpcy5jb250cm9sbGVyLnZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2UoZGF0YTogYW55KSB7XHJcbiAgICBsZXQgY3VycmVudFZhbHVlID0gZGF0YS50YXJnZXQudmFsdWU7XHJcbiAgICBpZiAoK2N1cnJlbnRWYWx1ZS5sZW5ndGggPiArdGhpcy5tYXhMZW5ndGgpIHtcclxuICAgICAgY3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlLnN1YnN0cigwLCArdGhpcy5tYXhMZW5ndGgpLnRvU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoK2N1cnJlbnRWYWx1ZSA8ICt0aGlzLm1pblZhbHVlKSB7XHJcbiAgICAgIGN1cnJlbnRWYWx1ZSA9IHRoaXMubWluVmFsdWUudG9TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIGlmICgrY3VycmVudFZhbHVlID4gK3RoaXMubWF4VmFsdWUpIHtcclxuICAgICAgY3VycmVudFZhbHVlID0gdGhpcy5tYXhWYWx1ZS50b1N0cmluZygpO1xyXG4gICAgfVxyXG4gICAgLy8gY3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlPy5yZXBsYWNlQWxsKCcsJywgJycpXHJcbiAgICAvLyBjdXJyZW50VmFsdWUgPSBOdW1iZXIoY3VycmVudFZhbHVlKVxyXG4gICAgLy8gdGhpcy5maWVsZCA9IEpTT04uc3RyaW5naWZ5KGN1cnJlbnRWYWx1ZSk7XHJcbiAgICB0aGlzLmZpZWxkID0gY3VycmVudFZhbHVlO1xyXG4gICAgdGhpcy5jb250cm9sbGVyLnNldFZhbHVlKHRoaXMuZmllbGQpXHJcbiAgICB0aGlzLmVtaXRlZFZhbHVlLmVtaXQodGhpcy5maWVsZC50cmltKCkpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzUmVhZE9ubHlcIj5cclxuICA8IS0tIDxhcHAtZm9ybS1sYWJlbCBbbGFiZWxdPVwibGFiZWxcIiBbb3B0aW9uYWxdPVwiIXJlcXVpcmVkXCIgW2hpZGVPcHRpb25dPVwiaGlkZU9wdGlvblwiIFtzaG93TGFiZWxdPVwic2hvd0xhYmVsXCI+PC9hcHAtZm9ybS1sYWJlbD4gLS0+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0xXCIgKm5nSWY9XCJoYXNMYWJlbFwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTBcIj57e2xhYmVsfX08L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdJZj1cIiFyZXF1aXJlZCAmJiAhICBoaWRlT3B0aW9uXCIgY2xhc3M9XCJmcy0xMSBmYy1kYXJrLWdyYXlcIj57e2kxOG4udHJhbnNsYXRlKCdPcHRpb25hbCcpfX1cclxuICAgIDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJwcmltYXJ5LWZvcm0ge3tjbGFzc05hbWV9fVwiIFtuZ0NsYXNzXT1cInsnaW5wdXQtZGlzYWJsZWQnIDogZGlzYWJsZWQgfVwiXHJcbiAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCI+XHJcblxyXG4gICAgPHNwYW4gKm5nSWY9XCJpY29uUHJlZml4TmFtZVwiIG1hdFByZWZpeCBjbGFzcz1cInNmaSB7e2ljb25QcmVmaXhOYW1lfX1cIj48L3NwYW4+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJtYXQtZm9ybS1jb250ZW50XCI+XHJcblxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW3ZhbHVlXT1cInZhbHVlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBvbmlucHV0PVwidmFsaWRpdHkudmFsaWQgfHwgKHZhbHVlPScnKTtcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbGxlclwiIChpbnB1dCk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIChwYXN0ZSk9XCJmYWxzZVwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgYXBwTXljdXJyZW5jeT5cclxuICAgIDwvbGFiZWw+XHJcblxyXG4gICAgPHNwYW4gKm5nSWY9XCJtYXRTdWZmaXhcIiBtYXRTdWZmaXggY2xhc3M9XCJzZmkge3tpY29uU3VmZml4TmFtZX19XCI+PC9zcGFuPlxyXG4gICAgPGRpdiAqbmdJZj1cInR5cGUgPT09ICdudW1iZXInXCIgbWF0U3VmZml4IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBwb3NpdGlvbi1yZWxhdGl2ZVwiXHJcbiAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xNCBmdy1tZWRpdW1cIiAqbmdJZj1cIm51bWJlclN1ZmZpeE5hbWVcIj57e251bWJlclN1ZmZpeE5hbWV9fTwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzZmkgc2ZpLW1pbnVzIHAtMiBiYy1saWdodC1ncmF5IGZjLWJsYWNrIGN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJzaG93TWludXNcIiAoY2xpY2spPVwibWludXMoKVwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzZmkgc2ZpLXBsdXMgcC0yIGJjLWxpZ2h0LWdyYXkgZmMtYmxhY2sgY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cInNob3dQbHVzXCIgKGNsaWNrKT1cInBsdXMoKVwiPjwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG1hdC1lcnJvciBjbGFzcz1cIm1iLTJcIiAqbmdJZj1cIih0eXBlICE9PSdlbWFpbCcgJiYgIWNvbnRyb2xsZXI/LnZhbGlkKVwiPlxyXG4gICAgICB7e2kxOG4udHJhbnNsYXRlKCd2YWxpZEZpZWxkRXJyb3InKX19e3tsYWJlbH19XHJcbiAgICA8L21hdC1lcnJvcj5cclxuXHJcbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiKHR5cGUgPT09J2VtYWlsJyAmJiAhY29udHJvbGxlcj8udmFsaWQpXCI+XHJcbiAgICAgIHt7aTE4bi50cmFuc2xhdGUoJ3ZhbGlkRW1haWxFcnJvcicpfX1cclxuICAgIDwvbWF0LWVycm9yPlxyXG4gICAgPG1hdC1oaW50ICpuZ0lmPVwic2hvd0hpbnRcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzZmkgc2ZpLWNoZWNrLWNpcmNsZSBmb250LTEwIGZjLWRhcmstZ3JheVwiIFtuZ0NsYXNzXT1cInsnZmMtb2FzaXMtbGlnaHQtaW1wJzp2YWx1ZX1cIj48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibXgtMVwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMiBmYy1vbnl4XCI+e3toaW50fX08L3NwYW4+XHJcbiAgICA8L21hdC1oaW50PlxyXG5cclxuXHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8c3BhbiBjbGFzcz1cImZjLWNvcmFsXCIgc3R5bGU9XCJjb2xvcjojZjQ0MzM2XCIgKm5nSWY9XCIoIHNob3dFcnJvck1lc3NhZ2UgJiYgY29udHJvbGxlci52YWx1ZSlcIj5cclxuICAgIHt7ZXJyb3JNZXNzYWdlfX1cclxuICA8L3NwYW4+XHJcblxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1JlYWRPbmx5ICYmIChzaG93SWZFbXB0eSB8fCBmaWVsZClcIiBjbGFzcz1cImluZm8tc2VjdGlvblwiPlxyXG4gIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgW3R5cGVdPVwiJ2N1cnJlbmN5J1wiIFtsYWJlbF09XCJsYWJlbFwiIFtpbnNpZGVUYWJsZV09XCJpbnNpZGVUYWJsZVwiXHJcbiAgICBbaGFzTGFiZWxdPVwiaGFzTGFiZWxcIiBbdmFsdWVdPVwiZmllbGRcIj48L2FwcC1pbmZvLWl0ZW0+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbjwhLS0gc2VjdGlvbiB0b29sdGlwIC0tPlxyXG48c2F0LXBvcG92ZXIgI3BvcG92ZXIgW2hhc0JhY2tkcm9wXT1cInRydWVcIiB2ZXJ0aWNhbEFsaWduPVwiYmVsb3dcIj5cclxuICA8ZGl2IGNsYXNzPVwiZGVhZnVsdC10b29sdGlwXCI+XHJcbiAgICB7e3Rvb2x0aXB9fVxyXG4gIDwvZGl2PlxyXG48L3NhdC1wb3BvdmVyPlxyXG4iXX0=
|
package/esm2022/lib/components/shared-components/form-field/input-email/input-email.component.mjs
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/* eslint-disable @angular-eslint/use-lifecycle-interface */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
/* eslint-disable @angular-eslint/component-selector */
|
|
4
|
+
import { BaseComponent } from '../base-component/base-component.component';
|
|
5
|
+
import { ReactiveFormsModule, Validators } from '@angular/forms';
|
|
6
|
+
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
7
|
+
import { MatFormField } from '@angular/material/form-field';
|
|
8
|
+
import { NgClass, NgIf } from "@angular/common";
|
|
9
|
+
import { InfoItemComponent } from "../info-item/info-item.component";
|
|
10
|
+
import { SatPopoverModule } from "@ncstate/sat-popover";
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@ncstate/sat-popover";
|
|
13
|
+
import * as i2 from "@angular/forms";
|
|
14
|
+
export class InputEmailComponent extends BaseComponent {
|
|
15
|
+
label;
|
|
16
|
+
displayValue;
|
|
17
|
+
hasError = false;
|
|
18
|
+
error;
|
|
19
|
+
tooltip;
|
|
20
|
+
floatLabel = 'auto';
|
|
21
|
+
className = 'bordered-input';
|
|
22
|
+
showLabel = true;
|
|
23
|
+
matPrefix;
|
|
24
|
+
iconPrefixName;
|
|
25
|
+
matSuffix;
|
|
26
|
+
iconSuffixName;
|
|
27
|
+
numberSuffixName;
|
|
28
|
+
optional = false;
|
|
29
|
+
showArrows = false;
|
|
30
|
+
decimals = 0;
|
|
31
|
+
ngOnInit() {
|
|
32
|
+
// this.resetPropagator.subscribe(this, this.resetData);
|
|
33
|
+
this.field == undefined ? (this.field = '') : this.field;
|
|
34
|
+
this.controller.setValue(this.field);
|
|
35
|
+
this.controller.setValidators([
|
|
36
|
+
Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$'),
|
|
37
|
+
]);
|
|
38
|
+
this.mask = '^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$';
|
|
39
|
+
}
|
|
40
|
+
ngAfterViewChecked() {
|
|
41
|
+
this.cdRef.detectChanges();
|
|
42
|
+
}
|
|
43
|
+
ngOnChanges(changes) {
|
|
44
|
+
if (changes?.['field']) {
|
|
45
|
+
if (changes?.['field'].currentValue == '' || changes?.['field'].currentValue == null) {
|
|
46
|
+
this.controller.setValue('');
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this.controller.setValue(changes['field'].currentValue);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
onValueChange(data) {
|
|
54
|
+
let currentValue = data.target.value;
|
|
55
|
+
if (+currentValue.length > +this.maxLength) {
|
|
56
|
+
currentValue = currentValue.substr(0, +this.maxLength).toString();
|
|
57
|
+
}
|
|
58
|
+
if (+currentValue < +this.minValue) {
|
|
59
|
+
currentValue = this.minValue.toString();
|
|
60
|
+
}
|
|
61
|
+
if (+currentValue > +this.maxValue) {
|
|
62
|
+
currentValue = this.maxValue.toString();
|
|
63
|
+
}
|
|
64
|
+
this.field = currentValue;
|
|
65
|
+
this.controller.setValue(this.field);
|
|
66
|
+
this.emitedValue.emit(this.field.trim());
|
|
67
|
+
}
|
|
68
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputEmailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: InputEmailComponent, isStandalone: true, selector: "app-input-email", inputs: { label: "label", displayValue: "displayValue", hasError: "hasError", error: "error", tooltip: "tooltip", floatLabel: "floatLabel", className: "className", showLabel: "showLabel", matPrefix: "matPrefix", iconPrefixName: "iconPrefixName", matSuffix: "matSuffix", iconSuffixName: "iconSuffixName", numberSuffixName: "numberSuffixName", optional: "optional", showArrows: "showArrows", decimals: "decimals" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!isReadOnly\">\r\n <!-- <app-form-label [label]=\"label\" [optional]=\"!required\" [hideOption]=\"hideOption\" [showLabel]=\"showLabel\"></app-form-label> -->\r\n <div class=\"d-flex justify-content-between mb-1\" *ngIf=\"hasLabel\">\r\n <span class=\"form-label mb-0\">{{label}}</span>\r\n <span *ngIf=\"!required && ! hideOption\" class=\"fs-11 fc-dark-gray\">{{i18n.translate('Optional')}}\r\n </span>\r\n </div>\r\n <mat-form-field class=\"primary-form {{className}}\" [ngClass]=\"{'input-disabled' : disabled }\"\r\n [floatLabel]=\"floatLabel\" [disabled]=\"disabled\">\r\n\r\n <span *ngIf=\"iconPrefixName\" matPrefix class=\"sfi {{iconPrefixName}}\"></span>\r\n <label class=\"mat-form-content\">\r\n <input matInput [placeholder]=\"placeholder\" [value]=\"value\" [disabled]=\"disabled\" \r\n oninput=\"validity.valid || (value='');\" [formControl]=\"controller\" (input)=\"onValueChange($event)\"\r\n [required]=\"required\" [placeholder]=\"placeholder\">\r\n </label>\r\n\r\n <span *ngIf=\"matSuffix\" matSuffix class=\"sfi {{iconSuffixName}}\"></span>\r\n <div *ngIf=\"type === 'number'\" matSuffix class=\"d-flex align-items-center gap-2\">\r\n <span class=\"fs-14 fw-medium\" *ngIf=\"numberSuffixName\">{{numberSuffixName}}</span>\r\n </div>\r\n\r\n\r\n <mat-error *ngIf=\"(!controller?.valid)\">\r\n {{i18n.translate('validEmailError')}}\r\n </mat-error>\r\n <mat-hint *ngIf=\"showHint\">\r\n <span class=\"sfi sfi-check-circle font-10 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{hint}}</span>\r\n </mat-hint>\r\n\r\n\r\n </mat-form-field>\r\n <span class=\"fc-coral\" style=\"color:#f44336\" *ngIf=\"( showErrorMessage && controller.value)\">\r\n {{errorMessage}}\r\n </span>\r\n\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"isReadOnly && field\" class=\"info-section\">\r\n <app-info-item class=\"info-item w-100\" [label]=\"label\" [insideTable]=\"insideTable\" [hasLabel]=\"hasLabel\"\r\n [value]=\"field\"></app-info-item>\r\n</ng-container>\r\n\r\n\r\n<!-- section tooltip -->\r\n<sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"deafult-tooltip\">\r\n {{tooltip}}\r\n </div>\r\n</sat-popover>\r\n", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none;opacity:1.5}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i1.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
70
|
+
}
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputEmailComponent, decorators: [{
|
|
72
|
+
type: Component,
|
|
73
|
+
args: [{ selector: 'app-input-email', schemas: [CUSTOM_ELEMENTS_SCHEMA], standalone: true, imports: [
|
|
74
|
+
MatFormField,
|
|
75
|
+
NgIf,
|
|
76
|
+
InfoItemComponent,
|
|
77
|
+
SatPopoverModule,
|
|
78
|
+
NgClass,
|
|
79
|
+
ReactiveFormsModule
|
|
80
|
+
], template: "<ng-container *ngIf=\"!isReadOnly\">\r\n <!-- <app-form-label [label]=\"label\" [optional]=\"!required\" [hideOption]=\"hideOption\" [showLabel]=\"showLabel\"></app-form-label> -->\r\n <div class=\"d-flex justify-content-between mb-1\" *ngIf=\"hasLabel\">\r\n <span class=\"form-label mb-0\">{{label}}</span>\r\n <span *ngIf=\"!required && ! hideOption\" class=\"fs-11 fc-dark-gray\">{{i18n.translate('Optional')}}\r\n </span>\r\n </div>\r\n <mat-form-field class=\"primary-form {{className}}\" [ngClass]=\"{'input-disabled' : disabled }\"\r\n [floatLabel]=\"floatLabel\" [disabled]=\"disabled\">\r\n\r\n <span *ngIf=\"iconPrefixName\" matPrefix class=\"sfi {{iconPrefixName}}\"></span>\r\n <label class=\"mat-form-content\">\r\n <input matInput [placeholder]=\"placeholder\" [value]=\"value\" [disabled]=\"disabled\" \r\n oninput=\"validity.valid || (value='');\" [formControl]=\"controller\" (input)=\"onValueChange($event)\"\r\n [required]=\"required\" [placeholder]=\"placeholder\">\r\n </label>\r\n\r\n <span *ngIf=\"matSuffix\" matSuffix class=\"sfi {{iconSuffixName}}\"></span>\r\n <div *ngIf=\"type === 'number'\" matSuffix class=\"d-flex align-items-center gap-2\">\r\n <span class=\"fs-14 fw-medium\" *ngIf=\"numberSuffixName\">{{numberSuffixName}}</span>\r\n </div>\r\n\r\n\r\n <mat-error *ngIf=\"(!controller?.valid)\">\r\n {{i18n.translate('validEmailError')}}\r\n </mat-error>\r\n <mat-hint *ngIf=\"showHint\">\r\n <span class=\"sfi sfi-check-circle font-10 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{hint}}</span>\r\n </mat-hint>\r\n\r\n\r\n </mat-form-field>\r\n <span class=\"fc-coral\" style=\"color:#f44336\" *ngIf=\"( showErrorMessage && controller.value)\">\r\n {{errorMessage}}\r\n </span>\r\n\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"isReadOnly && field\" class=\"info-section\">\r\n <app-info-item class=\"info-item w-100\" [label]=\"label\" [insideTable]=\"insideTable\" [hasLabel]=\"hasLabel\"\r\n [value]=\"field\"></app-info-item>\r\n</ng-container>\r\n\r\n\r\n<!-- section tooltip -->\r\n<sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"deafult-tooltip\">\r\n {{tooltip}}\r\n </div>\r\n</sat-popover>\r\n", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none;opacity:1.5}\n"] }]
|
|
81
|
+
}], propDecorators: { label: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], displayValue: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], hasError: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], error: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], tooltip: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], floatLabel: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], className: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}], showLabel: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], matPrefix: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], iconPrefixName: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], matSuffix: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], iconSuffixName: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], numberSuffixName: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], optional: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], showArrows: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], decimals: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}] } });
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZW1haWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQtZW1haWwvaW5wdXQtZW1haWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQtZW1haWwvaW5wdXQtZW1haWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHVEQUF1RDtBQUN2RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFpQixZQUFZLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBaUJ0RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQUMzQyxLQUFLLENBQVU7SUFDZixZQUFZLENBQU87SUFDbkIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixLQUFLLENBQVU7SUFDZixPQUFPLENBQVU7SUFDakIsVUFBVSxHQUFRLE1BQU0sQ0FBQztJQUN6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QUMsc0JBQXNCLENBQUMsY0FDckIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osSUFBSTt3QkFDSixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsT0FBTzt3QkFDUCxtQkFBbUI7cUJBQ3BCOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC91c2UtbGlmZWN5Y2xlLWludGVyZmFjZSAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtY29tcG9uZW50L2Jhc2UtY29tcG9uZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RmxvYXRMYWJlbFR5cGUsIE1hdEZvcm1GaWVsZH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7TmdDbGFzcywgTmdJZn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0luZm9JdGVtQ29tcG9uZW50fSBmcm9tIFwiLi4vaW5mby1pdGVtL2luZm8taXRlbS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTYXRQb3BvdmVyTW9kdWxlfSBmcm9tIFwiQG5jc3RhdGUvc2F0LXBvcG92ZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWlucHV0LWVtYWlsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZW1haWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LWVtYWlsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0Rm9ybUZpZWxkLFxyXG4gICAgTmdJZixcclxuICAgIEluZm9JdGVtQ29tcG9uZW50LFxyXG4gICAgU2F0UG9wb3Zlck1vZHVsZSxcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRFbWFpbENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRpc3BsYXlWYWx1ZSE6IGFueTtcclxuICBASW5wdXQoKSBoYXNFcnJvciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVycm9yITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHRvb2x0aXAhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZmxvYXRMYWJlbDogYW55ID0gJ2F1dG8nO1xyXG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICdib3JkZXJlZC1pbnB1dCc7XHJcbiAgQElucHV0KCkgc2hvd0xhYmVsID0gdHJ1ZTtcclxuICBASW5wdXQoKSBtYXRQcmVmaXghOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGljb25QcmVmaXhOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1hdFN1ZmZpeCE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaWNvblN1ZmZpeE5hbWUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbnVtYmVyU3VmZml4TmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBvcHRpb25hbCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dBcnJvd3MgPSBmYWxzZTtcclxuICBASW5wdXQoKSBkZWNpbWFscyA9IDA7XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyB0aGlzLnJlc2V0UHJvcGFnYXRvci5zdWJzY3JpYmUodGhpcywgdGhpcy5yZXNldERhdGEpO1xyXG4gICAgdGhpcy5maWVsZCA9PSB1bmRlZmluZWQgPyAodGhpcy5maWVsZCA9ICcnKSA6IHRoaXMuZmllbGQ7XHJcbiAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsdWUodGhpcy5maWVsZCk7XHJcbiAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsaWRhdG9ycyhbXHJcbiAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXlthLXowLTkuXyUrLV0rQFthLXowLTkuLV0rXFxcXC5bYS16XXsyLDR9JCcpLFxyXG4gICAgXSk7XHJcbiAgICB0aGlzLm1hc2sgPSAnXlthLXowLTkuXyUrLV0rQFthLXowLTkuLV0rXFxcXC5bYS16XXsyLDR9JCdcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXM/LlsnZmllbGQnXSkge1xyXG4gICAgICBpZiAoY2hhbmdlcz8uWydmaWVsZCddLmN1cnJlbnRWYWx1ZSA9PSAnJyB8fCBjaGFuZ2VzPy5bJ2ZpZWxkJ10uY3VycmVudFZhbHVlID09IG51bGwpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsdWUoJycpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29udHJvbGxlci5zZXRWYWx1ZShjaGFuZ2VzWydmaWVsZCddLmN1cnJlbnRWYWx1ZSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShkYXRhOiBhbnkpIHtcclxuICAgIGxldCBjdXJyZW50VmFsdWUgPSBkYXRhLnRhcmdldC52YWx1ZTtcclxuICAgIGlmICgrY3VycmVudFZhbHVlLmxlbmd0aCA+ICt0aGlzLm1heExlbmd0aCkge1xyXG4gICAgICBjdXJyZW50VmFsdWUgPSBjdXJyZW50VmFsdWUuc3Vic3RyKDAsICt0aGlzLm1heExlbmd0aCkudG9TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIGlmICgrY3VycmVudFZhbHVlIDwgK3RoaXMubWluVmFsdWUpIHtcclxuICAgICAgY3VycmVudFZhbHVlID0gdGhpcy5taW5WYWx1ZS50b1N0cmluZygpO1xyXG4gICAgfVxyXG4gICAgaWYgKCtjdXJyZW50VmFsdWUgPiArdGhpcy5tYXhWYWx1ZSkge1xyXG4gICAgICBjdXJyZW50VmFsdWUgPSB0aGlzLm1heFZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZpZWxkID0gY3VycmVudFZhbHVlO1xyXG4gICAgdGhpcy5jb250cm9sbGVyLnNldFZhbHVlKHRoaXMuZmllbGQpXHJcbiAgICB0aGlzLmVtaXRlZFZhbHVlLmVtaXQodGhpcy5maWVsZC50cmltKCkpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzUmVhZE9ubHlcIj5cclxuICA8IS0tIDxhcHAtZm9ybS1sYWJlbCBbbGFiZWxdPVwibGFiZWxcIiBbb3B0aW9uYWxdPVwiIXJlcXVpcmVkXCIgW2hpZGVPcHRpb25dPVwiaGlkZU9wdGlvblwiIFtzaG93TGFiZWxdPVwic2hvd0xhYmVsXCI+PC9hcHAtZm9ybS1sYWJlbD4gLS0+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0xXCIgKm5nSWY9XCJoYXNMYWJlbFwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTBcIj57e2xhYmVsfX08L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdJZj1cIiFyZXF1aXJlZCAmJiAhICBoaWRlT3B0aW9uXCIgY2xhc3M9XCJmcy0xMSBmYy1kYXJrLWdyYXlcIj57e2kxOG4udHJhbnNsYXRlKCdPcHRpb25hbCcpfX1cclxuICAgIDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJwcmltYXJ5LWZvcm0ge3tjbGFzc05hbWV9fVwiIFtuZ0NsYXNzXT1cInsnaW5wdXQtZGlzYWJsZWQnIDogZGlzYWJsZWQgfVwiXHJcbiAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcblxyXG4gICAgPHNwYW4gKm5nSWY9XCJpY29uUHJlZml4TmFtZVwiIG1hdFByZWZpeCBjbGFzcz1cInNmaSB7e2ljb25QcmVmaXhOYW1lfX1cIj48L3NwYW4+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJtYXQtZm9ybS1jb250ZW50XCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbdmFsdWVdPVwidmFsdWVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcclxuICAgICAgICBvbmlucHV0PVwidmFsaWRpdHkudmFsaWQgfHwgKHZhbHVlPScnKTtcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbGxlclwiIChpbnB1dCk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiPlxyXG4gICAgPC9sYWJlbD5cclxuXHJcbiAgICA8c3BhbiAqbmdJZj1cIm1hdFN1ZmZpeFwiIG1hdFN1ZmZpeCBjbGFzcz1cInNmaSB7e2ljb25TdWZmaXhOYW1lfX1cIj48L3NwYW4+XHJcbiAgICA8ZGl2ICpuZ0lmPVwidHlwZSA9PT0gJ251bWJlcidcIiBtYXRTdWZmaXggY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTQgZnctbWVkaXVtXCIgKm5nSWY9XCJudW1iZXJTdWZmaXhOYW1lXCI+e3tudW1iZXJTdWZmaXhOYW1lfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgPG1hdC1lcnJvciAqbmdJZj1cIighY29udHJvbGxlcj8udmFsaWQpXCI+XHJcbiAgICAgIHt7aTE4bi50cmFuc2xhdGUoJ3ZhbGlkRW1haWxFcnJvcicpfX1cclxuICAgIDwvbWF0LWVycm9yPlxyXG4gICAgPG1hdC1oaW50ICpuZ0lmPVwic2hvd0hpbnRcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzZmkgc2ZpLWNoZWNrLWNpcmNsZSBmb250LTEwIGZjLWRhcmstZ3JheVwiIFtuZ0NsYXNzXT1cInsnZmMtb2FzaXMtbGlnaHQtaW1wJzp2YWx1ZX1cIj48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibXgtMVwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMiBmYy1vbnl4XCI+e3toaW50fX08L3NwYW4+XHJcbiAgICA8L21hdC1oaW50PlxyXG5cclxuXHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8c3BhbiBjbGFzcz1cImZjLWNvcmFsXCIgc3R5bGU9XCJjb2xvcjojZjQ0MzM2XCIgKm5nSWY9XCIoIHNob3dFcnJvck1lc3NhZ2UgJiYgY29udHJvbGxlci52YWx1ZSlcIj5cclxuICAgIHt7ZXJyb3JNZXNzYWdlfX1cclxuICA8L3NwYW4+XHJcblxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1JlYWRPbmx5ICYmIGZpZWxkXCIgY2xhc3M9XCJpbmZvLXNlY3Rpb25cIj5cclxuICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiIFtsYWJlbF09XCJsYWJlbFwiIFtpbnNpZGVUYWJsZV09XCJpbnNpZGVUYWJsZVwiIFtoYXNMYWJlbF09XCJoYXNMYWJlbFwiXHJcbiAgICBbdmFsdWVdPVwiZmllbGRcIj48L2FwcC1pbmZvLWl0ZW0+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbjwhLS0gc2VjdGlvbiB0b29sdGlwIC0tPlxyXG48c2F0LXBvcG92ZXIgI3BvcG92ZXIgW2hhc0JhY2tkcm9wXT1cInRydWVcIiB2ZXJ0aWNhbEFsaWduPVwiYmVsb3dcIj5cclxuICA8ZGl2IGNsYXNzPVwiZGVhZnVsdC10b29sdGlwXCI+XHJcbiAgICB7e3Rvb2x0aXB9fVxyXG4gIDwvZGl2PlxyXG48L3NhdC1wb3BvdmVyPlxyXG4iXX0=
|