@kato-lee/components 1.0.8 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/_grids.scss +5 -5
- package/assets/fonts/fonts.scss +11 -0
- package/assets/themes/_default.scss +0 -1
- package/box-form/{box-form.component.d.ts → component.d.ts} +2 -2
- package/box-form/index.d.ts +2 -2
- package/box-form/module.d.ts +8 -0
- package/capsule/{capsule.component.d.ts → component.d.ts} +1 -1
- package/capsule/index.d.ts +2 -2
- package/capsule/{capsule.module.d.ts → module.d.ts} +3 -2
- package/cards/{simple-card.component.d.ts → component.d.ts} +1 -1
- package/cards/index.d.ts +2 -2
- package/cards/{cards.module.d.ts → module.d.ts} +3 -2
- package/dialogs/dismiss-dialog-button.component.d.ts +1 -1
- package/dialogs/index.d.ts +1 -1
- package/dialogs/module.d.ts +9 -0
- package/esm2022/box-form/component.mjs +112 -0
- package/esm2022/box-form/index.mjs +3 -3
- package/esm2022/box-form/module.mjs +17 -0
- package/esm2022/capsule/component.mjs +78 -0
- package/esm2022/capsule/index.mjs +3 -3
- package/esm2022/capsule/module.mjs +17 -0
- package/esm2022/cards/component.mjs +48 -0
- package/esm2022/cards/index.mjs +3 -3
- package/esm2022/cards/module.mjs +18 -0
- package/esm2022/dialogs/dismiss-dialog-button.component.mjs +14 -12
- package/esm2022/dialogs/index.mjs +2 -2
- package/esm2022/dialogs/module.mjs +19 -0
- package/esm2022/fields/autocomplete/component.mjs +259 -0
- package/esm2022/fields/autocomplete/index.mjs +2 -0
- package/esm2022/fields/common.mjs +11 -0
- package/esm2022/fields/date/component.mjs +163 -0
- package/esm2022/fields/date/index.mjs +2 -0
- package/esm2022/fields/date-range/component.mjs +85 -0
- package/esm2022/fields/date-range/index.mjs +2 -0
- package/esm2022/fields/error/component.mjs +57 -0
- package/esm2022/fields/error/error-equals.pipe.mjs +3 -3
- package/esm2022/fields/error/error.msg.pipe.mjs +3 -3
- package/esm2022/fields/general/component.mjs +202 -0
- package/esm2022/fields/general/index.mjs +2 -0
- package/esm2022/fields/index.mjs +14 -14
- package/esm2022/fields/module.mjs +82 -0
- package/esm2022/fields/money/component.mjs +202 -0
- package/esm2022/fields/money/index.mjs +2 -0
- package/esm2022/fields/number/component.mjs +179 -0
- package/esm2022/fields/number/index.mjs +2 -0
- package/esm2022/fields/remote-autocomplete/component.mjs +188 -0
- package/esm2022/fields/remote-autocomplete/index.mjs +2 -0
- package/esm2022/fields/select/component.mjs +158 -0
- package/esm2022/fields/select/index.mjs +2 -0
- package/esm2022/fields/text-area/component.mjs +186 -0
- package/esm2022/fields/validators.mjs +11 -0
- package/esm2022/modal/component.mjs +66 -0
- package/esm2022/modal/index.mjs +4 -4
- package/esm2022/modal/module.mjs +17 -0
- package/esm2022/modal/service.mjs +33 -0
- package/esm2022/pretty-box/component.mjs +94 -0
- package/esm2022/pretty-box/index.mjs +2 -2
- package/esm2022/tables/index.mjs +2 -2
- package/esm2022/tables/module.mjs +22 -0
- package/esm2022/toast/index.mjs +2 -2
- package/esm2022/toast/service.mjs +42 -0
- package/fesm2022/kato-lee-components-box-form.mjs +19 -29
- package/fesm2022/kato-lee-components-box-form.mjs.map +1 -1
- package/fesm2022/kato-lee-components-capsule.mjs +5 -4
- package/fesm2022/kato-lee-components-capsule.mjs.map +1 -1
- package/fesm2022/kato-lee-components-cards.mjs +7 -5
- package/fesm2022/kato-lee-components-cards.mjs.map +1 -1
- package/fesm2022/kato-lee-components-dialogs.mjs +16 -18
- package/fesm2022/kato-lee-components-dialogs.mjs.map +1 -1
- package/fesm2022/kato-lee-components-fields.mjs +135 -106
- package/fesm2022/kato-lee-components-fields.mjs.map +1 -1
- package/fesm2022/kato-lee-components-modal.mjs +9 -10
- package/fesm2022/kato-lee-components-modal.mjs.map +1 -1
- package/fesm2022/kato-lee-components-pretty-box.mjs +6 -6
- package/fesm2022/kato-lee-components-pretty-box.mjs.map +1 -1
- package/fesm2022/kato-lee-components-tables.mjs.map +1 -1
- package/fesm2022/kato-lee-components-toast.mjs.map +1 -1
- package/fields/{autocomplete-field/autocomplete-field.component.d.ts → autocomplete/component.d.ts} +2 -2
- package/fields/autocomplete/index.d.ts +1 -0
- package/fields/{date-field/date-field.component.d.ts → date/component.d.ts} +2 -2
- package/fields/date/index.d.ts +1 -0
- package/fields/{date-range-field/date-range-field.component.d.ts → date-range/component.d.ts} +2 -2
- package/fields/date-range/index.d.ts +1 -0
- package/fields/error/{error.component.d.ts → component.d.ts} +1 -1
- package/fields/error/error-equals.pipe.d.ts +1 -1
- package/fields/error/error.msg.pipe.d.ts +1 -1
- package/fields/{general-field/general-field.component.d.ts → general/component.d.ts} +2 -2
- package/fields/general/index.d.ts +1 -0
- package/fields/index.d.ts +13 -13
- package/fields/module.d.ts +19 -0
- package/fields/{money-field/money-field.component.d.ts → money/component.d.ts} +1 -1
- package/fields/money/index.d.ts +1 -0
- package/fields/{number-field/number-field.component.d.ts → number/component.d.ts} +1 -1
- package/fields/number/index.d.ts +1 -0
- package/fields/remote-autocomplete/index.d.ts +1 -0
- package/fields/{select-field/select-field.component.d.ts → select/component.d.ts} +2 -2
- package/fields/select/index.d.ts +1 -0
- package/fields/text-area/{textarea.component.d.ts → component.d.ts} +1 -1
- package/modal/{modal.component.d.ts → component.d.ts} +1 -1
- package/modal/index.d.ts +3 -3
- package/modal/module.d.ts +8 -0
- package/package.json +7 -13
- package/pretty-box/component.d.ts +24 -0
- package/pretty-box/index.d.ts +1 -1
- package/tables/index.d.ts +1 -1
- package/toast/index.d.ts +1 -1
- package/assets/fonts/body/Transpass-Bold.ttf +0 -0
- package/assets/fonts/body/Transpass-Light.ttf +0 -0
- package/assets/fonts/body/Transpass-Medium.ttf +0 -0
- package/assets/fonts/body/Transpass-Regular.ttf +0 -0
- package/assets/fonts/body/style-font.scss +0 -40
- package/assets/fonts/main.scss +0 -18
- package/assets/fonts/title/Poppins-Bold.ttf +0 -0
- package/assets/fonts/title/Poppins-Light.ttf +0 -0
- package/assets/fonts/title/Poppins-Medium.ttf +0 -0
- package/assets/fonts/title/Poppins-Regular.ttf +0 -0
- package/assets/fonts/title/Poppins-SemiBold.ttf +0 -0
- package/assets/fonts/title/style-font.scss +0 -39
- package/assets/layouts/_loader.scss +0 -71
- package/assets/layouts/origin.scss +0 -776
- package/box-form/box-form.module.d.ts +0 -13
- package/dialogs/dialogs.module.d.ts +0 -11
- package/esm2022/box-form/box-form.component.mjs +0 -99
- package/esm2022/box-form/box-form.module.mjs +0 -40
- package/esm2022/capsule/capsule.component.mjs +0 -78
- package/esm2022/capsule/capsule.module.mjs +0 -16
- package/esm2022/cards/cards.module.mjs +0 -17
- package/esm2022/cards/simple-card.component.mjs +0 -47
- package/esm2022/dialogs/dialogs.module.mjs +0 -22
- package/esm2022/fields/autocomplete-field/autocomplete-field.component.mjs +0 -240
- package/esm2022/fields/date-field/date-field.component.mjs +0 -148
- package/esm2022/fields/date-range-field/date-range-field.component.mjs +0 -70
- package/esm2022/fields/error/error.component.mjs +0 -55
- package/esm2022/fields/error/error.module.mjs +0 -21
- package/esm2022/fields/fields.common.mjs +0 -11
- package/esm2022/fields/fields.module.mjs +0 -128
- package/esm2022/fields/fields.validators.mjs +0 -11
- package/esm2022/fields/general-field/general-field.component.mjs +0 -188
- package/esm2022/fields/money-field/money-field.component.mjs +0 -188
- package/esm2022/fields/number-field/number-field.component.mjs +0 -165
- package/esm2022/fields/remote-autocomplete-field/remote-autocomplete-field.component.mjs +0 -188
- package/esm2022/fields/select-field/select-field.component.mjs +0 -135
- package/esm2022/fields/text-area/textarea.component.mjs +0 -171
- package/esm2022/layouts/origin/breadcrumb/breadcrumb.component.mjs +0 -65
- package/esm2022/layouts/origin/footer/footer.component.mjs +0 -11
- package/esm2022/layouts/origin/header/header.component.mjs +0 -46
- package/esm2022/layouts/origin/index.mjs +0 -12
- package/esm2022/layouts/origin/kato-lee-components-layouts-origin.mjs +0 -5
- package/esm2022/layouts/origin/layout.component.mjs +0 -210
- package/esm2022/layouts/origin/layout.module.mjs +0 -52
- package/esm2022/layouts/origin/layout.navigation.mjs +0 -19
- package/esm2022/layouts/origin/navigation-interfaces.mjs +0 -2
- package/esm2022/layouts/origin/services/index.mjs +0 -4
- package/esm2022/layouts/origin/services/route-parts.service.mjs +0 -28
- package/esm2022/layouts/origin/services/toggle-sidebar.mjs +0 -48
- package/esm2022/layouts/origin/services/validate-access.pipe.mjs +0 -53
- package/esm2022/layouts/origin/sidebar/sidebar.component.mjs +0 -69
- package/esm2022/layouts/origin/sidebar/sidenav/expansion/accordion.component.mjs +0 -74
- package/esm2022/layouts/origin/sidebar/sidenav/expansion/expansion-panel-header.component.mjs +0 -51
- package/esm2022/layouts/origin/sidebar/sidenav/expansion/expansion-panel.component.mjs +0 -63
- package/esm2022/layouts/origin/sidebar/sidenav/sidenav.component.mjs +0 -130
- package/esm2022/modal/modal.component.mjs +0 -63
- package/esm2022/modal/modal.module.mjs +0 -21
- package/esm2022/modal/modal.service.mjs +0 -33
- package/esm2022/pretty-box/pretty-box.component.mjs +0 -94
- package/esm2022/tables/tables.module.mjs +0 -22
- package/esm2022/toast/toast.service.mjs +0 -42
- package/fesm2022/kato-lee-components-layouts-origin.mjs +0 -872
- package/fesm2022/kato-lee-components-layouts-origin.mjs.map +0 -1
- package/fields/error/error.module.d.ts +0 -11
- package/fields/fields.module.d.ts +0 -29
- package/layouts/origin/breadcrumb/breadcrumb.component.d.ts +0 -24
- package/layouts/origin/footer/footer.component.d.ts +0 -5
- package/layouts/origin/header/header.component.d.ts +0 -15
- package/layouts/origin/index.d.ts +0 -8
- package/layouts/origin/layout.component.d.ts +0 -58
- package/layouts/origin/layout.module.d.ts +0 -18
- package/layouts/origin/layout.navigation.d.ts +0 -10
- package/layouts/origin/navigation-interfaces.d.ts +0 -24
- package/layouts/origin/services/index.d.ts +0 -3
- package/layouts/origin/services/route-parts.service.d.ts +0 -15
- package/layouts/origin/services/toggle-sidebar.d.ts +0 -10
- package/layouts/origin/services/validate-access.pipe.d.ts +0 -7
- package/layouts/origin/sidebar/sidebar.component.d.ts +0 -27
- package/layouts/origin/sidebar/sidenav/expansion/accordion.component.d.ts +0 -10
- package/layouts/origin/sidebar/sidenav/expansion/expansion-panel-header.component.d.ts +0 -11
- package/layouts/origin/sidebar/sidenav/expansion/expansion-panel.component.d.ts +0 -12
- package/layouts/origin/sidebar/sidenav/sidenav.component.d.ts +0 -23
- package/modal/modal.module.d.ts +0 -11
- package/pretty-box/pretty-box.component.d.ts +0 -24
- /package/fields/{fields.common.d.ts → common.d.ts} +0 -0
- /package/fields/{remote-autocomplete-field/remote-autocomplete-field.component.d.ts → remote-autocomplete/component.d.ts} +0 -0
- /package/fields/{fields.validators.d.ts → validators.d.ts} +0 -0
- /package/modal/{modal.service.d.ts → service.d.ts} +0 -0
- /package/tables/{tables.module.d.ts → module.d.ts} +0 -0
- /package/toast/{toast.service.d.ts → service.d.ts} +0 -0
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
import { Component, Optional, Input, Self, Output, EventEmitter, } from '@angular/core';
|
|
2
|
-
import { debounceTime, map, Subject, takeUntil } from 'rxjs';
|
|
3
|
-
import { TAK_DEFAULT_APPEARANCE_FORM, TAK_PRESS_ESC_KEY, } from '../fields.common';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/forms";
|
|
6
|
-
import * as i2 from "@kato-lee/material/progress-spinner";
|
|
7
|
-
import * as i3 from "@kato-lee/material/form-field";
|
|
8
|
-
import * as i4 from "@kato-lee/material/button";
|
|
9
|
-
import * as i5 from "@kato-lee/material/autocomplete";
|
|
10
|
-
import * as i6 from "@kato-lee/material/core";
|
|
11
|
-
import * as i7 from "../error/error.component";
|
|
12
|
-
import * as i8 from "@kato-lee/material/icon";
|
|
13
|
-
import * as i9 from "@kato-lee/material/input";
|
|
14
|
-
import * as i10 from "@angular/common";
|
|
15
|
-
export class TakAutocompleteFieldComponent {
|
|
16
|
-
constructor(_ngControl, _formGroupDirective, _cd) {
|
|
17
|
-
this._ngControl = _ngControl;
|
|
18
|
-
this._formGroupDirective = _formGroupDirective;
|
|
19
|
-
this._cd = _cd;
|
|
20
|
-
this._unsubscribe$ = new Subject();
|
|
21
|
-
this.option = 'option';
|
|
22
|
-
this.extraInfo = '';
|
|
23
|
-
this.autocomplete = 'off';
|
|
24
|
-
this.appearance = TAK_DEFAULT_APPEARANCE_FORM;
|
|
25
|
-
this.color = 'primary';
|
|
26
|
-
this.hasClearButton = true;
|
|
27
|
-
this.suggestions = [];
|
|
28
|
-
this.disabled = false;
|
|
29
|
-
this.hasTitle = false;
|
|
30
|
-
this.isLoading = false;
|
|
31
|
-
this.isRemoteSearch = false;
|
|
32
|
-
this.debounceTimeForRemoteSearch = 500;
|
|
33
|
-
this.onSelect = new EventEmitter();
|
|
34
|
-
this.onSearch = new EventEmitter();
|
|
35
|
-
this.onChangeFn = (_) => { };
|
|
36
|
-
this.onTouchFn = (_) => { };
|
|
37
|
-
this._isSubmitted = false;
|
|
38
|
-
this._isInvalid = false;
|
|
39
|
-
this._required = false;
|
|
40
|
-
this._value = '';
|
|
41
|
-
this._notSuggestions = false;
|
|
42
|
-
this._lastValue = '';
|
|
43
|
-
if (_ngControl)
|
|
44
|
-
this._ngControl.valueAccessor = this;
|
|
45
|
-
if (_formGroupDirective) {
|
|
46
|
-
_formGroupDirective.ngSubmit.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {
|
|
47
|
-
this._isSubmitted = true;
|
|
48
|
-
_cd.markForCheck();
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
ngOnInit() {
|
|
53
|
-
const form = this.control;
|
|
54
|
-
if (form?._rawValidators) {
|
|
55
|
-
form._rawValidators.map((r) => {
|
|
56
|
-
if (r.name.includes('required'))
|
|
57
|
-
this._required = true;
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
this._filteredOptions = this.control.valueChanges.pipe(takeUntil(this._unsubscribe$), map(() => this._filter()));
|
|
61
|
-
if (this.isRemoteSearch) {
|
|
62
|
-
this.control.valueChanges
|
|
63
|
-
.pipe(takeUntil(this._unsubscribe$), debounceTime(this.debounceTimeForRemoteSearch))
|
|
64
|
-
.subscribe(() => {
|
|
65
|
-
if (this._lastValue !== `${this._value}` && `${this._value}` && !this.control.value) {
|
|
66
|
-
this.onSearch.emit(`${this._value}`);
|
|
67
|
-
this._setValue(`${this._value}`);
|
|
68
|
-
}
|
|
69
|
-
this._lastValue = `${this._value}`;
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
if (this.disabled)
|
|
73
|
-
this.control.disable();
|
|
74
|
-
}
|
|
75
|
-
_filter() {
|
|
76
|
-
const value = typeof `${this._value}` === 'string'
|
|
77
|
-
? `${this._value}`.toLowerCase()
|
|
78
|
-
: `${this.control.value[this.option]}`.toLowerCase();
|
|
79
|
-
const option = this.suggestions.filter(res => `${res[this.option]}`.toLowerCase().includes(value));
|
|
80
|
-
if (!option.length)
|
|
81
|
-
this._notSuggestions = true;
|
|
82
|
-
else
|
|
83
|
-
this._notSuggestions = false;
|
|
84
|
-
return option;
|
|
85
|
-
}
|
|
86
|
-
writeValue(value) {
|
|
87
|
-
if (value === null)
|
|
88
|
-
this._isInvalid = false;
|
|
89
|
-
this._value = value || '';
|
|
90
|
-
this._isSubmitted = false;
|
|
91
|
-
this._cd.markForCheck();
|
|
92
|
-
}
|
|
93
|
-
registerOnChange(fn) {
|
|
94
|
-
this.onChangeFn = fn;
|
|
95
|
-
}
|
|
96
|
-
registerOnTouched(fn) {
|
|
97
|
-
this.onTouchFn = fn;
|
|
98
|
-
}
|
|
99
|
-
onChange(event) {
|
|
100
|
-
if (event.target.value !== `${this._value}`) {
|
|
101
|
-
this._value = event.target.value;
|
|
102
|
-
if (!this.isRemoteSearch)
|
|
103
|
-
this._setValue(`${this._value}`);
|
|
104
|
-
this.onChangeFn(this.suggestions.filter(sug => `${sug[this.option]}`.toLowerCase() === `${`${this._value}`}`.toLowerCase())[0] || null);
|
|
105
|
-
if (this.control.touched) {
|
|
106
|
-
this._onValidate();
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
_setValue(value) {
|
|
111
|
-
if (!this.isRemoteSearch) {
|
|
112
|
-
const suggestionsFiltered = value
|
|
113
|
-
? this.suggestions.filter(el => `${el[this.option]}`.toLowerCase().trim() === value.toLowerCase().trim())
|
|
114
|
-
: [];
|
|
115
|
-
if (suggestionsFiltered.length) {
|
|
116
|
-
document.body.dispatchEvent(TAK_PRESS_ESC_KEY);
|
|
117
|
-
}
|
|
118
|
-
try {
|
|
119
|
-
this.control.setValue(suggestionsFiltered[0][this.option], {
|
|
120
|
-
emitEvent: false,
|
|
121
|
-
});
|
|
122
|
-
this.onSelect.emit(suggestionsFiltered[0]);
|
|
123
|
-
}
|
|
124
|
-
catch (error) { }
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
emit(el) {
|
|
128
|
-
if (el && el.isUserInput)
|
|
129
|
-
this._isInvalid = false;
|
|
130
|
-
}
|
|
131
|
-
emitWithClick(suggestionOption) {
|
|
132
|
-
this.control.setValue(suggestionOption);
|
|
133
|
-
this._value = `${suggestionOption[this.option]}`;
|
|
134
|
-
this._isInvalid = false;
|
|
135
|
-
}
|
|
136
|
-
onFocusout() {
|
|
137
|
-
this.onTouchFn(true);
|
|
138
|
-
this._onValidate();
|
|
139
|
-
}
|
|
140
|
-
setValue(value) {
|
|
141
|
-
this.control.setValue(value);
|
|
142
|
-
this._value = `${value[this.option]}`;
|
|
143
|
-
}
|
|
144
|
-
onUpdateSuggestions(suggestions) {
|
|
145
|
-
this.suggestions = suggestions;
|
|
146
|
-
this._cd.markForCheck();
|
|
147
|
-
this.onChangeFn(this.suggestions.filter(sug => `${sug[this.option]}`.toLowerCase() === `${this._value}`.toLowerCase())[0] || null);
|
|
148
|
-
}
|
|
149
|
-
_onValidate() {
|
|
150
|
-
if (this.control.invalid)
|
|
151
|
-
this._isInvalid = true;
|
|
152
|
-
else
|
|
153
|
-
this._isInvalid = false;
|
|
154
|
-
}
|
|
155
|
-
onFocus() {
|
|
156
|
-
if (!`${this._value}`) {
|
|
157
|
-
this.control.setValue('');
|
|
158
|
-
this._value = '';
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
onClearControl() {
|
|
162
|
-
this.control.setValue('', { emitEvent: false });
|
|
163
|
-
this._value = '';
|
|
164
|
-
}
|
|
165
|
-
ngOnDestroy() {
|
|
166
|
-
this._unsubscribe$.next();
|
|
167
|
-
this._unsubscribe$.complete();
|
|
168
|
-
}
|
|
169
|
-
get control() {
|
|
170
|
-
return this._ngControl?.control;
|
|
171
|
-
}
|
|
172
|
-
get directive() {
|
|
173
|
-
return this._formGroupDirective;
|
|
174
|
-
}
|
|
175
|
-
get isDisabled() {
|
|
176
|
-
return this._ngControl.disabled;
|
|
177
|
-
}
|
|
178
|
-
get isSubmitted() {
|
|
179
|
-
return this._isSubmitted;
|
|
180
|
-
}
|
|
181
|
-
get isInvalid() {
|
|
182
|
-
return this._isInvalid;
|
|
183
|
-
}
|
|
184
|
-
get required() {
|
|
185
|
-
return this._required;
|
|
186
|
-
}
|
|
187
|
-
get value() {
|
|
188
|
-
return `${this._value}`;
|
|
189
|
-
}
|
|
190
|
-
get filteredOptions() {
|
|
191
|
-
return this._filteredOptions;
|
|
192
|
-
}
|
|
193
|
-
get notSuggestions() {
|
|
194
|
-
return this._notSuggestions;
|
|
195
|
-
}
|
|
196
|
-
get lastValue() {
|
|
197
|
-
return this._lastValue;
|
|
198
|
-
}
|
|
199
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakAutocompleteFieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i1.FormGroupDirective, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
200
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: TakAutocompleteFieldComponent, selector: "tak-autocomplete-field", inputs: { option: "option", extraInfo: "extraInfo", autocomplete: "autocomplete", appearance: "appearance", color: "color", hasClearButton: "hasClearButton", suggestions: "suggestions", disabled: "disabled", hasTitle: "hasTitle", isLoading: "isLoading", isRemoteSearch: "isRemoteSearch", debounceTimeForRemoteSearch: "debounceTimeForRemoteSearch" }, outputs: { onSelect: "onSelect", onSearch: "onSearch" }, ngImport: i0, template: "<div class=\"tak-form-container\">\r\n <mat-form-field\r\n [class.mat-form-field-invalid]=\"isInvalid || (isSubmitted && control.invalid)\"\r\n [appearance]=\"appearance\"\r\n [color]=\"color\"\r\n >\r\n <mat-label>\r\n <ng-content></ng-content>{{ ' ' }}\r\n @if (required) {\r\n <span class=\"tak-field__danger-x\">*</span>\r\n }\r\n </mat-label>\r\n <input\r\n matInput\r\n [autocomplete]=\"autocomplete\"\r\n [matAutocomplete]=\"auto\"\r\n [value]=\"value\"\r\n (keyup)=\"onChange($event)\"\r\n (change)=\"onChange($event)\"\r\n [disabled]=\"isDisabled\"\r\n (focus)=\"onFocus()\"\r\n (focusout)=\"onFocusout()\"\r\n />\r\n @if (isRemoteSearch && isLoading) {\r\n <button matSuffix mat-icon-button type=\"button\">\r\n <mat-spinner [diameter]=\"15\" mode=\"indeterminate\"></mat-spinner>\r\n </button>\r\n }\r\n @if ((control.value || value) && hasClearButton && !disabled) {\r\n <button matSuffix mat-icon-button type=\"button\" (click)=\"onClearControl()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n <mat-autocomplete #auto=\"matAutocomplete\">\r\n @for (suggestion of filteredOptions | async; track suggestion) {\r\n <mat-option\r\n [value]=\"suggestion[option]\"\r\n [class.tak-option-extra]=\"extraInfo\"\r\n (onSelectionChange)=\"emit($event)\"\r\n (click)=\"emitWithClick(suggestion)\"\r\n title=\"{{ suggestion[option] }} {{ extraInfo ? '(' + suggestion[extraInfo] + ')' : '' }}\"\r\n >\r\n <span>{{ suggestion[option] }}</span>\r\n @if (extraInfo) {\r\n <span class=\"tak-option-span-extra\">{{ suggestion[extraInfo] }}</span>\r\n }\r\n </mat-option>\r\n }\r\n @if (notSuggestions && control.invalid) {\r\n <mat-option>\r\n <span class=\"tak-autocomplete-not-records\"> No se encuentran resultados </span>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n @if (isInvalid || (isSubmitted && control.invalid)) {\r\n <tak-error [control]=\"control\"></tak-error>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.TakErrorComponent, selector: "tak-error", inputs: ["control", "start", "end", "isDateField", "isNumberField", "marginTop"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }] }); }
|
|
201
|
-
}
|
|
202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakAutocompleteFieldComponent, decorators: [{
|
|
203
|
-
type: Component,
|
|
204
|
-
args: [{ selector: 'tak-autocomplete-field', template: "<div class=\"tak-form-container\">\r\n <mat-form-field\r\n [class.mat-form-field-invalid]=\"isInvalid || (isSubmitted && control.invalid)\"\r\n [appearance]=\"appearance\"\r\n [color]=\"color\"\r\n >\r\n <mat-label>\r\n <ng-content></ng-content>{{ ' ' }}\r\n @if (required) {\r\n <span class=\"tak-field__danger-x\">*</span>\r\n }\r\n </mat-label>\r\n <input\r\n matInput\r\n [autocomplete]=\"autocomplete\"\r\n [matAutocomplete]=\"auto\"\r\n [value]=\"value\"\r\n (keyup)=\"onChange($event)\"\r\n (change)=\"onChange($event)\"\r\n [disabled]=\"isDisabled\"\r\n (focus)=\"onFocus()\"\r\n (focusout)=\"onFocusout()\"\r\n />\r\n @if (isRemoteSearch && isLoading) {\r\n <button matSuffix mat-icon-button type=\"button\">\r\n <mat-spinner [diameter]=\"15\" mode=\"indeterminate\"></mat-spinner>\r\n </button>\r\n }\r\n @if ((control.value || value) && hasClearButton && !disabled) {\r\n <button matSuffix mat-icon-button type=\"button\" (click)=\"onClearControl()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n <mat-autocomplete #auto=\"matAutocomplete\">\r\n @for (suggestion of filteredOptions | async; track suggestion) {\r\n <mat-option\r\n [value]=\"suggestion[option]\"\r\n [class.tak-option-extra]=\"extraInfo\"\r\n (onSelectionChange)=\"emit($event)\"\r\n (click)=\"emitWithClick(suggestion)\"\r\n title=\"{{ suggestion[option] }} {{ extraInfo ? '(' + suggestion[extraInfo] + ')' : '' }}\"\r\n >\r\n <span>{{ suggestion[option] }}</span>\r\n @if (extraInfo) {\r\n <span class=\"tak-option-span-extra\">{{ suggestion[extraInfo] }}</span>\r\n }\r\n </mat-option>\r\n }\r\n @if (notSuggestions && control.invalid) {\r\n <mat-option>\r\n <span class=\"tak-autocomplete-not-records\"> No se encuentran resultados </span>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n @if (isInvalid || (isSubmitted && control.invalid)) {\r\n <tak-error [control]=\"control\"></tak-error>\r\n }\r\n</div>\r\n" }]
|
|
205
|
-
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
206
|
-
type: Self
|
|
207
|
-
}, {
|
|
208
|
-
type: Optional
|
|
209
|
-
}] }, { type: i1.FormGroupDirective, decorators: [{
|
|
210
|
-
type: Optional
|
|
211
|
-
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { option: [{
|
|
212
|
-
type: Input
|
|
213
|
-
}], extraInfo: [{
|
|
214
|
-
type: Input
|
|
215
|
-
}], autocomplete: [{
|
|
216
|
-
type: Input
|
|
217
|
-
}], appearance: [{
|
|
218
|
-
type: Input
|
|
219
|
-
}], color: [{
|
|
220
|
-
type: Input
|
|
221
|
-
}], hasClearButton: [{
|
|
222
|
-
type: Input
|
|
223
|
-
}], suggestions: [{
|
|
224
|
-
type: Input
|
|
225
|
-
}], disabled: [{
|
|
226
|
-
type: Input
|
|
227
|
-
}], hasTitle: [{
|
|
228
|
-
type: Input
|
|
229
|
-
}], isLoading: [{
|
|
230
|
-
type: Input
|
|
231
|
-
}], isRemoteSearch: [{
|
|
232
|
-
type: Input
|
|
233
|
-
}], debounceTimeForRemoteSearch: [{
|
|
234
|
-
type: Input
|
|
235
|
-
}], onSelect: [{
|
|
236
|
-
type: Output
|
|
237
|
-
}], onSearch: [{
|
|
238
|
-
type: Output
|
|
239
|
-
}] } });
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb21wb25lbnRzL2ZpZWxkcy9hdXRvY29tcGxldGUtZmllbGQvYXV0b2NvbXBsZXRlLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb21wb25lbnRzL2ZpZWxkcy9hdXRvY29tcGxldGUtZmllbGQvYXV0b2NvbXBsZXRlLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsUUFBUSxFQUNSLEtBQUssRUFDTCxJQUFJLEVBR0osTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3pFLE9BQU8sRUFFTCwyQkFBMkIsRUFDM0IsaUJBQWlCLEdBQ2xCLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7OztBQU0xQixNQUFNLE9BQU8sNkJBQTZCO0lBK0J4QyxZQUM4QixVQUFxQixFQUM3QixtQkFBdUMsRUFDbkQsR0FBc0I7UUFGRixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQzdCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDbkQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFqQ3hCLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVuQyxXQUFNLEdBQUcsUUFBUSxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixpQkFBWSxHQUE2QixLQUFLLENBQUM7UUFDL0MsZUFBVSxHQUEyQiwyQkFBMkIsQ0FBQztRQUNqRSxVQUFLLEdBQWlCLFNBQVMsQ0FBQztRQUNoQyxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixnQkFBVyxHQUFVLEVB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b250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uRGVzdHJveSxcclxuICBPcHRpb25hbCxcclxuICBJbnB1dCxcclxuICBTZWxmLFxyXG4gIE9uSW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUdyb3VwRGlyZWN0aXZlLCBGb3JtQ29udHJvbCwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgfSBmcm9tICdAa2F0by1sZWUvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdE9wdGlvblNlbGVjdGlvbkNoYW5nZSwgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGthdG8tbGVlL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFRha0F1dG9jb21wbGV0ZUZpZWxkVHlwZSxcclxuICBUQUtfREVGQVVMVF9BUFBFQVJBTkNFX0ZPUk0sXHJcbiAgVEFLX1BSRVNTX0VTQ19LRVksXHJcbn0gZnJvbSAnLi4vZmllbGRzLmNvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Rhay1hdXRvY29tcGxldGUtZmllbGQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFrQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHByaXZhdGUgX3Vuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIEBJbnB1dCgpIG9wdGlvbiA9ICdvcHRpb24nO1xyXG4gIEBJbnB1dCgpIGV4dHJhSW5mbyA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogVGFrQXV0b2NvbXBsZXRlRmllbGRUeXBlID0gJ29mZic7XHJcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSA9IFRBS19ERUZBVUxUX0FQUEVBUkFOQ0VfRk9STTtcclxuICBASW5wdXQoKSBjb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xyXG4gIEBJbnB1dCgpIGhhc0NsZWFyQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzdWdnZXN0aW9uczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhhc1RpdGxlID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzUmVtb3RlU2VhcmNoID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGVib3VuY2VUaW1lRm9yUmVtb3RlU2VhcmNoID0gNTAwO1xyXG5cclxuICBAT3V0cHV0KCkgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25TZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlRm4gPSAoXzogYW55KSA9PiB7fTtcclxuICBwdWJsaWMgb25Ub3VjaEZuID0gKF86IGFueSkgPT4ge307XHJcblxyXG4gIHByaXZhdGUgX2lzU3VibWl0dGVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIF92YWx1ZSA9ICcnO1xyXG4gIHByaXZhdGUgX2ZpbHRlcmVkT3B0aW9ucyE6IE9ic2VydmFibGU8YW55W10+O1xyXG4gIHByaXZhdGUgX25vdFN1Z2dlc3Rpb25zID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfbGFzdFZhbHVlID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIF9uZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2Zvcm1Hcm91cERpcmVjdGl2ZTogRm9ybUdyb3VwRGlyZWN0aXZlLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgICBpZiAoX25nQ29udHJvbCkgdGhpcy5fbmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgaWYgKF9mb3JtR3JvdXBEaXJlY3RpdmUpIHtcclxuICAgICAgX2Zvcm1Hcm91cERpcmVjdGl2ZS5uZ1N1Ym1pdC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2lzU3VibWl0dGVkID0gdHJ1ZTtcclxuICAgICAgICBfY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZm9ybTogYW55ID0gdGhpcy5jb250cm9sO1xyXG5cclxuICAgIGlmIChmb3JtPy5fcmF3VmFsaWRhdG9ycykge1xyXG4gICAgICBmb3JtLl9yYXdWYWxpZGF0b3JzLm1hcCgocjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHIubmFtZS5pbmNsdWRlcygncmVxdWlyZWQnKSkgdGhpcy5fcmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpLFxyXG4gICAgICBtYXAoKCkgPT4gdGhpcy5fZmlsdGVyKCkpXHJcbiAgICApO1xyXG5cclxuICAgIGlmICh0aGlzLmlzUmVtb3RlU2VhcmNoKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXNcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSwgZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lRm9yUmVtb3RlU2VhcmNoKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLl9sYXN0VmFsdWUgIT09IGAke3RoaXMuX3ZhbHVlfWAgJiYgYCR7dGhpcy5fdmFsdWV9YCAmJiAhdGhpcy5jb250cm9sLnZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25TZWFyY2guZW1pdChgJHt0aGlzLl92YWx1ZX1gKTtcclxuICAgICAgICAgICAgdGhpcy5fc2V0VmFsdWUoYCR7dGhpcy5fdmFsdWV9YCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5fbGFzdFZhbHVlID0gYCR7dGhpcy5fdmFsdWV9YDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB0aGlzLmNvbnRyb2wuZGlzYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmlsdGVyKCk6IGFueVtdIHtcclxuICAgIGNvbnN0IHZhbHVlID1cclxuICAgICAgdHlwZW9mIGAke3RoaXMuX3ZhbHVlfWAgPT09ICdzdHJpbmcnXHJcbiAgICAgICAgPyBgJHt0aGlzLl92YWx1ZX1gLnRvTG93ZXJDYXNlKClcclxuICAgICAgICA6IGAke3RoaXMuY29udHJvbC52YWx1ZVt0aGlzLm9wdGlvbl19YC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgY29uc3Qgb3B0aW9uID0gdGhpcy5zdWdnZXN0aW9ucy5maWx0ZXIocmVzID0+XHJcbiAgICAgIGAke3Jlc1t0aGlzLm9wdGlvbl19YC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbHVlKVxyXG4gICAgKTtcclxuICAgIGlmICghb3B0aW9uLmxlbmd0aCkgdGhpcy5fbm90U3VnZ2VzdGlvbnMgPSB0cnVlO1xyXG4gICAgZWxzZSB0aGlzLl9ub3RTdWdnZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIG9wdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgdGhpcy5faXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlIHx8ICcnO1xyXG4gICAgdGhpcy5faXNTdWJtaXR0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoRm4gPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQudGFyZ2V0LnZhbHVlICE9PSBgJHt0aGlzLl92YWx1ZX1gKSB7XHJcbiAgICAgIHRoaXMuX3ZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG5cclxuICAgICAgaWYgKCF0aGlzLmlzUmVtb3RlU2VhcmNoKSB0aGlzLl9zZXRWYWx1ZShgJHt0aGlzLl92YWx1ZX1gKTtcclxuXHJcbiAgICAgIHRoaXMub25DaGFuZ2VGbihcclxuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25zLmZpbHRlcihcclxuICAgICAgICAgIHN1ZyA9PiBgJHtzdWdbdGhpcy5vcHRpb25dfWAudG9Mb3dlckNhc2UoKSA9PT0gYCR7YCR7dGhpcy5fdmFsdWV9YH1gLnRvTG93ZXJDYXNlKClcclxuICAgICAgICApWzBdIHx8IG51bGxcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wudG91Y2hlZCkge1xyXG4gICAgICAgIHRoaXMuX29uVmFsaWRhdGUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0VmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLmlzUmVtb3RlU2VhcmNoKSB7XHJcbiAgICAgIGNvbnN0IHN1Z2dlc3Rpb25zRmlsdGVyZWQgPSB2YWx1ZVxyXG4gICAgICAgID8gdGhpcy5zdWdnZXN0aW9ucy5maWx0ZXIoXHJcbiAgICAgICAgICAgIGVsID0+XHJcbiAgICAgICAgICAgICAgYCR7ZWxbdGhpcy5vcHRpb25dfWAudG9Mb3dlckNhc2UoKS50cmltKCkgPT09ICh2YWx1ZSBhcyBzdHJpbmcpLnRvTG93ZXJDYXNlKCkudHJpbSgpXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgOiBbXTtcclxuXHJcbiAgICAgIGlmIChzdWdnZXN0aW9uc0ZpbHRlcmVkLmxlbmd0aCkge1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuZGlzcGF0Y2hFdmVudChUQUtfUFJFU1NfRVNDX0tFWSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHN1Z2dlc3Rpb25zRmlsdGVyZWRbMF1bdGhpcy5vcHRpb25dLCB7XHJcbiAgICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMub25TZWxlY3QuZW1pdChzdWdnZXN0aW9uc0ZpbHRlcmVkWzBdKTtcclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHt9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW1pdChlbDogTWF0T3B0aW9uU2VsZWN0aW9uQ2hhbmdlKSB7XHJcbiAgICBpZiAoZWwgJiYgZWwuaXNVc2VySW5wdXQpIHRoaXMuX2lzSW52YWxpZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVtaXRXaXRoQ2xpY2soc3VnZ2VzdGlvbk9wdGlvbjogYW55KSB7XHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoc3VnZ2VzdGlvbk9wdGlvbik7XHJcbiAgICB0aGlzLl92YWx1ZSA9IGAke3N1Z2dlc3Rpb25PcHRpb25bdGhpcy5vcHRpb25dfWA7XHJcbiAgICB0aGlzLl9pc0ludmFsaWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkZvY3Vzb3V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoRm4odHJ1ZSk7XHJcbiAgICB0aGlzLl9vblZhbGlkYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICAgIHRoaXMuX3ZhbHVlID0gYCR7dmFsdWVbdGhpcy5vcHRpb25dfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25VcGRhdGVTdWdnZXN0aW9ucyhzdWdnZXN0aW9uczogYW55W10pIHtcclxuICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSBzdWdnZXN0aW9ucztcclxuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG5cclxuICAgIHRoaXMub25DaGFuZ2VGbihcclxuICAgICAgdGhpcy5zdWdnZXN0aW9ucy5maWx0ZXIoXHJcbiAgICAgICAgc3VnID0+IGAke3N1Z1t0aGlzLm9wdGlvbl19YC50b0xvd2VyQ2FzZSgpID09PSBgJHt0aGlzLl92YWx1ZX1gLnRvTG93ZXJDYXNlKClcclxuICAgICAgKVswXSB8fCBudWxsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb25WYWxpZGF0ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wuaW52YWxpZCkgdGhpcy5faXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgIGVsc2UgdGhpcy5faXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Gb2N1cygpIHtcclxuICAgIGlmICghYCR7dGhpcy5fdmFsdWV9YCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoJycpO1xyXG4gICAgICB0aGlzLl92YWx1ZSA9ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xlYXJDb250cm9sKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKCcnLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLl92YWx1ZSA9ICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5zdWJzY3JpYmUkLm5leHQoKTtcclxuICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbnRyb2woKTogRm9ybUNvbnRyb2wge1xyXG4gICAgcmV0dXJuIHRoaXMuX25nQ29udHJvbD8uY29udHJvbCBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIGdldCBkaXJlY3RpdmUoKTogRm9ybUdyb3VwRGlyZWN0aXZlIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3JtR3JvdXBEaXJlY3RpdmUgYXMgRm9ybUdyb3VwRGlyZWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRGlzYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbmdDb250cm9sLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzU3VibWl0dGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzU3VibWl0dGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzSW52YWxpZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9pc0ludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVxdWlyZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWUoKSB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5fdmFsdWV9YDtcclxuICB9XHJcblxyXG4gIGdldCBmaWx0ZXJlZE9wdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyZWRPcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG5vdFN1Z2dlc3Rpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX25vdFN1Z2dlc3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxhc3RWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9sYXN0VmFsdWU7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0YWstZm9ybS1jb250YWluZXJcIj5cclxuICA8bWF0LWZvcm0tZmllbGRcclxuICAgIFtjbGFzcy5tYXQtZm9ybS1maWVsZC1pbnZhbGlkXT1cImlzSW52YWxpZCB8fCAoaXNTdWJtaXR0ZWQgJiYgY29udHJvbC5pbnZhbGlkKVwiXHJcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcclxuICAgIFtjb2xvcl09XCJjb2xvclwiXHJcbiAgPlxyXG4gICAgPG1hdC1sYWJlbD5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pnt7ICcgJyB9fVxyXG4gICAgICBAaWYgKHJlcXVpcmVkKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWstZmllbGRfX2Rhbmdlci14XCI+Kjwvc3Bhbj5cclxuICAgICAgfVxyXG4gICAgPC9tYXQtbGFiZWw+XHJcbiAgICA8aW5wdXRcclxuICAgICAgbWF0SW5wdXRcclxuICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxyXG4gICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxyXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAoa2V5dXApPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXHJcbiAgICAgIChmb2N1c291dCk9XCJvbkZvY3Vzb3V0KClcIlxyXG4gICAgLz5cclxuICAgIEBpZiAoaXNSZW1vdGVTZWFyY2ggJiYgaXNMb2FkaW5nKSB7XHJcbiAgICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgPG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCIxNVwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICB9XHJcbiAgICBAaWYgKChjb250cm9sLnZhbHVlIHx8IHZhbHVlKSAmJiBoYXNDbGVhckJ1dHRvbiAmJiAhZGlzYWJsZWQpIHtcclxuICAgICAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25DbGVhckNvbnRyb2woKVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgfVxyXG4gICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIj5cclxuICAgICAgQGZvciAoc3VnZ2VzdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luYzsgdHJhY2sgc3VnZ2VzdGlvbikge1xyXG4gICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICBbdmFsdWVdPVwic3VnZ2VzdGlvbltvcHRpb25dXCJcclxuICAgICAgICAgIFtjbGFzcy50YWstb3B0aW9uLWV4dHJhXT1cImV4dHJhSW5mb1wiXHJcbiAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2UpPVwiZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgIChjbGljayk9XCJlbWl0V2l0aENsaWNrKHN1Z2dlc3Rpb24pXCJcclxuICAgICAgICAgIHRpdGxlPVwie3sgc3VnZ2VzdGlvbltvcHRpb25dIH19IHt7IGV4dHJhSW5mbyA/ICcoJyArIHN1Z2dlc3Rpb25bZXh0cmFJbmZvXSArICcpJyA6ICcnIH19XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3Bhbj57eyBzdWdnZXN0aW9uW29wdGlvbl0gfX08L3NwYW4+XHJcbiAgICAgICAgICBAaWYgKGV4dHJhSW5mbykge1xyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRhay1vcHRpb24tc3Bhbi1leHRyYVwiPnt7IHN1Z2dlc3Rpb25bZXh0cmFJbmZvXSB9fTwvc3Bhbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChub3RTdWdnZXN0aW9ucyAmJiBjb250cm9sLmludmFsaWQpIHtcclxuICAgICAgICA8bWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFrLWF1dG9jb21wbGV0ZS1ub3QtcmVjb3Jkc1wiPiBObyBzZSBlbmN1ZW50cmFuIHJlc3VsdGFkb3MgPC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgfVxyXG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgQGlmIChpc0ludmFsaWQgfHwgKGlzU3VibWl0dGVkICYmIGNvbnRyb2wuaW52YWxpZCkpIHtcclxuICAgIDx0YWstZXJyb3IgW2NvbnRyb2xdPVwiY29udHJvbFwiPjwvdGFrLWVycm9yPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import { Component, Optional, Input, Self, } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { TAK_DEFAULT_APPEARANCE_FORM } from '../fields.common';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/forms";
|
|
7
|
-
import * as i2 from "@kato-lee/material/form-field";
|
|
8
|
-
import * as i3 from "@kato-lee/material/datepicker";
|
|
9
|
-
import * as i4 from "../error/error.component";
|
|
10
|
-
import * as i5 from "@kato-lee/material/input";
|
|
11
|
-
export class TakDateFieldComponent {
|
|
12
|
-
constructor(_ngControl, _formGroupDirective, _cd) {
|
|
13
|
-
this._ngControl = _ngControl;
|
|
14
|
-
this._formGroupDirective = _formGroupDirective;
|
|
15
|
-
this._cd = _cd;
|
|
16
|
-
this._unsubscribe$ = new Subject();
|
|
17
|
-
this.appearance = TAK_DEFAULT_APPEARANCE_FORM;
|
|
18
|
-
this.autocomplete = 'off';
|
|
19
|
-
this.color = 'primary';
|
|
20
|
-
this.placeholder = '';
|
|
21
|
-
this.notInput = false;
|
|
22
|
-
this.disabled = false;
|
|
23
|
-
this.onChangeFn = (_) => { };
|
|
24
|
-
this.onTouchFn = (_) => { };
|
|
25
|
-
this._isSubmitted = false;
|
|
26
|
-
this._isInvalid = false;
|
|
27
|
-
this._required = false;
|
|
28
|
-
this._value = '';
|
|
29
|
-
if (_ngControl)
|
|
30
|
-
this._ngControl.valueAccessor = this;
|
|
31
|
-
if (_formGroupDirective) {
|
|
32
|
-
_formGroupDirective.ngSubmit.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {
|
|
33
|
-
this._isSubmitted = true;
|
|
34
|
-
_cd.markForCheck();
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
ngOnInit() {
|
|
39
|
-
const form = this.control;
|
|
40
|
-
if (form?._rawValidators) {
|
|
41
|
-
form._rawValidators.map((r) => {
|
|
42
|
-
if (r.name.includes('required')) {
|
|
43
|
-
this._required = true;
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
if (this.disabled)
|
|
48
|
-
this.control.disable();
|
|
49
|
-
}
|
|
50
|
-
ngAfterViewInit() {
|
|
51
|
-
const isValidDate = Date.parse(this.control.value);
|
|
52
|
-
if (isNaN(isValidDate))
|
|
53
|
-
this.control.setValue(null);
|
|
54
|
-
else
|
|
55
|
-
this.control.setValue(new Date(this.control.value));
|
|
56
|
-
}
|
|
57
|
-
writeValue(value) {
|
|
58
|
-
if (value === null)
|
|
59
|
-
this._isInvalid = false;
|
|
60
|
-
this._value = value;
|
|
61
|
-
}
|
|
62
|
-
registerOnChange(fn) {
|
|
63
|
-
this.onChangeFn = fn;
|
|
64
|
-
}
|
|
65
|
-
registerOnTouched(fn) {
|
|
66
|
-
this.onTouchFn = fn;
|
|
67
|
-
}
|
|
68
|
-
onChange(event) {
|
|
69
|
-
this._value = event.target.value;
|
|
70
|
-
this.onChangeFn(event.target.value);
|
|
71
|
-
if (this.control.touched)
|
|
72
|
-
this._onValidate();
|
|
73
|
-
}
|
|
74
|
-
onFocusout() {
|
|
75
|
-
this.onTouchFn(true);
|
|
76
|
-
this._onValidate();
|
|
77
|
-
}
|
|
78
|
-
onCloseDatePicker() {
|
|
79
|
-
this.onTouchFn(true);
|
|
80
|
-
this._onValidate();
|
|
81
|
-
}
|
|
82
|
-
_onValidate() {
|
|
83
|
-
const isValidDate = Date.parse(this.control.value);
|
|
84
|
-
if (this.control.invalid ||
|
|
85
|
-
([undefined, null, ''].indexOf(this.control.value) < 0 &&
|
|
86
|
-
this.control.valid &&
|
|
87
|
-
isNaN(isValidDate))) {
|
|
88
|
-
this._isInvalid = true;
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
this._isInvalid = false;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
ngOnDestroy() {
|
|
95
|
-
this._unsubscribe$.next();
|
|
96
|
-
this._unsubscribe$.complete();
|
|
97
|
-
}
|
|
98
|
-
get control() {
|
|
99
|
-
return this._ngControl?.control;
|
|
100
|
-
}
|
|
101
|
-
get directive() {
|
|
102
|
-
return this._formGroupDirective;
|
|
103
|
-
}
|
|
104
|
-
get isDisabled() {
|
|
105
|
-
return this._ngControl.disabled;
|
|
106
|
-
}
|
|
107
|
-
get isSubmitted() {
|
|
108
|
-
return this._isSubmitted;
|
|
109
|
-
}
|
|
110
|
-
get isInvalid() {
|
|
111
|
-
return this._isInvalid;
|
|
112
|
-
}
|
|
113
|
-
get required() {
|
|
114
|
-
return this._required;
|
|
115
|
-
}
|
|
116
|
-
get value() {
|
|
117
|
-
return this._value;
|
|
118
|
-
}
|
|
119
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakDateFieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i1.FormGroupDirective, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
120
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: TakDateFieldComponent, selector: "tak-date-field", inputs: { appearance: "appearance", autocomplete: "autocomplete", color: "color", placeholder: "placeholder", notInput: "notInput", minDate: "minDate", maxDate: "maxDate", disabled: "disabled" }, ngImport: i0, template: "@if (!notInput) {\r\n <div class=\"tak-form-container\">\r\n <mat-form-field\r\n [class.mat-form-field-invalid]=\"isInvalid || (isSubmitted && control.invalid)\"\r\n [appearance]=\"appearance\"\r\n [color]=\"color\"\r\n >\r\n <mat-label>\r\n <ng-content></ng-content>{{ ' ' }}\r\n @if (required) {\r\n <span class=\"tak-field__danger-x\">*</span>\r\n }\r\n </mat-label>\r\n <input\r\n matInput\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n [autocomplete]=\"autocomplete\"\r\n [matDatepicker]=\"picker\"\r\n [value]=\"value\"\r\n (keyup)=\"onChange($event)\"\r\n (dateChange)=\"onChange($event)\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"isDisabled\"\r\n (focusout)=\"onFocusout()\"\r\n />\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker (closed)=\"onCloseDatePicker()\" #picker></mat-datepicker>\r\n </mat-form-field>\r\n @if (isInvalid || (isSubmitted && control.invalid)) {\r\n <tak-error [control]=\"control\" [isDateField]=\"true\"> </tak-error>\r\n }\r\n </div>\r\n}\r\n@if (notInput) {\r\n <div>\r\n <div\r\n class=\"tak__date-not-input__picker-container\"\r\n [class.mat-form-field-invalid]=\"isInvalid || (isSubmitted && control.invalid)\"\r\n >\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker (closed)=\"onCloseDatePicker()\" #picker></mat-datepicker>\r\n </div>\r\n <div class=\"tak__date-not-input__field-container\">\r\n <mat-form-field [color]=\"color\">\r\n <input\r\n matInput\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n autocomplete=\"off\"\r\n [matDatepicker]=\"picker\"\r\n [value]=\"value\"\r\n (keyup)=\"onChange($event)\"\r\n (dateChange)=\"onChange($event)\"\r\n [disabled]=\"isDisabled\"\r\n (focusout)=\"onFocusout()\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n @if (isInvalid || (isSubmitted && control.invalid)) {\r\n <tak-error [control]=\"control\" [isDateField]=\"true\" [marginTop]=\"-60\"> </tak-error>\r\n }\r\n </div>\r\n}\r\n", dependencies: [{ kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i4.TakErrorComponent, selector: "tak-error", inputs: ["control", "start", "end", "isDateField", "isNumberField", "marginTop"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
|
|
121
|
-
}
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakDateFieldComponent, decorators: [{
|
|
123
|
-
type: Component,
|
|
124
|
-
args: [{ selector: 'tak-date-field', template: "@if (!notInput) {\r\n <div class=\"tak-form-container\">\r\n <mat-form-field\r\n [class.mat-form-field-invalid]=\"isInvalid || (isSubmitted && control.invalid)\"\r\n [appearance]=\"appearance\"\r\n [color]=\"color\"\r\n >\r\n <mat-label>\r\n <ng-content></ng-content>{{ ' ' }}\r\n @if (required) {\r\n <span class=\"tak-field__danger-x\">*</span>\r\n }\r\n </mat-label>\r\n <input\r\n matInput\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n [autocomplete]=\"autocomplete\"\r\n [matDatepicker]=\"picker\"\r\n [value]=\"value\"\r\n (keyup)=\"onChange($event)\"\r\n (dateChange)=\"onChange($event)\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"isDisabled\"\r\n (focusout)=\"onFocusout()\"\r\n />\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker (closed)=\"onCloseDatePicker()\" #picker></mat-datepicker>\r\n </mat-form-field>\r\n @if (isInvalid || (isSubmitted && control.invalid)) {\r\n <tak-error [control]=\"control\" [isDateField]=\"true\"> </tak-error>\r\n }\r\n </div>\r\n}\r\n@if (notInput) {\r\n <div>\r\n <div\r\n class=\"tak__date-not-input__picker-container\"\r\n [class.mat-form-field-invalid]=\"isInvalid || (isSubmitted && control.invalid)\"\r\n >\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker (closed)=\"onCloseDatePicker()\" #picker></mat-datepicker>\r\n </div>\r\n <div class=\"tak__date-not-input__field-container\">\r\n <mat-form-field [color]=\"color\">\r\n <input\r\n matInput\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n autocomplete=\"off\"\r\n [matDatepicker]=\"picker\"\r\n [value]=\"value\"\r\n (keyup)=\"onChange($event)\"\r\n (dateChange)=\"onChange($event)\"\r\n [disabled]=\"isDisabled\"\r\n (focusout)=\"onFocusout()\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n @if (isInvalid || (isSubmitted && control.invalid)) {\r\n <tak-error [control]=\"control\" [isDateField]=\"true\" [marginTop]=\"-60\"> </tak-error>\r\n }\r\n </div>\r\n}\r\n" }]
|
|
125
|
-
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
126
|
-
type: Self
|
|
127
|
-
}, {
|
|
128
|
-
type: Optional
|
|
129
|
-
}] }, { type: i1.FormGroupDirective, decorators: [{
|
|
130
|
-
type: Optional
|
|
131
|
-
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { appearance: [{
|
|
132
|
-
type: Input
|
|
133
|
-
}], autocomplete: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], color: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], placeholder: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], notInput: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], minDate: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}], maxDate: [{
|
|
144
|
-
type: Input
|
|
145
|
-
}], disabled: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}] } });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29tcG9uZW50cy9maWVsZHMvZGF0ZS1maWVsZC9kYXRlLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb21wb25lbnRzL2ZpZWxkcy9kYXRlLWZpZWxkL2RhdGUtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLFNBQVMsRUFDVCxRQUFRLEVBRVIsS0FBSyxFQUNMLElBQUksR0FDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzQyxPQUFPLEVBQUUsMkJBQTJCLEVBQTRCLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUFNekYsTUFBTSxPQUFPLHFCQUFxQjtJQXdCaEMsWUFDOEIsVUFBcUIsRUFDN0IsbUJBQXVDLEVBQ25ELEdBQXNCO1FBRkYsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUM3Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ25ELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBeEJ4QixrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFbkMsZUFBVSxHQUEyQiwyQkFBMkIsQ0FBQztRQUNqRSxpQkFBWSxHQUE2QixLQUFLLENBQUM7UUFDL0MsVUFBSyxHQUFpQixTQUFTLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUtqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGVBQVUsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzVCLGNBQVMsR0FBRyxDQUFDLENBQU0sRUFBRSxF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UUFBUTs7MEJBQ2hCLFFBQVE7eUVBckJGLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE9uSW5pdCxcclxuICBJbnB1dCxcclxuICBTZWxmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGthdG8tbGVlL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRBcHBlYXJhbmNlIH0gZnJvbSAnQGthdG8tbGVlL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cERpcmVjdGl2ZSwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUQUtfREVGQVVMVF9BUFBFQVJBTkNFX0ZPUk0sIFRha0F1dG9jb21wbGV0ZUZpZWxkVHlwZSB9IGZyb20gJy4uL2ZpZWxkcy5jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0YWstZGF0ZS1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFrRGF0ZUZpZWxkQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Jcclxue1xyXG4gIHByaXZhdGUgX3Vuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgPSBUQUtfREVGQVVMVF9BUFBFQVJBTkNFX0ZPUk07XHJcbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBUYWtBdXRvY29tcGxldGVGaWVsZFR5cGUgPSAnb2ZmJztcclxuICBASW5wdXQoKSBjb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XHJcbiAgQElucHV0KCkgbm90SW5wdXQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbWluRGF0ZSE6IERhdGUgfCBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF4RGF0ZSE6IERhdGUgfCBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZUZuID0gKF86IGFueSkgPT4ge307XHJcbiAgcHVibGljIG9uVG91Y2hGbiA9IChfOiBhbnkpID0+IHt9O1xyXG5cclxuICBwcml2YXRlIF9pc1N1Ym1pdHRlZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2lzSW52YWxpZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3JlcXVpcmVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdmFsdWUgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgX25nQ29udHJvbDogTmdDb250cm9sLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZm9ybUdyb3VwRGlyZWN0aXZlOiBGb3JtR3JvdXBEaXJlY3RpdmUsXHJcbiAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICAgIGlmIChfbmdDb250cm9sKSB0aGlzLl9uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICBpZiAoX2Zvcm1Hcm91cERpcmVjdGl2ZSkge1xyXG4gICAgICBfZm9ybUdyb3VwRGlyZWN0aXZlLm5nU3VibWl0LnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5faXNTdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgICAgIF9jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmb3JtOiBhbnkgPSB0aGlzLmNvbnRyb2w7XHJcbiAgICBpZiAoZm9ybT8uX3Jhd1ZhbGlkYXRvcnMpIHtcclxuICAgICAgZm9ybS5fcmF3VmFsaWRhdG9ycy5tYXAoKHI6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyLm5hbWUuaW5jbHVkZXMoJ3JlcXVpcmVkJykpIHtcclxuICAgICAgICAgIHRoaXMuX3JlcXVpcmVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHRoaXMuY29udHJvbC5kaXNhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgaXNWYWxpZERhdGUgPSBEYXRlLnBhcnNlKHRoaXMuY29udHJvbC52YWx1ZSk7XHJcbiAgICBpZiAoaXNOYU4oaXNWYWxpZERhdGUpKSB0aGlzLmNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICBlbHNlIHRoaXMuY29udHJvbC5zZXRWYWx1ZShuZXcgRGF0ZSh0aGlzLmNvbnRyb2wudmFsdWUpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgdGhpcy5faXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoRm4gPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIHRoaXMub25DaGFuZ2VGbihldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbC50b3VjaGVkKSB0aGlzLl9vblZhbGlkYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Gb2N1c291dCgpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaEZuKHRydWUpO1xyXG4gICAgdGhpcy5fb25WYWxpZGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xvc2VEYXRlUGlja2VyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoRm4odHJ1ZSk7XHJcbiAgICB0aGlzLl9vblZhbGlkYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vblZhbGlkYXRlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaXNWYWxpZERhdGUgPSBEYXRlLnBhcnNlKHRoaXMuY29udHJvbC52YWx1ZSk7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY29udHJvbC5pbnZhbGlkIHx8XHJcbiAgICAgIChbdW5kZWZpbmVkLCBudWxsLCAnJ10uaW5kZXhPZih0aGlzLmNvbnRyb2wudmFsdWUpIDwgMCAmJlxyXG4gICAgICAgIHRoaXMuY29udHJvbC52YWxpZCAmJlxyXG4gICAgICAgIGlzTmFOKGlzVmFsaWREYXRlKSlcclxuICAgICkge1xyXG4gICAgICB0aGlzLl9pc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91bnN1YnNjcmliZSQubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgY29udHJvbCgpOiBGb3JtQ29udHJvbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fbmdDb250cm9sPy5jb250cm9sIGFzIEZvcm1Db250cm9sO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRpcmVjdGl2ZSgpOiBGb3JtR3JvdXBEaXJlY3RpdmUge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cERpcmVjdGl2ZSBhcyBGb3JtR3JvdXBEaXJlY3RpdmU7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNEaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9uZ0NvbnRyb2wuZGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNTdWJtaXR0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNTdWJtaXR0ZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNJbnZhbGlkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzSW52YWxpZDtcclxuICB9XHJcblxyXG4gIGdldCByZXF1aXJlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcbn1cclxuIiwiQGlmICghbm90SW5wdXQpIHtcclxuICA8ZGl2IGNsYXNzPVwidGFrLWZvcm0tY29udGFpbmVyXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGRcclxuICAgICAgW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWludmFsaWRdPVwiaXNJbnZhbGlkIHx8IChpc1N1Ym1pdHRlZCAmJiBjb250cm9sLmludmFsaWQpXCJcclxuICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXHJcbiAgICAgIFtjb2xvcl09XCJjb2xvclwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtbGFiZWw+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pnt7ICcgJyB9fVxyXG4gICAgICAgIEBpZiAocmVxdWlyZWQpIHtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFrLWZpZWxkX19kYW5nZXIteFwiPio8L3NwYW4+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L21hdC1sYWJlbD5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICBbbWluXT1cIm1pbkRhdGVcIlxyXG4gICAgICAgIFttYXhdPVwibWF4RGF0ZVwiXHJcbiAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxyXG4gICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiXHJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICAoa2V5dXApPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKGRhdGVDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXHJcbiAgICAgICAgKGZvY3Vzb3V0KT1cIm9uRm9jdXNvdXQoKVwiXHJcbiAgICAgIC8+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlciAoY2xvc2VkKT1cIm9uQ2xvc2VEYXRlUGlja2VyKClcIiAjcGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgQGlmIChpc0ludmFsaWQgfHwgKGlzU3VibWl0dGVkICYmIGNvbnRyb2wuaW52YWxpZCkpIHtcclxuICAgICAgPHRhay1lcnJvciBbY29udHJvbF09XCJjb250cm9sXCIgW2lzRGF0ZUZpZWxkXT1cInRydWVcIj4gPC90YWstZXJyb3I+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbn1cclxuQGlmIChub3RJbnB1dCkge1xyXG4gIDxkaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwidGFrX19kYXRlLW5vdC1pbnB1dF9fcGlja2VyLWNvbnRhaW5lclwiXHJcbiAgICAgIFtjbGFzcy5tYXQtZm9ybS1maWVsZC1pbnZhbGlkXT1cImlzSW52YWxpZCB8fCAoaXNTdWJtaXR0ZWQgJiYgY29udHJvbC5pbnZhbGlkKVwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlciAoY2xvc2VkKT1cIm9uQ2xvc2VEYXRlUGlja2VyKClcIiAjcGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0YWtfX2RhdGUtbm90LWlucHV0X19maWVsZC1jb250YWluZXJcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIFtjb2xvcl09XCJjb2xvclwiPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIFttaW5dPVwibWluRGF0ZVwiXHJcbiAgICAgICAgICBbbWF4XT1cIm1heERhdGVcIlxyXG4gICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAgICAgKGtleXVwKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgKGRhdGVDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXHJcbiAgICAgICAgICAoZm9jdXNvdXQpPVwib25Gb2N1c291dCgpXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICBAaWYgKGlzSW52YWxpZCB8fCAoaXNTdWJtaXR0ZWQgJiYgY29udHJvbC5pbnZhbGlkKSkge1xyXG4gICAgICA8dGFrLWVycm9yIFtjb250cm9sXT1cImNvbnRyb2xcIiBbaXNEYXRlRmllbGRdPVwidHJ1ZVwiIFttYXJnaW5Ub3BdPVwiLTYwXCI+IDwvdGFrLWVycm9yPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG59XHJcbiJdfQ==
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { TAK_DEFAULT_APPEARANCE_FORM } from '../fields.common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
import * as i2 from "@kato-lee/material/form-field";
|
|
6
|
-
import * as i3 from "@kato-lee/material/datepicker";
|
|
7
|
-
import * as i4 from "../error/error.component";
|
|
8
|
-
export class TakDateRangeFieldComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.autocomplete = 'off';
|
|
11
|
-
this.startPlaceholder = 'Inicio';
|
|
12
|
-
this.endPlaceholder = 'Fin';
|
|
13
|
-
this.appearance = TAK_DEFAULT_APPEARANCE_FORM;
|
|
14
|
-
this.color = 'primary';
|
|
15
|
-
this.notInput = false;
|
|
16
|
-
this.disabled = false;
|
|
17
|
-
this._required = false;
|
|
18
|
-
}
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
const start = this.start;
|
|
21
|
-
const end = this.end;
|
|
22
|
-
if (start?._rawValidators) {
|
|
23
|
-
start._rawValidators.map((r) => {
|
|
24
|
-
if (r.name.includes('required'))
|
|
25
|
-
this._required = true;
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
if (end?._rawValidators) {
|
|
29
|
-
end._rawValidators.map((r) => {
|
|
30
|
-
if (r.name.includes('required'))
|
|
31
|
-
this._required = true;
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
if (this.disabled) {
|
|
35
|
-
this.start.disable();
|
|
36
|
-
this.end.disable();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
get required() {
|
|
40
|
-
return this._required;
|
|
41
|
-
}
|
|
42
|
-
get isDisabled() {
|
|
43
|
-
return this.start.disabled || this.end.disabled;
|
|
44
|
-
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakDateRangeFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: TakDateRangeFieldComponent, selector: "tak-date-range-field", inputs: { autocomplete: "autocomplete", startPlaceholder: "startPlaceholder", endPlaceholder: "endPlaceholder", appearance: "appearance", color: "color", start: "start", end: "end", notInput: "notInput", disabled: "disabled" }, ngImport: i0, template: "@if (!notInput) {\r\n <div class=\"tak-form-container\">\r\n <mat-form-field [appearance]=\"appearance\" [color]=\"color\">\r\n <mat-label>\r\n <ng-content></ng-content>\r\n </mat-label>\r\n <mat-date-range-input [rangePicker]=\"picker\">\r\n <input\r\n matStartDate\r\n [placeholder]=\"startPlaceholder\"\r\n [formControl]=\"start\"\r\n [autocomplete]=\"autocomplete\"\r\n />\r\n <input matEndDate [placeholder]=\"endPlaceholder\" [formControl]=\"end\" />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #picker></mat-date-range-picker>\r\n </mat-form-field>\r\n @if ((start.invalid || end.invalid) && (start.touched || end.touched)) {\r\n <tak-error [start]=\"start\" [end]=\"end\"> </tak-error>\r\n }\r\n </div>\r\n}\r\n@if (notInput) {\r\n <div>\r\n <div\r\n class=\"tak__date-not-input__picker-container\"\r\n [class.mat-form-field-invalid]=\"\r\n (start.invalid || end.invalid) && (start.touched || end.touched)\r\n \"\r\n >\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #picker [disabled]=\"isDisabled\"></mat-date-range-picker>\r\n </div>\r\n <div class=\"tak__date-not-input__field-container\">\r\n <mat-form-field [color]=\"color\">\r\n <mat-date-range-input [rangePicker]=\"picker\">\r\n <input matStartDate [formControl]=\"start\" />\r\n <input matEndDate [formControl]=\"end\" />\r\n </mat-date-range-input>\r\n </mat-form-field>\r\n </div>\r\n @if ((start.invalid || end.invalid) && (start.touched || end.touched)) {\r\n <tak-error [start]=\"start\" [end]=\"end\" [marginTop]=\"-60\"></tak-error>\r\n }\r\n </div>\r\n}\r\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i3.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i3.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i3.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i3.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i4.TakErrorComponent, selector: "tak-error", inputs: ["control", "start", "end", "isDateField", "isNumberField", "marginTop"] }] }); }
|
|
47
|
-
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakDateRangeFieldComponent, decorators: [{
|
|
49
|
-
type: Component,
|
|
50
|
-
args: [{ selector: 'tak-date-range-field', template: "@if (!notInput) {\r\n <div class=\"tak-form-container\">\r\n <mat-form-field [appearance]=\"appearance\" [color]=\"color\">\r\n <mat-label>\r\n <ng-content></ng-content>\r\n </mat-label>\r\n <mat-date-range-input [rangePicker]=\"picker\">\r\n <input\r\n matStartDate\r\n [placeholder]=\"startPlaceholder\"\r\n [formControl]=\"start\"\r\n [autocomplete]=\"autocomplete\"\r\n />\r\n <input matEndDate [placeholder]=\"endPlaceholder\" [formControl]=\"end\" />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #picker></mat-date-range-picker>\r\n </mat-form-field>\r\n @if ((start.invalid || end.invalid) && (start.touched || end.touched)) {\r\n <tak-error [start]=\"start\" [end]=\"end\"> </tak-error>\r\n }\r\n </div>\r\n}\r\n@if (notInput) {\r\n <div>\r\n <div\r\n class=\"tak__date-not-input__picker-container\"\r\n [class.mat-form-field-invalid]=\"\r\n (start.invalid || end.invalid) && (start.touched || end.touched)\r\n \"\r\n >\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-date-range-picker #picker [disabled]=\"isDisabled\"></mat-date-range-picker>\r\n </div>\r\n <div class=\"tak__date-not-input__field-container\">\r\n <mat-form-field [color]=\"color\">\r\n <mat-date-range-input [rangePicker]=\"picker\">\r\n <input matStartDate [formControl]=\"start\" />\r\n <input matEndDate [formControl]=\"end\" />\r\n </mat-date-range-input>\r\n </mat-form-field>\r\n </div>\r\n @if ((start.invalid || end.invalid) && (start.touched || end.touched)) {\r\n <tak-error [start]=\"start\" [end]=\"end\" [marginTop]=\"-60\"></tak-error>\r\n }\r\n </div>\r\n}\r\n" }]
|
|
51
|
-
}], propDecorators: { autocomplete: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}], startPlaceholder: [{
|
|
54
|
-
type: Input
|
|
55
|
-
}], endPlaceholder: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}], appearance: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], color: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], start: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}], end: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}], notInput: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], disabled: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29tcG9uZW50cy9maWVsZHMvZGF0ZS1yYW5nZS1maWVsZC9kYXRlLXJhbmdlLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb21wb25lbnRzL2ZpZWxkcy9kYXRlLXJhbmdlLWZpZWxkL2RhdGUtcmFuZ2UtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJekQsT0FBTyxFQUE0QiwyQkFBMkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7QUFNekYsTUFBTSxPQUFPLDBCQUEwQjtJQUp2QztRQUtXLGlCQUFZLEdBQTZCLEtBQUssQ0FBQztRQUMvQyxxQkFBZ0IsR0FBVyxRQUFRLENBQUM7UUFDcEMsbUJBQWMsR0FBVyxLQUFLLENBQUM7UUFFL0IsZUFBVSxHQUEyQiwyQkFBMkIsQ0FBQztRQUNqRSxVQUFLLEdBQWlCLFNBQVMsQ0FBQztRQUloQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztLQTRCM0I7SUExQlEsUUFBUTtRQUNiLE1BQU0sS0FBSyxHQUFRLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDOUIsTUFBTSxHQUFHLEdBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUMxQixJQUFJLEtBQUssRUFBRSxjQUFjLEVBQUU7WUFDekIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7b0JBQUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDekQsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksR0FBRyxFQUFFLGNBQWMsRUFBRTtZQUN2QixHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztvQkFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDbEQsQ0FBQzs4R0F6Q1UsMEJBQTBCO2tHQUExQiwwQkFBMEIsZ1NDVnZDLDIyREErQ0E7OzJGRHJDYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQUl2QixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRBcHBlYXJhbmNlIH0gZnJvbSAnQGthdG8tbGVlL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAa2F0by1sZWUvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IFRha0F1dG9jb21wbGV0ZUZpZWxkVHlwZSwgVEFLX0RFRkFVTFRfQVBQRUFSQU5DRV9GT1JNIH0gZnJvbSAnLi4vZmllbGRzLmNvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Rhay1kYXRlLXJhbmdlLWZpZWxkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1yYW5nZS1maWVsZC5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWtEYXRlUmFuZ2VGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBUYWtBdXRvY29tcGxldGVGaWVsZFR5cGUgPSAnb2ZmJztcclxuICBASW5wdXQoKSBzdGFydFBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnSW5pY2lvJztcclxuICBASW5wdXQoKSBlbmRQbGFjZWhvbGRlcjogc3RyaW5nID0gJ0Zpbic7XHJcblxyXG4gIEBJbnB1dCgpIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgPSBUQUtfREVGQVVMVF9BUFBFQVJBTkNFX0ZPUk07XHJcbiAgQElucHV0KCkgY29sb3I6IFRoZW1lUGFsZXR0ZSA9ICdwcmltYXJ5JztcclxuXHJcbiAgQElucHV0KCkgc3RhcnQhOiBGb3JtQ29udHJvbDtcclxuICBASW5wdXQoKSBlbmQhOiBGb3JtQ29udHJvbDtcclxuICBASW5wdXQoKSBub3RJbnB1dCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9yZXF1aXJlZCA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdGFydDogYW55ID0gdGhpcy5zdGFydDtcclxuICAgIGNvbnN0IGVuZDogYW55ID0gdGhpcy5lbmQ7XHJcbiAgICBpZiAoc3RhcnQ/Ll9yYXdWYWxpZGF0b3JzKSB7XHJcbiAgICAgIHN0YXJ0Ll9yYXdWYWxpZGF0b3JzLm1hcCgocjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHIubmFtZS5pbmNsdWRlcygncmVxdWlyZWQnKSkgdGhpcy5fcmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmIChlbmQ/Ll9yYXdWYWxpZGF0b3JzKSB7XHJcbiAgICAgIGVuZC5fcmF3VmFsaWRhdG9ycy5tYXAoKHI6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyLm5hbWUuaW5jbHVkZXMoJ3JlcXVpcmVkJykpIHRoaXMuX3JlcXVpcmVkID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLnN0YXJ0LmRpc2FibGUoKTtcclxuICAgICAgdGhpcy5lbmQuZGlzYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHJlcXVpcmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRGlzYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGFydC5kaXNhYmxlZCB8fCB0aGlzLmVuZC5kaXNhYmxlZDtcclxuICB9XHJcbn1cclxuIiwiQGlmICghbm90SW5wdXQpIHtcclxuICA8ZGl2IGNsYXNzPVwidGFrLWZvcm0tY29udGFpbmVyXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiIFtjb2xvcl09XCJjb2xvclwiPlxyXG4gICAgICA8bWF0LWxhYmVsPlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dCBbcmFuZ2VQaWNrZXJdPVwicGlja2VyXCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRTdGFydERhdGVcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJzdGFydFBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzdGFydFwiXHJcbiAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8aW5wdXQgbWF0RW5kRGF0ZSBbcGxhY2Vob2xkZXJdPVwiZW5kUGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xdPVwiZW5kXCIgLz5cclxuICAgICAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJwaWNrZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIEBpZiAoKHN0YXJ0LmludmFsaWQgfHwgZW5kLmludmFsaWQpICYmIChzdGFydC50b3VjaGVkIHx8IGVuZC50b3VjaGVkKSkge1xyXG4gICAgICA8dGFrLWVycm9yIFtzdGFydF09XCJzdGFydFwiIFtlbmRdPVwiZW5kXCI+IDwvdGFrLWVycm9yPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG59XHJcbkBpZiAobm90SW5wdXQpIHtcclxuICA8ZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cInRha19fZGF0ZS1ub3QtaW5wdXRfX3BpY2tlci1jb250YWluZXJcIlxyXG4gICAgICBbY2xhc3MubWF0LWZvcm0tZmllbGQtaW52YWxpZF09XCJcclxuICAgICAgICAoc3RhcnQuaW52YWxpZCB8fCBlbmQuaW52YWxpZCkgJiYgKHN0YXJ0LnRvdWNoZWQgfHwgZW5kLnRvdWNoZWQpXHJcbiAgICAgIFwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgICAgIDxtYXQtZGF0ZS1yYW5nZS1waWNrZXIgI3BpY2tlciBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiPjwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGFrX19kYXRlLW5vdC1pbnB1dF9fZmllbGQtY29udGFpbmVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBbY29sb3JdPVwiY29sb3JcIj5cclxuICAgICAgICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXQgW3JhbmdlUGlja2VyXT1cInBpY2tlclwiPlxyXG4gICAgICAgICAgPGlucHV0IG1hdFN0YXJ0RGF0ZSBbZm9ybUNvbnRyb2xdPVwic3RhcnRcIiAvPlxyXG4gICAgICAgICAgPGlucHV0IG1hdEVuZERhdGUgW2Zvcm1Db250cm9sXT1cImVuZFwiIC8+XHJcbiAgICAgICAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmICgoc3RhcnQuaW52YWxpZCB8fCBlbmQuaW52YWxpZCkgJiYgKHN0YXJ0LnRvdWNoZWQgfHwgZW5kLnRvdWNoZWQpKSB7XHJcbiAgICAgIDx0YWstZXJyb3IgW3N0YXJ0XT1cInN0YXJ0XCIgW2VuZF09XCJlbmRcIiBbbWFyZ2luVG9wXT1cIi02MFwiPjwvdGFrLWVycm9yPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG59XHJcbiJdfQ==
|