@energycap/components 0.44.8 → 0.44.9-Angular19Upgrade.20260217-1620
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/energycap-components.mjs +379 -354
- package/fesm2022/energycap-components.mjs.map +1 -1
- package/lib/controls/button/copy-button-base.directive.d.ts +1 -1
- package/lib/controls/date-input/date-input.component.d.ts +1 -1
- package/lib/controls/form-control-base.d.ts +1 -1
- package/lib/core/date-time-helper.d.ts +2 -2
- package/lib/display/hierarchy/hierarchy-base.d.ts +1 -1
- package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +1 -1
- package/lib/display/resizable/resizable-base.d.ts +1 -1
- package/lib/shared/display/pipes/date-display.pipe.d.ts +1 -1
- package/lib/shared/page/page-base/page-base.component.d.ts +1 -1
- package/lib/shared/testing/public-mocks.spec.d.ts +1 -1
- package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +1 -1
- package/package.json +1 -3
- package/schematics/utilities/typescript.js +3 -4
- package/schematics/utilities/typescript.js.map +1 -1
- package/schematics/utilities/workspace.d.ts +0 -8
- package/schematics/utilities/workspace.js +48 -71
- package/schematics/utilities/workspace.js.map +1 -1
- package/esm2022/energycap-components.mjs +0 -5
- package/esm2022/lib/components.module.mjs +0 -425
- package/esm2022/lib/controls/banner/banner.component.mjs +0 -112
- package/esm2022/lib/controls/button/button.component.mjs +0 -114
- package/esm2022/lib/controls/button/copy-button-base.directive.mjs +0 -67
- package/esm2022/lib/controls/button/copy-button.directive.mjs +0 -28
- package/esm2022/lib/controls/button/copy-table-button.directive.mjs +0 -43
- package/esm2022/lib/controls/calendar/calendar-item.component.mjs +0 -91
- package/esm2022/lib/controls/calendar/calendar.component.mjs +0 -251
- package/esm2022/lib/controls/calendar/calendar.types.mjs +0 -2
- package/esm2022/lib/controls/checkbox/checkbox.component.mjs +0 -140
- package/esm2022/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +0 -38
- package/esm2022/lib/controls/combobox/combobox.component.mjs +0 -879
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +0 -57
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +0 -62
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +0 -100
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +0 -101
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +0 -76
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +0 -79
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +0 -210
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +0 -81
- package/esm2022/lib/controls/date-input/date-input.component.mjs +0 -466
- package/esm2022/lib/controls/date-input/date-input.types.mjs +0 -44
- package/esm2022/lib/controls/dropdown/dropdown.component.mjs +0 -243
- package/esm2022/lib/controls/file-upload/file-upload.component.mjs +0 -261
- package/esm2022/lib/controls/form-control/form-control.component.mjs +0 -110
- package/esm2022/lib/controls/form-control-base.mjs +0 -151
- package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +0 -136
- package/esm2022/lib/controls/form-group/form-group.component.mjs +0 -261
- package/esm2022/lib/controls/help-popover/help-popover.component.mjs +0 -31
- package/esm2022/lib/controls/item-picker/item-picker.component.mjs +0 -329
- package/esm2022/lib/controls/link-button/link-button.component.mjs +0 -11
- package/esm2022/lib/controls/menu/menu.component.mjs +0 -485
- package/esm2022/lib/controls/navigation/link-item.mjs +0 -2
- package/esm2022/lib/controls/navigation/nav-group.mjs +0 -39
- package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +0 -92
- package/esm2022/lib/controls/navigation/nav-item.mjs +0 -2
- package/esm2022/lib/controls/numericbox/numericbox.component.mjs +0 -372
- package/esm2022/lib/controls/popover/popover.component.mjs +0 -117
- package/esm2022/lib/controls/radio-button/radio-button-option.mjs +0 -3
- package/esm2022/lib/controls/radio-button/radio-button.component.mjs +0 -82
- package/esm2022/lib/controls/select/select.component.mjs +0 -88
- package/esm2022/lib/controls/tabs/tabs.component.mjs +0 -47
- package/esm2022/lib/controls/textbox/textbox.component.mjs +0 -155
- package/esm2022/lib/core/cache.service.mjs +0 -105
- package/esm2022/lib/core/custom-validators.mjs +0 -29
- package/esm2022/lib/core/date-time-helper.mjs +0 -228
- package/esm2022/lib/core/error.service.mjs +0 -61
- package/esm2022/lib/core/router-helper.service.mjs +0 -111
- package/esm2022/lib/core/scroll.service.mjs +0 -89
- package/esm2022/lib/core/telemetry-tracker.service.mjs +0 -16
- package/esm2022/lib/core/telemetry.service.mjs +0 -38
- package/esm2022/lib/core/validation-message.service.mjs +0 -185
- package/esm2022/lib/core/validation-patterns.mjs +0 -31
- package/esm2022/lib/core/window.service.mjs +0 -186
- package/esm2022/lib/display/app-bar/app-bar.component.mjs +0 -49
- package/esm2022/lib/display/avatar/avatar.component.mjs +0 -67
- package/esm2022/lib/display/avatar/avatar.service.mjs +0 -64
- package/esm2022/lib/display/confirm/confirm.component.mjs +0 -168
- package/esm2022/lib/display/dialog/dialog-content.mjs +0 -2
- package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +0 -63
- package/esm2022/lib/display/dialog/dialog-types.mjs +0 -77
- package/esm2022/lib/display/dialog/dialog.component.mjs +0 -287
- package/esm2022/lib/display/dialog/dialog.service.mjs +0 -71
- package/esm2022/lib/display/help/help-types.mjs +0 -2
- package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +0 -111
- package/esm2022/lib/display/hierarchy/hierarchy-mocks.spec.mjs +0 -54
- package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +0 -65
- package/esm2022/lib/display/item-display/item-display.component.mjs +0 -83
- package/esm2022/lib/display/json-display/json-display.component.mjs +0 -47
- package/esm2022/lib/display/resizable/resizable-base.mjs +0 -120
- package/esm2022/lib/display/resizable/resizable.component.mjs +0 -57
- package/esm2022/lib/display/spinner/spinner.component.mjs +0 -12
- package/esm2022/lib/display/splash/splash.component.mjs +0 -61
- package/esm2022/lib/display/splash/splash.service.mjs +0 -35
- package/esm2022/lib/display/table/resizable-column.component.mjs +0 -20
- package/esm2022/lib/display/table/resizable-table.directive.mjs +0 -227
- package/esm2022/lib/display/table/searchable-table.component.mjs +0 -344
- package/esm2022/lib/display/table/table-detail-row.component.mjs +0 -28
- package/esm2022/lib/display/table/table-locked-column.component.mjs +0 -58
- package/esm2022/lib/display/table/table-master-header-row.component.mjs +0 -14
- package/esm2022/lib/display/table/table-master-row.component.mjs +0 -163
- package/esm2022/lib/display/table/table-pagination.component.mjs +0 -155
- package/esm2022/lib/display/table/table-selectable-row.component.mjs +0 -235
- package/esm2022/lib/display/table/table.component.mjs +0 -257
- package/esm2022/lib/display/tags/tag.mjs +0 -18
- package/esm2022/lib/display/tags/tags.component.mjs +0 -82
- package/esm2022/lib/display/toast/toast/toast.component.mjs +0 -77
- package/esm2022/lib/display/toast/toast-types.mjs +0 -8
- package/esm2022/lib/display/toast/toast.service.mjs +0 -35
- package/esm2022/lib/display/toast/toaster/toaster.component.mjs +0 -114
- package/esm2022/lib/display/tooltip/tooltip.component.mjs +0 -28
- package/esm2022/lib/display/tooltip/tooltip.service.mjs +0 -78
- package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +0 -173
- package/esm2022/lib/display/tree/tree.component.mjs +0 -139
- package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +0 -58
- package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +0 -32
- package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +0 -111
- package/esm2022/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +0 -103
- package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +0 -166
- package/esm2022/lib/shared/display/pipes/date-display-2.pipe.mjs +0 -39
- package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +0 -51
- package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +0 -30
- package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +0 -62
- package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +0 -48
- package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +0 -41
- package/esm2022/lib/shared/display.mjs +0 -6
- package/esm2022/lib/shared/form-group.helper.mjs +0 -67
- package/esm2022/lib/shared/json-helper.mjs +0 -19
- package/esm2022/lib/shared/lodash-helper.mjs +0 -52
- package/esm2022/lib/shared/page/page-base/page-base.component.mjs +0 -387
- package/esm2022/lib/shared/page/page-statuses.mjs +0 -23
- package/esm2022/lib/shared/page/page-title/page-title.component.mjs +0 -23
- package/esm2022/lib/shared/page/page-view/page-view.component.mjs +0 -147
- package/esm2022/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +0 -17
- package/esm2022/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +0 -17
- package/esm2022/lib/shared/testing/page-base-component-test-helper.spec.mjs +0 -38
- package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
- package/esm2022/lib/shared/testing/public-mocks.spec.mjs +0 -148
- package/esm2022/lib/shared/testing/spy-factory.spec.mjs +0 -40
- package/esm2022/lib/shared/testing/translation-mocks.spec.mjs +0 -57
- package/esm2022/lib/shared/user-preference.service.mjs +0 -17
- package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +0 -246
- package/esm2022/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +0 -68
- package/esm2022/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +0 -18
- package/esm2022/public-api.mjs +0 -115
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { FormControlBase } from "../form-control-base";
|
|
3
|
-
import { Validators } from '@angular/forms';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../core/validation-message.service";
|
|
6
|
-
import * as i2 from "../../shared/form-group.helper";
|
|
7
|
-
import * as i3 from "@ngx-translate/core";
|
|
8
|
-
import * as i4 from "@angular/common";
|
|
9
|
-
import * as i5 from "@angular/forms";
|
|
10
|
-
import * as i6 from "../help-popover/help-popover.component";
|
|
11
|
-
/** Advanced validation for textbox form controls */
|
|
12
|
-
export const textboxValidation = (validatorParams) => {
|
|
13
|
-
return (control) => {
|
|
14
|
-
let validators = [];
|
|
15
|
-
// Innocent until proven guilty
|
|
16
|
-
validatorParams.valid = true;
|
|
17
|
-
if (validatorParams.required) {
|
|
18
|
-
validators.push(Validators.required);
|
|
19
|
-
}
|
|
20
|
-
if (validatorParams.minLength !== undefined) {
|
|
21
|
-
validators.push(Validators.minLength(validatorParams.minLength));
|
|
22
|
-
}
|
|
23
|
-
if (validatorParams.maxLength !== undefined) {
|
|
24
|
-
validators.push(Validators.maxLength(validatorParams.maxLength));
|
|
25
|
-
}
|
|
26
|
-
if (validatorParams.pattern !== undefined) {
|
|
27
|
-
validators.push(Validators.pattern(validatorParams.pattern));
|
|
28
|
-
}
|
|
29
|
-
validators.forEach(validator => {
|
|
30
|
-
let validationResult = validator(control);
|
|
31
|
-
if (validationResult) {
|
|
32
|
-
validatorParams.valid = false;
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
if (validatorParams.valid) {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
return {
|
|
40
|
-
textbox: validatorParams
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
export const phoneNumberValidationPattern = '^\\s*(?:\\+?(\\d{1,3}))?[-. (]*(\\d{3})[-. )]*(\\d{3})[-. ]*(\\d{4})(?: *x(\\d+))?\\s*$';
|
|
46
|
-
export const urlValidationPattern = '([A-Za-z])+(:\/\/)+[^\\s]*';
|
|
47
|
-
export class TextboxComponent extends FormControlBase {
|
|
48
|
-
constructor(validationMessageService, formGroupHelper, translate) {
|
|
49
|
-
super(validationMessageService, formGroupHelper);
|
|
50
|
-
this.validationMessageService = validationMessageService;
|
|
51
|
-
this.formGroupHelper = formGroupHelper;
|
|
52
|
-
this.translate = translate;
|
|
53
|
-
/**
|
|
54
|
-
* Set the value of the input's autocomplete attribute
|
|
55
|
-
*/
|
|
56
|
-
this.autocomplete = 'off';
|
|
57
|
-
/**
|
|
58
|
-
* The textbox type
|
|
59
|
-
*/
|
|
60
|
-
this.type = "text";
|
|
61
|
-
/**
|
|
62
|
-
* The value of the rows attribute for a textarea. Only applies to multi-line type
|
|
63
|
-
*/
|
|
64
|
-
this.rows = 3;
|
|
65
|
-
/**
|
|
66
|
-
* If set to true, we will select all text within the input if
|
|
67
|
-
* autofocus is also set to true
|
|
68
|
-
*/
|
|
69
|
-
this.selectOnAutofocus = false;
|
|
70
|
-
/**
|
|
71
|
-
* If set to true, we will upper case on focus out
|
|
72
|
-
*/
|
|
73
|
-
this.upperCase = false;
|
|
74
|
-
/**
|
|
75
|
-
* Validation pattern for the input. This is determined on the input type specified
|
|
76
|
-
*/
|
|
77
|
-
this.validationPattern = '';
|
|
78
|
-
}
|
|
79
|
-
ngOnChanges(changes) {
|
|
80
|
-
super.ngOnChanges(changes);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* The angular onInit lifecycle hook
|
|
84
|
-
*/
|
|
85
|
-
ngOnInit() {
|
|
86
|
-
super.ngOnInit();
|
|
87
|
-
this.validationPattern = '';
|
|
88
|
-
if (this.type === 'tel') {
|
|
89
|
-
this.validationPattern = phoneNumberValidationPattern;
|
|
90
|
-
}
|
|
91
|
-
else if (this.type === 'url') {
|
|
92
|
-
this.validationPattern = urlValidationPattern;
|
|
93
|
-
}
|
|
94
|
-
if (this.placeholder) {
|
|
95
|
-
this.translate.get(this.placeholder)
|
|
96
|
-
.subscribe((translated) => {
|
|
97
|
-
this.placeholder = translated;
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* The angular afterViewInit lifecycle hook
|
|
103
|
-
*/
|
|
104
|
-
ngAfterViewInit() {
|
|
105
|
-
if (this.autofocus) {
|
|
106
|
-
this.setFocus(this.selectOnAutofocus);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Function to set focus on an input programmatically after the page
|
|
111
|
-
* had been rendered. The highlight text flag will select the text
|
|
112
|
-
* within the input if passed in and true
|
|
113
|
-
*/
|
|
114
|
-
setFocus(highlightText) {
|
|
115
|
-
this.inputElement.nativeElement.focus();
|
|
116
|
-
if (highlightText) {
|
|
117
|
-
this.inputElement.nativeElement.select();
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Focus out event handler
|
|
122
|
-
* will upper case and trim value if upperCase is true (this is what we do on the apis)
|
|
123
|
-
*/
|
|
124
|
-
focusOutEvent() {
|
|
125
|
-
if (this.upperCase && this.formModel.value) {
|
|
126
|
-
this.formModel.setValue(this.formModel.value.toUpperCase().trim());
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextboxComponent, deps: [{ token: i1.ValidationMessageService }, { token: i2.FormGroupHelper }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
130
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TextboxComponent, selector: "ec-textbox", inputs: { autocomplete: "autocomplete", type: "type", placeholder: "placeholder", maxlength: "maxlength", minlength: "minlength", rows: "rows", selectOnAutofocus: "selectOnAutofocus", upperCase: "upperCase" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["textboxInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"control control-label-{{labelPosition}}\"\n [ngClass]=\"{'is-readonly': readonly}\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\"> {{validationErrors |\n translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <div class=\"input-wrapper control-input\">\n <input *ngIf=\"type !== 'multi_line'\"\n #textboxInput\n email=\"{{type === 'email' ? true : false}}\"\n pattern=\"{{validationPattern}}\"\n type=\"{{type}}\"\n tabindex=\"{{tabindex}}\"\n title=\"{{tooltip}}\"\n [attr.id]=\"inputId\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.required]=\"required ? required : null\"\n [formControl]=\"formModel\"\n [ngClass]=\"{'is-empty': !formModel?.value, 'is-pending': pending, 'is-uppercase': upperCase}\"\n (focusout)=\"focusOutEvent()\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n\n <textarea *ngIf=\"type === 'multi_line'\"\n [attr.rows]=\"rows\"\n #textboxInput\n tabindex=\"{{tabindex}}\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.required]=\"required ? required : null\"\n [formControl]=\"formModel\"\n [ngClass]=\"{'is-empty': formModel?.value === '', 'is-pending': pending}\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n </textarea>\n\n <i class=\"ec-icon icon-required\"></i>\n <i class=\"ec-icon icon-invalid\"></i>\n <i class=\"ec-icon icon-loading\"></i>\n </div>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host input{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:2rem}:host input::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host input::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input~.icon-required,:host input~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host input:required.is-empty{background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host input.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host input.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched~.icon-required{display:none}:host input.is-pending.ng-valid,:host input.is-pending.ng-invalid,:host input.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host input.is-pending.ng-valid~.icon-loading,:host input.is-pending.ng-invalid~.icon-loading,:host input.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.is-pending.ng-valid~.icon-required,:host input.is-pending.ng-valid~.icon-invalid,:host input.is-pending.ng-invalid~.icon-required,:host input.is-pending.ng-invalid~.icon-invalid,:host input.is-pending.ng-pending~.icon-required,:host input.is-pending.ng-pending~.icon-invalid{display:none}:host input:focus,:host input:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host input:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host input:disabled:required,:host input:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host input:disabled:required+.icon-required,:host input:disabled:required.is-empty+.icon-required{display:none}:host input:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host input.is-uppercase:not(.is-empty){text-transform:uppercase}:host textarea{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:auto;resize:none;display:block}:host textarea::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host textarea::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea~.icon-required,:host textarea~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host textarea:required.is-empty{background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host textarea.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host textarea.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched~.icon-required{display:none}:host textarea.is-pending.ng-valid,:host textarea.is-pending.ng-invalid,:host textarea.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem}:host textarea.is-pending.ng-valid~.icon-loading,:host textarea.is-pending.ng-invalid~.icon-loading,:host textarea.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.is-pending.ng-valid~.icon-required,:host textarea.is-pending.ng-valid~.icon-invalid,:host textarea.is-pending.ng-invalid~.icon-required,:host textarea.is-pending.ng-invalid~.icon-invalid,:host textarea.is-pending.ng-pending~.icon-required,:host textarea.is-pending.ng-pending~.icon-invalid{display:none}:host textarea:focus,:host textarea:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host textarea:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host textarea:disabled:required,:host textarea:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host textarea:disabled:required+.icon-required,:host textarea:disabled:required.is-empty+.icon-required{display:none}:host textarea:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host textarea.is-uppercase:not(.is-empty){text-transform:uppercase}.input-wrapper{position:relative}.input-wrapper>.ec-icon{display:none}:host(.textbox-group-input:not(:last-child)){flex:1 1 0%;width:1px}:host(.textbox-group-input:not(:last-child)) .control{margin-bottom:0}:host(.textbox-group-input:not(:last-child)) .control.is-readonly input{border-right-width:1px}:host(.textbox-group-input:not(:last-child)) input{border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}:host(.textbox-group-input:not(:last-child)) input:focus,:host(.textbox-group-input:not(:last-child)) input:hover:not(:disabled){position:relative;z-index:1;border-right-width:1px}:host(.text-truncate) input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.is-monospace) input,:host(.is-monospace) textarea,:host-context(.is-monospace) input,:host-context(.is-monospace) textarea{font-family:var(--ec-font-family-monospace)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i5.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i6.HelpPopoverComponent, selector: "ec-help-popover", inputs: ["id", "text", "contentPosition", "maxWidth"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
131
|
-
}
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextboxComponent, decorators: [{
|
|
133
|
-
type: Component,
|
|
134
|
-
args: [{ selector: 'ec-textbox', template: "<div class=\"control control-label-{{labelPosition}}\"\n [ngClass]=\"{'is-readonly': readonly}\">\n\n <label *ngIf=\"label\">\n <span>{{label | translate}}</span>\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\"> {{validationErrors |\n translate}}</span>\n <ec-help-popover id=\"{{id}}_helpPopover\"\n *ngIf=\"helpPopover\"\n class=\"d-inline-block my-n3 mx-n1\"\n text=\"{{helpPopover | translate}}\"\n contentPosition=\"{{helpPopoverPosition}}\">\n </ec-help-popover>\n </label>\n\n <div class=\"input-wrapper control-input\">\n <input *ngIf=\"type !== 'multi_line'\"\n #textboxInput\n email=\"{{type === 'email' ? true : false}}\"\n pattern=\"{{validationPattern}}\"\n type=\"{{type}}\"\n tabindex=\"{{tabindex}}\"\n title=\"{{tooltip}}\"\n [attr.id]=\"inputId\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.required]=\"required ? required : null\"\n [formControl]=\"formModel\"\n [ngClass]=\"{'is-empty': !formModel?.value, 'is-pending': pending, 'is-uppercase': upperCase}\"\n (focusout)=\"focusOutEvent()\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n\n <textarea *ngIf=\"type === 'multi_line'\"\n [attr.rows]=\"rows\"\n #textboxInput\n tabindex=\"{{tabindex}}\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.required]=\"required ? required : null\"\n [formControl]=\"formModel\"\n [ngClass]=\"{'is-empty': formModel?.value === '', 'is-pending': pending}\"\n [attr.cdkFocusInitial]=\"autofocus || null\">\n </textarea>\n\n <i class=\"ec-icon icon-required\"></i>\n <i class=\"ec-icon icon-invalid\"></i>\n <i class=\"ec-icon icon-loading\"></i>\n </div>\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:hover:not(:disabled):not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host input{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:2rem}:host input::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host input::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input~.icon-required,:host input~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host input:required.is-empty{background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host input.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host input.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched~.icon-required{display:none}:host input.is-pending.ng-valid,:host input.is-pending.ng-invalid,:host input.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host input.is-pending.ng-valid~.icon-loading,:host input.is-pending.ng-invalid~.icon-loading,:host input.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.is-pending.ng-valid~.icon-required,:host input.is-pending.ng-valid~.icon-invalid,:host input.is-pending.ng-invalid~.icon-required,:host input.is-pending.ng-invalid~.icon-invalid,:host input.is-pending.ng-pending~.icon-required,:host input.is-pending.ng-pending~.icon-invalid{display:none}:host input:focus,:host input:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host input:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host input:disabled:required,:host input:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host input:disabled:required+.icon-required,:host input:disabled:required.is-empty+.icon-required{display:none}:host input:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host input.is-uppercase:not(.is-empty){text-transform:uppercase}:host textarea{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:auto;resize:none;display:block}:host textarea::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host textarea::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea~.icon-required,:host textarea~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host textarea:required.is-empty{background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host textarea.ng-invalid.ng-touched:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host textarea.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched~.icon-required{display:none}:host textarea.is-pending.ng-valid,:host textarea.is-pending.ng-invalid,:host textarea.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem}:host textarea.is-pending.ng-valid~.icon-loading,:host textarea.is-pending.ng-invalid~.icon-loading,:host textarea.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.is-pending.ng-valid~.icon-required,:host textarea.is-pending.ng-valid~.icon-invalid,:host textarea.is-pending.ng-invalid~.icon-required,:host textarea.is-pending.ng-invalid~.icon-invalid,:host textarea.is-pending.ng-pending~.icon-required,:host textarea.is-pending.ng-pending~.icon-invalid{display:none}:host textarea:focus,:host textarea:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host textarea:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host textarea:disabled:required,:host textarea:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host textarea:disabled:required+.icon-required,:host textarea:disabled:required.is-empty+.icon-required{display:none}:host textarea:hover:not(:disabled):not(:focus){border-color:var(--ec-form-control-border-color-hover)}:host textarea.is-uppercase:not(.is-empty){text-transform:uppercase}.input-wrapper{position:relative}.input-wrapper>.ec-icon{display:none}:host(.textbox-group-input:not(:last-child)){flex:1 1 0%;width:1px}:host(.textbox-group-input:not(:last-child)) .control{margin-bottom:0}:host(.textbox-group-input:not(:last-child)) .control.is-readonly input{border-right-width:1px}:host(.textbox-group-input:not(:last-child)) input{border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}:host(.textbox-group-input:not(:last-child)) input:focus,:host(.textbox-group-input:not(:last-child)) input:hover:not(:disabled){position:relative;z-index:1;border-right-width:1px}:host(.text-truncate) input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.is-monospace) input,:host(.is-monospace) textarea,:host-context(.is-monospace) input,:host-context(.is-monospace) textarea{font-family:var(--ec-font-family-monospace)}\n"] }]
|
|
135
|
-
}], ctorParameters: () => [{ type: i1.ValidationMessageService }, { type: i2.FormGroupHelper }, { type: i3.TranslateService }], propDecorators: { autocomplete: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], type: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], placeholder: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], maxlength: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}], minlength: [{
|
|
144
|
-
type: Input
|
|
145
|
-
}], rows: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}], selectOnAutofocus: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}], upperCase: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}], inputElement: [{
|
|
152
|
-
type: ViewChild,
|
|
153
|
-
args: ['textboxInput']
|
|
154
|
-
}] } });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90ZXh0Ym94L3RleHRib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUErRCxNQUFNLGVBQWUsQ0FBQztBQUd6SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdkQsT0FBTyxFQUFrRCxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUEwQjVGLG9EQUFvRDtBQUNwRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLGVBQTJDLEVBQWUsRUFBRTtJQUMxRixPQUFPLENBQUMsT0FBd0IsRUFBRSxFQUFFO1FBQ2hDLElBQUksVUFBVSxHQUFrQixFQUFFLENBQUM7UUFFbkMsK0JBQStCO1FBQy9CLGVBQWUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRTdCLElBQUksZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLGVBQWUsQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFFRCxJQUFJLGVBQWUsQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUMsVUFBVSxDQUFDLElBQUks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YUFBdUI7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFeEMsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7SUFHQTtJQUNPLGFBQWE7UUFDaEIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN2RSxDQUFDO0lBQ0wsQ0FBQzsrR0F4SFEsZ0JBQWdCO21HQUFoQixnQkFBZ0IsOFpDbEY3QixpM0VBb0RNOzs0RkQ4Qk8sZ0JBQWdCO2tCQU41QixTQUFTOytCQUNJLFlBQVk7MEpBU04sWUFBWTtzQkFBM0IsS0FBSztnQkFLVSxJQUFJO3NCQUFuQixLQUFLO2dCQUtVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBU1UsU0FBUztzQkFBeEIsS0FBSztnQkFTVSxTQUFTO3NCQUF4QixLQUFLO2dCQUtVLElBQUk7c0JBQW5CLEtBQUs7Z0JBTVUsaUJBQWlCO3NCQUFoQyxLQUFLO2dCQUtVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBTytCLFlBQVk7c0JBQWhELFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cEhlbHBlciB9IGZyb20gJy4uLy4uL3NoYXJlZC9mb3JtLWdyb3VwLmhlbHBlcic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcblxuaW1wb3J0IHsgRm9ybUNvbnRyb2xCYXNlIH0gZnJvbSBcIi4uL2Zvcm0tY29udHJvbC1iYXNlXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS92YWxpZGF0aW9uLW1lc3NhZ2Uuc2VydmljZVwiO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4sIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBUaGUgdHlwZSBvZiB0ZXh0Ym94IHdoZXJlIHRleHQgaXMgaW5wdXRbdHlwZT1cInRleHRcIl0sIG11bHRpX2xpbmUgaXMgYSBcbiAqIHRleHRhcmVhLCBlbWFpbCBpcyBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIHVybCBpcyBpbnB1dFt0eXBlPVwidXJsXCJdLCBhbmQgcGFzc3dvcmQgXG4gKiBpcyBhbiBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1cbiAqIFxuICogSWYgdGhlIHR5cGUgaXMgdXJsIG9yIHRlbCBhIHJlZ2V4IHBhdHRlcm4gaXMgYXV0b21hdGljYWxseSBhZGRlZCB0byB0aGUgZm9ybSB2YWxpZGF0b3JzLiAgTm8gb3RoZXIgcGF0dGVybiB2YWxpZGF0b3JzXG4gKiBtYXkgYmUgdXNlZCBmb3IgdGhpcyBpbnB1dCwgaGF2aW5nIG1vcmUgdGhhbiBvbmUgd2lsbCBjYXVzZSBpc3N1ZXMuXG4gKiBcbiAqIElmIHRoZSB0eXBlIGlzIGVtYWlsIGFuIGVtYWlsIHZhbGlkYXRvciBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBmb3JtIHZhbGlkYXRvcnMuXG4gKiAqL1xuZXhwb3J0IHR5cGUgVGV4dGJveFR5cGUgPSBcInRleHRcIiB8IFwibXVsdGlfbGluZVwiIHwgXCJlbWFpbFwiIHwgXCJ1cmxcIiB8IFwicGFzc3dvcmRcIiB8IFwidGVsXCI7XG5cbi8qKiBUeXBlIGZvciBhZHZhbmNlZCB2YWxpZGF0aW9uIG9mIHRleHRib3ggZm9ybSBjb250cm9scywgaWYgaW4gdGhlIGZ1dHVyZVxuICogIHdlIHdhbnQgbW9yZSBoYW5kbGluZyB3ZSB3aWxsIG5lZWQgdG8gdXBkYXRlIHRoaXMgdHlwZS5cbiAqL1xuZXhwb3J0IHR5cGUgVGV4dGJveFZhbGlkYXRvclBhcmFtZXRlcnMgPSB7XG4gICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gICAgdW5pcXVlPzogYm9vbGVhbjtcbiAgICB2YWxpZD86IGJvb2xlYW47XG4gICAgcGF0dGVybj86IFJlZ0V4cDtcbn07XG5cbi8qKiBBZHZhbmNlZCB2YWxpZGF0aW9uIGZvciB0ZXh0Ym94IGZvcm0gY29udHJvbHMgKi9cbmV4cG9ydCBjb25zdCB0ZXh0Ym94VmFsaWRhdGlvbiA9ICh2YWxpZGF0b3JQYXJhbXM6IFRleHRib3hWYWxpZGF0b3JQYXJhbWV0ZXJzKTogVmFsaWRhdG9yRm4gPT4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgICAgIGxldCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XG4gXG4gICAgICAgIC8vIElubm9jZW50IHVudGlsIHByb3ZlbiBndWlsdHlcbiAgICAgICAgdmFsaWRhdG9yUGFyYW1zLnZhbGlkID0gdHJ1ZTtcblxuICAgICAgICBpZiAodmFsaWRhdG9yUGFyYW1zLnJlcXVpcmVkKSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsaWRhdG9yUGFyYW1zLm1pbkxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5taW5MZW5ndGgodmFsaWRhdG9yUGFyYW1zLm1pbkxlbmd0aCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbGlkYXRvclBhcmFtcy5tYXhMZW5ndGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWF4TGVuZ3RoKHZhbGlkYXRvclBhcmFtcy5tYXhMZW5ndGgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWxpZGF0b3JQYXJhbXMucGF0dGVybiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKHZhbGlkYXRvclBhcmFtcy5wYXR0ZXJuKSk7XG4gICAgICAgIH1cblxuICAgICAgICB2YWxpZGF0b3JzLmZvckVhY2godmFsaWRhdG9yID0+IHtcbiAgICAgICAgICAgIGxldCB2YWxpZGF0aW9uUmVzdWx0OiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IHZhbGlkYXRvcihjb250cm9sKTtcbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgdmFsaWRhdG9yUGFyYW1zLnZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh2YWxpZGF0b3JQYXJhbXMudmFsaWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB0ZXh0Ym94OiB2YWxpZGF0b3JQYXJhbXNcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgcGhvbmVOdW1iZXJWYWxpZGF0aW9uUGF0dGVybjogc3RyaW5nID0gJ15cXFxccyooPzpcXFxcKz8oXFxcXGR7MSwzfSkpP1stLiAoXSooXFxcXGR7M30pWy0uICldKihcXFxcZHszfSlbLS4gXSooXFxcXGR7NH0pKD86ICp4KFxcXFxkKykpP1xcXFxzKiQnO1xuZXhwb3J0IGNvbnN0IHVybFZhbGlkYXRpb25QYXR0ZXJuOiBzdHJpbmcgPSAnKFtBLVphLXpdKSsoOlxcL1xcLykrW15cXFxcc10qJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlYy10ZXh0Ym94JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGV4dGJveC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGV4dGJveC5jb21wb25lbnQuc2NzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgVGV4dGJveENvbXBvbmVudCBleHRlbmRzIEZvcm1Db250cm9sQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIHZhbHVlIG9mIHRoZSBpbnB1dCdzIGF1dG9jb21wbGV0ZSBhdHRyaWJ1dGVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgYXV0b2NvbXBsZXRlPzogc3RyaW5nID0gJ29mZic7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGV4dGJveCB0eXBlXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHR5cGU/OiBUZXh0Ym94VHlwZSA9IFwidGV4dFwiO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIG9mIHRoZSB0ZXh0Ym94IGlucHV0J3MgcGxhY2Vob2xkZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBhbGxvd2VkIGluIHRoZSBpbnB1dFxuICAgICAqIFxuICAgICAqIFRoaXMgaXMgZm9yIGFkZGluZyB0aGUgYXR0cmlidXRlIG9uIHRoZSBlbGVtZW50IHRvIGdldCB0aGUgYnJvd3NlciBmdW5jdGlvbmFsaXR5XG4gICAgICogZnJvbSB0aGUgaW5wdXQuICBJZiB5b3UgbmVlZCB0aGUgZm9ybSB0byBiZSB2YWxpZGF0ZWQgYmVmb3JlIHN1Ym1pc3Npb24sIGFwcGx5IHRoZVxuICAgICAqIG1heExlbmd0aCB2YWxpZGF0b3IgdG8gdGhlIGZvcm0gY29udHJvbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgbWF4bGVuZ3RoPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgYWxsb3dlZCBpbiB0aGUgaW5wdXRcbiAgICAgKiBcbiAgICAgKiBUaGlzIGlzIGZvciBhZGRpbmcgdGhlIGF0dHJpYnV0ZSBvbiB0aGUgZWxlbWVudCB0byBnZXQgdGhlIGJyb3dzZXIgZnVuY3Rpb25hbGl0eVxuICAgICAqIGZyb20gdGhlIGlucHV0LiAgSWYgeW91IG5lZWQgdGhlIGZvcm0gdG8gYmUgdmFsaWRhdGVkIGJlZm9yZSBzdWJtaXNzaW9uLCBhcHBseSB0aGVcbiAgICAgKiBtaW5MZW5ndGggdmFsaWRhdG9yIHRvIHRoZSBmb3JtIGNvbnRyb2wuXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG1pbmxlbmd0aD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSB2YWx1ZSBvZiB0aGUgcm93cyBhdHRyaWJ1dGUgZm9yIGEgdGV4dGFyZWEuIE9ubHkgYXBwbGllcyB0byBtdWx0aS1saW5lIHR5cGVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcm93cz86IG51bWJlciA9IDM7XG5cbiAgICAvKipcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgd2Ugd2lsbCBzZWxlY3QgYWxsIHRleHQgd2l0aGluIHRoZSBpbnB1dCBpZlxuICAgICAqIGF1dG9mb2N1cyBpcyBhbHNvIHNldCB0byB0cnVlXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHNlbGVjdE9uQXV0b2ZvY3VzPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSWYgc2V0IHRvIHRydWUsIHdlIHdpbGwgdXBwZXIgY2FzZSBvbiBmb2N1cyBvdXRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdXBwZXJDYXNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0aW9uIHBhdHRlcm4gZm9yIHRoZSBpbnB1dC4gVGhpcyBpcyBkZXRlcm1pbmVkIG9uIHRoZSBpbnB1dCB0eXBlIHNwZWNpZmllZFxuICAgICAqL1xuICAgIHB1YmxpYyB2YWxpZGF0aW9uUGF0dGVybjogc3RyaW5nICA9ICcnO1xuXG4gICAgQFZpZXdDaGlsZCgndGV4dGJveElucHV0JykgcHJvdGVjdGVkIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHZhbGlkYXRpb25NZXNzYWdlU2VydmljZTogVmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgZm9ybUdyb3VwSGVscGVyOiBGb3JtR3JvdXBIZWxwZXIsXG4gICAgICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIodmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlLCBmb3JtR3JvdXBIZWxwZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgIH1cbiAgICAvKipcblx0ICogVGhlIGFuZ3VsYXIgb25Jbml0IGxpZmVjeWNsZSBob29rXG5cdCAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLnZhbGlkYXRpb25QYXR0ZXJuID0gJyc7XG5cbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3RlbCcpIHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblBhdHRlcm4gPSBwaG9uZU51bWJlclZhbGlkYXRpb25QYXR0ZXJuO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3VybCcpIHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblBhdHRlcm4gPSB1cmxWYWxpZGF0aW9uUGF0dGVybjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCh0aGlzLnBsYWNlaG9sZGVyKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zbGF0ZWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdHJhbnNsYXRlZDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG5cdCAqIFRoZSBhbmd1bGFyIGFmdGVyVmlld0luaXQgbGlmZWN5Y2xlIGhvb2tcblx0ICovXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXV0b2ZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLnNldEZvY3VzKHRoaXMuc2VsZWN0T25BdXRvZm9jdXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gc2V0IGZvY3VzIG9uIGFuIGlucHV0IHByb2dyYW1tYXRpY2FsbHkgYWZ0ZXIgdGhlIHBhZ2VcbiAgICAgKiBoYWQgYmVlbiByZW5kZXJlZC4gIFRoZSBoaWdobGlnaHQgdGV4dCBmbGFnIHdpbGwgc2VsZWN0IHRoZSB0ZXh0IFxuICAgICAqIHdpdGhpbiB0aGUgaW5wdXQgaWYgcGFzc2VkIGluIGFuZCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHNldEZvY3VzKGhpZ2hsaWdodFRleHQ/OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgICBpZiAoaGlnaGxpZ2h0VGV4dCkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5zZWxlY3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAqIEZvY3VzIG91dCBldmVudCBoYW5kbGVyXG4gICogd2lsbCB1cHBlciBjYXNlIGFuZCB0cmltIHZhbHVlIGlmIHVwcGVyQ2FzZSBpcyB0cnVlICh0aGlzIGlzIHdoYXQgd2UgZG8gb24gdGhlIGFwaXMpXG4gICovXG4gICAgcHVibGljIGZvY3VzT3V0RXZlbnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnVwcGVyQ2FzZSAmJiB0aGlzLmZvcm1Nb2RlbC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtTW9kZWwuc2V0VmFsdWUodGhpcy5mb3JtTW9kZWwudmFsdWUudG9VcHBlckNhc2UoKS50cmltKCkpO1xuICAgICAgICB9XG4gICAgfVxufSIsIjxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtbGFiZWwte3tsYWJlbFBvc2l0aW9ufX1cIlxuICAgICBbbmdDbGFzc109XCJ7J2lzLXJlYWRvbmx5JzogcmVhZG9ubHl9XCI+XG5cbiAgICAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIj5cbiAgICAgICAgPHNwYW4+e3tsYWJlbCB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInZhbGlkYXRpb25FcnJvcnMubGVuZ3RoID4gMCAmJiBmb3JtTW9kZWwudG91Y2hlZCAmJiBmb3JtTW9kZWwuaW52YWxpZFwiPiZuYnNwO3t7dmFsaWRhdGlvbkVycm9ycyB8XG4gICAgICAgICAgICB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPGVjLWhlbHAtcG9wb3ZlciBpZD1cInt7aWR9fV9oZWxwUG9wb3ZlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwUG9wb3ZlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWlubGluZS1ibG9jayBteS1uMyBteC1uMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGV4dD1cInt7aGVscFBvcG92ZXIgfCB0cmFuc2xhdGV9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudFBvc2l0aW9uPVwie3toZWxwUG9wb3ZlclBvc2l0aW9ufX1cIj5cbiAgICAgICAgPC9lYy1oZWxwLXBvcG92ZXI+XG4gICAgPC9sYWJlbD5cblxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyIGNvbnRyb2wtaW5wdXRcIj5cbiAgICAgICAgPGlucHV0ICpuZ0lmPVwidHlwZSAhPT0gJ211bHRpX2xpbmUnXCJcbiAgICAgICAgICAgICAgICN0ZXh0Ym94SW5wdXRcbiAgICAgICAgICAgICAgIGVtYWlsPVwie3t0eXBlID09PSAnZW1haWwnID8gdHJ1ZSA6IGZhbHNlfX1cIlxuICAgICAgICAgICAgICAgcGF0dGVybj1cInt7dmFsaWRhdGlvblBhdHRlcm59fVwiXG4gICAgICAgICAgICAgICB0eXBlPVwie3t0eXBlfX1cIlxuICAgICAgICAgICAgICAgdGFiaW5kZXg9XCJ7e3RhYmluZGV4fX1cIlxuICAgICAgICAgICAgICAgdGl0bGU9XCJ7e3Rvb2x0aXB9fVwiXG4gICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXG4gICAgICAgICAgICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcbiAgICAgICAgICAgICAgIFthdHRyLnJlcXVpcmVkXT1cInJlcXVpcmVkID8gcmVxdWlyZWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtTW9kZWxcIlxuICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydpcy1lbXB0eSc6ICFmb3JtTW9kZWw/LnZhbHVlLCAnaXMtcGVuZGluZyc6IHBlbmRpbmcsICdpcy11cHBlcmNhc2UnOiB1cHBlckNhc2V9XCJcbiAgICAgICAgICAgICAgIChmb2N1c291dCk9XCJmb2N1c091dEV2ZW50KClcIlxuICAgICAgICAgICAgICAgW2F0dHIuY2RrRm9jdXNJbml0aWFsXT1cImF1dG9mb2N1cyB8fCBudWxsXCI+XG5cbiAgICAgICAgPHRleHRhcmVhICpuZ0lmPVwidHlwZSA9PT0gJ211bHRpX2xpbmUnXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLnJvd3NdPVwicm93c1wiXG4gICAgICAgICAgICAgICAgICAjdGV4dGJveElucHV0XG4gICAgICAgICAgICAgICAgICB0YWJpbmRleD1cInt7dGFiaW5kZXh9fVwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZCA/IHJlcXVpcmVkIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybU1vZGVsXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaXMtZW1wdHknOiBmb3JtTW9kZWw/LnZhbHVlID09PSAnJywgJ2lzLXBlbmRpbmcnOiBwZW5kaW5nfVwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5jZGtGb2N1c0luaXRpYWxdPVwiYXV0b2ZvY3VzIHx8IG51bGxcIj5cbiAgICAgICAgPC90ZXh0YXJlYT5cblxuICAgICAgICA8aSBjbGFzcz1cImVjLWljb24gaWNvbi1yZXF1aXJlZFwiPjwvaT5cbiAgICAgICAgPGkgY2xhc3M9XCJlYy1pY29uIGljb24taW52YWxpZFwiPjwvaT5cbiAgICAgICAgPGkgY2xhc3M9XCJlYy1pY29uIGljb24tbG9hZGluZ1wiPjwvaT5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class CacheService {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.localStorageAvailable = false;
|
|
6
|
-
this.sessionStorageAvailable = false;
|
|
7
|
-
let cacheError = null;
|
|
8
|
-
try {
|
|
9
|
-
let dateStr = 'roundtrip-test-' + new Date().getTime();
|
|
10
|
-
const value = 'val-' + dateStr;
|
|
11
|
-
localStorage.setItem(dateStr, value);
|
|
12
|
-
sessionStorage.setItem(dateStr, value);
|
|
13
|
-
this.localStorageAvailable = localStorage.getItem(dateStr) == value;
|
|
14
|
-
this.sessionStorageAvailable = sessionStorage.getItem(dateStr) == value;
|
|
15
|
-
localStorage.removeItem(dateStr);
|
|
16
|
-
sessionStorage.removeItem(dateStr);
|
|
17
|
-
}
|
|
18
|
-
catch (error) {
|
|
19
|
-
cacheError = error;
|
|
20
|
-
}
|
|
21
|
-
finally {
|
|
22
|
-
if (!this.localStorageAvailable || !this.sessionStorageAvailable) {
|
|
23
|
-
console.warn('storage unavailable for caching purposes. Some features will not be fully supported. ', {
|
|
24
|
-
local: this.localStorageAvailable,
|
|
25
|
-
session: this.sessionStorageAvailable,
|
|
26
|
-
error: cacheError
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/**Return true if the requested cache allows the user to round-trip data in the current environment.
|
|
32
|
-
* Security settings can prevent it and the app may need to know if "not found" means "never set" or "not supported"
|
|
33
|
-
*/
|
|
34
|
-
isCacheAvailable(sessionOnly = false) {
|
|
35
|
-
return sessionOnly ? this.sessionStorageAvailable : this.localStorageAvailable;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Retrieve an item from cache
|
|
39
|
-
*/
|
|
40
|
-
getItem(key, sessionOnly = false) {
|
|
41
|
-
let storage = this.getStorage(sessionOnly);
|
|
42
|
-
if (storage) {
|
|
43
|
-
let result = storage.getItem(key);
|
|
44
|
-
if (result) {
|
|
45
|
-
return JSON.parse(result);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Retrieves all keys from cache
|
|
52
|
-
*/
|
|
53
|
-
keys(sessionOnly = false) {
|
|
54
|
-
let result = new Array();
|
|
55
|
-
let storage = this.getStorage(sessionOnly);
|
|
56
|
-
if (storage) {
|
|
57
|
-
for (var i = 0, len = storage.length; i < len; ++i) {
|
|
58
|
-
result.push(storage.key(i));
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return result;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Removes an item from the cache
|
|
65
|
-
*/
|
|
66
|
-
removeItem(key, sessionOnly = false) {
|
|
67
|
-
let storage = this.getStorage(sessionOnly);
|
|
68
|
-
if (storage) {
|
|
69
|
-
storage.removeItem(key);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Persists an item to cache
|
|
74
|
-
*/
|
|
75
|
-
setItem(key, value, sessionOnly = false) {
|
|
76
|
-
let storage = this.getStorage(sessionOnly);
|
|
77
|
-
if (storage) {
|
|
78
|
-
storage.setItem(key, JSON.stringify(value));
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
/**Returns the local or session storage to use for backing the given cache request.
|
|
82
|
-
* If the browser does not support the requested storage the result will be null.
|
|
83
|
-
* This can happen if the user is in Firefox for example with the setting dom.storage.enabled = false
|
|
84
|
-
*/
|
|
85
|
-
getStorage(sessionOnly) {
|
|
86
|
-
if (sessionOnly && this.sessionStorageAvailable) {
|
|
87
|
-
return window.sessionStorage;
|
|
88
|
-
}
|
|
89
|
-
else if (this.localStorageAvailable) {
|
|
90
|
-
return window.localStorage;
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
97
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CacheService, providedIn: 'root' }); }
|
|
98
|
-
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CacheService, decorators: [{
|
|
100
|
-
type: Injectable,
|
|
101
|
-
args: [{
|
|
102
|
-
providedIn: 'root'
|
|
103
|
-
}]
|
|
104
|
-
}], ctorParameters: () => [] });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlL2NhY2hlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLFlBQVk7SUFLckI7UUFIUSwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFDdkMsNEJBQXVCLEdBQVksS0FBSyxDQUFDO1FBRzdDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUM7WUFDRCxJQUFJLE9BQU8sR0FBRyxpQkFBaUIsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZELE1BQU0sS0FBSyxHQUFHLE1BQU0sR0FBRyxPQUFPLENBQUM7WUFFL0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFdkMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ3BFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQztZQUV4RSxZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdkMsQ0FBQztRQUFDLE9BQU0sS0FBSyxFQUFFLENBQUM7WUFDWixVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7Z0JBQVMsQ0FBQztZQUNQLElBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxJQUFJLENBQUMs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TTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENhY2hlU2VydmljZSB7XG5cbiAgICBwcml2YXRlIGxvY2FsU3RvcmFnZUF2YWlsYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgc2Vzc2lvblN0b3JhZ2VBdmFpbGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBsZXQgY2FjaGVFcnJvciA9IG51bGw7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgZGF0ZVN0ciA9ICdyb3VuZHRyaXAtdGVzdC0nICsgbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICd2YWwtJyArIGRhdGVTdHI7XG5cbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGRhdGVTdHIsIHZhbHVlKTtcbiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oZGF0ZVN0ciwgdmFsdWUpO1xuXG4gICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZUF2YWlsYWJsZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGRhdGVTdHIpID09IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZUF2YWlsYWJsZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oZGF0ZVN0cikgPT0gdmFsdWU7XG5cbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGRhdGVTdHIpO1xuICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShkYXRlU3RyKTtcblxuICAgICAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICAgICAgICBjYWNoZUVycm9yID0gZXJyb3I7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBpZighdGhpcy5sb2NhbFN0b3JhZ2VBdmFpbGFibGUgfHwgIXRoaXMuc2Vzc2lvblN0b3JhZ2VBdmFpbGFibGUpe1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2Fybignc3RvcmFnZSB1bmF2YWlsYWJsZSBmb3IgY2FjaGluZyBwdXJwb3Nlcy4gU29tZSBmZWF0dXJlcyB3aWxsIG5vdCBiZSBmdWxseSBzdXBwb3J0ZWQuICcsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsOiB0aGlzLmxvY2FsU3RvcmFnZUF2YWlsYWJsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb246IHRoaXMuc2Vzc2lvblN0b3JhZ2VBdmFpbGFibGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogY2FjaGVFcnJvclxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlJldHVybiB0cnVlIGlmIHRoZSByZXF1ZXN0ZWQgY2FjaGUgYWxsb3dzIHRoZSB1c2VyIHRvIHJvdW5kLXRyaXAgZGF0YSBpbiB0aGUgY3VycmVudCBlbnZpcm9ubWVudC5cbiAgICAgKiBTZWN1cml0eSBzZXR0aW5ncyBjYW4gcHJldmVudCBpdCBhbmQgdGhlIGFwcCBtYXkgbmVlZCB0byBrbm93IGlmIFwibm90IGZvdW5kXCIgbWVhbnMgXCJuZXZlciBzZXRcIiBvciBcIm5vdCBzdXBwb3J0ZWRcIlxuICAgICAqL1xuICAgIHB1YmxpYyBpc0NhY2hlQXZhaWxhYmxlKHNlc3Npb25Pbmx5ID0gZmFsc2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHNlc3Npb25Pbmx5ID8gdGhpcy5zZXNzaW9uU3RvcmFnZUF2YWlsYWJsZSA6IHRoaXMubG9jYWxTdG9yYWdlQXZhaWxhYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlIGFuIGl0ZW0gZnJvbSBjYWNoZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJdGVtPFQ+KGtleTogc3RyaW5nLCBzZXNzaW9uT25seSA9IGZhbHNlKTogVCB8IG51bGwge1xuICAgICAgICBsZXQgc3RvcmFnZSA9IHRoaXMuZ2V0U3RvcmFnZShzZXNzaW9uT25seSk7XG4gICAgICAgIGlmIChzdG9yYWdlKSB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gc3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDxUPkpTT04ucGFyc2UocmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYWxsIGtleXMgZnJvbSBjYWNoZVxuICAgICAqL1xuICAgIHB1YmxpYyBrZXlzKHNlc3Npb25Pbmx5ID0gZmFsc2UpOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gICAgICAgIGxldCBzdG9yYWdlID0gdGhpcy5nZXRTdG9yYWdlKHNlc3Npb25Pbmx5KTtcblxuICAgICAgICBpZiAoc3RvcmFnZSkge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHN0b3JhZ2UubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChzdG9yYWdlLmtleShpKSEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbiBpdGVtIGZyb20gdGhlIGNhY2hlXG4gICAgICovXG4gICAgcHVibGljIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcsIHNlc3Npb25Pbmx5ID0gZmFsc2UpIHtcbiAgICAgICAgbGV0IHN0b3JhZ2UgPSB0aGlzLmdldFN0b3JhZ2Uoc2Vzc2lvbk9ubHkpO1xuXG4gICAgICAgIGlmIChzdG9yYWdlKSB7XG4gICAgICAgICAgICBzdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcnNpc3RzIGFuIGl0ZW0gdG8gY2FjaGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0SXRlbShrZXk6IHN0cmluZywgdmFsdWU6IG9iamVjdCwgc2Vzc2lvbk9ubHkgPSBmYWxzZSkge1xuICAgICAgICBsZXQgc3RvcmFnZSA9IHRoaXMuZ2V0U3RvcmFnZShzZXNzaW9uT25seSk7XG4gICAgICAgIGlmIChzdG9yYWdlKSB7XG4gICAgICAgICAgICBzdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqUmV0dXJucyB0aGUgbG9jYWwgb3Igc2Vzc2lvbiBzdG9yYWdlIHRvIHVzZSBmb3IgYmFja2luZyB0aGUgZ2l2ZW4gY2FjaGUgcmVxdWVzdC5cbiAgICAgKiBJZiB0aGUgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSByZXF1ZXN0ZWQgc3RvcmFnZSB0aGUgcmVzdWx0IHdpbGwgYmUgbnVsbC5cbiAgICAgKiBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIHVzZXIgaXMgaW4gRmlyZWZveCBmb3IgZXhhbXBsZSB3aXRoIHRoZSBzZXR0aW5nIGRvbS5zdG9yYWdlLmVuYWJsZWQgPSBmYWxzZVxuICAgICovXG4gICAgcHJpdmF0ZSBnZXRTdG9yYWdlKHNlc3Npb25Pbmx5OiBib29sZWFuKSA6IFN0b3JhZ2UgfCBudWxsIHtcbiAgICAgICAgaWYoc2Vzc2lvbk9ubHkgJiYgdGhpcy5zZXNzaW9uU3RvcmFnZUF2YWlsYWJsZSl7XG4gICAgICAgICAgICByZXR1cm4gd2luZG93LnNlc3Npb25TdG9yYWdlO1xuICAgICAgICB9IGVsc2UgaWYodGhpcy5sb2NhbFN0b3JhZ2VBdmFpbGFibGUpe1xuICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5sb2NhbFN0b3JhZ2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vVE9ETzogYWRkIHVzZXIgaW5mbyB0byBpc29sYXRlIGNhY2hlIHZhbHVlcyBmcm9tIGVhY2ggb3RoZXJcbn0iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Validators } from '@angular/forms';
|
|
2
|
-
import { JsonHelper } from '../shared/json-helper';
|
|
3
|
-
import { domainPattern } from './validation-patterns';
|
|
4
|
-
export class CustomValidators {
|
|
5
|
-
/**
|
|
6
|
-
* Tests the control using Angular's required validator, except returns
|
|
7
|
-
* an error map that triggers the plural 'are required' validation message
|
|
8
|
-
* instead of 'is required'
|
|
9
|
-
*
|
|
10
|
-
* @returns An error map with the `requiredPlural` property
|
|
11
|
-
* if the validation check fails, otherwise `null`.
|
|
12
|
-
*/
|
|
13
|
-
static { this.requiredPlural = (control) => {
|
|
14
|
-
return Validators.required(control) !== null ? { requiredPlural: true } : null;
|
|
15
|
-
}; }
|
|
16
|
-
/**
|
|
17
|
-
* Returns a validation error if the control's value is not valid JSON.
|
|
18
|
-
*/
|
|
19
|
-
static { this.json = (control) => {
|
|
20
|
-
return (control.value && JsonHelper.tryParseJSON(control.value) === undefined) ? { json: true } : null;
|
|
21
|
-
}; }
|
|
22
|
-
/**
|
|
23
|
-
* Returns a validation error if the control's value is not a valid domain.
|
|
24
|
-
*/
|
|
25
|
-
static { this.domain = (control) => {
|
|
26
|
-
return (control.value && domainPattern.test(control.value) === false) ? { domain: true } : null;
|
|
27
|
-
}; }
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXZhbGlkYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29yZS9jdXN0b20tdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7Ozs7OztPQU9HO2FBQ1csbUJBQWMsR0FBZ0IsQ0FBQyxPQUF3QixFQUFFLEVBQUU7UUFDdkUsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqRixDQUFDLENBQUE7SUFFRDs7T0FFRzthQUNXLFNBQUksR0FBZ0IsQ0FBQyxPQUF3QixFQUFFLEVBQUU7UUFDN0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekcsQ0FBQyxDQUFBO0lBRUQ7O09BRUc7YUFDVyxXQUFNLEdBQWdCLENBQUMsT0FBd0IsRUFBRSxFQUFFO1FBQy9ELE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xHLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEpzb25IZWxwZXIgfSBmcm9tICcuLi9zaGFyZWQvanNvbi1oZWxwZXInO1xuaW1wb3J0IHsgZG9tYWluUGF0dGVybiB9IGZyb20gJy4vdmFsaWRhdGlvbi1wYXR0ZXJucyc7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21WYWxpZGF0b3JzIHtcbiAgLyoqXG4gICAqIFRlc3RzIHRoZSBjb250cm9sIHVzaW5nIEFuZ3VsYXIncyByZXF1aXJlZCB2YWxpZGF0b3IsIGV4Y2VwdCByZXR1cm5zXG4gICAqIGFuIGVycm9yIG1hcCB0aGF0IHRyaWdnZXJzIHRoZSBwbHVyYWwgJ2FyZSByZXF1aXJlZCcgdmFsaWRhdGlvbiBtZXNzYWdlXG4gICAqIGluc3RlYWQgb2YgJ2lzIHJlcXVpcmVkJ1xuICAgKlxuICAgKiBAcmV0dXJucyBBbiBlcnJvciBtYXAgd2l0aCB0aGUgYHJlcXVpcmVkUGx1cmFsYCBwcm9wZXJ0eVxuICAgKiBpZiB0aGUgdmFsaWRhdGlvbiBjaGVjayBmYWlscywgb3RoZXJ3aXNlIGBudWxsYC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVxdWlyZWRQbHVyYWw6IFZhbGlkYXRvckZuID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgIHJldHVybiBWYWxpZGF0b3JzLnJlcXVpcmVkKGNvbnRyb2wpICE9PSBudWxsID8geyByZXF1aXJlZFBsdXJhbDogdHJ1ZSB9IDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgdmFsaWRhdGlvbiBlcnJvciBpZiB0aGUgY29udHJvbCdzIHZhbHVlIGlzIG5vdCB2YWxpZCBKU09OLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBqc29uOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICByZXR1cm4gKGNvbnRyb2wudmFsdWUgJiYgSnNvbkhlbHBlci50cnlQYXJzZUpTT04oY29udHJvbC52YWx1ZSkgPT09IHVuZGVmaW5lZCkgPyB7IGpzb246IHRydWUgfSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHZhbGlkYXRpb24gZXJyb3IgaWYgdGhlIGNvbnRyb2wncyB2YWx1ZSBpcyBub3QgYSB2YWxpZCBkb21haW4uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRvbWFpbjogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgcmV0dXJuIChjb250cm9sLnZhbHVlICYmIGRvbWFpblBhdHRlcm4udGVzdChjb250cm9sLnZhbHVlKSA9PT0gZmFsc2UpID8geyBkb21haW46IHRydWUgfSA6IG51bGw7XG4gIH1cbn0iXX0=
|