ecabs-components 0.0.47 → 0.0.49
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/esm2020/lib/base/directives/date-mask.directive.mjs +65 -0
- package/{esm2022 → esm2020}/lib/base/directives/date-mask.directive.module.mjs +5 -5
- package/esm2020/lib/base/directives/digits-only.directive.mjs +130 -0
- package/{esm2022 → esm2020}/lib/base/directives/digits-only.directive.module.mjs +5 -5
- package/esm2020/lib/base/directives/number-border.directive.mjs +54 -0
- package/{esm2022 → esm2020}/lib/base/directives/number-border.directive.module.mjs +5 -5
- package/esm2020/lib/base/element-base.mjs +100 -0
- package/esm2020/lib/base/element-wrapper/element-wrapper.component.mjs +53 -0
- package/{esm2022 → esm2020}/lib/base/element-wrapper/element-wrapper.module.mjs +21 -21
- package/esm2020/lib/base/hint/hint.component.mjs +21 -0
- package/{esm2022 → esm2020}/lib/base/hint/hint.module.mjs +5 -5
- package/esm2020/lib/base/validation/validation.component.mjs +70 -0
- package/{esm2022 → esm2020}/lib/base/validation/validation.module.mjs +5 -5
- package/esm2020/lib/ecabs-active-status-filter/active-status-filter.component.mjs +30 -0
- package/esm2020/lib/ecabs-active-status-filter/active-status-filter.module.mjs +20 -0
- package/esm2020/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +16 -0
- package/{esm2022 → esm2020}/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +5 -5
- package/esm2020/lib/ecabs-buttons/ecabs-buttons.component.mjs +65 -0
- package/{esm2022 → esm2020}/lib/ecabs-buttons/ecabs-buttons.module.mjs +5 -5
- package/esm2020/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +85 -0
- package/{esm2022 → esm2020}/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +13 -13
- package/esm2020/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +17 -0
- package/esm2020/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +85 -0
- package/{esm2022 → esm2020}/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +19 -19
- package/esm2020/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +17 -0
- package/esm2020/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +179 -0
- package/{esm2022 → esm2020}/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +27 -27
- package/esm2020/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +17 -0
- package/esm2020/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +193 -0
- package/{esm2022 → esm2020}/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +27 -27
- package/esm2020/lib/ecabs-date-time-range-picker/time-range.directive.mjs +45 -0
- package/esm2020/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +28 -0
- package/{esm2022 → esm2020}/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +5 -5
- package/esm2020/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +25 -0
- package/{esm2022 → esm2020}/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +5 -5
- package/{esm2022 → esm2020}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +4 -7
- package/{esm2022 → esm2020}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +5 -5
- package/esm2020/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +76 -0
- package/{esm2022 → esm2020}/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +5 -5
- package/esm2020/lib/ecabs-increment/ecabs-increment.component.mjs +78 -0
- package/{esm2022 → esm2020}/lib/ecabs-increment/ecabs-increment.module.mjs +5 -5
- package/esm2020/lib/ecabs-input/ecabs-input.component.mjs +85 -0
- package/{esm2022 → esm2020}/lib/ecabs-input/ecabs-input.module.mjs +5 -5
- package/esm2020/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +51 -0
- package/{esm2022 → esm2020}/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +13 -13
- package/esm2020/lib/ecabs-loading/ecabs-loading.component.mjs +24 -0
- package/{esm2022 → esm2020}/lib/ecabs-loading/ecabs-loading.module.mjs +5 -5
- package/esm2020/lib/ecabs-loading/spinner/spinner.component.mjs +16 -0
- package/esm2020/lib/ecabs-note/ecabs-note.component.mjs +30 -0
- package/{esm2022 → esm2020}/lib/ecabs-note/ecabs-note.module.mjs +5 -5
- package/esm2020/lib/ecabs-phone/ecabs-phone.component.mjs +105 -0
- package/{esm2022 → esm2020}/lib/ecabs-phone/ecabs-phone.module.mjs +5 -5
- package/esm2020/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +50 -0
- package/{esm2022 → esm2020}/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +5 -5
- package/esm2020/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +65 -0
- package/{esm2022 → esm2020}/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +11 -11
- package/esm2020/lib/ecabs-select/ecabs-select.component.mjs +222 -0
- package/esm2020/lib/ecabs-select/ecabs-select.module.mjs +60 -0
- package/esm2020/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +17 -0
- package/{esm2022 → esm2020}/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +7 -7
- package/esm2020/lib/ecabs-table/ecabs-table.component.mjs +43 -0
- package/{esm2022 → esm2020}/lib/ecabs-table/ecabs-table.module.mjs +11 -11
- package/esm2020/lib/ecabs-textarea/ecabs-textarea.component.mjs +62 -0
- package/{esm2022 → esm2020}/lib/ecabs-textarea/ecabs-textarea.module.mjs +5 -5
- package/esm2020/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +137 -0
- package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +312 -0
- package/{esm2022 → esm2020}/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +5 -5
- package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +31 -0
- package/esm2020/lib/services/ecabs-components.service.mjs +32 -0
- package/esm2020/public-api.mjs +57 -0
- package/fesm2015/ecabs-components.mjs +3283 -0
- package/fesm2015/ecabs-components.mjs.map +1 -0
- package/fesm2020/ecabs-components.mjs +3267 -0
- package/fesm2020/ecabs-components.mjs.map +1 -0
- package/lib/base/directives/date-mask.directive.d.ts +1 -1
- package/lib/base/directives/digits-only.directive.d.ts +1 -1
- package/lib/base/directives/number-border.directive.d.ts +1 -1
- package/lib/base/element-base.d.ts +1 -1
- package/lib/base/element-wrapper/element-wrapper.component.d.ts +1 -1
- package/lib/base/hint/hint.component.d.ts +1 -1
- package/lib/base/validation/validation.component.d.ts +1 -1
- package/lib/ecabs-active-status-filter/active-status-filter.component.d.ts +14 -0
- package/lib/ecabs-active-status-filter/active-status-filter.module.d.ts +10 -0
- package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.d.ts +1 -1
- package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +1 -1
- package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +1 -1
- package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.d.ts +1 -1
- package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +1 -1
- package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.d.ts +1 -1
- package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +1 -1
- package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.d.ts +1 -1
- package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.d.ts +1 -1
- package/lib/ecabs-date-time-range-picker/time-range.directive.d.ts +1 -1
- package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +1 -1
- package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +1 -1
- package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +1 -1
- package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +1 -1
- package/lib/ecabs-increment/ecabs-increment.component.d.ts +1 -1
- package/lib/ecabs-input/ecabs-input.component.d.ts +1 -1
- package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +1 -1
- package/lib/ecabs-loading/ecabs-loading.component.d.ts +1 -1
- package/lib/ecabs-loading/spinner/spinner.component.d.ts +1 -1
- package/lib/ecabs-note/ecabs-note.component.d.ts +1 -1
- package/lib/ecabs-phone/ecabs-phone.component.d.ts +1 -1
- package/lib/ecabs-picker-header/ecabs-picker-header.component.d.ts +1 -1
- package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +1 -1
- package/lib/ecabs-select/ecabs-select.component.d.ts +1 -1
- package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.d.ts +1 -1
- package/lib/ecabs-table/ecabs-table.component.d.ts +1 -1
- package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +1 -1
- package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.d.ts +1 -1
- package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +1 -1
- package/lib/models/timepicker.models.d.ts +1 -1
- package/package.json +11 -5
- package/public-api.d.ts +2 -0
- package/esm2022/lib/base/directives/date-mask.directive.mjs +0 -67
- package/esm2022/lib/base/directives/digits-only.directive.mjs +0 -133
- package/esm2022/lib/base/directives/number-border.directive.mjs +0 -58
- package/esm2022/lib/base/element-base.mjs +0 -105
- package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +0 -56
- package/esm2022/lib/base/hint/hint.component.mjs +0 -21
- package/esm2022/lib/base/validation/validation.component.mjs +0 -75
- package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +0 -17
- package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +0 -67
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +0 -90
- package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +0 -15
- package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +0 -89
- package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +0 -15
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +0 -186
- package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +0 -15
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +0 -199
- package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +0 -48
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +0 -31
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +0 -28
- package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +0 -85
- package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +0 -83
- package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +0 -93
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +0 -51
- package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +0 -22
- package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +0 -14
- package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +0 -28
- package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +0 -111
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +0 -53
- package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +0 -68
- package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +0 -227
- package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +0 -60
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +0 -19
- package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +0 -48
- package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +0 -65
- package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +0 -144
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +0 -322
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +0 -29
- package/esm2022/lib/services/ecabs-components.service.mjs +0 -31
- package/esm2022/public-api.mjs +0 -55
- package/fesm2022/ecabs-components.mjs +0 -3338
- package/fesm2022/ecabs-components.mjs.map +0 -1
- /package/{esm2022 → esm2020}/ecabs-components.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/base/consts/date-mask.consts.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/ecabs-timepicker/config.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/models/bread-crumb.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/models/timepicker.models.mjs +0 -0
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DigitsOnlyDirective {
|
|
4
|
-
el;
|
|
5
|
-
digitsOnly = false;
|
|
6
|
-
allowHyphen = false;
|
|
7
|
-
decimal = false;
|
|
8
|
-
decimalSeparator = '.';
|
|
9
|
-
unit = 0;
|
|
10
|
-
inputElement;
|
|
11
|
-
minus = '-';
|
|
12
|
-
minusCounter = 0;
|
|
13
|
-
regex;
|
|
14
|
-
decimalCounter = 0;
|
|
15
|
-
navigationKeys = [
|
|
16
|
-
'Backspace',
|
|
17
|
-
'Delete',
|
|
18
|
-
'Tab',
|
|
19
|
-
'Escape',
|
|
20
|
-
'Enter',
|
|
21
|
-
'Home',
|
|
22
|
-
'End',
|
|
23
|
-
'ArrowLeft',
|
|
24
|
-
'ArrowRight',
|
|
25
|
-
'Clear',
|
|
26
|
-
'Copy',
|
|
27
|
-
'Paste',
|
|
28
|
-
];
|
|
29
|
-
constructor(el) {
|
|
30
|
-
this.el = el;
|
|
31
|
-
this.inputElement = el.nativeElement;
|
|
32
|
-
}
|
|
33
|
-
onKeyDown(e) {
|
|
34
|
-
if (this.digitsOnly) {
|
|
35
|
-
if (this.navigationKeys.indexOf(e.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.
|
|
36
|
-
(e.key === 'a' && e.ctrlKey) || // Allow: Ctrl+A
|
|
37
|
-
(e.key === 'c' && e.ctrlKey) || // Allow: Ctrl+C
|
|
38
|
-
(e.key === 'v' && e.ctrlKey) || // Allow: Ctrl+V
|
|
39
|
-
(e.key === 'x' && e.ctrlKey) || // Allow: Ctrl+X
|
|
40
|
-
(e.key === 'a' && e.metaKey) || // Allow: Cmd+A (Mac)
|
|
41
|
-
(e.key === 'c' && e.metaKey) || // Allow: Cmd+C (Mac)
|
|
42
|
-
(e.key === 'v' && e.metaKey) || // Allow: Cmd+V (Mac)
|
|
43
|
-
(e.key === 'x' && e.metaKey) || // Allow: Cmd+X (Mac)
|
|
44
|
-
(this.decimal && e.key === this.decimalSeparator && this.decimalCounter < 1) || // Allow: only one decimal point
|
|
45
|
-
(this.decimal && e.key === this.minus && this.minusCounter < 1) // Allow: only one minus
|
|
46
|
-
) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
// Ensure that it is a number and stop the keypress
|
|
50
|
-
if (e.key === ' ' || !this.regex.test(e.key)) {
|
|
51
|
-
e.preventDefault();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
onKeyUp() {
|
|
56
|
-
if (this.digitsOnly) {
|
|
57
|
-
if (!this.decimal) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
this.decimalCounter = this.el.nativeElement.value.split(this.decimalSeparator).length - 1;
|
|
61
|
-
this.minusCounter = this.el.nativeElement.value.split(this.minus).length - 1;
|
|
62
|
-
if (isNaN(+this.inputElement.value)) {
|
|
63
|
-
this.inputElement.value = this.sanitizeInput(this.inputElement.value);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
onPaste(event) {
|
|
68
|
-
if (this.digitsOnly) {
|
|
69
|
-
const pastedInput = event.clipboardData?.getData('text/plain');
|
|
70
|
-
this.pasteData(pastedInput);
|
|
71
|
-
event.preventDefault();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
ngOnInit() {
|
|
75
|
-
this.regex = new RegExp(this.allowHyphen ? '^[\\d -]+$' : '\\d');
|
|
76
|
-
}
|
|
77
|
-
pasteData(pastedContent) {
|
|
78
|
-
const sanitizedContent = isNaN(+pastedContent) ? this.sanitizeInput(pastedContent) : pastedContent;
|
|
79
|
-
const pasted = document.execCommand('insertText', false, sanitizedContent);
|
|
80
|
-
if (!pasted) {
|
|
81
|
-
const { selectionStart: start, selectionEnd: end } = this.inputElement;
|
|
82
|
-
this.inputElement.setRangeText(sanitizedContent, start, end, 'end');
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
sanitizeInput(input) {
|
|
86
|
-
let result = '';
|
|
87
|
-
if (this.decimal && this.isValidDecimal(input)) {
|
|
88
|
-
const regex = new RegExp(`^[\d -${this.decimalSeparator}]+$`, 'g');
|
|
89
|
-
result = input.replace(regex, '');
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
result = input.replace(`/${this.regex}/g`, '');
|
|
93
|
-
}
|
|
94
|
-
const maxLength = this.inputElement.maxLength;
|
|
95
|
-
if (maxLength > 0) {
|
|
96
|
-
// the input element has maxLength limit
|
|
97
|
-
const allowedLength = maxLength - this.inputElement.value.length;
|
|
98
|
-
result = allowedLength > 0 ? result.substring(0, allowedLength) : '';
|
|
99
|
-
}
|
|
100
|
-
return result;
|
|
101
|
-
}
|
|
102
|
-
isValidDecimal(inputString) {
|
|
103
|
-
return inputString.split(this.decimalSeparator).length <= 2;
|
|
104
|
-
}
|
|
105
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DigitsOnlyDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
106
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: { digitsOnly: "digitsOnly", allowHyphen: "allowHyphen", decimal: "decimal", decimalSeparator: "decimalSeparator", unit: "unit" }, host: { listeners: { "keydown": "onKeyDown($event)", "keyup": "onKeyUp($event)", "paste": "onPaste($event)" } }, ngImport: i0 });
|
|
107
|
-
}
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DigitsOnlyDirective, decorators: [{
|
|
109
|
-
type: Directive,
|
|
110
|
-
args: [{
|
|
111
|
-
selector: '[appDigitsOnly]',
|
|
112
|
-
}]
|
|
113
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { digitsOnly: [{
|
|
114
|
-
type: Input
|
|
115
|
-
}], allowHyphen: [{
|
|
116
|
-
type: Input
|
|
117
|
-
}], decimal: [{
|
|
118
|
-
type: Input
|
|
119
|
-
}], decimalSeparator: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], unit: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], onKeyDown: [{
|
|
124
|
-
type: HostListener,
|
|
125
|
-
args: ['keydown', ['$event']]
|
|
126
|
-
}], onKeyUp: [{
|
|
127
|
-
type: HostListener,
|
|
128
|
-
args: ['keyup', ['$event']]
|
|
129
|
-
}], onPaste: [{
|
|
130
|
-
type: HostListener,
|
|
131
|
-
args: ['paste', ['$event']]
|
|
132
|
-
}] } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRzLW9ubHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvZGlyZWN0aXZlcy9kaWdpdHMtb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQUtuRixNQUFNLE9BQU8sbUJBQW1CO0lBZ0NYO0lBOUJuQixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBR25CLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFFWCxPQUFPLEdBQUksS0FBSyxDQUFDO0lBQ2pCLGdCQUFnQixHQUFJLEdBQUcsQ0FBQztJQUN4QixJQUFJLEdBQUksQ0FBQyxDQUFDO0lBRW5CLFlBQVksQ0FBbUI7SUFDL0IsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNaLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDakIsS0FBSyxDQUFVO0lBRVAsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUNWLGNBQWMsR0FBRztRQUNoQyxXQUFXO1FBQ1gsUUFBUTtRQUNSLEtBQUs7UUFDTCxRQUFRO1FBQ1IsT0FBTztRQUNQLE1BQU07UUFDTixLQUFLO1FBQ0wsV0FBVztRQUNYLFlBQVk7UUFDWixPQUFPO1FBQ1AsTUFBTTtRQUNOLE9BQU87S0FDUixDQUFDO0lBRUYsWUFBbUIsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFHRCxTQUFTLENBQUMsQ0FBZ0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQ0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJ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LFNBQVMsR0FBRyxDQUFDLEVBQUU7WUFDakIsd0NBQXdDO1lBQ3hDLE1BQU0sYUFBYSxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDakUsTUFBTSxHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDdEU7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sY0FBYyxDQUFDLFdBQW1CO1FBQ3hDLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQTBCLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3hFLENBQUM7dUdBMUhVLG1CQUFtQjsyRkFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCO2lHQUdDLFVBQVU7c0JBRFQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBNEJOLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkJuQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlCakMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1thcHBEaWdpdHNPbmx5XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWdpdHNPbmx5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIGRpZ2l0c09ubHkgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBhbGxvd0h5cGhlbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBkZWNpbWFsPyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRlY2ltYWxTZXBhcmF0b3I/ID0gJy4nO1xyXG4gIEBJbnB1dCgpIHVuaXQ/ID0gMDtcclxuXHJcbiAgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xyXG4gIG1pbnVzID0gJy0nO1xyXG4gIG1pbnVzQ291bnRlciA9IDA7XHJcbiAgcmVnZXghOiBSZWdFeHA7XHJcblxyXG4gIHByaXZhdGUgZGVjaW1hbENvdW50ZXIgPSAwO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbmF2aWdhdGlvbktleXMgPSBbXHJcbiAgICAnQmFja3NwYWNlJyxcclxuICAgICdEZWxldGUnLFxyXG4gICAgJ1RhYicsXHJcbiAgICAnRXNjYXBlJyxcclxuICAgICdFbnRlcicsXHJcbiAgICAnSG9tZScsXHJcbiAgICAnRW5kJyxcclxuICAgICdBcnJvd0xlZnQnLFxyXG4gICAgJ0Fycm93UmlnaHQnLFxyXG4gICAgJ0NsZWFyJyxcclxuICAgICdDb3B5JyxcclxuICAgICdQYXN0ZScsXHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IGVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBvbktleURvd24oZTogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlnaXRzT25seSkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uS2V5cy5pbmRleE9mKGUua2V5KSA+IC0xIHx8IC8vIEFsbG93OiBuYXZpZ2F0aW9uIGtleXM6IGJhY2tzcGFjZSwgZGVsZXRlLCBhcnJvd3MgZXRjLlxyXG4gICAgICAgIChlLmtleSA9PT0gJ2EnICYmIGUuY3RybEtleSkgfHwgLy8gQWxsb3c6IEN0cmwrQVxyXG4gICAgICAgIChlLmtleSA9PT0gJ2MnICYmIGUuY3RybEtleSkgfHwgLy8gQWxsb3c6IEN0cmwrQ1xyXG4gICAgICAgIChlLmtleSA9PT0gJ3YnICYmIGUuY3RybEtleSkgfHwgLy8gQWxsb3c6IEN0cmwrVlxyXG4gICAgICAgIChlLmtleSA9PT0gJ3gnICYmIGUuY3RybEtleSkgfHwgLy8gQWxsb3c6IEN0cmwrWFxyXG4gICAgICAgIChlLmtleSA9PT0gJ2EnICYmIGUubWV0YUtleSkgfHwgLy8gQWxsb3c6IENtZCtBIChNYWMpXHJcbiAgICAgICAgKGUua2V5ID09PSAnYycgJiYgZS5tZXRhS2V5KSB8fCAvLyBBbGxvdzogQ21kK0MgKE1hYylcclxuICAgICAgICAoZS5rZXkgPT09ICd2JyAmJiBlLm1ldGFLZXkpIHx8IC8vIEFsbG93OiBDbWQrViAoTWFjKVxyXG4gICAgICAgIChlLmtleSA9PT0gJ3gnICYmIGUubWV0YUtleSkgfHwgLy8gQWxsb3c6IENtZCtYIChNYWMpXHJcbiAgICAgICAgKHRoaXMuZGVjaW1hbCAmJiBlLmtleSA9PT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yICYmIHRoaXMuZGVjaW1hbENvdW50ZXIgPCAxKSB8fCAvLyBBbGxvdzogb25seSBvbmUgZGVjaW1hbCBwb2ludFxyXG4gICAgICAgICh0aGlzLmRlY2ltYWwgJiYgZS5rZXkgPT09IHRoaXMubWludXMgJiYgdGhpcy5taW51c0NvdW50ZXIgPCAxKSAvLyBBbGxvdzogb25seSBvbmUgbWludXNcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBFbnN1cmUgdGhhdCBpdCBpcyBhIG51bWJlciBhbmQgc3RvcCB0aGUga2V5cHJlc3NcclxuICAgICAgaWYgKGUua2V5ID09PSAnICcgfHwgIXRoaXMucmVnZXgudGVzdChlLmtleSkpIHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleXVwJywgWyckZXZlbnQnXSlcclxuICBvbktleVVwKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlnaXRzT25seSkge1xyXG4gICAgICBpZiAoIXRoaXMuZGVjaW1hbCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5kZWNpbWFsQ291bnRlciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZS5zcGxpdCh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpLmxlbmd0aCAtIDE7XHJcbiAgICAgIHRoaXMubWludXNDb3VudGVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlLnNwbGl0KHRoaXMubWludXMpLmxlbmd0aCAtIDE7XHJcblxyXG4gICAgICBpZiAoaXNOYU4oK3RoaXMuaW5wdXRFbGVtZW50LnZhbHVlKSkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5zYW5pdGl6ZUlucHV0KHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigncGFzdGUnLCBbJyRldmVudCddKVxyXG4gIG9uUGFzdGUoZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaWdpdHNPbmx5KSB7XHJcbiAgICAgIGNvbnN0IHBhc3RlZElucHV0ID0gZXZlbnQuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dC9wbGFpbicpIGFzIHN0cmluZztcclxuICAgICAgdGhpcy5wYXN0ZURhdGEocGFzdGVkSW5wdXQpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZ2V4ID0gbmV3IFJlZ0V4cCh0aGlzLmFsbG93SHlwaGVuID8gJ15bXFxcXGQgLV0rJCcgOiAnXFxcXGQnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFzdGVEYXRhKHBhc3RlZENvbnRlbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2FuaXRpemVkQ29udGVudCA9IGlzTmFOKCtwYXN0ZWRDb250ZW50KSA/IHRoaXMuc2FuaXRpemVJbnB1dChwYXN0ZWRDb250ZW50KSA6IHBhc3RlZENvbnRlbnQ7XHJcbiAgICBjb25zdCBwYXN0ZWQgPSBkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4dCcsIGZhbHNlLCBzYW5pdGl6ZWRDb250ZW50KTtcclxuICAgIGlmICghcGFzdGVkKSB7XHJcbiAgICAgIGNvbnN0IHsgc2VsZWN0aW9uU3RhcnQ6IHN0YXJ0LCBzZWxlY3Rpb25FbmQ6IGVuZCB9ID0gdGhpcy5pbnB1dEVsZW1lbnQ7XHJcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnNldFJhbmdlVGV4dChzYW5pdGl6ZWRDb250ZW50LCBzdGFydCBhcyBudW1iZXIsIGVuZCBhcyBudW1iZXIsICdlbmQnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2FuaXRpemVJbnB1dChpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGlmICh0aGlzLmRlY2ltYWwgJiYgdGhpcy5pc1ZhbGlkRGVjaW1hbChpbnB1dCkpIHtcclxuICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBeW1xcZCAtJHt0aGlzLmRlY2ltYWxTZXBhcmF0b3J9XSskYCwgJ2cnKTtcclxuICAgICAgcmVzdWx0ID0gaW5wdXQucmVwbGFjZShyZWdleCwgJycpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmVzdWx0ID0gaW5wdXQucmVwbGFjZShgLyR7dGhpcy5yZWdleH0vZ2AsICcnKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtYXhMZW5ndGggPSB0aGlzLmlucHV0RWxlbWVudC5tYXhMZW5ndGg7XHJcblxyXG4gICAgaWYgKG1heExlbmd0aCA+IDApIHtcclxuICAgICAgLy8gdGhlIGlucHV0IGVsZW1lbnQgaGFzIG1heExlbmd0aCBsaW1pdFxyXG4gICAgICBjb25zdCBhbGxvd2VkTGVuZ3RoID0gbWF4TGVuZ3RoIC0gdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoO1xyXG4gICAgICByZXN1bHQgPSBhbGxvd2VkTGVuZ3RoID4gMCA/IHJlc3VsdC5zdWJzdHJpbmcoMCwgYWxsb3dlZExlbmd0aCkgOiAnJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1ZhbGlkRGVjaW1hbChpbnB1dFN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaW5wdXRTdHJpbmcuc3BsaXQodGhpcy5kZWNpbWFsU2VwYXJhdG9yIGFzIHN0cmluZykubGVuZ3RoIDw9IDI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class NumberBorderDirective {
|
|
4
|
-
el;
|
|
5
|
-
maxValue;
|
|
6
|
-
minValue;
|
|
7
|
-
inputElement;
|
|
8
|
-
constructor(el) {
|
|
9
|
-
this.el = el;
|
|
10
|
-
this.inputElement = el.nativeElement;
|
|
11
|
-
}
|
|
12
|
-
onKeyUp(e) {
|
|
13
|
-
const value = +e.target.value;
|
|
14
|
-
if (isNaN(value)) {
|
|
15
|
-
this.inputElement.value = this.sanitizeInput(e.target.value);
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
if (this.maxValue) {
|
|
19
|
-
if (value > this.maxValue) {
|
|
20
|
-
this.inputElement.value = this.sanitizeInput(this.maxValue.toString());
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
if (this.minValue && this.minValue !== value) {
|
|
25
|
-
if (value < this.minValue) {
|
|
26
|
-
this.inputElement.value = this.sanitizeInput(this.minValue.toString());
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
sanitizeInput(input) {
|
|
32
|
-
let result = '';
|
|
33
|
-
const regex = new RegExp(`/\d+/g`);
|
|
34
|
-
result = input.replace(regex, '');
|
|
35
|
-
const maxLength = this.inputElement.maxLength;
|
|
36
|
-
if (maxLength > 0) {
|
|
37
|
-
const allowedLength = maxLength - this.inputElement.value.length;
|
|
38
|
-
result = allowedLength > 0 ? result.substring(0, allowedLength) : '';
|
|
39
|
-
}
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
42
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NumberBorderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
43
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: NumberBorderDirective, selector: "[appNumberBorder]", inputs: { maxValue: "maxValue", minValue: "minValue" }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 });
|
|
44
|
-
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NumberBorderDirective, decorators: [{
|
|
46
|
-
type: Directive,
|
|
47
|
-
args: [{
|
|
48
|
-
selector: '[appNumberBorder]',
|
|
49
|
-
}]
|
|
50
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { maxValue: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}], minValue: [{
|
|
53
|
-
type: Input
|
|
54
|
-
}], onKeyUp: [{
|
|
55
|
-
type: HostListener,
|
|
56
|
-
args: ['keyup', ['$event']]
|
|
57
|
-
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJvcmRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9kaXJlY3RpdmVzL251bWJlci1ib3JkZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0UsTUFBTSxPQUFPLHFCQUFxQjtJQU1iO0lBTFYsUUFBUSxDQUFTO0lBQ2pCLFFBQVEsQ0FBUztJQUUxQixZQUFZLENBQW1CO0lBRS9CLFlBQW1CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBR0QsT0FBTyxDQUFDLENBQUM7UUFDUCxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRTlCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU3RCxPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBRXZFLE9BQU87YUFDUjtTQUNGO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQzVDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUV2RSxPQUFPO2FBQ1I7U0FDRjtJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsS0FBYTtRQUNqQyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBRTlDLElBQUksU0FBUyxHQUFHLENBQUMsRUFBRTtZQUNqQixNQUFNLGFBQWEsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pFLE1BQU0sR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ3RFO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzt1R0FsRFUscUJBQXFCOzJGQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7aUdBRVUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQVNOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FwcE51bWJlckJvcmRlcl0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTnVtYmVyQm9yZGVyRGlyZWN0aXZlIHtcclxuICBASW5wdXQoKSBtYXhWYWx1ZTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG1pblZhbHVlOiBudW1iZXI7XHJcblxyXG4gIGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLmlucHV0RWxlbWVudCA9IGVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXHJcbiAgb25LZXlVcChlKTogdm9pZCB7XHJcbiAgICBjb25zdCB2YWx1ZSA9ICtlLnRhcmdldC52YWx1ZTtcclxuXHJcbiAgICBpZiAoaXNOYU4odmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5zYW5pdGl6ZUlucHV0KGUudGFyZ2V0LnZhbHVlKTtcclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tYXhWYWx1ZSkge1xyXG4gICAgICBpZiAodmFsdWUgPiB0aGlzLm1heFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSB0aGlzLnNhbml0aXplSW5wdXQodGhpcy5tYXhWYWx1ZS50b1N0cmluZygpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWluVmFsdWUgJiYgdGhpcy5taW5WYWx1ZSAhPT0gdmFsdWUpIHtcclxuICAgICAgaWYgKHZhbHVlIDwgdGhpcy5taW5WYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5zYW5pdGl6ZUlucHV0KHRoaXMubWluVmFsdWUudG9TdHJpbmcoKSk7XHJcblxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYW5pdGl6ZUlucHV0KGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGAvXFxkKy9nYCk7XHJcbiAgICByZXN1bHQgPSBpbnB1dC5yZXBsYWNlKHJlZ2V4LCAnJyk7XHJcblxyXG4gICAgY29uc3QgbWF4TGVuZ3RoID0gdGhpcy5pbnB1dEVsZW1lbnQubWF4TGVuZ3RoO1xyXG5cclxuICAgIGlmIChtYXhMZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGFsbG93ZWRMZW5ndGggPSBtYXhMZW5ndGggLSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGg7XHJcbiAgICAgIHJlc3VsdCA9IGFsbG93ZWRMZW5ndGggPiAwID8gcmVzdWx0LnN1YnN0cmluZygwLCBhbGxvd2VkTGVuZ3RoKSA6ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { Input, Output, EventEmitter, Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export default class ElementBaseComponent {
|
|
4
|
-
type;
|
|
5
|
-
name;
|
|
6
|
-
label;
|
|
7
|
-
placeholder = '';
|
|
8
|
-
validationLabel;
|
|
9
|
-
disabled = false;
|
|
10
|
-
showValidation = true;
|
|
11
|
-
showValidationOnNotTouched = false;
|
|
12
|
-
hideValidationMessage = false;
|
|
13
|
-
iconClass = '';
|
|
14
|
-
loading = false;
|
|
15
|
-
showHint = false;
|
|
16
|
-
maxLength;
|
|
17
|
-
tooltip;
|
|
18
|
-
showAsterisk = true;
|
|
19
|
-
focused = new EventEmitter();
|
|
20
|
-
focusOuted = new EventEmitter();
|
|
21
|
-
control;
|
|
22
|
-
required = false;
|
|
23
|
-
getData() {
|
|
24
|
-
return {
|
|
25
|
-
type: this.type || 'text',
|
|
26
|
-
label: this.label,
|
|
27
|
-
placeholder: this.placeholder,
|
|
28
|
-
validationLabel: this.validationLabel,
|
|
29
|
-
disabled: this.disabled,
|
|
30
|
-
showValidation: this.showValidation,
|
|
31
|
-
showValidationOnNotTouched: this.showValidationOnNotTouched,
|
|
32
|
-
hideValidationMessage: this.hideValidationMessage,
|
|
33
|
-
iconClass: this.iconClass,
|
|
34
|
-
control: this.control,
|
|
35
|
-
loading: this.loading,
|
|
36
|
-
showHint: this.showHint,
|
|
37
|
-
maxLength: this.maxLength,
|
|
38
|
-
tooltip: this.tooltip,
|
|
39
|
-
name: this.name,
|
|
40
|
-
required: this.isRequired(this.control),
|
|
41
|
-
showAsterisk: this.showAsterisk,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
isRequired = (ctrl) => {
|
|
45
|
-
if (ctrl?.validator) {
|
|
46
|
-
const validator = ctrl.validator({});
|
|
47
|
-
if (validator && validator['required']) {
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if (ctrl?.['controls']) {
|
|
52
|
-
for (const name in ctrl['controls']) {
|
|
53
|
-
if (ctrl['controls'][name]) {
|
|
54
|
-
if (this.isRequired(ctrl['controls'][name])) {
|
|
55
|
-
return true;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return false;
|
|
61
|
-
};
|
|
62
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ElementBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ElementBaseComponent, selector: "ng-component", inputs: { type: "type", name: "name", label: "label", placeholder: "placeholder", validationLabel: "validationLabel", disabled: "disabled", showValidation: "showValidation", showValidationOnNotTouched: "showValidationOnNotTouched", hideValidationMessage: "hideValidationMessage", iconClass: "iconClass", loading: "loading", showHint: "showHint", maxLength: "maxLength", tooltip: "tooltip", showAsterisk: "showAsterisk" }, outputs: { focused: "focused", focusOuted: "focusOuted" }, ngImport: i0, template: '', isInline: true });
|
|
64
|
-
}
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ElementBaseComponent, decorators: [{
|
|
66
|
-
type: Component,
|
|
67
|
-
args: [{
|
|
68
|
-
template: '',
|
|
69
|
-
}]
|
|
70
|
-
}], propDecorators: { type: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], name: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], label: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], placeholder: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}], validationLabel: [{
|
|
79
|
-
type: Input
|
|
80
|
-
}], disabled: [{
|
|
81
|
-
type: Input
|
|
82
|
-
}], showValidation: [{
|
|
83
|
-
type: Input
|
|
84
|
-
}], showValidationOnNotTouched: [{
|
|
85
|
-
type: Input
|
|
86
|
-
}], hideValidationMessage: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}], iconClass: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], loading: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], showHint: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], maxLength: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}], tooltip: [{
|
|
97
|
-
type: Input
|
|
98
|
-
}], showAsterisk: [{
|
|
99
|
-
type: Input
|
|
100
|
-
}], focused: [{
|
|
101
|
-
type: Output
|
|
102
|
-
}], focusOuted: [{
|
|
103
|
-
type: Output
|
|
104
|
-
}] } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvZWxlbWVudC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sb0JBQW9CO0lBQzlCLElBQUksQ0FBUztJQUNiLElBQUksQ0FBUztJQUNiLEtBQUssQ0FBUztJQUNkLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDakIsZUFBZSxDQUFTO0lBQ3hCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsY0FBYyxHQUFHLElBQUksQ0FBQztJQUN0QiwwQkFBMEIsR0FBRyxLQUFLLENBQUM7SUFDbkMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBQzlCLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDZixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsU0FBUyxDQUFVO0lBQ25CLE9BQU8sQ0FBVTtJQUNqQixZQUFZLEdBQVksSUFBSSxDQUFDO0lBRTVCLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRS9DLE9BQU8sQ0FBc0I7SUFDN0IsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUUxQixPQUFPO1FBQ0wsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU07WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsMEJBQTBCO1lBQzNELHFCQUFxQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7WUFDakQsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUN2QyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFTyxVQUFVLEdBQUcsQ0FBQyxJQUFTLEVBQVcsRUFBRTtRQUMxQyxJQUFJLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDbkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFxQixDQUFDLENBQUM7WUFDeEQsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN0QyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFFRCxJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3RCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDMUIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO3dCQUMzQyxPQUFPLElBQUksQ0FBQztxQkFDYjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQzt1R0FoRWlCLG9CQUFvQjsyRkFBcEIsb0JBQW9CLHFoQkFGN0IsRUFBRTs7MkZBRU8sb0JBQW9CO2tCQUh4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiOzhCQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbn0pXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVsZW1lbnRCYXNlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSB0eXBlITpzdHJpbmc7XHJcbiAgQElucHV0KCkgbmFtZSE6c3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsITpzdHJpbmc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICBASW5wdXQoKSB2YWxpZGF0aW9uTGFiZWwhOnN0cmluZztcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dWYWxpZGF0aW9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93VmFsaWRhdGlvbk9uTm90VG91Y2hlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpZGVWYWxpZGF0aW9uTWVzc2FnZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGljb25DbGFzcyA9ICcnO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93SGludDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1heExlbmd0aCE6IG51bWJlcjtcclxuICBASW5wdXQoKSB0b29sdGlwITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNob3dBc3RlcmlzazogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBmb2N1c2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGZvY3VzT3V0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29udHJvbCE6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuICByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBnZXREYXRhKCk6IGFueSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0eXBlOiB0aGlzLnR5cGUgfHwgJ3RleHQnLFxyXG4gICAgICBsYWJlbDogdGhpcy5sYWJlbCxcclxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMucGxhY2Vob2xkZXIsXHJcbiAgICAgIHZhbGlkYXRpb25MYWJlbDogdGhpcy52YWxpZGF0aW9uTGFiZWwsXHJcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxyXG4gICAgICBzaG93VmFsaWRhdGlvbjogdGhpcy5zaG93VmFsaWRhdGlvbixcclxuICAgICAgc2hvd1ZhbGlkYXRpb25Pbk5vdFRvdWNoZWQ6IHRoaXMuc2hvd1ZhbGlkYXRpb25Pbk5vdFRvdWNoZWQsXHJcbiAgICAgIGhpZGVWYWxpZGF0aW9uTWVzc2FnZTogdGhpcy5oaWRlVmFsaWRhdGlvbk1lc3NhZ2UsXHJcbiAgICAgIGljb25DbGFzczogdGhpcy5pY29uQ2xhc3MsXHJcbiAgICAgIGNvbnRyb2w6IHRoaXMuY29udHJvbCxcclxuICAgICAgbG9hZGluZzogdGhpcy5sb2FkaW5nLFxyXG4gICAgICBzaG93SGludDogdGhpcy5zaG93SGludCxcclxuICAgICAgbWF4TGVuZ3RoOiB0aGlzLm1heExlbmd0aCxcclxuICAgICAgdG9vbHRpcDogdGhpcy50b29sdGlwLFxyXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXHJcbiAgICAgIHJlcXVpcmVkOiB0aGlzLmlzUmVxdWlyZWQodGhpcy5jb250cm9sKSxcclxuICAgICAgc2hvd0FzdGVyaXNrOiB0aGlzLnNob3dBc3RlcmlzayxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzUmVxdWlyZWQgPSAoY3RybDogYW55KTogYm9vbGVhbiA9PiB7XHJcbiAgICBpZiAoY3RybD8udmFsaWRhdG9yKSB7XHJcbiAgICAgIGNvbnN0IHZhbGlkYXRvciA9IGN0cmwudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICAgIGlmICh2YWxpZGF0b3IgJiYgdmFsaWRhdG9yWydyZXF1aXJlZCddKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoY3RybD8uWydjb250cm9scyddKSB7XHJcbiAgICAgIGZvciAoY29uc3QgbmFtZSBpbiBjdHJsWydjb250cm9scyddKSB7XHJcbiAgICAgICAgaWYgKGN0cmxbJ2NvbnRyb2xzJ11bbmFtZV0pIHtcclxuICAgICAgICAgIGlmICh0aGlzLmlzUmVxdWlyZWQoY3RybFsnY29udHJvbHMnXVtuYW1lXSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH07XHJcbn1cclxuIl19
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "../../ecabs-loading/spinner/spinner.component";
|
|
5
|
-
import * as i3 from "../validation/validation.component";
|
|
6
|
-
import * as i4 from "@angular/material/icon";
|
|
7
|
-
import * as i5 from "@angular/material/tooltip";
|
|
8
|
-
import * as i6 from "../hint/hint.component";
|
|
9
|
-
export class ElementWrapperComponent {
|
|
10
|
-
data;
|
|
11
|
-
showCloseIcon;
|
|
12
|
-
focusedFlag;
|
|
13
|
-
showPassword;
|
|
14
|
-
control;
|
|
15
|
-
showHidePassword = new EventEmitter();
|
|
16
|
-
clear = new EventEmitter();
|
|
17
|
-
increase = new EventEmitter();
|
|
18
|
-
decrease = new EventEmitter();
|
|
19
|
-
showHidePasswordFn(event) {
|
|
20
|
-
this.showHidePassword.emit(event);
|
|
21
|
-
}
|
|
22
|
-
clearFn() {
|
|
23
|
-
this.clear.emit();
|
|
24
|
-
}
|
|
25
|
-
increaseFn() {
|
|
26
|
-
this.increase.emit();
|
|
27
|
-
}
|
|
28
|
-
decreaseFn() {
|
|
29
|
-
this.decrease.emit();
|
|
30
|
-
}
|
|
31
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ElementWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ElementWrapperComponent, selector: "app-element-wrapper", inputs: { data: "data", showCloseIcon: "showCloseIcon", focusedFlag: "focusedFlag", showPassword: "showPassword", control: "control" }, outputs: { showHidePassword: "showHidePassword", clear: "clear", increase: "increase", decrease: "decrease" }, ngImport: i0, template: "<div\r\n class=\"form-field\"\r\n [ngClass]=\"{\r\n 'form-field--invalid':\r\n data?.showValidation && (data?.control?.touched || data?.showValidationOnNotTouched) && data?.control?.invalid,\r\n disabled: data?.disabled,\r\n 'form-field--required': data?.required && data?.showAsterisk\r\n }\"\r\n>\r\n <div>\r\n <label class=\"form-field__label\" [attr.for]=\"data?.name\" *ngIf=\"data?.label\">\r\n <span [innerHTML]=\"data?.label\"></span>\r\n <mat-icon class=\"icon\" *ngIf=\"data?.tooltip\" [matTooltip]=\"data?.tooltip\">error_outline</mat-icon>\r\n </label>\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ecabs-loading-spinner class=\"spinner\" size=\"tiny\" *ngIf=\"data.loading\"></ecabs-loading-spinner>\r\n\r\n <app-hint [element]=\"data?.control\" [showHint]=\"data?.showHint\" [maxValue]=\"data?.maxLength\"></app-hint>\r\n\r\n <app-validations-messages\r\n *ngIf=\"data?.showValidation && !data?.hideValidationMessage\"\r\n [element]=\"data?.control\"\r\n [label]=\"data?.label ? data?.label : data?.placeholder ? data.placeholder : data?.validationLabel\"\r\n [showValidationOnNotTouched]=\"data?.showValidationOnNotTouched\"\r\n >\r\n </app-validations-messages>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }, { kind: "component", type: i3.ValidationComponent, selector: "app-validations-messages", inputs: ["element", "label", "showValidationOnNotTouched", "updatedErrors"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.HintComponent, selector: "app-hint", inputs: ["element", "maxValue", "showHint"] }] });
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ElementWrapperComponent, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{ selector: 'app-element-wrapper', template: "<div\r\n class=\"form-field\"\r\n [ngClass]=\"{\r\n 'form-field--invalid':\r\n data?.showValidation && (data?.control?.touched || data?.showValidationOnNotTouched) && data?.control?.invalid,\r\n disabled: data?.disabled,\r\n 'form-field--required': data?.required && data?.showAsterisk\r\n }\"\r\n>\r\n <div>\r\n <label class=\"form-field__label\" [attr.for]=\"data?.name\" *ngIf=\"data?.label\">\r\n <span [innerHTML]=\"data?.label\"></span>\r\n <mat-icon class=\"icon\" *ngIf=\"data?.tooltip\" [matTooltip]=\"data?.tooltip\">error_outline</mat-icon>\r\n </label>\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ecabs-loading-spinner class=\"spinner\" size=\"tiny\" *ngIf=\"data.loading\"></ecabs-loading-spinner>\r\n\r\n <app-hint [element]=\"data?.control\" [showHint]=\"data?.showHint\" [maxValue]=\"data?.maxLength\"></app-hint>\r\n\r\n <app-validations-messages\r\n *ngIf=\"data?.showValidation && !data?.hideValidationMessage\"\r\n [element]=\"data?.control\"\r\n [label]=\"data?.label ? data?.label : data?.placeholder ? data.placeholder : data?.validationLabel\"\r\n [showValidationOnNotTouched]=\"data?.showValidationOnNotTouched\"\r\n >\r\n </app-validations-messages>\r\n</div>\r\n" }]
|
|
37
|
-
}], propDecorators: { data: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], showCloseIcon: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], focusedFlag: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], showPassword: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], control: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], showHidePassword: [{
|
|
48
|
-
type: Output
|
|
49
|
-
}], clear: [{
|
|
50
|
-
type: Output
|
|
51
|
-
}], increase: [{
|
|
52
|
-
type: Output
|
|
53
|
-
}], decrease: [{
|
|
54
|
-
type: Output
|
|
55
|
-
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvZWxlbWVudC13cmFwcGVyL2VsZW1lbnQtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQU12RSxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLElBQUksQ0FBTTtJQUNWLGFBQWEsQ0FBVTtJQUN2QixXQUFXLENBQU07SUFDakIsWUFBWSxDQUFVO0lBQ3RCLE9BQU8sQ0FBTTtJQUNaLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDaEMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbkMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFN0Msa0JBQWtCLENBQUMsS0FBUztRQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7dUdBekJVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLGtUQ05wQyxzdUNBOEJBOzsyRkR4QmEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLHFCQUFxQjs4QkFJdEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1lbGVtZW50LXdyYXBwZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGVtZW50LXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWxlbWVudFdyYXBwZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGRhdGEhOmFueTtcclxuICBASW5wdXQoKSBzaG93Q2xvc2VJY29uITpib29sZWFuO1xyXG4gIEBJbnB1dCgpIGZvY3VzZWRGbGFnITphbnk7XHJcbiAgQElucHV0KCkgc2hvd1Bhc3N3b3JkITpib29sZWFuO1xyXG4gIEBJbnB1dCgpIGNvbnRyb2whOmFueTtcclxuICBAT3V0cHV0KCkgc2hvd0hpZGVQYXNzd29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBjbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBpbmNyZWFzZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBkZWNyZWFzZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBzaG93SGlkZVBhc3N3b3JkRm4oZXZlbnQ6YW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dIaWRlUGFzc3dvcmQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBjbGVhckZuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhci5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBpbmNyZWFzZUZuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbmNyZWFzZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBkZWNyZWFzZUZuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZWNyZWFzZS5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImZvcm0tZmllbGRcIlxyXG4gIFtuZ0NsYXNzXT1cIntcclxuICAgICdmb3JtLWZpZWxkLS1pbnZhbGlkJzpcclxuICAgICAgZGF0YT8uc2hvd1ZhbGlkYXRpb24gJiYgKGRhdGE/LmNvbnRyb2w/LnRvdWNoZWQgfHwgZGF0YT8uc2hvd1ZhbGlkYXRpb25Pbk5vdFRvdWNoZWQpICYmIGRhdGE/LmNvbnRyb2w/LmludmFsaWQsXHJcbiAgICBkaXNhYmxlZDogZGF0YT8uZGlzYWJsZWQsXHJcbiAgICAnZm9ybS1maWVsZC0tcmVxdWlyZWQnOiBkYXRhPy5yZXF1aXJlZCAmJiBkYXRhPy5zaG93QXN0ZXJpc2tcclxuICB9XCJcclxuPlxyXG4gIDxkaXY+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWZpZWxkX19sYWJlbFwiIFthdHRyLmZvcl09XCJkYXRhPy5uYW1lXCIgKm5nSWY9XCJkYXRhPy5sYWJlbFwiPlxyXG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImRhdGE/LmxhYmVsXCI+PC9zcGFuPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uXCIgKm5nSWY9XCJkYXRhPy50b29sdGlwXCIgW21hdFRvb2x0aXBdPVwiZGF0YT8udG9vbHRpcFwiPmVycm9yX291dGxpbmU8L21hdC1pY29uPlxyXG4gICAgPC9sYWJlbD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuICA8ZWNhYnMtbG9hZGluZy1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIHNpemU9XCJ0aW55XCIgKm5nSWY9XCJkYXRhLmxvYWRpbmdcIj48L2VjYWJzLWxvYWRpbmctc3Bpbm5lcj5cclxuXHJcbiAgPGFwcC1oaW50IFtlbGVtZW50XT1cImRhdGE/LmNvbnRyb2xcIiBbc2hvd0hpbnRdPVwiZGF0YT8uc2hvd0hpbnRcIiBbbWF4VmFsdWVdPVwiZGF0YT8ubWF4TGVuZ3RoXCI+PC9hcHAtaGludD5cclxuXHJcbiAgPGFwcC12YWxpZGF0aW9ucy1tZXNzYWdlc1xyXG4gICAgKm5nSWY9XCJkYXRhPy5zaG93VmFsaWRhdGlvbiAmJiAhZGF0YT8uaGlkZVZhbGlkYXRpb25NZXNzYWdlXCJcclxuICAgIFtlbGVtZW50XT1cImRhdGE/LmNvbnRyb2xcIlxyXG4gICAgW2xhYmVsXT1cImRhdGE/LmxhYmVsID8gZGF0YT8ubGFiZWwgOiBkYXRhPy5wbGFjZWhvbGRlciA/IGRhdGEucGxhY2Vob2xkZXIgOiBkYXRhPy52YWxpZGF0aW9uTGFiZWxcIlxyXG4gICAgW3Nob3dWYWxpZGF0aW9uT25Ob3RUb3VjaGVkXT1cImRhdGE/LnNob3dWYWxpZGF0aW9uT25Ob3RUb3VjaGVkXCJcclxuICA+XHJcbiAgPC9hcHAtdmFsaWRhdGlvbnMtbWVzc2FnZXM+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
export class HintComponent {
|
|
5
|
-
element;
|
|
6
|
-
maxValue;
|
|
7
|
-
showHint = false;
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: HintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: HintComponent, selector: "app-hint", inputs: { element: "element", maxValue: "maxValue", showHint: "showHint" }, ngImport: i0, template: "<div class=\"hint\" *ngIf=\"element && showHint\">{{ element?.value?.length || 0 }}/{{ this.maxValue }}</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: HintComponent, decorators: [{
|
|
12
|
-
type: Component,
|
|
13
|
-
args: [{ selector: 'app-hint', template: "<div class=\"hint\" *ngIf=\"element && showHint\">{{ element?.value?.length || 0 }}/{{ this.maxValue }}</div>\r\n" }]
|
|
14
|
-
}], propDecorators: { element: [{
|
|
15
|
-
type: Input
|
|
16
|
-
}], maxValue: [{
|
|
17
|
-
type: Input
|
|
18
|
-
}], showHint: [{
|
|
19
|
-
type: Input
|
|
20
|
-
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9oaW50L2hpbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvaGludC9oaW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPakQsTUFBTSxPQUFPLGFBQWE7SUFDZixPQUFPLENBQU07SUFDYixRQUFRLENBQVM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQzt1R0FIZixhQUFhOzJGQUFiLGFBQWEsNEhDUDFCLG1IQUNBOzsyRkRNYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFVBQVU7OEJBS1gsT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWhpbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oaW50LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaW50Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSBlbGVtZW50ITphbnk7XHJcbiAgQElucHV0KCkgbWF4VmFsdWUhOm51bWJlcjtcclxuICBASW5wdXQoKSBzaG93SGludCA9IGZhbHNlO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJoaW50XCIgKm5nSWY9XCJlbGVtZW50ICYmIHNob3dIaW50XCI+e3sgZWxlbWVudD8udmFsdWU/Lmxlbmd0aCB8fCAwIH19L3t7IHRoaXMubWF4VmFsdWUgfX08L2Rpdj5cclxuIl19
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Component, Input, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/ecabs-components.service";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
export class ValidationComponent {
|
|
6
|
-
ecabsService;
|
|
7
|
-
element;
|
|
8
|
-
label;
|
|
9
|
-
showValidationOnNotTouched = false;
|
|
10
|
-
updatedErrors;
|
|
11
|
-
config;
|
|
12
|
-
_messages = {};
|
|
13
|
-
get messages() {
|
|
14
|
-
if (this.element) {
|
|
15
|
-
for (const errorKey in this.element.errors) {
|
|
16
|
-
for (const key in this.element.errors[errorKey]) {
|
|
17
|
-
if (this._messages[errorKey]) {
|
|
18
|
-
this._messages[errorKey] = this._messages[errorKey].replace(`[${key}]`, this.element.errors[errorKey][key]);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return this._messages;
|
|
24
|
-
}
|
|
25
|
-
set messages(m) {
|
|
26
|
-
this._messages = m;
|
|
27
|
-
}
|
|
28
|
-
constructor(ecabsService) {
|
|
29
|
-
this.ecabsService = ecabsService;
|
|
30
|
-
}
|
|
31
|
-
ngOnInit() {
|
|
32
|
-
this.config = this.ecabsService.getConfig();
|
|
33
|
-
for (let error of this.config.errorMessages) {
|
|
34
|
-
this.messages[error.type] = this.replaceTokens(error.message);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
ngOnChanges(changes) {
|
|
38
|
-
const { updatedErrors } = changes;
|
|
39
|
-
if (updatedErrors &&
|
|
40
|
-
updatedErrors.currentValue &&
|
|
41
|
-
updatedErrors.currentValue.length > 0) {
|
|
42
|
-
for (const error of updatedErrors.currentValue) {
|
|
43
|
-
this.messages[error.type] = error.message;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
replaceTokens(message) {
|
|
48
|
-
let retMessage;
|
|
49
|
-
if (this.label) {
|
|
50
|
-
retMessage = message.replace('[label]', this.label);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
retMessage = message;
|
|
54
|
-
}
|
|
55
|
-
return retMessage;
|
|
56
|
-
}
|
|
57
|
-
getMessageDetail(key) {
|
|
58
|
-
return this.messages[key];
|
|
59
|
-
}
|
|
60
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ValidationComponent, deps: [{ token: i1.EcabsComponentsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ValidationComponent, selector: "app-validations-messages", inputs: { element: "element", label: "label", showValidationOnNotTouched: "showValidationOnNotTouched", updatedErrors: "updatedErrors" }, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"form-field__validation\"\r\n *ngIf=\"element && (element?.touched || showValidationOnNotTouched) && element?.invalid\"\r\n>\r\n <div class=\"form-field__validation__item\" *ngFor=\"let item of element?.errors | keyvalue\">\r\n {{ getMessageDetail(item.key) }}\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }] });
|
|
62
|
-
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ValidationComponent, decorators: [{
|
|
64
|
-
type: Component,
|
|
65
|
-
args: [{ selector: 'app-validations-messages', template: "<div\r\n class=\"form-field__validation\"\r\n *ngIf=\"element && (element?.touched || showValidationOnNotTouched) && element?.invalid\"\r\n>\r\n <div class=\"form-field__validation__item\" *ngFor=\"let item of element?.errors | keyvalue\">\r\n {{ getMessageDetail(item.key) }}\r\n </div>\r\n</div>\r\n" }]
|
|
66
|
-
}], ctorParameters: function () { return [{ type: i1.EcabsComponentsService }]; }, propDecorators: { element: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}], label: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], showValidationOnNotTouched: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], updatedErrors: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS92YWxpZGF0aW9uL3ZhbGlkYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvdmFsaWRhdGlvbi92YWxpZGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDOzs7O0FBV3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUE2QlY7SUE1QlgsT0FBTyxDQUFPO0lBQ2QsS0FBSyxDQUFVO0lBQ2YsMEJBQTBCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLGFBQWEsQ0FBdUM7SUFDN0QsTUFBTSxDQUF5QjtJQUN2QixTQUFTLEdBQVEsRUFBRSxDQUFDO0lBRTVCLElBQUksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUMxQyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUMvQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7d0JBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQ3pELElBQUksR0FBRyxHQUFHLEVBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQ25DLENBQUM7cUJBQ0g7aUJBQ0Y7YUFDRjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQW9CLFlBQW9DO1FBQXBDLGlCQUFZLEdBQVosWUFBWSxDQUF3QjtJQUFHLENBQUM7SUFFNUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QyxLQUFLLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO1lBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRWxDLElBQ0UsYUFBYTtZQUNiLGFBQWEsQ0FBQyxZQUFZO1lBQzFCLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDckM7WUFDQSxLQUFLLE1BQU0sS0FBSyxJQUFJLGFBQWEsQ0FBQyxZQUFZLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7YUFDM0M7U0FDRjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZTtRQUMzQixJQUFJLFVBQWtCLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsVUFBVSxHQUFHLE9BQU8sQ0FBQztTQUN0QjtRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFRO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO3VHQWpFVSxtQkFBbUI7MkZBQW5CLG1CQUFtQiwrTkNqQmhDLHNUQVFBOzsyRkRTYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsMEJBQTBCOzZHQUszQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEVjYWJzQ29tcG9uZW50c0NvbmZpZyxcclxuICBFY2Fic0NvbXBvbmVudHNTZXJ2aWNlLFxyXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VjYWJzLWNvbXBvbmVudHMuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC12YWxpZGF0aW9ucy1tZXNzYWdlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZhbGlkYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3ZhbGlkYXRpb24uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgZWxlbWVudCE6IGFueTtcclxuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcclxuICBASW5wdXQoKSBzaG93VmFsaWRhdGlvbk9uTm90VG91Y2hlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHVwZGF0ZWRFcnJvcnMhOiB7IHR5cGU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1bXTtcclxuICBjb25maWchOiBFY2Fic0NvbXBvbmVudHNDb25maWc7XHJcbiAgcHJpdmF0ZSBfbWVzc2FnZXM6IGFueSA9IHt9O1xyXG5cclxuICBnZXQgbWVzc2FnZXMoKTogYW55IHtcclxuICAgIGlmICh0aGlzLmVsZW1lbnQpIHtcclxuICAgICAgZm9yIChjb25zdCBlcnJvcktleSBpbiB0aGlzLmVsZW1lbnQuZXJyb3JzKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5lbGVtZW50LmVycm9yc1tlcnJvcktleV0pIHtcclxuICAgICAgICAgIGlmICh0aGlzLl9tZXNzYWdlc1tlcnJvcktleV0pIHtcclxuICAgICAgICAgICAgdGhpcy5fbWVzc2FnZXNbZXJyb3JLZXldID0gdGhpcy5fbWVzc2FnZXNbZXJyb3JLZXldLnJlcGxhY2UoXHJcbiAgICAgICAgICAgICAgYFske2tleX1dYCxcclxuICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuZXJyb3JzW2Vycm9yS2V5XVtrZXldXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VzO1xyXG4gIH1cclxuXHJcbiAgc2V0IG1lc3NhZ2VzKG0pIHtcclxuICAgIHRoaXMuX21lc3NhZ2VzID0gbTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWNhYnNTZXJ2aWNlOiBFY2Fic0NvbXBvbmVudHNTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY29uZmlnID0gdGhpcy5lY2Fic1NlcnZpY2UuZ2V0Q29uZmlnKCk7XHJcbiAgICBmb3IgKGxldCBlcnJvciBvZiB0aGlzLmNvbmZpZy5lcnJvck1lc3NhZ2VzKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZXNbZXJyb3IudHlwZV0gPSB0aGlzLnJlcGxhY2VUb2tlbnMoZXJyb3IubWVzc2FnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHVwZGF0ZWRFcnJvcnMgfSA9IGNoYW5nZXM7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB1cGRhdGVkRXJyb3JzICYmXHJcbiAgICAgIHVwZGF0ZWRFcnJvcnMuY3VycmVudFZhbHVlICYmXHJcbiAgICAgIHVwZGF0ZWRFcnJvcnMuY3VycmVudFZhbHVlLmxlbmd0aCA+IDBcclxuICAgICkge1xyXG4gICAgICBmb3IgKGNvbnN0IGVycm9yIG9mIHVwZGF0ZWRFcnJvcnMuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlc1tlcnJvci50eXBlXSA9IGVycm9yLm1lc3NhZ2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlcGxhY2VUb2tlbnMobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCByZXRNZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBpZiAodGhpcy5sYWJlbCkge1xyXG4gICAgICByZXRNZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKCdbbGFiZWxdJywgdGhpcy5sYWJlbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXRNZXNzYWdlID0gbWVzc2FnZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmV0TWVzc2FnZTtcclxuICB9XHJcblxyXG4gIGdldE1lc3NhZ2VEZXRhaWwoa2V5OiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZXNba2V5XTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiZm9ybS1maWVsZF9fdmFsaWRhdGlvblwiXHJcbiAgKm5nSWY9XCJlbGVtZW50ICYmIChlbGVtZW50Py50b3VjaGVkIHx8IHNob3dWYWxpZGF0aW9uT25Ob3RUb3VjaGVkKSAmJiBlbGVtZW50Py5pbnZhbGlkXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX192YWxpZGF0aW9uX19pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZWxlbWVudD8uZXJyb3JzIHwga2V5dmFsdWVcIj5cclxuICAgIHt7IGdldE1lc3NhZ2VEZXRhaWwoaXRlbS5rZXkpIH19XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@angular/material/icon";
|
|
5
|
-
import * as i3 from "@angular/router";
|
|
6
|
-
export class EcabsBreadcrumbComponent {
|
|
7
|
-
breadCrumb;
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsBreadcrumbComponent, selector: "ecabs-breadcrumb", inputs: { breadCrumb: "breadCrumb" }, ngImport: i0, template: "<ul class=\"flex text-gray-500 text-sm\">\r\n <li\r\n *ngFor=\"let item of breadCrumb; let counter = index\"\r\n [routerLink]=\"item.url\"\r\n [ngClass]=\"{ 'cursor-pointer': item.url }\"\r\n class=\"flex\"\r\n >\r\n <mat-icon class=\"!text-sm text-center text-gray-400\" *ngIf=\"counter !== 0\">keyboard_arrow_right</mat-icon>\r\n <span>{{ item.title }}</span>\r\n </li>\r\n</ul>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsBreadcrumbComponent, decorators: [{
|
|
12
|
-
type: Component,
|
|
13
|
-
args: [{ selector: 'ecabs-breadcrumb', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul class=\"flex text-gray-500 text-sm\">\r\n <li\r\n *ngFor=\"let item of breadCrumb; let counter = index\"\r\n [routerLink]=\"item.url\"\r\n [ngClass]=\"{ 'cursor-pointer': item.url }\"\r\n class=\"flex\"\r\n >\r\n <mat-icon class=\"!text-sm text-center text-gray-400\" *ngIf=\"counter !== 0\">keyboard_arrow_right</mat-icon>\r\n <span>{{ item.title }}</span>\r\n </li>\r\n</ul>\r\n" }]
|
|
14
|
-
}], propDecorators: { breadCrumb: [{
|
|
15
|
-
type: Input
|
|
16
|
-
}] } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtYnJlYWRjcnVtYi9lY2Ficy1icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1icmVhZGNydW1iL2VjYWJzLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUzFFLE1BQU0sT0FBTyx3QkFBd0I7SUFDMUIsVUFBVSxDQUFlO3VHQUR2Qix3QkFBd0I7MkZBQXhCLHdCQUF3Qiw4RkNUckMsdVpBV0E7OzJGREZhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJyZWFkQ3J1bWIgfSBmcm9tICcuLi9tb2RlbHMvYnJlYWQtY3J1bWInO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtYnJlYWRjcnVtYicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy1icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59IClcclxuZXhwb3J0IGNsYXNzIEVjYWJzQnJlYWRjcnVtYkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgYnJlYWRDcnVtYjogQnJlYWRDcnVtYltdO1xyXG59XHJcbiIsIjx1bCBjbGFzcz1cImZsZXggdGV4dC1ncmF5LTUwMCB0ZXh0LXNtXCI+XHJcbiAgPGxpXHJcbiAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBicmVhZENydW1iOyBsZXQgY291bnRlciA9IGluZGV4XCJcclxuICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0udXJsXCJcclxuICAgIFtuZ0NsYXNzXT1cInsgJ2N1cnNvci1wb2ludGVyJzogaXRlbS51cmwgfVwiXHJcbiAgICBjbGFzcz1cImZsZXhcIlxyXG4gID5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIiF0ZXh0LXNtIHRleHQtY2VudGVyIHRleHQtZ3JheS00MDBcIiAqbmdJZj1cImNvdW50ZXIgIT09IDBcIj5rZXlib2FyZF9hcnJvd19yaWdodDwvbWF0LWljb24+XHJcbiAgICA8c3Bhbj57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxyXG4gIDwvbGk+XHJcbjwvdWw+XHJcbiJdfQ==
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@angular/material/button";
|
|
5
|
-
import * as i3 from "../ecabs-loading/spinner/spinner.component";
|
|
6
|
-
export class ButtonsComponent {
|
|
7
|
-
label;
|
|
8
|
-
disabled;
|
|
9
|
-
loading;
|
|
10
|
-
form;
|
|
11
|
-
size = 'default';
|
|
12
|
-
type = 'button';
|
|
13
|
-
raised = false;
|
|
14
|
-
stroked = false;
|
|
15
|
-
full = false;
|
|
16
|
-
color = 'primary';
|
|
17
|
-
borderWidth = '';
|
|
18
|
-
classAttr = '';
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
if (this.full) {
|
|
21
|
-
this.borderWidth = '100%';
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
ngOnChanges(changes) {
|
|
25
|
-
const disabled = changes['disabled']?.currentValue !== undefined ? changes['disabled'].currentValue : this.disabled;
|
|
26
|
-
const loading = changes['loading']?.currentValue !== undefined ? changes['loading'].currentValue : this.loading;
|
|
27
|
-
if (disabled || loading) {
|
|
28
|
-
this.classAttr = 'pointer-events-none';
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
this.classAttr = '';
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ButtonsComponent, selector: "ecabs-buttons", inputs: { label: "label", disabled: "disabled", loading: "loading", form: "form", size: "size", type: "type", raised: "raised", stroked: "stroked", full: "full", color: "color" }, host: { properties: { "style.width": "this.borderWidth", "class": "this.classAttr" } }, usesOnChanges: true, ngImport: i0, template: "<button\r\n mat-button\r\n [ngClass]=\"{\r\n 'w-full': full,\r\n 'mat-stroked-button': stroked,\r\n 'mat-raised-button': raised\r\n }\"\r\n [color]=\"color\"\r\n [disabled]=\"disabled\"\r\n [type]=\"type\"\r\n [attr.form]=\"form\"\r\n>\r\n <ecabs-loading-spinner size=\"tiny\" *ngIf=\"loading\"></ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</button>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }] });
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ButtonsComponent, decorators: [{
|
|
38
|
-
type: Component,
|
|
39
|
-
args: [{ selector: 'ecabs-buttons', template: "<button\r\n mat-button\r\n [ngClass]=\"{\r\n 'w-full': full,\r\n 'mat-stroked-button': stroked,\r\n 'mat-raised-button': raised\r\n }\"\r\n [color]=\"color\"\r\n [disabled]=\"disabled\"\r\n [type]=\"type\"\r\n [attr.form]=\"form\"\r\n>\r\n <ecabs-loading-spinner size=\"tiny\" *ngIf=\"loading\"></ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</button>\r\n" }]
|
|
40
|
-
}], propDecorators: { label: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], disabled: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], loading: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], form: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}], size: [{
|
|
49
|
-
type: Input
|
|
50
|
-
}], type: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}], raised: [{
|
|
53
|
-
type: Input
|
|
54
|
-
}], stroked: [{
|
|
55
|
-
type: Input
|
|
56
|
-
}], full: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}], color: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], borderWidth: [{
|
|
61
|
-
type: HostBinding,
|
|
62
|
-
args: ['style.width']
|
|
63
|
-
}], classAttr: [{
|
|
64
|
-
type: HostBinding,
|
|
65
|
-
args: ['class']
|
|
66
|
-
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtYnV0dG9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtYnV0dG9ucy9lY2Ficy1idXR0b25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1idXR0b25zL2VjYWJzLWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPaEcsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixLQUFLLENBQVU7SUFHZixRQUFRLENBQVc7SUFHbkIsT0FBTyxDQUFXO0lBR2xCLElBQUksQ0FBVTtJQUdkLElBQUksR0FBd0IsU0FBUyxDQUFDO0lBR3RDLElBQUksR0FBd0IsUUFBUSxDQUFDO0lBRTVCLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDZixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLElBQUksR0FBRyxLQUFLLENBQUM7SUFFdEIsS0FBSyxHQUE2QixTQUFTLENBQUM7SUFHNUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUVqQixTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRWYsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsWUFBWSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNwSCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUVoSCxJQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQztTQUN4QzthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO3VHQTdDVSxnQkFBZ0I7MkZBQWhCLGdCQUFnQixzVkNQN0IscWZBa0JBOzsyRkRYYSxnQkFBZ0I7a0JBSjVCLFNBQVM7K0JBQ0UsZUFBZTs4QkFLekIsS0FBSztzQkFESixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsV0FBVzt1QkFBQyxhQUFhO2dCQUcxQixTQUFTO3NCQURSLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtYnV0dG9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnV0dG9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKVxyXG4gIGxhYmVsITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBsb2FkaW5nITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBmb3JtITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNpemU6ICdkZWZhdWx0JyB8ICdsYXJnZScgPSAnZGVmYXVsdCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyA9ICdidXR0b24nO1xyXG5cclxuICBASW5wdXQoKSByYWlzZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzdHJva2VkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZnVsbCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgY29sb3I6IFRoZW1lUGFsZXR0ZSB8ICdzdWNjZXNzJyA9ICdwcmltYXJ5JztcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXHJcbiAgYm9yZGVyV2lkdGggPSAnJztcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBjbGFzc0F0dHIgPSAnJztcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5mdWxsKSB7XHJcbiAgICAgIHRoaXMuYm9yZGVyV2lkdGggPSAnMTAwJSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaXNhYmxlZCA9IGNoYW5nZXNbJ2Rpc2FibGVkJ10/LmN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkID8gY2hhbmdlc1snZGlzYWJsZWQnXS5jdXJyZW50VmFsdWUgOiB0aGlzLmRpc2FibGVkO1xyXG4gICAgY29uc3QgbG9hZGluZyA9IGNoYW5nZXNbJ2xvYWRpbmcnXT8uY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQgPyBjaGFuZ2VzWydsb2FkaW5nJ10uY3VycmVudFZhbHVlIDogdGhpcy5sb2FkaW5nO1xyXG5cclxuICAgIGlmIChkaXNhYmxlZCB8fCBsb2FkaW5nKSB7XHJcbiAgICAgIHRoaXMuY2xhc3NBdHRyID0gJ3BvaW50ZXItZXZlbnRzLW5vbmUnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbGFzc0F0dHIgPSAnJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG4gIG1hdC1idXR0b25cclxuICBbbmdDbGFzc109XCJ7XHJcbiAgICAndy1mdWxsJzogZnVsbCxcclxuICAgICdtYXQtc3Ryb2tlZC1idXR0b24nOiBzdHJva2VkLFxyXG4gICAgJ21hdC1yYWlzZWQtYnV0dG9uJzogcmFpc2VkXHJcbiAgfVwiXHJcbiAgW2NvbG9yXT1cImNvbG9yXCJcclxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFt0eXBlXT1cInR5cGVcIlxyXG4gIFthdHRyLmZvcm1dPVwiZm9ybVwiXHJcbj5cclxuICA8ZWNhYnMtbG9hZGluZy1zcGlubmVyIHNpemU9XCJ0aW55XCIgKm5nSWY9XCJsb2FkaW5nXCI+PC9lY2Ficy1sb2FkaW5nLXNwaW5uZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nXCI+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtYXQtaWNvblwiPjwvbmctY29udGVudD5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9idXR0b24+XHJcbiJdfQ==
|