@acpaas-ui/ngx-forms 5.4.0 → 6.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -11
- package/esm2020/acpaas-ui-ngx-forms.mjs +5 -0
- package/esm2020/lib/auto-complete/auto-complete.module.mjs +24 -0
- package/esm2020/lib/auto-complete/components/auto-complete/auto-complete.component.mjs +347 -0
- package/esm2020/lib/auto-complete/public-api.mjs +3 -0
- package/esm2020/lib/datepicker/components/datepicker/datepicker.component.mjs +273 -0
- package/esm2020/lib/datepicker/datepicker.conf.mjs +8 -0
- package/esm2020/lib/datepicker/datepicker.module.mjs +55 -0
- package/esm2020/lib/datepicker/public-api.mjs +4 -0
- package/esm2020/lib/datepicker/types/datepicker.types.mjs +2 -0
- package/esm2020/lib/range-slider/components/range-slider/range-slider.component.mjs +349 -0
- package/esm2020/lib/range-slider/public-api.mjs +3 -0
- package/esm2020/lib/range-slider/range-slider.module.mjs +20 -0
- package/esm2020/lib/range-slider/types/range-slider.types.mjs +2 -0
- package/esm2020/lib/search-filter/components/search-filter/search-filter.component.mjs +259 -0
- package/esm2020/lib/search-filter/public-api.mjs +3 -0
- package/esm2020/lib/search-filter/search-filter.module.mjs +22 -0
- package/esm2020/lib/search-filter/types/search-filter.types.mjs +2 -0
- package/esm2020/lib/shared/services/search.service.mjs +32 -0
- package/esm2020/lib/shared/types/search.types.mjs +2 -0
- package/esm2020/lib/timepicker/classes/timepicker.validators.mjs +49 -0
- package/esm2020/lib/timepicker/components/timepicker/timepicker.component.mjs +229 -0
- package/esm2020/lib/timepicker/public-api.mjs +5 -0
- package/esm2020/lib/timepicker/timepicker.module.mjs +22 -0
- package/esm2020/lib/timepicker/types/timepicker.types.mjs +7 -0
- package/esm2020/lib/upload/classes/uploader.class.mjs +112 -0
- package/esm2020/lib/upload/components/upload/upload.component.mjs +97 -0
- package/esm2020/lib/upload/components/upload-input/upload-input.component.mjs +56 -0
- package/esm2020/lib/upload/components/upload-queue/upload-queue.component.mjs +78 -0
- package/esm2020/lib/upload/components/upload-zone/upload-zone.component.mjs +252 -0
- package/esm2020/lib/upload/components/validation-list/validation-list.component.mjs +64 -0
- package/esm2020/lib/upload/public-api.mjs +10 -0
- package/esm2020/lib/upload/services/validation-messages.service.mjs +29 -0
- package/esm2020/lib/upload/types/upload.types.mjs +2 -0
- package/esm2020/lib/upload/upload.conf.mjs +12 -0
- package/esm2020/lib/upload/upload.module.mjs +45 -0
- package/esm2020/public-api.mjs +7 -0
- package/fesm2015/acpaas-ui-ngx-forms.mjs +2518 -0
- package/fesm2015/acpaas-ui-ngx-forms.mjs.map +1 -0
- package/fesm2020/acpaas-ui-ngx-forms.mjs +2339 -0
- package/fesm2020/acpaas-ui-ngx-forms.mjs.map +1 -0
- package/{acpaas-ui-ngx-forms.d.ts → index.d.ts} +1 -1
- package/lib/auto-complete/auto-complete.module.d.ts +9 -0
- package/lib/auto-complete/components/auto-complete/auto-complete.component.d.ts +5 -1
- package/lib/datepicker/components/datepicker/datepicker.component.d.ts +9 -8
- package/lib/datepicker/datepicker.conf.d.ts +0 -1
- package/lib/datepicker/datepicker.module.d.ts +11 -1
- package/lib/datepicker/public-api.d.ts +1 -1
- package/lib/range-slider/components/range-slider/range-slider.component.d.ts +8 -2
- package/lib/range-slider/range-slider.module.d.ts +7 -0
- package/lib/search-filter/components/search-filter/search-filter.component.d.ts +10 -4
- package/lib/search-filter/search-filter.module.d.ts +9 -0
- package/lib/shared/services/search.service.d.ts +3 -0
- package/lib/timepicker/components/timepicker/timepicker.component.d.ts +9 -4
- package/lib/timepicker/timepicker.module.d.ts +8 -0
- package/lib/upload/components/upload/upload.component.d.ts +5 -0
- package/lib/upload/components/upload-input/upload-input.component.d.ts +3 -0
- package/lib/upload/components/upload-queue/upload-queue.component.d.ts +3 -0
- package/lib/upload/components/upload-zone/upload-zone.component.d.ts +7 -0
- package/lib/upload/components/validation-list/validation-list.component.d.ts +3 -0
- package/lib/upload/services/validation-messages.service.d.ts +3 -0
- package/lib/upload/upload.module.d.ts +14 -1
- package/package.json +37 -26
- package/public-api.d.ts +0 -2
- package/acpaas-ui-ngx-forms.metadata.json +0 -1
- package/bundles/acpaas-ui-ngx-forms.umd.js +0 -3862
- package/bundles/acpaas-ui-ngx-forms.umd.js.map +0 -1
- package/bundles/acpaas-ui-ngx-forms.umd.min.js +0 -2
- package/bundles/acpaas-ui-ngx-forms.umd.min.js.map +0 -1
- package/esm2015/acpaas-ui-ngx-forms.js +0 -11
- package/esm2015/lib/auto-complete/auto-complete.module.js +0 -36
- package/esm2015/lib/auto-complete/components/auto-complete/auto-complete.component.js +0 -416
- package/esm2015/lib/auto-complete/public-api.js +0 -8
- package/esm2015/lib/datepicker/components/datepicker/datepicker.component.js +0 -343
- package/esm2015/lib/datepicker/datepicker.conf.js +0 -18
- package/esm2015/lib/datepicker/datepicker.module.js +0 -59
- package/esm2015/lib/datepicker/public-api.js +0 -9
- package/esm2015/lib/datepicker/types/datepicker.types.js +0 -20
- package/esm2015/lib/mask/directives/mask.directive.js +0 -51
- package/esm2015/lib/mask/mask.module.js +0 -25
- package/esm2015/lib/mask/public-api.js +0 -8
- package/esm2015/lib/range-slider/components/range-slider/range-slider.component.js +0 -424
- package/esm2015/lib/range-slider/public-api.js +0 -8
- package/esm2015/lib/range-slider/range-slider.module.js +0 -26
- package/esm2015/lib/range-slider/types/range-slider.types.js +0 -16
- package/esm2015/lib/search-filter/components/search-filter/search-filter.component.js +0 -219
- package/esm2015/lib/search-filter/public-api.js +0 -8
- package/esm2015/lib/search-filter/search-filter.module.js +0 -30
- package/esm2015/lib/search-filter/types/search-filter.types.js +0 -16
- package/esm2015/lib/shared/services/search.service.js +0 -58
- package/esm2015/lib/shared/types/search.types.js +0 -20
- package/esm2015/lib/timepicker/classes/timepicker.validators.js +0 -84
- package/esm2015/lib/timepicker/components/timepicker/timepicker.component.js +0 -227
- package/esm2015/lib/timepicker/public-api.js +0 -10
- package/esm2015/lib/timepicker/timepicker.module.js +0 -29
- package/esm2015/lib/timepicker/types/timepicker.types.js +0 -13
- package/esm2015/lib/upload/classes/uploader.class.js +0 -189
- package/esm2015/lib/upload/components/upload/upload.component.js +0 -100
- package/esm2015/lib/upload/components/upload-input/upload-input.component.js +0 -67
- package/esm2015/lib/upload/components/upload-queue/upload-queue.component.js +0 -68
- package/esm2015/lib/upload/components/upload-zone/upload-zone.component.js +0 -219
- package/esm2015/lib/upload/components/validation-list/validation-list.component.js +0 -62
- package/esm2015/lib/upload/public-api.js +0 -15
- package/esm2015/lib/upload/services/validation-messages.service.js +0 -48
- package/esm2015/lib/upload/types/upload.types.js +0 -48
- package/esm2015/lib/upload/upload.conf.js +0 -21
- package/esm2015/lib/upload/upload.module.js +0 -62
- package/esm2015/lib/wysiwyg/components/wysiwyg/wysiwyg.component.js +0 -158
- package/esm2015/lib/wysiwyg/public-api.js +0 -9
- package/esm2015/lib/wysiwyg/wysiwyg.conf.js +0 -24
- package/esm2015/lib/wysiwyg/wysiwyg.module.js +0 -29
- package/esm2015/public-api.js +0 -14
- package/esm5/acpaas-ui-ngx-forms.js +0 -11
- package/esm5/lib/auto-complete/auto-complete.module.js +0 -40
- package/esm5/lib/auto-complete/components/auto-complete/auto-complete.component.js +0 -506
- package/esm5/lib/auto-complete/public-api.js +0 -8
- package/esm5/lib/datepicker/components/datepicker/datepicker.component.js +0 -392
- package/esm5/lib/datepicker/datepicker.conf.js +0 -18
- package/esm5/lib/datepicker/datepicker.module.js +0 -69
- package/esm5/lib/datepicker/public-api.js +0 -9
- package/esm5/lib/datepicker/types/datepicker.types.js +0 -20
- package/esm5/lib/mask/directives/mask.directive.js +0 -58
- package/esm5/lib/mask/mask.module.js +0 -29
- package/esm5/lib/mask/public-api.js +0 -8
- package/esm5/lib/range-slider/components/range-slider/range-slider.component.js +0 -514
- package/esm5/lib/range-slider/public-api.js +0 -8
- package/esm5/lib/range-slider/range-slider.module.js +0 -30
- package/esm5/lib/range-slider/types/range-slider.types.js +0 -16
- package/esm5/lib/search-filter/components/search-filter/search-filter.component.js +0 -256
- package/esm5/lib/search-filter/public-api.js +0 -8
- package/esm5/lib/search-filter/search-filter.module.js +0 -34
- package/esm5/lib/search-filter/types/search-filter.types.js +0 -16
- package/esm5/lib/shared/services/search.service.js +0 -68
- package/esm5/lib/shared/types/search.types.js +0 -20
- package/esm5/lib/timepicker/classes/timepicker.validators.js +0 -102
- package/esm5/lib/timepicker/components/timepicker/timepicker.component.js +0 -259
- package/esm5/lib/timepicker/public-api.js +0 -10
- package/esm5/lib/timepicker/timepicker.module.js +0 -33
- package/esm5/lib/timepicker/types/timepicker.types.js +0 -13
- package/esm5/lib/upload/classes/uploader.class.js +0 -249
- package/esm5/lib/upload/components/upload/upload.component.js +0 -117
- package/esm5/lib/upload/components/upload-input/upload-input.component.js +0 -84
- package/esm5/lib/upload/components/upload-queue/upload-queue.component.js +0 -78
- package/esm5/lib/upload/components/upload-zone/upload-zone.component.js +0 -264
- package/esm5/lib/upload/components/validation-list/validation-list.component.js +0 -81
- package/esm5/lib/upload/public-api.js +0 -15
- package/esm5/lib/upload/services/validation-messages.service.js +0 -47
- package/esm5/lib/upload/types/upload.types.js +0 -48
- package/esm5/lib/upload/upload.conf.js +0 -21
- package/esm5/lib/upload/upload.module.js +0 -71
- package/esm5/lib/wysiwyg/components/wysiwyg/wysiwyg.component.js +0 -199
- package/esm5/lib/wysiwyg/public-api.js +0 -9
- package/esm5/lib/wysiwyg/wysiwyg.conf.js +0 -24
- package/esm5/lib/wysiwyg/wysiwyg.module.js +0 -33
- package/esm5/public-api.js +0 -14
- package/fesm2015/acpaas-ui-ngx-forms.js +0 -3079
- package/fesm2015/acpaas-ui-ngx-forms.js.map +0 -1
- package/fesm5/acpaas-ui-ngx-forms.js +0 -3635
- package/fesm5/acpaas-ui-ngx-forms.js.map +0 -1
- package/lib/mask/directives/mask.directive.d.ts +0 -8
- package/lib/mask/mask.module.d.ts +0 -2
- package/lib/mask/public-api.d.ts +0 -2
- package/lib/wysiwyg/components/wysiwyg/wysiwyg.component.d.ts +0 -43
- package/lib/wysiwyg/public-api.d.ts +0 -3
- package/lib/wysiwyg/wysiwyg.conf.d.ts +0 -18
- package/lib/wysiwyg/wysiwyg.module.d.ts +0 -2
|
@@ -1,416 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/auto-complete/components/auto-complete/auto-complete.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Component, ContentChild, ElementRef, EventEmitter, forwardRef, Input, Output, TemplateRef, ViewChild } from '@angular/core';
|
|
7
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
8
|
-
import { get, isEqual } from 'lodash-es';
|
|
9
|
-
import { FlyoutDirective, FlyoutZoneDirective } from '@acpaas-ui/ngx-flyout';
|
|
10
|
-
import { SearchService } from '../../../shared/services/search.service';
|
|
11
|
-
export class AutoCompleteComponent {
|
|
12
|
-
/**
|
|
13
|
-
* @param {?} ref
|
|
14
|
-
* @param {?} searchService
|
|
15
|
-
*/
|
|
16
|
-
constructor(ref, searchService) {
|
|
17
|
-
this.ref = ref;
|
|
18
|
-
this.searchService = searchService;
|
|
19
|
-
this.results = []; // The values for the selectable list
|
|
20
|
-
// The values for the selectable list
|
|
21
|
-
this.data = []; // The values to search in when remote search is disabled
|
|
22
|
-
// The values to search in when remote search is disabled
|
|
23
|
-
this.remote = false; // Disable or enamble remote search
|
|
24
|
-
// Disable or enamble remote search
|
|
25
|
-
this.minCharacters = 0;
|
|
26
|
-
this.mask = null;
|
|
27
|
-
this.clearInvalid = false;
|
|
28
|
-
this.showAllByDefault = false;
|
|
29
|
-
this.autoComplete = 'off';
|
|
30
|
-
// Eventemitter for searchvalue (parent object should update the results with this param)
|
|
31
|
-
this.search = new EventEmitter();
|
|
32
|
-
this.select = new EventEmitter();
|
|
33
|
-
this.query = '';
|
|
34
|
-
this.index = -1; // index for active element in selectable list, by default -1 (so it starts in the input field)
|
|
35
|
-
// index for active element in selectable list, by default -1 (so it starts in the input field)
|
|
36
|
-
this.selectedItem = null; // keep a backup of the selectedItem
|
|
37
|
-
// keep a backup of the selectedItem
|
|
38
|
-
this.searching = false; // track remote search state
|
|
39
|
-
// track remote search state
|
|
40
|
-
this.focused = false;
|
|
41
|
-
this.isDisabled = false;
|
|
42
|
-
this.remoteValue = false;
|
|
43
|
-
this.updateModel = (/**
|
|
44
|
-
* @param {?} _
|
|
45
|
-
* @return {?}
|
|
46
|
-
*/
|
|
47
|
-
(_) => {
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
// CONTROL_VALUE_ACCESSOR interface
|
|
51
|
-
/**
|
|
52
|
-
* @param {?=} value
|
|
53
|
-
* @return {?}
|
|
54
|
-
*/
|
|
55
|
-
writeValue(value = '') {
|
|
56
|
-
if (this.value) {
|
|
57
|
-
/** @type {?} */
|
|
58
|
-
const selected = this.data.find((/**
|
|
59
|
-
* @param {?} item
|
|
60
|
-
* @return {?}
|
|
61
|
-
*/
|
|
62
|
-
(item) => item[this.value] === value));
|
|
63
|
-
if (selected) {
|
|
64
|
-
return this.query = selected[this.label];
|
|
65
|
-
}
|
|
66
|
-
if (this.remote && !!value) {
|
|
67
|
-
this.remoteValue = true;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
this.query = value;
|
|
71
|
-
}
|
|
72
|
-
// CONTROL_VALUE_ACCESSOR interface
|
|
73
|
-
/**
|
|
74
|
-
* @param {?} fn
|
|
75
|
-
* @return {?}
|
|
76
|
-
*/
|
|
77
|
-
registerOnChange(fn) {
|
|
78
|
-
this.updateModel = fn;
|
|
79
|
-
}
|
|
80
|
-
// CONTROL_VALUE_ACCESSOR interface
|
|
81
|
-
/**
|
|
82
|
-
* @return {?}
|
|
83
|
-
*/
|
|
84
|
-
registerOnTouched() {
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* @param {?} isDisabled
|
|
88
|
-
* @return {?}
|
|
89
|
-
*/
|
|
90
|
-
setDisabledState(isDisabled) {
|
|
91
|
-
this.isDisabled = isDisabled;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* @return {?}
|
|
95
|
-
*/
|
|
96
|
-
ngOnInit() {
|
|
97
|
-
if ((Array.isArray(this.data) && this.data.length > 0) && !this.query && this.showAllByDefault) {
|
|
98
|
-
this.results = [...this.data];
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
// OnChanges interface
|
|
102
|
-
/**
|
|
103
|
-
* @param {?} changes
|
|
104
|
-
* @return {?}
|
|
105
|
-
*/
|
|
106
|
-
ngOnChanges(changes) {
|
|
107
|
-
if (!changes) {
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
/** @type {?} */
|
|
111
|
-
const newData = get(changes, 'data.currentValue', []);
|
|
112
|
-
if (!isEqual(newData, get(changes, 'data.previousValue', []))) {
|
|
113
|
-
if (this.remote) {
|
|
114
|
-
this.remoteSearch();
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
this.localSearch();
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
if (changes.results && changes.results.currentValue) {
|
|
121
|
-
this.searching = false;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* @param {?} item
|
|
126
|
-
* @return {?}
|
|
127
|
-
*/
|
|
128
|
-
propagateChange(item) {
|
|
129
|
-
this.query = item !== null ? (this.label ? item[this.label] : item) : '';
|
|
130
|
-
this.select.emit(item);
|
|
131
|
-
if (!item) {
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
/** @type {?} */
|
|
135
|
-
const key = this.value ? this.value : this.label ? this.label : null;
|
|
136
|
-
this.updateModel(key ? item[key] || '' : item);
|
|
137
|
-
this.selectedItem = item;
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* triggers on input value change
|
|
141
|
-
* @return {?}
|
|
142
|
-
*/
|
|
143
|
-
doSearch() {
|
|
144
|
-
this.index = -1; // reset index
|
|
145
|
-
this.searching = true;
|
|
146
|
-
if (this.remote) {
|
|
147
|
-
this.search.emit(this.query); // ask for new remote data
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
this.localSearch();
|
|
151
|
-
}
|
|
152
|
-
this.openFlyout(); // open the flyout when there is a change
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* triggers on selectable-list:select -> onClick event in selectable-list
|
|
156
|
-
* @param {?} item
|
|
157
|
-
* @return {?}
|
|
158
|
-
*/
|
|
159
|
-
onSelect(item) {
|
|
160
|
-
this.propagateChange(item);
|
|
161
|
-
this.closeFlyout(); // Close the flyout manually
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* @return {?}
|
|
165
|
-
*/
|
|
166
|
-
onFlyoutClosed() {
|
|
167
|
-
// there is only 1 result, select it
|
|
168
|
-
if (this.index >= 0 && this.results.length === 1) {
|
|
169
|
-
return this.onSelect(this.results[0]);
|
|
170
|
-
}
|
|
171
|
-
// there is no query nor selected item, clear the selected item
|
|
172
|
-
if (!this.query && this.index < 0) {
|
|
173
|
-
return this.onSelect(null);
|
|
174
|
-
}
|
|
175
|
-
// reset the query for an invalid query if clearInvalid is true
|
|
176
|
-
if (this.clearInvalid && this.query && !this.results.length && this.index < 0) {
|
|
177
|
-
this.query = this.selectedItem ? this.label ? this.selectedItem[this.label] : this.selectedItem : '';
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* @return {?}
|
|
182
|
-
*/
|
|
183
|
-
onKeyArrowDown() {
|
|
184
|
-
if (this.index < this.results.length - 1) {
|
|
185
|
-
this.scrollList(1);
|
|
186
|
-
}
|
|
187
|
-
this.openFlyout();
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* @return {?}
|
|
191
|
-
*/
|
|
192
|
-
onKeyArrowUp() {
|
|
193
|
-
if (this.index >= 0) {
|
|
194
|
-
this.scrollList(-1);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* @param {?} event
|
|
199
|
-
* @return {?}
|
|
200
|
-
*/
|
|
201
|
-
onKeyEnter(event) {
|
|
202
|
-
event.preventDefault(); // Do not submit form when selecting an item.
|
|
203
|
-
// Do not submit form when selecting an item.
|
|
204
|
-
/** @type {?} */
|
|
205
|
-
const query = this.index >= 0 ? this.results[this.index] : this.query;
|
|
206
|
-
this.propagateChange(query);
|
|
207
|
-
this.closeFlyout();
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* @return {?}
|
|
211
|
-
*/
|
|
212
|
-
onKeyEscape() {
|
|
213
|
-
this.closeFlyout();
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* @return {?}
|
|
217
|
-
*/
|
|
218
|
-
onFocus() {
|
|
219
|
-
this.focused = true;
|
|
220
|
-
this.openFlyout();
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* @return {?}
|
|
224
|
-
*/
|
|
225
|
-
openFlyout() {
|
|
226
|
-
if (this.flyout) {
|
|
227
|
-
this.flyout.open();
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* @return {?}
|
|
232
|
-
*/
|
|
233
|
-
closeFlyout() {
|
|
234
|
-
if (this.flyout) {
|
|
235
|
-
this.flyout.close();
|
|
236
|
-
}
|
|
237
|
-
this.focused = false;
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* @return {?}
|
|
241
|
-
*/
|
|
242
|
-
localSearch() {
|
|
243
|
-
this.results = this.searchService.search(this.data, {
|
|
244
|
-
minLength: this.minCharacters,
|
|
245
|
-
key: this.label,
|
|
246
|
-
query: this.query,
|
|
247
|
-
showAllByDefault: this.showAllByDefault,
|
|
248
|
-
});
|
|
249
|
-
if (this.results.length === 1 && this.query === this.results[0][this.label]) {
|
|
250
|
-
this.index = 0;
|
|
251
|
-
}
|
|
252
|
-
this.searching = false;
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* @return {?}
|
|
256
|
-
*/
|
|
257
|
-
remoteSearch() {
|
|
258
|
-
if (!this.remoteValue || !this.data) {
|
|
259
|
-
return;
|
|
260
|
-
}
|
|
261
|
-
/** @type {?} */
|
|
262
|
-
const selected = this.data.find((/**
|
|
263
|
-
* @param {?} item
|
|
264
|
-
* @return {?}
|
|
265
|
-
*/
|
|
266
|
-
(item) => {
|
|
267
|
-
if (this.value) {
|
|
268
|
-
return item[this.value] === this.query;
|
|
269
|
-
}
|
|
270
|
-
return item === this.query;
|
|
271
|
-
}));
|
|
272
|
-
if (selected) {
|
|
273
|
-
this.query = this.label ? selected[this.label] : selected;
|
|
274
|
-
}
|
|
275
|
-
else {
|
|
276
|
-
this.query = '';
|
|
277
|
-
}
|
|
278
|
-
this.remoteValue = false;
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* @param {?} factor
|
|
282
|
-
* @return {?}
|
|
283
|
-
*/
|
|
284
|
-
scrollList(factor) {
|
|
285
|
-
this.index += factor;
|
|
286
|
-
if (!this.flyoutZone) {
|
|
287
|
-
return;
|
|
288
|
-
}
|
|
289
|
-
/** @type {?} */
|
|
290
|
-
const liItems = this.flyoutZone.element.getElementsByTagName('li');
|
|
291
|
-
/** @type {?} */
|
|
292
|
-
const liHeight = (liItems[1] ? liItems[1].offsetHeight : liItems[0].offsetHeight);
|
|
293
|
-
/** @type {?} */
|
|
294
|
-
const zoneHeight = this.flyoutZone.element.offsetHeight;
|
|
295
|
-
/** @type {?} */
|
|
296
|
-
const offset = (zoneHeight / liHeight) / 2;
|
|
297
|
-
this.flyoutZone.element.scrollTop = (this.index * liHeight) - (offset * liHeight);
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
AutoCompleteComponent.decorators = [
|
|
301
|
-
{ type: Component, args: [{
|
|
302
|
-
selector: 'aui-auto-complete',
|
|
303
|
-
template: "<div (closed)=\"onFlyoutClosed()\" [toggleClick]=\"false\" aria-haspopup=\"listbox\"\n auiFlyout class=\"m-flyout--scrollable m-flyout--full o-auto-complete\">\n <input (focus)=\"onFocus()\"\n (keyArrowDown)=\"onKeyArrowDown()\"\n (keyArrowUp)=\"onKeyArrowUp()\"\n (keyEnter)=\"onKeyEnter($event)\"\n (keyEscape)=\"onKeyEscape()\"\n [(ngModel)]=\"query\"\n (ngModelChange)=\"doSearch()\"\n *ngIf=\"!mask\"\n [disabled]=\"isDisabled ? true : null\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n aria-autocomplete=\"list\"\n auiFlyoutAction\n auiSelectableActions\n [autocomplete]=\"autoComplete\"\n type=\"text\"\n />\n <input (focus)=\"onFocus()\"\n (keyArrowDown)=\"onKeyArrowDown()\"\n (keyArrowUp)=\"onKeyArrowUp()\"\n (keyEnter)=\"onKeyEnter($event)\"\n (keyEscape)=\"onKeyEscape()\"\n [(ngModel)]=\"query\"\n (ngModelChange)=\"doSearch()\"\n *ngIf=\"mask\"\n [auiMask]=\"mask\"\n [disabled]=\"isDisabled ? true : null\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n aria-autocomplete=\"list\"\n auiFlyoutAction\n auiSelectableActions\n [autocomplete]=\"autoComplete\"\n type=\"text\"\n />\n\n <div *ngIf=\"!isDisabled\" auiFlyoutZone>\n\t\t<span *ngIf=\"focused && loadingText && searching\" class=\"o-auto-complete__info u-text-light u-margin-xs\">\n\t\t\t<span class=\"a-spinner a-spinner--inline a-spinner--sm u-margin-right-xs\"></span>\n {{ loadingText }}\n\t\t</span>\n <span *ngIf=\"focused && searchIncentiveText && !searching && !query && !results.length\"\n class=\"o-auto-complete__info u-text-light u-margin-xs\">{{ searchIncentiveText }}</span>\n <span *ngIf=\"focused && noResultsText && !searching && query && !results.length\"\n class=\"o-auto-complete__info u-text-light u-margin-xs\">{{ noResultsText }}</span>\n\n <aui-selectable-list (selected)=\"onSelect($event)\" *ngIf=\"results.length > 0 && !(focused && loadingText && searching)\" [index]=\"index\" [itemTemplate]=\"template\"\n [items]=\"results\" [label]=\"label\"\n [search]=\"query\"></aui-selectable-list>\n </div>\n</div>\n",
|
|
304
|
-
providers: [
|
|
305
|
-
{
|
|
306
|
-
provide: NG_VALUE_ACCESSOR,
|
|
307
|
-
useExisting: forwardRef((/**
|
|
308
|
-
* @return {?}
|
|
309
|
-
*/
|
|
310
|
-
() => AutoCompleteComponent)),
|
|
311
|
-
// tslint:disable-line
|
|
312
|
-
multi: true,
|
|
313
|
-
},
|
|
314
|
-
],
|
|
315
|
-
styles: [".o-auto-complete,.o-auto-complete__info{display:block}"]
|
|
316
|
-
}] }
|
|
317
|
-
];
|
|
318
|
-
/** @nocollapse */
|
|
319
|
-
AutoCompleteComponent.ctorParameters = () => [
|
|
320
|
-
{ type: ElementRef },
|
|
321
|
-
{ type: SearchService }
|
|
322
|
-
];
|
|
323
|
-
AutoCompleteComponent.propDecorators = {
|
|
324
|
-
id: [{ type: Input }],
|
|
325
|
-
placeholder: [{ type: Input }],
|
|
326
|
-
results: [{ type: Input }],
|
|
327
|
-
data: [{ type: Input }],
|
|
328
|
-
remote: [{ type: Input }],
|
|
329
|
-
minCharacters: [{ type: Input }],
|
|
330
|
-
mask: [{ type: Input }],
|
|
331
|
-
clearInvalid: [{ type: Input }],
|
|
332
|
-
searchIncentiveText: [{ type: Input }],
|
|
333
|
-
loadingText: [{ type: Input }],
|
|
334
|
-
noResultsText: [{ type: Input }],
|
|
335
|
-
showAllByDefault: [{ type: Input }],
|
|
336
|
-
autoComplete: [{ type: Input }],
|
|
337
|
-
label: [{ type: Input }],
|
|
338
|
-
value: [{ type: Input }],
|
|
339
|
-
search: [{ type: Output }],
|
|
340
|
-
select: [{ type: Output }],
|
|
341
|
-
flyout: [{ type: ViewChild, args: [FlyoutDirective, { static: true },] }],
|
|
342
|
-
flyoutZone: [{ type: ViewChild, args: [FlyoutZoneDirective, { static: true },] }],
|
|
343
|
-
template: [{ type: ContentChild, args: [TemplateRef, { static: true },] }]
|
|
344
|
-
};
|
|
345
|
-
if (false) {
|
|
346
|
-
/** @type {?} */
|
|
347
|
-
AutoCompleteComponent.prototype.id;
|
|
348
|
-
/** @type {?} */
|
|
349
|
-
AutoCompleteComponent.prototype.placeholder;
|
|
350
|
-
/** @type {?} */
|
|
351
|
-
AutoCompleteComponent.prototype.results;
|
|
352
|
-
/** @type {?} */
|
|
353
|
-
AutoCompleteComponent.prototype.data;
|
|
354
|
-
/** @type {?} */
|
|
355
|
-
AutoCompleteComponent.prototype.remote;
|
|
356
|
-
/** @type {?} */
|
|
357
|
-
AutoCompleteComponent.prototype.minCharacters;
|
|
358
|
-
/** @type {?} */
|
|
359
|
-
AutoCompleteComponent.prototype.mask;
|
|
360
|
-
/** @type {?} */
|
|
361
|
-
AutoCompleteComponent.prototype.clearInvalid;
|
|
362
|
-
/** @type {?} */
|
|
363
|
-
AutoCompleteComponent.prototype.searchIncentiveText;
|
|
364
|
-
/** @type {?} */
|
|
365
|
-
AutoCompleteComponent.prototype.loadingText;
|
|
366
|
-
/** @type {?} */
|
|
367
|
-
AutoCompleteComponent.prototype.noResultsText;
|
|
368
|
-
/** @type {?} */
|
|
369
|
-
AutoCompleteComponent.prototype.showAllByDefault;
|
|
370
|
-
/** @type {?} */
|
|
371
|
-
AutoCompleteComponent.prototype.autoComplete;
|
|
372
|
-
/** @type {?} */
|
|
373
|
-
AutoCompleteComponent.prototype.label;
|
|
374
|
-
/** @type {?} */
|
|
375
|
-
AutoCompleteComponent.prototype.value;
|
|
376
|
-
/** @type {?} */
|
|
377
|
-
AutoCompleteComponent.prototype.search;
|
|
378
|
-
/** @type {?} */
|
|
379
|
-
AutoCompleteComponent.prototype.select;
|
|
380
|
-
/** @type {?} */
|
|
381
|
-
AutoCompleteComponent.prototype.flyout;
|
|
382
|
-
/** @type {?} */
|
|
383
|
-
AutoCompleteComponent.prototype.flyoutZone;
|
|
384
|
-
/** @type {?} */
|
|
385
|
-
AutoCompleteComponent.prototype.template;
|
|
386
|
-
/** @type {?} */
|
|
387
|
-
AutoCompleteComponent.prototype.query;
|
|
388
|
-
/** @type {?} */
|
|
389
|
-
AutoCompleteComponent.prototype.index;
|
|
390
|
-
/** @type {?} */
|
|
391
|
-
AutoCompleteComponent.prototype.selectedItem;
|
|
392
|
-
/** @type {?} */
|
|
393
|
-
AutoCompleteComponent.prototype.searching;
|
|
394
|
-
/** @type {?} */
|
|
395
|
-
AutoCompleteComponent.prototype.focused;
|
|
396
|
-
/** @type {?} */
|
|
397
|
-
AutoCompleteComponent.prototype.isDisabled;
|
|
398
|
-
/**
|
|
399
|
-
* @type {?}
|
|
400
|
-
* @private
|
|
401
|
-
*/
|
|
402
|
-
AutoCompleteComponent.prototype.remoteValue;
|
|
403
|
-
/** @type {?} */
|
|
404
|
-
AutoCompleteComponent.prototype.updateModel;
|
|
405
|
-
/**
|
|
406
|
-
* @type {?}
|
|
407
|
-
* @private
|
|
408
|
-
*/
|
|
409
|
-
AutoCompleteComponent.prototype.ref;
|
|
410
|
-
/**
|
|
411
|
-
* @type {?}
|
|
412
|
-
* @private
|
|
413
|
-
*/
|
|
414
|
-
AutoCompleteComponent.prototype.searchService;
|
|
415
|
-
}
|
|
416
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNwYWFzLXVpL25neC1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9hdXRvLWNvbXBsZXRlL2NvbXBvbmVudHMvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQWdCeEUsTUFBTSxPQUFPLHFCQUFxQjs7Ozs7SUFxQ2hDLFlBQ1UsR0FBZSxFQUNmLGFBQTRCO1FBRDVCLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXBDN0IsWUFBTyxHQUFVLEVBQUUsQ0FBQyxDQUFDLHFDQUFxQzs7UUFDMUQsU0FBSSxHQUFVLEVBQUUsQ0FBQyxDQUFDLHlEQUF5RDs7UUFDM0UsV0FBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLG1DQUFtQzs7UUFDbkQsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsU0FBSSxHQUFXLElBQUksQ0FBQztRQUNwQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUlyQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsaUJBQVksR0FBRyxLQUFLLENBQUM7O1FBT3BCLFdBQU0sR0FBeUIsSUFB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QVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Ozs7SUF6QnpDLG1DQUFvQjs7SUFDcEIsNENBQTZCOztJQUM3Qix3Q0FBNkI7O0lBQzdCLHFDQUEwQjs7SUFDMUIsdUNBQXdCOztJQUN4Qiw4Q0FBMkI7O0lBQzNCLHFDQUE2Qjs7SUFDN0IsNkNBQThCOztJQUM5QixvREFBcUM7O0lBQ3JDLDRDQUE2Qjs7SUFDN0IsOENBQStCOztJQUMvQixpREFBa0M7O0lBQ2xDLDZDQUE4Qjs7SUFHOUIsc0NBQXVCOztJQUN2QixzQ0FBdUI7O0lBR3ZCLHVDQUE0RDs7SUFDNUQsdUNBQXlEOztJQUV6RCx1Q0FBb0U7O0lBQ3BFLDJDQUFnRjs7SUFFaEYseUNBQTZFOztJQUU3RSxzQ0FBa0I7O0lBQ2xCLHNDQUFrQjs7SUFDbEIsNkNBQWdDOztJQUNoQywwQ0FBeUI7O0lBQ3pCLHdDQUF1Qjs7SUFDdkIsMkNBQTBCOzs7OztJQUUxQiw0Q0FBNEI7O0lBUTVCLDRDQUNDOzs7OztJQU5DLG9DQUF1Qjs7Ozs7SUFDdkIsOENBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBnZXQsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgRmx5b3V0RGlyZWN0aXZlLCBGbHlvdXRab25lRGlyZWN0aXZlIH0gZnJvbSAnQGFjcGFhcy11aS9uZ3gtZmx5b3V0JztcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvc2VhcmNoLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktYXV0by1jb21wbGV0ZScsXG4gIHN0eWxlVXJsczogW1xuICAgICcuL2F1dG8tY29tcGxldGUuY29tcG9uZW50LnNjc3MnLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0by1jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXV0b0NvbXBsZXRlQ29tcG9uZW50KSwgLy8gdHNsaW50OmRpc2FibGUtbGluZVxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgcmVzdWx0czogYW55W10gPSBbXTsgLy8gVGhlIHZhbHVlcyBmb3IgdGhlIHNlbGVjdGFibGUgbGlzdFxuICBASW5wdXQoKSBkYXRhOiBhbnlbXSA9IFtdOyAvLyBUaGUgdmFsdWVzIHRvIHNlYXJjaCBpbiB3aGVuIHJlbW90ZSBzZWFyY2ggaXMgZGlzYWJsZWRcbiAgQElucHV0KCkgcmVtb3RlID0gZmFsc2U7IC8vIERpc2FibGUgb3IgZW5hbWJsZSByZW1vdGUgc2VhcmNoXG4gIEBJbnB1dCgpIG1pbkNoYXJhY3RlcnMgPSAwO1xuICBASW5wdXQoKSBtYXNrOiBzdHJpbmcgPSBudWxsO1xuICBASW5wdXQoKSBjbGVhckludmFsaWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc2VhcmNoSW5jZW50aXZlVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBsb2FkaW5nVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBub1Jlc3VsdHNUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dBbGxCeURlZmF1bHQgPSBmYWxzZTtcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlID0gJ29mZic7XG5cbiAgLy8gc3BlY2lmeSB3aGljaCBsYWJlbC92YWx1ZSBwcm9wcyB0byB1c2VcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgdmFsdWU6IHN0cmluZztcblxuICAvLyBFdmVudGVtaXR0ZXIgZm9yIHNlYXJjaHZhbHVlIChwYXJlbnQgb2JqZWN0IHNob3VsZCB1cGRhdGUgdGhlIHJlc3VsdHMgd2l0aCB0aGlzIHBhcmFtKVxuICBAT3V0cHV0KCkgc2VhcmNoOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZChGbHlvdXREaXJlY3RpdmUsIHtzdGF0aWM6IHRydWV9KSBmbHlvdXQ6IEZseW91dERpcmVjdGl2ZTtcbiAgQFZpZXdDaGlsZChGbHlvdXRab25lRGlyZWN0aXZlLCB7c3RhdGljOiB0cnVlfSkgZmx5b3V0Wm9uZTogRmx5b3V0Wm9uZURpcmVjdGl2ZTtcblxuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmLCB7c3RhdGljOiB0cnVlfSkgcHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHB1YmxpYyBxdWVyeSA9ICcnO1xuICBwdWJsaWMgaW5kZXggPSAtMTsgLy8gaW5kZXggZm9yIGFjdGl2ZSBlbGVtZW50IGluIHNlbGVjdGFibGUgbGlzdCwgYnkgZGVmYXVsdCAtMSAoc28gaXQgc3RhcnRzIGluIHRoZSBpbnB1dCBmaWVsZClcbiAgcHVibGljIHNlbGVjdGVkSXRlbTogYW55ID0gbnVsbDsgLy8ga2VlcCBhIGJhY2t1cCBvZiB0aGUgc2VsZWN0ZWRJdGVtXG4gIHB1YmxpYyBzZWFyY2hpbmcgPSBmYWxzZTsgLy8gdHJhY2sgcmVtb3RlIHNlYXJjaCBzdGF0ZVxuICBwdWJsaWMgZm9jdXNlZCA9IGZhbHNlO1xuICBwdWJsaWMgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVtb3RlVmFsdWUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlTW9kZWwgPSAoXzogYW55KSA9PiB7XG4gIH1cblxuICAvLyBDT05UUk9MX1ZBTFVFX0FDQ0VTU09SIGludGVyZmFjZVxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZSA9ICcnKSB7XG4gICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5kYXRhLmZpbmQoKGl0ZW06IGFueSkgPT4gaXRlbVt0aGlzLnZhbHVlXSA9PT0gdmFsdWUpO1xuXG4gICAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucXVlcnkgPSBzZWxlY3RlZFt0aGlzLmxhYmVsXTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMucmVtb3RlICYmICEhdmFsdWUpIHtcbiAgICAgICAgdGhpcy5yZW1vdGVWYWx1ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5xdWVyeSA9IHZhbHVlO1xuICB9XG5cbiAgLy8gQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUiBpbnRlcmZhY2VcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsID0gZm47XG4gIH1cblxuICAvLyBDT05UUk9MX1ZBTFVFX0FDQ0VTU09SIGludGVyZmFjZVxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKSB7XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhKSAmJiB0aGlzLmRhdGEubGVuZ3RoID4gMCkgJiYgIXRoaXMucXVlcnkgJiYgdGhpcy5zaG93QWxsQnlEZWZhdWx0KSB7XG4gICAgICB0aGlzLnJlc3VsdHMgPSBbLi4udGhpcy5kYXRhXTtcbiAgICB9XG4gIH1cblxuICAvLyBPbkNoYW5nZXMgaW50ZXJmYWNlXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCFjaGFuZ2VzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV3RGF0YSA9IGdldChjaGFuZ2VzLCAnZGF0YS5jdXJyZW50VmFsdWUnLCBbXSk7XG4gICAgaWYgKCFpc0VxdWFsKG5ld0RhdGEsIGdldChjaGFuZ2VzLCAnZGF0YS5wcmV2aW91c1ZhbHVlJywgW10pKSkge1xuICAgICAgaWYgKHRoaXMucmVtb3RlKSB7XG4gICAgICAgIHRoaXMucmVtb3RlU2VhcmNoKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvY2FsU2VhcmNoKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMucmVzdWx0cyAmJiBjaGFuZ2VzLnJlc3VsdHMuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaGluZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwcm9wYWdhdGVDaGFuZ2UoaXRlbTogYW55KSB7XG4gICAgdGhpcy5xdWVyeSA9IGl0ZW0gIT09IG51bGwgPyAodGhpcy5sYWJlbCA/IGl0ZW1bdGhpcy5sYWJlbF0gOiBpdGVtKSA6ICcnO1xuICAgIHRoaXMuc2VsZWN0LmVtaXQoaXRlbSk7XG5cbiAgICBpZiAoIWl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBrZXkgPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZSA6IHRoaXMubGFiZWwgPyB0aGlzLmxhYmVsIDogbnVsbDtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKGtleSA/IGl0ZW1ba2V5XSB8fCAnJyA6IGl0ZW0pO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gaXRlbTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0cmlnZ2VycyBvbiBpbnB1dCB2YWx1ZSBjaGFuZ2VcbiAgICovXG4gIHB1YmxpYyBkb1NlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLmluZGV4ID0gLTE7IC8vIHJlc2V0IGluZGV4XG4gICAgdGhpcy5zZWFyY2hpbmcgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMucmVtb3RlKSB7XG4gICAgICB0aGlzLnNlYXJjaC5lbWl0KHRoaXMucXVlcnkpOyAvLyBhc2sgZm9yIG5ldyByZW1vdGUgZGF0YVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvY2FsU2VhcmNoKCk7XG4gICAgfVxuXG4gICAgdGhpcy5vcGVuRmx5b3V0KCk7IC8vIG9wZW4gdGhlIGZseW91dCB3aGVuIHRoZXJlIGlzIGEgY2hhbmdlXG4gIH1cblxuICAvKipcbiAgICogdHJpZ2dlcnMgb24gc2VsZWN0YWJsZS1saXN0OnNlbGVjdCAtPiBvbkNsaWNrIGV2ZW50IGluIHNlbGVjdGFibGUtbGlzdFxuICAgKi9cbiAgcHVibGljIG9uU2VsZWN0KGl0ZW06IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKGl0ZW0pO1xuICAgIHRoaXMuY2xvc2VGbHlvdXQoKTsgLy8gQ2xvc2UgdGhlIGZseW91dCBtYW51YWxseVxuICB9XG5cbiAgcHVibGljIG9uRmx5b3V0Q2xvc2VkKCk6IHZvaWQge1xuICAgIC8vIHRoZXJlIGlzIG9ubHkgMSByZXN1bHQsIHNlbGVjdCBpdFxuICAgIGlmICh0aGlzLmluZGV4ID49IDAgJiYgdGhpcy5yZXN1bHRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHRoaXMub25TZWxlY3QodGhpcy5yZXN1bHRzWzBdKTtcbiAgICB9XG5cbiAgICAvLyB0aGVyZSBpcyBubyBxdWVyeSBub3Igc2VsZWN0ZWQgaXRlbSwgY2xlYXIgdGhlIHNlbGVjdGVkIGl0ZW1cbiAgICBpZiAoIXRoaXMucXVlcnkgJiYgdGhpcy5pbmRleCA8IDApIHtcbiAgICAgIHJldHVybiB0aGlzLm9uU2VsZWN0KG51bGwpO1xuICAgIH1cblxuICAgIC8vIHJlc2V0IHRoZSBxdWVyeSBmb3IgYW4gaW52YWxpZCBxdWVyeSBpZiBjbGVhckludmFsaWQgaXMgdHJ1ZVxuICAgIGlmICh0aGlzLmNsZWFySW52YWxpZCAmJiB0aGlzLnF1ZXJ5ICYmICF0aGlzLnJlc3VsdHMubGVuZ3RoICYmIHRoaXMuaW5kZXggPCAwKSB7XG4gICAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5zZWxlY3RlZEl0ZW0gPyB0aGlzLmxhYmVsID8gdGhpcy5zZWxlY3RlZEl0ZW1bdGhpcy5sYWJlbF0gOiB0aGlzLnNlbGVjdGVkSXRlbSA6ICcnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbktleUFycm93RG93bigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbmRleCA8IHRoaXMucmVzdWx0cy5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLnNjcm9sbExpc3QoMSk7XG4gICAgfVxuXG4gICAgdGhpcy5vcGVuRmx5b3V0KCk7XG4gIH1cblxuICBwdWJsaWMgb25LZXlBcnJvd1VwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluZGV4ID49IDApIHtcbiAgICAgIHRoaXMuc2Nyb2xsTGlzdCgtMSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uS2V5RW50ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gRG8gbm90IHN1Ym1pdCBmb3JtIHdoZW4gc2VsZWN0aW5nIGFuIGl0ZW0uXG5cbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuaW5kZXggPj0gMCA/IHRoaXMucmVzdWx0c1t0aGlzLmluZGV4XSA6IHRoaXMucXVlcnk7XG5cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShxdWVyeSk7XG4gICAgdGhpcy5jbG9zZUZseW91dCgpO1xuICB9XG5cbiAgcHVibGljIG9uS2V5RXNjYXBlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VGbHlvdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgdGhpcy5vcGVuRmx5b3V0KCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkZseW91dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mbHlvdXQpIHtcbiAgICAgIHRoaXMuZmx5b3V0Lm9wZW4oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2VGbHlvdXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmx5b3V0KSB7XG4gICAgICB0aGlzLmZseW91dC5jbG9zZSgpO1xuICAgIH1cblxuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGxvY2FsU2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMucmVzdWx0cyA9IHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2godGhpcy5kYXRhLCB7XG4gICAgICBtaW5MZW5ndGg6IHRoaXMubWluQ2hhcmFjdGVycyxcbiAgICAgIGtleTogdGhpcy5sYWJlbCxcbiAgICAgIHF1ZXJ5OiB0aGlzLnF1ZXJ5LFxuICAgICAgc2hvd0FsbEJ5RGVmYXVsdDogdGhpcy5zaG93QWxsQnlEZWZhdWx0LFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMucmVzdWx0cy5sZW5ndGggPT09IDEgJiYgdGhpcy5xdWVyeSA9PT0gdGhpcy5yZXN1bHRzWzBdW3RoaXMubGFiZWxdKSB7XG4gICAgICB0aGlzLmluZGV4ID0gMDtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaGluZyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHJlbW90ZVNlYXJjaCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVtb3RlVmFsdWUgfHwgIXRoaXMuZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5kYXRhLmZpbmQoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1bdGhpcy52YWx1ZV0gPT09IHRoaXMucXVlcnk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpdGVtID09PSB0aGlzLnF1ZXJ5O1xuICAgIH0pO1xuXG4gICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5sYWJlbCA/IHNlbGVjdGVkW3RoaXMubGFiZWxdIDogc2VsZWN0ZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucXVlcnkgPSAnJztcbiAgICB9XG5cbiAgICB0aGlzLnJlbW90ZVZhbHVlID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsTGlzdChmYWN0b3I6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuaW5kZXggKz0gZmFjdG9yO1xuXG4gICAgaWYgKCF0aGlzLmZseW91dFpvbmUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaUl0ZW1zID0gdGhpcy5mbHlvdXRab25lLmVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpJyk7XG4gICAgY29uc3QgbGlIZWlnaHQgPSAobGlJdGVtc1sxXSA/IGxpSXRlbXNbMV0ub2Zmc2V0SGVpZ2h0IDogbGlJdGVtc1swXS5vZmZzZXRIZWlnaHQpO1xuICAgIGNvbnN0IHpvbmVIZWlnaHQgPSB0aGlzLmZseW91dFpvbmUuZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgY29uc3Qgb2Zmc2V0ID0gKHpvbmVIZWlnaHQgLyBsaUhlaWdodCkgLyAyO1xuXG4gICAgdGhpcy5mbHlvdXRab25lLmVsZW1lbnQuc2Nyb2xsVG9wID0gKHRoaXMuaW5kZXggKiBsaUhlaWdodCkgLSAob2Zmc2V0ICogbGlIZWlnaHQpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/auto-complete/public-api.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
export { AutoCompleteModule } from './auto-complete.module';
|
|
7
|
-
export { AutoCompleteComponent } from './components/auto-complete/auto-complete.component';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY3BhYXMtdWkvbmd4LWZvcm1zLyIsInNvdXJjZXMiOlsibGliL2F1dG8tY29tcGxldGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnLi9hdXRvLWNvbXBsZXRlLm1vZHVsZSc7XG5leHBvcnQgeyBBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudCc7XG4iXX0=
|