@acpaas-ui/ngx-forms 5.3.0 → 6.0.0-beta.0
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 +0 -2
- package/esm2020/acpaas-ui-ngx-forms.mjs +5 -0
- package/esm2020/lib/auto-complete/auto-complete.module.mjs +25 -0
- package/esm2020/lib/auto-complete/components/auto-complete/auto-complete.component.mjs +370 -0
- package/esm2020/lib/auto-complete/public-api.mjs +3 -0
- package/esm2020/lib/datepicker/components/datepicker/datepicker.component.mjs +274 -0
- package/esm2020/lib/datepicker/datepicker.conf.mjs +9 -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/mask/directives/mask.directive.mjs +25 -0
- package/esm2020/lib/mask/mask.module.mjs +20 -0
- package/esm2020/lib/mask/public-api.mjs +3 -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 +8 -0
- package/fesm2015/acpaas-ui-ngx-forms.mjs +2591 -0
- package/fesm2015/acpaas-ui-ngx-forms.mjs.map +1 -0
- package/fesm2020/acpaas-ui-ngx-forms.mjs +2402 -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 +10 -0
- package/lib/auto-complete/components/auto-complete/auto-complete.component.d.ts +5 -0
- package/lib/datepicker/components/datepicker/datepicker.component.d.ts +15 -8
- package/lib/datepicker/datepicker.module.d.ts +11 -1
- package/lib/datepicker/public-api.d.ts +1 -1
- package/lib/mask/directives/mask.directive.d.ts +3 -0
- package/lib/mask/mask.module.d.ts +6 -0
- 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 -24
- package/public-api.d.ts +0 -1
- package/acpaas-ui-ngx-forms.metadata.json +0 -1
- package/bundles/acpaas-ui-ngx-forms.umd.js +0 -3854
- 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 -335
- 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 -384
- 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 -3071
- package/fesm2015/acpaas-ui-ngx-forms.js.map +0 -1
- package/fesm5/acpaas-ui-ngx-forms.js +0 -3627
- package/fesm5/acpaas-ui-ngx-forms.js.map +0 -1
- 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
package/README.md
CHANGED
|
@@ -13,12 +13,10 @@ Visit our [documentation site](https://antwerp-ui.digipolis.be/) for full how-to
|
|
|
13
13
|
| ----------- | ------ | -------------------------- |
|
|
14
14
|
| `AutoCompleteModule` | This module creates an input field with autocomplete functionality. | [Documentation](src/lib/auto-complete/README.md) |
|
|
15
15
|
| `DatepickerModule` | This package allows the user to select a date either by input or by picking one in the calendar flyout. | [Documentation](src/lib/datepicker/README.md) |
|
|
16
|
-
| `MaskModule` | With this module you can make input fields that only accept a specific format. | [Documentation](src/lib/mask/README.md) |
|
|
17
16
|
| `RangeSliderModule` | This module provides a range slider. | [Documentation](src/lib/range-slider/README.md) |
|
|
18
17
|
| `SearchFilterModule` | This package allows the user to use a JIRA-like filter component with remote search capabilities. | [Documentation](src/lib/search-filter/README.md) |
|
|
19
18
|
| `TimepickerModule` | This package allows the user set the time either by choosing a slot in the dropdown or by typing in the autocomplete field. | [Documentation](src/lib/timepicker/README.md) |
|
|
20
19
|
| `UploadModule` | This module provides a couple of upload components and a specific `Uploader` class. | [Documentation](src/lib/upload/README.md) |
|
|
21
|
-
| `WysiwygModule` | This module provides a wysiwyg that can be used on a page or a form. | [Documentation](src/lib/wysiwyg/README.md) |
|
|
22
20
|
|
|
23
21
|
## Contributing
|
|
24
22
|
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNwYWFzLXVpLW5neC1mb3Jtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3BhYXMtdWktbmd4LWZvcm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { FlyoutModule } from '@acpaas-ui/ngx-flyout';
|
|
5
|
+
import { SelectableListModule } from '@acpaas-ui/ngx-selectable-list';
|
|
6
|
+
import { MaskModule } from '../mask/mask.module';
|
|
7
|
+
import { SearchService } from '../shared/services/search.service';
|
|
8
|
+
import { AutoCompleteComponent } from './components/auto-complete/auto-complete.component';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class AutoCompleteModule {
|
|
11
|
+
}
|
|
12
|
+
/** @nocollapse */ AutoCompleteModule.ɵfac = function AutoCompleteModule_Factory(t) { return new (t || AutoCompleteModule)(); };
|
|
13
|
+
/** @nocollapse */ AutoCompleteModule.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: AutoCompleteModule });
|
|
14
|
+
/** @nocollapse */ AutoCompleteModule.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ providers: [SearchService], imports: [CommonModule, FormsModule, FlyoutModule, SelectableListModule, MaskModule] });
|
|
15
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AutoCompleteModule, [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
imports: [CommonModule, FormsModule, FlyoutModule, SelectableListModule, MaskModule],
|
|
19
|
+
declarations: [AutoCompleteComponent],
|
|
20
|
+
exports: [AutoCompleteComponent],
|
|
21
|
+
providers: [SearchService],
|
|
22
|
+
}]
|
|
23
|
+
}], null, null); })();
|
|
24
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AutoCompleteModule, { declarations: [AutoCompleteComponent], imports: [CommonModule, FormsModule, FlyoutModule, SelectableListModule, MaskModule], exports: [AutoCompleteComponent] }); })();
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2F1dG8tY29tcGxldGUvYXV0by1jb21wbGV0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOztBQVEzRixNQUFNLE9BQU8sa0JBQWtCOzt1R0FBbEIsa0JBQWtCO21HQUFsQixrQkFBa0I7d0dBRmxCLENBQUMsYUFBYSxDQUFDLFlBSGhCLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFVBQVU7dUZBS3hFLGtCQUFrQjtjQU45QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxDQUFDO2dCQUNwRixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDckMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBQ2hDLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQzthQUMzQjs7d0ZBQ1ksa0JBQWtCLG1CQUpkLHFCQUFxQixhQUQxQixZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxVQUFVLGFBRXpFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGbHlvdXRNb2R1bGUgfSBmcm9tICdAYWNwYWFzLXVpL25neC1mbHlvdXQnO1xuaW1wb3J0IHsgU2VsZWN0YWJsZUxpc3RNb2R1bGUgfSBmcm9tICdAYWNwYWFzLXVpL25neC1zZWxlY3RhYmxlLWxpc3QnO1xuaW1wb3J0IHsgTWFza01vZHVsZSB9IGZyb20gJy4uL21hc2svbWFzay5tb2R1bGUnO1xuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZXJ2aWNlcy9zZWFyY2guc2VydmljZSc7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBGbHlvdXRNb2R1bGUsIFNlbGVjdGFibGVMaXN0TW9kdWxlLCBNYXNrTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbQXV0b0NvbXBsZXRlQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0F1dG9Db21wbGV0ZUNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1NlYXJjaFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvQ29tcGxldGVNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
import { Component, ContentChild, EventEmitter, forwardRef, Input, Output, TemplateRef, ViewChild, } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { get, isEqual } from 'lodash-es';
|
|
4
|
+
import { FlyoutDirective, FlyoutZoneDirective } from '@acpaas-ui/ngx-flyout';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../../shared/services/search.service";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
import * as i3 from "@angular/forms";
|
|
9
|
+
import * as i4 from "@acpaas-ui/ngx-flyout";
|
|
10
|
+
import * as i5 from "@acpaas-ui/ngx-selectable-list";
|
|
11
|
+
import * as i6 from "../../../mask/directives/mask.directive";
|
|
12
|
+
function AutoCompleteComponent_input_1_Template(rf, ctx) { if (rf & 1) {
|
|
13
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
14
|
+
i0.ɵɵelementStart(0, "input", 4);
|
|
15
|
+
i0.ɵɵlistener("focus", function AutoCompleteComponent_input_1_Template_input_focus_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.onFocus()); })("keyArrowDown", function AutoCompleteComponent_input_1_Template_input_keyArrowDown_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.onKeyArrowDown()); })("keyArrowUp", function AutoCompleteComponent_input_1_Template_input_keyArrowUp_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.onKeyArrowUp()); })("keyEnter", function AutoCompleteComponent_input_1_Template_input_keyEnter_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.onKeyEnter($event)); })("keyEscape", function AutoCompleteComponent_input_1_Template_input_keyEscape_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.onKeyEscape()); })("ngModelChange", function AutoCompleteComponent_input_1_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.query = $event); })("ngModelChange", function AutoCompleteComponent_input_1_Template_input_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.doSearch()); });
|
|
16
|
+
i0.ɵɵelementEnd();
|
|
17
|
+
} if (rf & 2) {
|
|
18
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
19
|
+
i0.ɵɵproperty("ngModel", ctx_r0.query)("disabled", ctx_r0.isDisabled ? true : null)("id", ctx_r0.id)("placeholder", ctx_r0.placeholder)("autocomplete", ctx_r0.autoComplete);
|
|
20
|
+
} }
|
|
21
|
+
function AutoCompleteComponent_input_2_Template(rf, ctx) { if (rf & 1) {
|
|
22
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
23
|
+
i0.ɵɵelementStart(0, "input", 5);
|
|
24
|
+
i0.ɵɵlistener("focus", function AutoCompleteComponent_input_2_Template_input_focus_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.onFocus()); })("keyArrowDown", function AutoCompleteComponent_input_2_Template_input_keyArrowDown_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onKeyArrowDown()); })("keyArrowUp", function AutoCompleteComponent_input_2_Template_input_keyArrowUp_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.onKeyArrowUp()); })("keyEnter", function AutoCompleteComponent_input_2_Template_input_keyEnter_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r15 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r15.onKeyEnter($event)); })("keyEscape", function AutoCompleteComponent_input_2_Template_input_keyEscape_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r16 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r16.onKeyEscape()); })("ngModelChange", function AutoCompleteComponent_input_2_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.query = $event); })("ngModelChange", function AutoCompleteComponent_input_2_Template_input_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r18 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r18.doSearch()); });
|
|
25
|
+
i0.ɵɵelementEnd();
|
|
26
|
+
} if (rf & 2) {
|
|
27
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
28
|
+
i0.ɵɵproperty("ngModel", ctx_r1.query)("auiMask", ctx_r1.mask)("disabled", ctx_r1.isDisabled ? true : null)("id", ctx_r1.id)("placeholder", ctx_r1.placeholder)("autocomplete", ctx_r1.autoComplete);
|
|
29
|
+
} }
|
|
30
|
+
function AutoCompleteComponent_div_3_span_1_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
+
i0.ɵɵelementStart(0, "span", 10);
|
|
32
|
+
i0.ɵɵelement(1, "span", 11);
|
|
33
|
+
i0.ɵɵelementStart(2, "span", 12);
|
|
34
|
+
i0.ɵɵtext(3);
|
|
35
|
+
i0.ɵɵelementEnd()();
|
|
36
|
+
} if (rf & 2) {
|
|
37
|
+
const ctx_r19 = i0.ɵɵnextContext(2);
|
|
38
|
+
i0.ɵɵadvance(3);
|
|
39
|
+
i0.ɵɵtextInterpolate(ctx_r19.loadingText);
|
|
40
|
+
} }
|
|
41
|
+
function AutoCompleteComponent_div_3_span_2_Template(rf, ctx) { if (rf & 1) {
|
|
42
|
+
i0.ɵɵelementStart(0, "span", 13);
|
|
43
|
+
i0.ɵɵtext(1);
|
|
44
|
+
i0.ɵɵelementEnd();
|
|
45
|
+
} if (rf & 2) {
|
|
46
|
+
const ctx_r20 = i0.ɵɵnextContext(2);
|
|
47
|
+
i0.ɵɵadvance(1);
|
|
48
|
+
i0.ɵɵtextInterpolate(ctx_r20.searchIncentiveText);
|
|
49
|
+
} }
|
|
50
|
+
function AutoCompleteComponent_div_3_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
i0.ɵɵelementStart(0, "span", 13);
|
|
52
|
+
i0.ɵɵtext(1);
|
|
53
|
+
i0.ɵɵelementEnd();
|
|
54
|
+
} if (rf & 2) {
|
|
55
|
+
const ctx_r21 = i0.ɵɵnextContext(2);
|
|
56
|
+
i0.ɵɵadvance(1);
|
|
57
|
+
i0.ɵɵtextInterpolate(ctx_r21.noResultsText);
|
|
58
|
+
} }
|
|
59
|
+
function AutoCompleteComponent_div_3_aui_selectable_list_4_Template(rf, ctx) { if (rf & 1) {
|
|
60
|
+
const _r24 = i0.ɵɵgetCurrentView();
|
|
61
|
+
i0.ɵɵelementStart(0, "aui-selectable-list", 14);
|
|
62
|
+
i0.ɵɵlistener("selected", function AutoCompleteComponent_div_3_aui_selectable_list_4_Template_aui_selectable_list_selected_0_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r23.onSelect($event)); });
|
|
63
|
+
i0.ɵɵelementEnd();
|
|
64
|
+
} if (rf & 2) {
|
|
65
|
+
const ctx_r22 = i0.ɵɵnextContext(2);
|
|
66
|
+
i0.ɵɵproperty("index", ctx_r22.index)("itemTemplate", ctx_r22.template)("items", ctx_r22.results)("label", ctx_r22.label)("search", ctx_r22.query);
|
|
67
|
+
} }
|
|
68
|
+
function AutoCompleteComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
69
|
+
i0.ɵɵelementStart(0, "div", 6);
|
|
70
|
+
i0.ɵɵtemplate(1, AutoCompleteComponent_div_3_span_1_Template, 4, 1, "span", 7);
|
|
71
|
+
i0.ɵɵtemplate(2, AutoCompleteComponent_div_3_span_2_Template, 2, 1, "span", 8);
|
|
72
|
+
i0.ɵɵtemplate(3, AutoCompleteComponent_div_3_span_3_Template, 2, 1, "span", 8);
|
|
73
|
+
i0.ɵɵtemplate(4, AutoCompleteComponent_div_3_aui_selectable_list_4_Template, 1, 5, "aui-selectable-list", 9);
|
|
74
|
+
i0.ɵɵelementEnd();
|
|
75
|
+
} if (rf & 2) {
|
|
76
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
77
|
+
i0.ɵɵadvance(1);
|
|
78
|
+
i0.ɵɵproperty("ngIf", ctx_r2.focused && ctx_r2.loadingText && ctx_r2.searching);
|
|
79
|
+
i0.ɵɵadvance(1);
|
|
80
|
+
i0.ɵɵproperty("ngIf", ctx_r2.focused && ctx_r2.searchIncentiveText && !ctx_r2.searching && !ctx_r2.query && !ctx_r2.results.length);
|
|
81
|
+
i0.ɵɵadvance(1);
|
|
82
|
+
i0.ɵɵproperty("ngIf", ctx_r2.focused && ctx_r2.noResultsText && !ctx_r2.searching && ctx_r2.query && !ctx_r2.results.length);
|
|
83
|
+
i0.ɵɵadvance(1);
|
|
84
|
+
i0.ɵɵproperty("ngIf", ctx_r2.results.length > 0 && !(ctx_r2.focused && ctx_r2.loadingText && ctx_r2.searching));
|
|
85
|
+
} }
|
|
86
|
+
export class AutoCompleteComponent {
|
|
87
|
+
constructor(ref, searchService) {
|
|
88
|
+
this.ref = ref;
|
|
89
|
+
this.searchService = searchService;
|
|
90
|
+
this.results = []; // The values for the selectable list
|
|
91
|
+
this.data = []; // The values to search in when remote search is disabled
|
|
92
|
+
this.remote = false; // Disable or enamble remote search
|
|
93
|
+
this.minCharacters = 0;
|
|
94
|
+
this.mask = null;
|
|
95
|
+
this.clearInvalid = false;
|
|
96
|
+
this.showAllByDefault = false;
|
|
97
|
+
this.autoComplete = 'off';
|
|
98
|
+
// Eventemitter for searchvalue (parent object should update the results with this param)
|
|
99
|
+
this.search = new EventEmitter();
|
|
100
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
101
|
+
this.select = new EventEmitter();
|
|
102
|
+
this.query = '';
|
|
103
|
+
this.index = -1; // index for active element in selectable list, by default -1 (so it starts in the input field)
|
|
104
|
+
this.selectedItem = null; // keep a backup of the selectedItem
|
|
105
|
+
this.searching = false; // track remote search state
|
|
106
|
+
this.focused = false;
|
|
107
|
+
this.isDisabled = false;
|
|
108
|
+
this.remoteValue = false;
|
|
109
|
+
this.updateModel = (_) => { };
|
|
110
|
+
}
|
|
111
|
+
// CONTROL_VALUE_ACCESSOR interface
|
|
112
|
+
writeValue(value = '') {
|
|
113
|
+
if (this.value) {
|
|
114
|
+
const selected = this.data.find((item) => item[this.value] === value);
|
|
115
|
+
if (selected) {
|
|
116
|
+
return (this.query = selected[this.label]);
|
|
117
|
+
}
|
|
118
|
+
if (this.remote && !!value) {
|
|
119
|
+
this.remoteValue = true;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
this.query = value;
|
|
123
|
+
}
|
|
124
|
+
// CONTROL_VALUE_ACCESSOR interface
|
|
125
|
+
registerOnChange(fn) {
|
|
126
|
+
this.updateModel = fn;
|
|
127
|
+
}
|
|
128
|
+
// CONTROL_VALUE_ACCESSOR interface
|
|
129
|
+
registerOnTouched() { }
|
|
130
|
+
setDisabledState(isDisabled) {
|
|
131
|
+
this.isDisabled = isDisabled;
|
|
132
|
+
}
|
|
133
|
+
ngOnInit() {
|
|
134
|
+
if (Array.isArray(this.data) && this.data.length > 0 && !this.query && this.showAllByDefault) {
|
|
135
|
+
this.results = [...this.data];
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// OnChanges interface
|
|
139
|
+
ngOnChanges(changes) {
|
|
140
|
+
if (!changes) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const newData = get(changes, 'data.currentValue', []);
|
|
144
|
+
if (!isEqual(newData, get(changes, 'data.previousValue', []))) {
|
|
145
|
+
if (this.remote) {
|
|
146
|
+
this.remoteSearch();
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
this.localSearch();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (changes.results && changes.results.currentValue) {
|
|
153
|
+
this.searching = false;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
propagateChange(item) {
|
|
157
|
+
this.query = item !== null ? (this.label ? item[this.label] : item) : '';
|
|
158
|
+
this.select.emit(item);
|
|
159
|
+
if (!item) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
const key = this.value ? this.value : this.label ? this.label : null;
|
|
163
|
+
this.updateModel(key ? item[key] || '' : item);
|
|
164
|
+
this.selectedItem = item;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* triggers on input value change
|
|
168
|
+
*/
|
|
169
|
+
doSearch() {
|
|
170
|
+
this.index = -1; // reset index
|
|
171
|
+
this.searching = true;
|
|
172
|
+
if (this.remote) {
|
|
173
|
+
this.search.emit(this.query); // ask for new remote data
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
this.localSearch();
|
|
177
|
+
}
|
|
178
|
+
this.openFlyout(); // open the flyout when there is a change
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* triggers on selectable-list:select -> onClick event in selectable-list
|
|
182
|
+
*/
|
|
183
|
+
onSelect(item) {
|
|
184
|
+
this.propagateChange(item);
|
|
185
|
+
this.closeFlyout(); // Close the flyout manually
|
|
186
|
+
}
|
|
187
|
+
onFlyoutClosed() {
|
|
188
|
+
// there is only 1 result, select it
|
|
189
|
+
if (this.index >= 0 && this.results.length === 1) {
|
|
190
|
+
return this.onSelect(this.results[0]);
|
|
191
|
+
}
|
|
192
|
+
// there is no query nor selected item, clear the selected item
|
|
193
|
+
if (!this.query && this.index < 0) {
|
|
194
|
+
return this.onSelect(null);
|
|
195
|
+
}
|
|
196
|
+
// reset the query for an invalid query if clearInvalid is true
|
|
197
|
+
if (this.clearInvalid && this.query && !this.results.length && this.index < 0) {
|
|
198
|
+
this.query = this.selectedItem ? (this.label ? this.selectedItem[this.label] : this.selectedItem) : '';
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
onKeyArrowDown() {
|
|
202
|
+
if (this.index < this.results.length - 1) {
|
|
203
|
+
this.scrollList(1);
|
|
204
|
+
}
|
|
205
|
+
this.openFlyout();
|
|
206
|
+
}
|
|
207
|
+
onKeyArrowUp() {
|
|
208
|
+
if (this.index >= 0) {
|
|
209
|
+
this.scrollList(-1);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
onKeyEnter(event) {
|
|
213
|
+
event.preventDefault(); // Do not submit form when selecting an item.
|
|
214
|
+
const query = this.index >= 0 ? this.results[this.index] : this.query;
|
|
215
|
+
this.propagateChange(query);
|
|
216
|
+
this.closeFlyout();
|
|
217
|
+
}
|
|
218
|
+
onKeyEscape() {
|
|
219
|
+
this.closeFlyout();
|
|
220
|
+
}
|
|
221
|
+
onFocus() {
|
|
222
|
+
this.focused = true;
|
|
223
|
+
this.openFlyout();
|
|
224
|
+
}
|
|
225
|
+
openFlyout() {
|
|
226
|
+
if (this.flyout) {
|
|
227
|
+
this.flyout.open();
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
closeFlyout() {
|
|
231
|
+
if (this.flyout) {
|
|
232
|
+
this.flyout.close();
|
|
233
|
+
}
|
|
234
|
+
this.focused = false;
|
|
235
|
+
}
|
|
236
|
+
localSearch() {
|
|
237
|
+
this.results = this.searchService.search(this.data, {
|
|
238
|
+
minLength: this.minCharacters,
|
|
239
|
+
key: this.label,
|
|
240
|
+
query: this.query,
|
|
241
|
+
showAllByDefault: this.showAllByDefault,
|
|
242
|
+
});
|
|
243
|
+
if (this.results.length === 1 && this.query === this.results[0][this.label]) {
|
|
244
|
+
this.index = 0;
|
|
245
|
+
}
|
|
246
|
+
this.searching = false;
|
|
247
|
+
}
|
|
248
|
+
remoteSearch() {
|
|
249
|
+
if (!this.remoteValue || !this.data) {
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
const selected = this.data.find((item) => {
|
|
253
|
+
if (this.value) {
|
|
254
|
+
return item[this.value] === this.query;
|
|
255
|
+
}
|
|
256
|
+
return item === this.query;
|
|
257
|
+
});
|
|
258
|
+
if (selected) {
|
|
259
|
+
this.query = this.label ? selected[this.label] : selected;
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
this.query = '';
|
|
263
|
+
}
|
|
264
|
+
this.remoteValue = false;
|
|
265
|
+
}
|
|
266
|
+
scrollList(factor) {
|
|
267
|
+
this.index += factor;
|
|
268
|
+
if (!this.flyoutZone) {
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
const liItems = this.flyoutZone.element.getElementsByTagName('li');
|
|
272
|
+
const liHeight = liItems[1] ? liItems[1].offsetHeight : liItems[0].offsetHeight;
|
|
273
|
+
const zoneHeight = this.flyoutZone.element.offsetHeight;
|
|
274
|
+
const offset = zoneHeight / liHeight / 2;
|
|
275
|
+
this.flyoutZone.element.scrollTop = this.index * liHeight - offset * liHeight;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
/** @nocollapse */ AutoCompleteComponent.ɵfac = function AutoCompleteComponent_Factory(t) { return new (t || AutoCompleteComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.SearchService)); };
|
|
279
|
+
/** @nocollapse */ AutoCompleteComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: AutoCompleteComponent, selectors: [["aui-auto-complete"]], contentQueries: function AutoCompleteComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
280
|
+
i0.ɵɵcontentQuery(dirIndex, TemplateRef, 7);
|
|
281
|
+
} if (rf & 2) {
|
|
282
|
+
let _t;
|
|
283
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.template = _t.first);
|
|
284
|
+
} }, viewQuery: function AutoCompleteComponent_Query(rf, ctx) { if (rf & 1) {
|
|
285
|
+
i0.ɵɵviewQuery(FlyoutDirective, 7);
|
|
286
|
+
i0.ɵɵviewQuery(FlyoutZoneDirective, 7);
|
|
287
|
+
} if (rf & 2) {
|
|
288
|
+
let _t;
|
|
289
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.flyout = _t.first);
|
|
290
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.flyoutZone = _t.first);
|
|
291
|
+
} }, inputs: { id: "id", placeholder: "placeholder", description: "description", inputLabel: "inputLabel", results: "results", data: "data", remote: "remote", minCharacters: "minCharacters", mask: "mask", clearInvalid: "clearInvalid", searchIncentiveText: "searchIncentiveText", loadingText: "loadingText", noResultsText: "noResultsText", showAllByDefault: "showAllByDefault", autoComplete: "autoComplete", label: "label", value: "value" }, outputs: { search: "search", select: "select" }, features: [i0.ɵɵProvidersFeature([
|
|
292
|
+
{
|
|
293
|
+
provide: NG_VALUE_ACCESSOR,
|
|
294
|
+
useExisting: forwardRef((() => AutoCompleteComponent)),
|
|
295
|
+
multi: true,
|
|
296
|
+
},
|
|
297
|
+
]), i0.ɵɵNgOnChangesFeature], decls: 4, vars: 4, consts: [["aria-haspopup", "listbox", "auiFlyout", "", 1, "m-flyout", "m-flyout--scrollable", "m-flyout--full", "o-auto-complete", 3, "toggleClick", "closed"], ["aria-autocomplete", "list", "auiFlyoutAction", "", "auiSelectableActions", "", "type", "text", "class", "a-input", 3, "ngModel", "disabled", "id", "placeholder", "autocomplete", "focus", "keyArrowDown", "keyArrowUp", "keyEnter", "keyEscape", "ngModelChange", 4, "ngIf"], ["aria-autocomplete", "list", "auiFlyoutAction", "", "auiSelectableActions", "", "type", "text", "class", "a-input", 3, "ngModel", "auiMask", "disabled", "id", "placeholder", "autocomplete", "focus", "keyArrowDown", "keyArrowUp", "keyEnter", "keyEscape", "ngModelChange", 4, "ngIf"], ["auiFlyoutZone", "", 4, "ngIf"], ["aria-autocomplete", "list", "auiFlyoutAction", "", "auiSelectableActions", "", "type", "text", 1, "a-input", 3, "ngModel", "disabled", "id", "placeholder", "autocomplete", "focus", "keyArrowDown", "keyArrowUp", "keyEnter", "keyEscape", "ngModelChange"], ["aria-autocomplete", "list", "auiFlyoutAction", "", "auiSelectableActions", "", "type", "text", 1, "a-input", 3, "ngModel", "auiMask", "disabled", "id", "placeholder", "autocomplete", "focus", "keyArrowDown", "keyArrowUp", "keyEnter", "keyEscape", "ngModelChange"], ["auiFlyoutZone", ""], ["class", "a-spinner a-spinner--s u-margin-xs", "role", "alert", 4, "ngIf"], ["class", "o-auto-complete__info u-text-light u-margin-xs", 4, "ngIf"], [3, "index", "itemTemplate", "items", "label", "search", "selected", 4, "ngIf"], ["role", "alert", 1, "a-spinner", "a-spinner--s", "u-margin-xs"], [1, "a-spinner__circle"], [1, "a-spinner__text"], [1, "o-auto-complete__info", "u-text-light", "u-margin-xs"], [3, "index", "itemTemplate", "items", "label", "search", "selected"]], template: function AutoCompleteComponent_Template(rf, ctx) { if (rf & 1) {
|
|
298
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
299
|
+
i0.ɵɵlistener("closed", function AutoCompleteComponent_Template_div_closed_0_listener() { return ctx.onFlyoutClosed(); });
|
|
300
|
+
i0.ɵɵtemplate(1, AutoCompleteComponent_input_1_Template, 1, 5, "input", 1);
|
|
301
|
+
i0.ɵɵtemplate(2, AutoCompleteComponent_input_2_Template, 1, 6, "input", 2);
|
|
302
|
+
i0.ɵɵtemplate(3, AutoCompleteComponent_div_3_Template, 5, 4, "div", 3);
|
|
303
|
+
i0.ɵɵelementEnd();
|
|
304
|
+
} if (rf & 2) {
|
|
305
|
+
i0.ɵɵproperty("toggleClick", false);
|
|
306
|
+
i0.ɵɵadvance(1);
|
|
307
|
+
i0.ɵɵproperty("ngIf", !ctx.mask);
|
|
308
|
+
i0.ɵɵadvance(1);
|
|
309
|
+
i0.ɵɵproperty("ngIf", ctx.mask);
|
|
310
|
+
i0.ɵɵadvance(1);
|
|
311
|
+
i0.ɵɵproperty("ngIf", !ctx.isDisabled);
|
|
312
|
+
} }, dependencies: [i2.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgModel, i4.FlyoutActionDirective, i4.FlyoutZoneDirective, i4.FlyoutDirective, i5.SelectableListComponent, i5.SelectableActionsDirective, i6.MaskDirective], styles: [".o-auto-complete[_ngcontent-%COMP%], .o-auto-complete__info[_ngcontent-%COMP%]{display:block}"] });
|
|
313
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AutoCompleteComponent, [{
|
|
314
|
+
type: Component,
|
|
315
|
+
args: [{ selector: 'aui-auto-complete', providers: [
|
|
316
|
+
{
|
|
317
|
+
provide: NG_VALUE_ACCESSOR,
|
|
318
|
+
useExisting: forwardRef((() => AutoCompleteComponent)),
|
|
319
|
+
multi: true,
|
|
320
|
+
},
|
|
321
|
+
], template: "<div\n (closed)=\"onFlyoutClosed()\"\n [toggleClick]=\"false\"\n aria-haspopup=\"listbox\"\n auiFlyout\n class=\"m-flyout m-flyout--scrollable m-flyout--full o-auto-complete\"\n>\n <input\n (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 class=\"a-input\"\n />\n <input\n (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 class=\"a-input\"\n />\n <div *ngIf=\"!isDisabled\" auiFlyoutZone>\n <span *ngIf=\"focused && loadingText && searching\" class=\"a-spinner a-spinner--s u-margin-xs\" role=\"alert\">\n <span class=\"a-spinner__circle\"></span>\n <span class=\"a-spinner__text\">{{ loadingText }}</span>\n </span>\n <span\n *ngIf=\"focused && searchIncentiveText && !searching && !query && !results.length\"\n class=\"o-auto-complete__info u-text-light u-margin-xs\"\n >{{ searchIncentiveText }}</span\n >\n <span\n *ngIf=\"focused && noResultsText && !searching && query && !results.length\"\n class=\"o-auto-complete__info u-text-light u-margin-xs\"\n >{{ noResultsText }}</span\n >\n <aui-selectable-list\n (selected)=\"onSelect($event)\"\n *ngIf=\"results.length > 0 && !(focused && loadingText && searching)\"\n [index]=\"index\"\n [itemTemplate]=\"template\"\n [items]=\"results\"\n [label]=\"label\"\n [search]=\"query\"\n ></aui-selectable-list>\n </div>\n</div>\n", styles: [".o-auto-complete,.o-auto-complete__info{display:block}\n"] }]
|
|
322
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i1.SearchService }]; }, { id: [{
|
|
323
|
+
type: Input
|
|
324
|
+
}], placeholder: [{
|
|
325
|
+
type: Input
|
|
326
|
+
}], description: [{
|
|
327
|
+
type: Input
|
|
328
|
+
}], inputLabel: [{
|
|
329
|
+
type: Input
|
|
330
|
+
}], results: [{
|
|
331
|
+
type: Input
|
|
332
|
+
}], data: [{
|
|
333
|
+
type: Input
|
|
334
|
+
}], remote: [{
|
|
335
|
+
type: Input
|
|
336
|
+
}], minCharacters: [{
|
|
337
|
+
type: Input
|
|
338
|
+
}], mask: [{
|
|
339
|
+
type: Input
|
|
340
|
+
}], clearInvalid: [{
|
|
341
|
+
type: Input
|
|
342
|
+
}], searchIncentiveText: [{
|
|
343
|
+
type: Input
|
|
344
|
+
}], loadingText: [{
|
|
345
|
+
type: Input
|
|
346
|
+
}], noResultsText: [{
|
|
347
|
+
type: Input
|
|
348
|
+
}], showAllByDefault: [{
|
|
349
|
+
type: Input
|
|
350
|
+
}], autoComplete: [{
|
|
351
|
+
type: Input
|
|
352
|
+
}], label: [{
|
|
353
|
+
type: Input
|
|
354
|
+
}], value: [{
|
|
355
|
+
type: Input
|
|
356
|
+
}], search: [{
|
|
357
|
+
type: Output
|
|
358
|
+
}], select: [{
|
|
359
|
+
type: Output
|
|
360
|
+
}], flyout: [{
|
|
361
|
+
type: ViewChild,
|
|
362
|
+
args: [FlyoutDirective, { static: true }]
|
|
363
|
+
}], flyoutZone: [{
|
|
364
|
+
type: ViewChild,
|
|
365
|
+
args: [FlyoutZoneDirective, { static: true }]
|
|
366
|
+
}], template: [{
|
|
367
|
+
type: ContentChild,
|
|
368
|
+
args: [TemplateRef, { static: true }]
|
|
369
|
+
}] }); })();
|
|
370
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2F1dG8tY29tcGxldGUvY29tcG9uZW50cy9hdXRvLWNvbXBsZXRlL2F1dG8tY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hdXRvLWNvbXBsZXRlL2NvbXBvbmVudHMvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7SUNUM0UsZ0NBa0JFO0lBakJBLG1LQUFTLGVBQUEsZ0JBQVMsQ0FBQSxJQUFDLG9LQUNILGVBQUEsdUJBQWdCLENBQUEsSUFEYixnS0FFTCxlQUFBLHFCQUFjLENBQUEsSUFGVCxrS0FHUCxlQUFBLHlCQUFrQixDQUFBLElBSFgsOEpBSU4sZUFBQSxvQkFBYSxDQUFBLElBSlAscU5BQUEsdUtBTUYsZUFBQSxrQkFBVSxDQUFBLElBTlI7SUFEckIsaUJBa0JFOzs7SUFaQSxzQ0FBbUIsNkNBQUEsaUJBQUEsbUNBQUEscUNBQUE7Ozs7SUFhckIsZ0NBbUJFO0lBbEJBLHFLQUFTLGVBQUEsaUJBQVMsQ0FBQSxJQUFDLHNLQUNILGVBQUEsd0JBQWdCLENBQUEsSUFEYixrS0FFTCxlQUFBLHNCQUFjLENBQUEs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LHNDQUFpQjs7dUZEZloscUJBQXFCO2NBWmpDLFNBQVM7MkJBQ0UsbUJBQW1CLGFBR2xCO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLHNCQUFzQixFQUFDO3dCQUNwRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRjt5RkFHUSxFQUFFO2tCQUFWLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csZ0JBQWdCO2tCQUF4QixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUdHLEtBQUs7a0JBQWIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUdJLE1BQU07a0JBQWYsTUFBTTtZQUVHLE1BQU07a0JBQWYsTUFBTTtZQUV1QyxNQUFNO2tCQUFuRCxTQUFTO21CQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDTSxVQUFVO2tCQUEzRCxTQUFTO21CQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUVJLFFBQVE7a0JBQTNELFlBQVk7bUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGdldCwgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBGbHlvdXREaXJlY3RpdmUsIEZseW91dFpvbmVEaXJlY3RpdmUgfSBmcm9tICdAYWNwYWFzLXVpL25neC1mbHlvdXQnO1xuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9zZWFyY2guc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1hdXRvLWNvbXBsZXRlJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0by1jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0by1jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXV0b0NvbXBsZXRlQ29tcG9uZW50KSwgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZztcbiAgQElucHV0KCkgaW5wdXRMYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSByZXN1bHRzOiBhbnlbXSA9IFtdOyAvLyBUaGUgdmFsdWVzIGZvciB0aGUgc2VsZWN0YWJsZSBsaXN0XG4gIEBJbnB1dCgpIGRhdGE6IGFueVtdID0gW107IC8vIFRoZSB2YWx1ZXMgdG8gc2VhcmNoIGluIHdoZW4gcmVtb3RlIHNlYXJjaCBpcyBkaXNhYmxlZFxuICBASW5wdXQoKSByZW1vdGUgPSBmYWxzZTsgLy8gRGlzYWJsZSBvciBlbmFtYmxlIHJlbW90ZSBzZWFyY2hcbiAgQElucHV0KCkgbWluQ2hhcmFjdGVycyA9IDA7XG4gIEBJbnB1dCgpIG1hc2s6IHN0cmluZyA9IG51bGw7XG4gIEBJbnB1dCgpIGNsZWFySW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWFyY2hJbmNlbnRpdmVUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxvYWRpbmdUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5vUmVzdWx0c1RleHQ6IHN0cmluZztcbiAgQElucHV0KCkgc2hvd0FsbEJ5RGVmYXVsdCA9IGZhbHNlO1xuICBASW5wdXQoKSBhdXRvQ29tcGxldGUgPSAnb2ZmJztcblxuICAvLyBzcGVjaWZ5IHdoaWNoIGxhYmVsL3ZhbHVlIHByb3BzIHRvIHVzZVxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xuXG4gIC8vIEV2ZW50ZW1pdHRlciBmb3Igc2VhcmNodmFsdWUgKHBhcmVudCBvYmplY3Qgc2hvdWxkIHVwZGF0ZSB0aGUgcmVzdWx0cyB3aXRoIHRoaXMgcGFyYW0pXG4gIEBPdXRwdXQoKSBzZWFyY2g6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIHNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZChGbHlvdXREaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pIGZseW91dDogRmx5b3V0RGlyZWN0aXZlO1xuICBAVmlld0NoaWxkKEZseW91dFpvbmVEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pIGZseW91dFpvbmU6IEZseW91dFpvbmVEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHB1YmxpYyBxdWVyeSA9ICcnO1xuICBwdWJsaWMgaW5kZXggPSAtMTsgLy8gaW5kZXggZm9yIGFjdGl2ZSBlbGVtZW50IGluIHNlbGVjdGFibGUgbGlzdCwgYnkgZGVmYXVsdCAtMSAoc28gaXQgc3RhcnRzIGluIHRoZSBpbnB1dCBmaWVsZClcbiAgcHVibGljIHNlbGVjdGVkSXRlbTogYW55ID0gbnVsbDsgLy8ga2VlcCBhIGJhY2t1cCBvZiB0aGUgc2VsZWN0ZWRJdGVtXG4gIHB1YmxpYyBzZWFyY2hpbmcgPSBmYWxzZTsgLy8gdHJhY2sgcmVtb3RlIHNlYXJjaCBzdGF0ZVxuICBwdWJsaWMgZm9jdXNlZCA9IGZhbHNlO1xuICBwdWJsaWMgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVtb3RlVmFsdWUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyB1cGRhdGVNb2RlbCA9IChfOiBhbnkpID0+IHt9O1xuXG4gIC8vIENPTlRST0xfVkFMVUVfQUNDRVNTT1IgaW50ZXJmYWNlXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlID0gJycpIHtcbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmRhdGEuZmluZCgoaXRlbTogYW55KSA9PiBpdGVtW3RoaXMudmFsdWVdID09PSB2YWx1ZSk7XG5cbiAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICByZXR1cm4gKHRoaXMucXVlcnkgPSBzZWxlY3RlZFt0aGlzLmxhYmVsXSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnJlbW90ZSAmJiAhIXZhbHVlKSB7XG4gICAgICAgIHRoaXMucmVtb3RlVmFsdWUgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucXVlcnkgPSB2YWx1ZTtcbiAgfVxuXG4gIC8vIENPTlRST0xfVkFMVUVfQUNDRVNTT1IgaW50ZXJmYWNlXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuKSB7XG4gICAgdGhpcy51cGRhdGVNb2RlbCA9IGZuO1xuICB9XG5cbiAgLy8gQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUiBpbnRlcmZhY2VcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKCkge31cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEpICYmIHRoaXMuZGF0YS5sZW5ndGggPiAwICYmICF0aGlzLnF1ZXJ5ICYmIHRoaXMuc2hvd0FsbEJ5RGVmYXVsdCkge1xuICAgICAgdGhpcy5yZXN1bHRzID0gWy4uLnRoaXMuZGF0YV07XG4gICAgfVxuICB9XG5cbiAgLy8gT25DaGFuZ2VzIGludGVyZmFjZVxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghY2hhbmdlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld0RhdGEgPSBnZXQoY2hhbmdlcywgJ2RhdGEuY3VycmVudFZhbHVlJywgW10pO1xuICAgIGlmICghaXNFcXVhbChuZXdEYXRhLCBnZXQoY2hhbmdlcywgJ2RhdGEucHJldmlvdXNWYWx1ZScsIFtdKSkpIHtcbiAgICAgIGlmICh0aGlzLnJlbW90ZSkge1xuICAgICAgICB0aGlzLnJlbW90ZVNlYXJjaCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2NhbFNlYXJjaCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLnJlc3VsdHMgJiYgY2hhbmdlcy5yZXN1bHRzLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5zZWFyY2hpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcHJvcGFnYXRlQ2hhbmdlKGl0ZW06IGFueSkge1xuICAgIHRoaXMucXVlcnkgPSBpdGVtICE9PSBudWxsID8gKHRoaXMubGFiZWwgPyBpdGVtW3RoaXMubGFiZWxdIDogaXRlbSkgOiAnJztcbiAgICB0aGlzLnNlbGVjdC5lbWl0KGl0ZW0pO1xuXG4gICAgaWYgKCFpdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qga2V5ID0gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUgOiB0aGlzLmxhYmVsID8gdGhpcy5sYWJlbCA6IG51bGw7XG4gICAgdGhpcy51cGRhdGVNb2RlbChrZXkgPyBpdGVtW2tleV0gfHwgJycgOiBpdGVtKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGl0ZW07XG4gIH1cblxuICAvKipcbiAgICogdHJpZ2dlcnMgb24gaW5wdXQgdmFsdWUgY2hhbmdlXG4gICAqL1xuICBwdWJsaWMgZG9TZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5pbmRleCA9IC0xOyAvLyByZXNldCBpbmRleFxuICAgIHRoaXMuc2VhcmNoaW5nID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLnJlbW90ZSkge1xuICAgICAgdGhpcy5zZWFyY2guZW1pdCh0aGlzLnF1ZXJ5KTsgLy8gYXNrIGZvciBuZXcgcmVtb3RlIGRhdGFcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2NhbFNlYXJjaCgpO1xuICAgIH1cblxuICAgIHRoaXMub3BlbkZseW91dCgpOyAvLyBvcGVuIHRoZSBmbHlvdXQgd2hlbiB0aGVyZSBpcyBhIGNoYW5nZVxuICB9XG5cbiAgLyoqXG4gICAqIHRyaWdnZXJzIG9uIHNlbGVjdGFibGUtbGlzdDpzZWxlY3QgLT4gb25DbGljayBldmVudCBpbiBzZWxlY3RhYmxlLWxpc3RcbiAgICovXG4gIHB1YmxpYyBvblNlbGVjdChpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShpdGVtKTtcbiAgICB0aGlzLmNsb3NlRmx5b3V0KCk7IC8vIENsb3NlIHRoZSBmbHlvdXQgbWFudWFsbHlcbiAgfVxuXG4gIHB1YmxpYyBvbkZseW91dENsb3NlZCgpOiB2b2lkIHtcbiAgICAvLyB0aGVyZSBpcyBvbmx5IDEgcmVzdWx0LCBzZWxlY3QgaXRcbiAgICBpZiAodGhpcy5pbmRleCA+PSAwICYmIHRoaXMucmVzdWx0cy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiB0aGlzLm9uU2VsZWN0KHRoaXMucmVzdWx0c1swXSk7XG4gICAgfVxuXG4gICAgLy8gdGhlcmUgaXMgbm8gcXVlcnkgbm9yIHNlbGVjdGVkIGl0ZW0sIGNsZWFyIHRoZSBzZWxlY3RlZCBpdGVtXG4gICAgaWYgKCF0aGlzLnF1ZXJ5ICYmIHRoaXMuaW5kZXggPCAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5vblNlbGVjdChudWxsKTtcbiAgICB9XG5cbiAgICAvLyByZXNldCB0aGUgcXVlcnkgZm9yIGFuIGludmFsaWQgcXVlcnkgaWYgY2xlYXJJbnZhbGlkIGlzIHRydWVcbiAgICBpZiAodGhpcy5jbGVhckludmFsaWQgJiYgdGhpcy5xdWVyeSAmJiAhdGhpcy5yZXN1bHRzLmxlbmd0aCAmJiB0aGlzLmluZGV4IDwgMCkge1xuICAgICAgdGhpcy5xdWVyeSA9IHRoaXMuc2VsZWN0ZWRJdGVtID8gKHRoaXMubGFiZWwgPyB0aGlzLnNlbGVjdGVkSXRlbVt0aGlzLmxhYmVsXSA6IHRoaXMuc2VsZWN0ZWRJdGVtKSA6ICcnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbktleUFycm93RG93bigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbmRleCA8IHRoaXMucmVzdWx0cy5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLnNjcm9sbExpc3QoMSk7XG4gICAgfVxuXG4gICAgdGhpcy5vcGVuRmx5b3V0KCk7XG4gIH1cblxuICBwdWJsaWMgb25LZXlBcnJvd1VwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluZGV4ID49IDApIHtcbiAgICAgIHRoaXMuc2Nyb2xsTGlzdCgtMSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uS2V5RW50ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gRG8gbm90IHN1Ym1pdCBmb3JtIHdoZW4gc2VsZWN0aW5nIGFuIGl0ZW0uXG5cbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuaW5kZXggPj0gMCA/IHRoaXMucmVzdWx0c1t0aGlzLmluZGV4XSA6IHRoaXMucXVlcnk7XG5cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShxdWVyeSk7XG4gICAgdGhpcy5jbG9zZUZseW91dCgpO1xuICB9XG5cbiAgcHVibGljIG9uS2V5RXNjYXBlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VGbHlvdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgdGhpcy5vcGVuRmx5b3V0KCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkZseW91dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mbHlvdXQpIHtcbiAgICAgIHRoaXMuZmx5b3V0Lm9wZW4oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2VGbHlvdXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmx5b3V0KSB7XG4gICAgICB0aGlzLmZseW91dC5jbG9zZSgpO1xuICAgIH1cblxuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGxvY2FsU2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMucmVzdWx0cyA9IHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2godGhpcy5kYXRhLCB7XG4gICAgICBtaW5MZW5ndGg6IHRoaXMubWluQ2hhcmFjdGVycyxcbiAgICAgIGtleTogdGhpcy5sYWJlbCxcbiAgICAgIHF1ZXJ5OiB0aGlzLnF1ZXJ5LFxuICAgICAgc2hvd0FsbEJ5RGVmYXVsdDogdGhpcy5zaG93QWxsQnlEZWZhdWx0LFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMucmVzdWx0cy5sZW5ndGggPT09IDEgJiYgdGhpcy5xdWVyeSA9PT0gdGhpcy5yZXN1bHRzWzBdW3RoaXMubGFiZWxdKSB7XG4gICAgICB0aGlzLmluZGV4ID0gMDtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaGluZyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHJlbW90ZVNlYXJjaCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVtb3RlVmFsdWUgfHwgIXRoaXMuZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5kYXRhLmZpbmQoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1bdGhpcy52YWx1ZV0gPT09IHRoaXMucXVlcnk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpdGVtID09PSB0aGlzLnF1ZXJ5O1xuICAgIH0pO1xuXG4gICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5sYWJlbCA/IHNlbGVjdGVkW3RoaXMubGFiZWxdIDogc2VsZWN0ZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucXVlcnkgPSAnJztcbiAgICB9XG5cbiAgICB0aGlzLnJlbW90ZVZhbHVlID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsTGlzdChmYWN0b3I6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuaW5kZXggKz0gZmFjdG9yO1xuXG4gICAgaWYgKCF0aGlzLmZseW91dFpvbmUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaUl0ZW1zID0gdGhpcy5mbHlvdXRab25lLmVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpJyk7XG4gICAgY29uc3QgbGlIZWlnaHQgPSBsaUl0ZW1zWzFdID8gbGlJdGVtc1sxXS5vZmZzZXRIZWlnaHQgOiBsaUl0ZW1zWzBdLm9mZnNldEhlaWdodDtcbiAgICBjb25zdCB6b25lSGVpZ2h0ID0gdGhpcy5mbHlvdXRab25lLmVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgIGNvbnN0IG9mZnNldCA9IHpvbmVIZWlnaHQgLyBsaUhlaWdodCAvIDI7XG5cbiAgICB0aGlzLmZseW91dFpvbmUuZWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLmluZGV4ICogbGlIZWlnaHQgLSBvZmZzZXQgKiBsaUhlaWdodDtcbiAgfVxufVxuIiwiPGRpdlxuICAoY2xvc2VkKT1cIm9uRmx5b3V0Q2xvc2VkKClcIlxuICBbdG9nZ2xlQ2xpY2tdPVwiZmFsc2VcIlxuICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gIGF1aUZseW91dFxuICBjbGFzcz1cIm0tZmx5b3V0IG0tZmx5b3V0LS1zY3JvbGxhYmxlIG0tZmx5b3V0LS1mdWxsIG8tYXV0by1jb21wbGV0ZVwiXG4+XG4gIDxpbnB1dFxuICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgIChrZXlBcnJvd0Rvd24pPVwib25LZXlBcnJvd0Rvd24oKVwiXG4gICAgKGtleUFycm93VXApPVwib25LZXlBcnJvd1VwKClcIlxuICAgIChrZXlFbnRlcik9XCJvbktleUVudGVyKCRldmVudClcIlxuICAgIChrZXlFc2NhcGUpPVwib25LZXlFc2NhcGUoKVwiXG4gICAgWyhuZ01vZGVsKV09XCJxdWVyeVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiZG9TZWFyY2goKVwiXG4gICAgKm5nSWY9XCIhbWFza1wiXG4gICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWQgPyB0cnVlIDogbnVsbFwiXG4gICAgW2lkXT1cImlkXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibGlzdFwiXG4gICAgYXVpRmx5b3V0QWN0aW9uXG4gICAgYXVpU2VsZWN0YWJsZUFjdGlvbnNcbiAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZVwiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIGNsYXNzPVwiYS1pbnB1dFwiXG4gIC8+XG4gIDxpbnB1dFxuICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgIChrZXlBcnJvd0Rvd24pPVwib25LZXlBcnJvd0Rvd24oKVwiXG4gICAgKGtleUFycm93VXApPVwib25LZXlBcnJvd1VwKClcIlxuICAgIChrZXlFbnRlcik9XCJvbktleUVudGVyKCRldmVudClcIlxuICAgIChrZXlFc2NhcGUpPVwib25LZXlFc2NhcGUoKVwiXG4gICAgWyhuZ01vZGVsKV09XCJxdWVyeVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiZG9TZWFyY2goKVwiXG4gICAgKm5nSWY9XCJtYXNrXCJcbiAgICBbYXVpTWFza109XCJtYXNrXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCA/IHRydWUgOiBudWxsXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgYXJpYS1hdXRvY29tcGxldGU9XCJsaXN0XCJcbiAgICBhdWlGbHlvdXRBY3Rpb25cbiAgICBhdWlTZWxlY3RhYmxlQWN0aW9uc1xuICAgIFthdXRvY29tcGxldGVdPVwiYXV0b0NvbXBsZXRlXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgY2xhc3M9XCJhLWlucHV0XCJcbiAgLz5cbiAgPGRpdiAqbmdJZj1cIiFpc0Rpc2FibGVkXCIgYXVpRmx5b3V0Wm9uZT5cbiAgICA8c3BhbiAqbmdJZj1cImZvY3VzZWQgJiYgbG9hZGluZ1RleHQgJiYgc2VhcmNoaW5nXCIgY2xhc3M9XCJhLXNwaW5uZXIgYS1zcGlubmVyLS1zIHUtbWFyZ2luLXhzXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImEtc3Bpbm5lcl9fY2lyY2xlXCI+PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJhLXNwaW5uZXJfX3RleHRcIj57eyBsb2FkaW5nVGV4dCB9fTwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgICpuZ0lmPVwiZm9jdXNlZCAmJiBzZWFyY2hJbmNlbnRpdmVUZXh0ICYmICFzZWFyY2hpbmcgJiYgIXF1ZXJ5ICYmICFyZXN1bHRzLmxlbmd0aFwiXG4gICAgICBjbGFzcz1cIm8tYXV0by1jb21wbGV0ZV9faW5mbyB1LXRleHQtbGlnaHQgdS1tYXJnaW4teHNcIlxuICAgICAgPnt7IHNlYXJjaEluY2VudGl2ZVRleHQgfX08L3NwYW5cbiAgICA+XG4gICAgPHNwYW5cbiAgICAgICpuZ0lmPVwiZm9jdXNlZCAmJiBub1Jlc3VsdHNUZXh0ICYmICFzZWFyY2hpbmcgJiYgcXVlcnkgJiYgIXJlc3VsdHMubGVuZ3RoXCJcbiAgICAgIGNsYXNzPVwiby1hdXRvLWNvbXBsZXRlX19pbmZvIHUtdGV4dC1saWdodCB1LW1hcmdpbi14c1wiXG4gICAgICA+e3sgbm9SZXN1bHRzVGV4dCB9fTwvc3BhblxuICAgID5cbiAgICA8YXVpLXNlbGVjdGFibGUtbGlzdFxuICAgICAgKHNlbGVjdGVkKT1cIm9uU2VsZWN0KCRldmVudClcIlxuICAgICAgKm5nSWY9XCJyZXN1bHRzLmxlbmd0aCA+IDAgJiYgIShmb2N1c2VkICYmIGxvYWRpbmdUZXh0ICYmIHNlYXJjaGluZylcIlxuICAgICAgW2luZGV4XT1cImluZGV4XCJcbiAgICAgIFtpdGVtVGVtcGxhdGVdPVwidGVtcGxhdGVcIlxuICAgICAgW2l0ZW1zXT1cInJlc3VsdHNcIlxuICAgICAgW2xhYmVsXT1cImxhYmVsXCJcbiAgICAgIFtzZWFyY2hdPVwicXVlcnlcIlxuICAgID48L2F1aS1zZWxlY3RhYmxlLWxpc3Q+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { AutoCompleteModule } from './auto-complete.module';
|
|
2
|
+
export { AutoCompleteComponent } from './components/auto-complete/auto-complete.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXV0by1jb21wbGV0ZS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnLi9hdXRvLWNvbXBsZXRlLm1vZHVsZSc7XG5leHBvcnQgeyBBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLmNvbXBvbmVudCc7XG4iXX0=
|